4003|4

208

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

请问keilc没有battcharge.h文件怎么办? [复制链接]

要做个智能充电器,但是程序部分有个声明叫#define       _BATTCHARGER_H,编译后说这个文件不存在。。。哪位高手知道该怎么办。

最新回复

楼主的问题 是否解决?  详情 回复 发表于 2010-5-7 13:53
点赞 关注
 

回复
举报

2131

帖子

0

TA的资源

至上芯片

沙发
 

回复 楼主 zxpla 的帖子

是你自己写的程序吗,这个是个头文件啊,如果源程序中有battcharge.h这个文件那么 你看看包含的路径是否正确 ,如果没有你自己写个吧!
 
个人签名处处留心皆学问!
 
 

回复

208

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 

回复 沙发 daicheng 的帖子

哦,谢谢前辈.是我在网上找的.但是我记得头文件不是在keil C自带的么。。。。程序如下,大意是利用单片机的一个口控制电源芯片开关,一个中断口控制电源管理芯片充电与否,充完要响蜂鸣器,battcharger要是真得自己写我就真懵了。。。
//BattCharger.h程序
#ifndef       _BATTCHARGER_H                            // 防止BattCharger.h被重复引用

#define       _BATTCHARGER_H

#include

#define uchar unsigned char
#define uint unsigned int

sbit GATE = P2^0;
sbit BP = P2^1;

uint t_count,int0_count;

#endif

//BattCharger.c程序
#include "BattCharger.h"

/* 定时器0中断服务子程序 */
void timer0() interrupt 1 using 1
{
       TR0 = 0;                      // 停止计数

       TH0 = -5000/256;             // 重设计数初值
       TL0 = -5000%256;

       t_count++;      

       if (t_count>600)        // 第一次外部中断0产生后3s
       {
              if (int0_count==1)       // 还没有出现第二次外部中断0,则认为充电完毕
              {
                     GATE = 0;              // 关闭充电电源
                     BP = 0;                  // 打开蜂鸣器报警
              }
           else                       // 否则即是充电出错
              {
                     GATE = 1;      
                     BP = 1;           
              }
      
              ET0 = 0;                     // 关闭T0中断
              EX0 = 0;                  // 关闭外部中断0

              int0_count = 0;
              t_count = 0;
       }
       else
              TR0 = 1;                  // 启动T0计数
}

/* 外部中断0服务子程序 */
void int0() interrupt 0 using 1
{
       if (int0_count==0)
       {
              TH0 = -5000/256;      // 5ms定时
              TL0 = -5000%256;   
              TR0 = 1;                  // 启动定时/计数器0计数
              t_count = 0;              // 产生定时器0中断的计数器清零
       }
       int0_count++;
}

/* 初始化 */
void init()
{
       EA = 1;                        // 打开CPU中断

       PT0 = 1;               // T0中断设为高优先级
       TMOD = 0x01;             // 模式1,T0为16位定时/计数器
       ET0 = 1;               // 打开T0中断

       IT0 = 1;                // 外部中断0设为边沿触发
       EX0 = 1;               // 打开外部中断0
      
       GATE = 1;                  // 光耦正常输出电压
       BP = 1;                         // 关闭蜂鸣器

       int0_count = 0;        // 产生外部中断0的计数器清零
}

void main()
{
       /* 调用初始化函数 */
       init();
      
       /* 无限循环 */
       while(1);
}
 
 
 

回复

3836

帖子

19

TA的资源

纯净的硅(中级)

4
 
楼主的问题 是否解决?
 
 
 

回复

208

帖子

0

TA的资源

五彩晶圆(中级)

5
 

回复 4楼 fish001 的帖子

解决了,开头部分就是头文件,要另存在程序输出文件加即可.
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表