新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ATmage8的打铃器设计

基于ATmage8的打铃器设计

作者:时间:2011-04-04来源:网络收藏

打铃器可工作在冬制、夏制和临时打铃三种模式,每种工作模式最多可设置80个打铃时间点,基本满足任何工作场合要求。每个打铃时间点用2个字节表示,3种工作模式共占480字节的存储空间,根据工作模式的不同,打铃时间分3个区存放在的EEPROM存储器中。系统上电后,SCM根据模式特征字自动判别工作模式,并将对应区间的打铃数据复制到SCM片内的SRAM区。
2.1 打铃时间比较子程序
在主程序中,SCM读取DS1302的数据后,对秒数据进行判断。当秒单元为“00”时,程序立即调用打铃时间比较子程序,否则将不执行该子程序的调用。在打铃时间比较子程序中,SCM首先从片内的EEPROM区取出当前工作模式的打铃次数字,将其复制到Ring cnt计数变量中,然后将当前模式的第一组打铃时间与系统时间进行比较,若打铃时间与当前时间相等,置PD0引脚为低电平,打铃控制电路接通并响铃,同时置响铃标志位为‘1’,程序返回。若不相等,Ring cnt变量减一,继续比较下一组打铃时间,直到时间相等或Ring cnt变量减为‘0’,则子程序返回。程序流程图如图4所示。响铃标志位置‘1’后,系统将启动15s定时,定时结束后,PD0置高电平当,电铃停止工作,同时将响铃标志位也置‘0’。
2.2 串口通讯子程序
打铃器的时间设定、查询和系统设置可通过键盘操作完成。为了准确快捷地完成打铃器设置,系统还支持串口操作功能,通过串行口与PC机进行通讯,在上位机上可以完成打铃器的相关设置。上位机软件通过串行口向打铃器发送命令,完成打铃器参数的设置与查询,命令格式为:命令字+数据+结束标识,其具体组成如表1所示。在通讯过程中,SCM在RAM区开辟一块存储空间接收上位机发送的数据。每接收到一个字节都判断其是否为结束标识,若为结束标识,则停止接收,否则继续接收。当数据接收完成后,程序便开始查询命令字状态,并根据表1中命令字含义进行数据的相关处理。若命令字为查询命令字时,则SCM根据命令字含义返回相应的数据至PC,并通过上位机软件显示出来,上位机软件如图5所示。


关键词: 设计 ATmage8 基于

评论


相关推荐

技术专区

关闭