基于STC12C5410AD的太阳能路灯控制器设计(3)

发布时间:2021-06-08

太阳能路灯控制器设计

基于STC12C5410AD的太阳能路灯控制器设计

用模块化方式,大电流信号与小电流信号要分离,对放大电路的线路尤其要精心布置。数字地和模拟地分开,注意电源线和地线的布局。

-29-

时应用软件设置一个回差电压,这样负载开关不会出现颤抖现象,有利于延长灯具的使用寿命。

(6)根据STC12C5410AD的DataFlash的特点,数据写入时必须启动ISP/IAP命令,CPU等待IAP动作定时后,才继续执行程序,要先关断中断(EA)。还应注意数据写入DataFlash存储器,不能跨越扇区。

系统软件设计

与本设计方案的硬件电路对应的软件程序包

括:主程序、定时中断程序、外部中A/D转换子程序、断子程序及键盘处理子程序、充电管理子程序、负载管理子程序。单片机的软件编程以KeilC编译器的Windows集成开发环境μvision2作为开发平台,采用C51高级语言编写。

3.2单片机软件编程

系统单片机软件流程如图3、4所示。

3.1软件编程要点

(1)本系统采用较少的按键实现了诸多功能,如负载工作模式的设置、双灯同时工作还是分时工作、负载工作时间的设定、自检功能等,为防止误操作采取了一些措

施。这种方法实际上是一键多用的一种尝试,还可以推广到更复杂的人机对话的设计,其思路可参见按键处理流程图。

(2)键盘在定时中断服务程序中读取,用中断间隔时间实现键盘的去抖,不必编写另外的延时程序,提高了CPU的利用效率。键盘值存入数据缓冲区,在主程序中读数据缓冲区的内容,执行键盘功能散转子程序。

礼花燃放)对太阳能电池(3)环境光线(闪电、

板的采样电压有明显影响,故在白天、黄昏的识别时,要进行软件延时,一般控制在2~3min。

(4)外部中断为高优先级中断,编制子程序实现负载过流、短路保护时,要充分考虑到负载启动瞬间会产生数倍于额定电流的冲击电流,冲击电流维持时间在3ms ̄5ms,应在软件上采取措施,避免短路与负载开启的误判。确定负载过流、短路后,切断负载输出。负载切断后,每隔一段时间,如短路信号已20s,应试接通负载开关,当发现过流、

消除,则恢复负载的输出,否则负载开关仍然保持断开。

(5)为保护负载(灯具),蓄电池过放保护恢复

转换结束

图4

电压检测子程序流程

图3按键程序流程

(1)ADC子程序

INT8UADC(INT8Unumber)using2{number=number&0x07;//通道号不超过7ADC_CONTR=ADC_CONTR&0xe0;

FLAG、AD不启动

ADC_CONTR=ADC_CONTR|number;//选择通道ADC_CONTR=ADC_CONTR|0x08;//启动A/D转换while((ADC_CONTR&0x10)!=0x10);return(ADC_DATA);//结果返回

//等待A/D//清ADC_

基于STC12C5410AD的太阳能路灯控制器设计(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

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