智能充电器论文(3)

2019-03-23 10:43

write_num_1602(second); //秒更新 second_re = 59- second; //计算秒剩余 gotoxy_1602(1,13); write_num_1602(second_re); //显示秒剩余 } } }

/* 定时器1中断服务子程序 */ void Timer1Interrupt(void) interrupt 3 {

TH1 = 0x4C; //定时器T1初值 50ms定时 晶振11.0592MHz TL1 = 0x00; t1_count20++; //20进制计数器加1 }

/* 外部中断0服务子程序 */ void int0() interrupt 0 using 1 { if (int0_count==0) //外部控制信号 { TH0 = 0x0EE; // 5ms定时 11.0592MHz TL0 = 0x00; TR0 = 1; // 启动定时/计数器0计数 t0_count = 0; // 产生定时器0中断的计数器清零 } int0_count++; }

/* 定时器0中断服务子程序 */ void timer0() interrupt 1 using 1 { t0_count++; // 定时器0中断的计数器加1 TR0 = 0; // 停止计数 TH0 = 0x0EE; //定时器T0初值 5ms定时 晶振11.0592MHz TL0 = 0x00;

if ((t0_count>550)&&(t0_count<1000)) // 外部中断0产生3s~5s的信号 {

if (int0_count==1){ // 标志,则认为充电完毕 EN_OK = 0; //关闭MAX1898 GATE = 1; // 关闭充电电源 BEEP = 0; // 打开蜂鸣器报警 } else { // 否则即是充电出错 GATE = 0; BEEP = 1; } ET0 = 0; // 关闭T0中断 EX0 = 0; // 关闭外部中断0 int0_count = 0; t0_count = 0; } else

TR0 = 1; // T0计数 }

4 总结

本系统采用MAX1898作为系统的充电控制器件,STC89C52根据检测到的MAX1898的输出信息,完成对充电过程的控制和报警。但是由于我们的水平有限,所以该设计还有许多不尽如人意的地方,比如在充电性能方面,还有待改善。

在本例设计过程中,需着重把握以下几点。

(1)预充、快充、满充等充电方式的工作原理。

(2)MAX1898的充电状态指示输出信号/CHG在本例中的应用。

(3)MAX1898外围电路的设计, 其中包括设置充电电流的电阻和充电时间的电容数值的选取。

(4)如何在单片机程序中判断出充电完成还是充电出错,并做出相应的处理。

经过努力,我们基本完成了智能充电器的设计和制作,检验了平时学习的成果,不但实践能力增强许多而且在理论上也有了更深的认识,同时也提高了我们的团结协作能力。同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以,在此,我向各位老师及同学们表示我最衷心的感谢!


智能充电器论文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于51单片机的电子打铃器 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: