南京工业大学-电子系统设计实验报告.doc
南京工业大学
电气工程与控制科学学院
课程名称:电子系统设计
姓名:XXX
学号:XX号
班级:自XXXX
任课教师:XXX
基于STC89C51的数字定时器
主要负责部分:
一.功能概述:
定时时间的设置范围为1~99min,开机上电后的隐含值为10min。
实用0.5in红色LED数码管显示时间。
定时时间可以用按键或其他方式输入。
定时器控制一个交流220v、1A的用电设备,上电时不允许用电设备瞬时通电。
定时时间设定后,启动计时,用电设备通电,同时显示器逐分倒计时。期间,分个位数码管的小数点每2秒闪亮一次。
计时到0分时,切断用电设备电源。
计时误差:100min士10s。
由用电设备提供+5v电源。
9.低价位。
二.整体方案调研
在中文科技期刊数据库(VIP)、中国期刊全文数据库上,利用“数字定时器”词条,在VIP上“模糊”搜索,共查到3篇相关文章:《一种基于CPLD的多功能数字定时器》、《RFC中分频器/数字定时器的设计》和《用AT89C2051单片机组成的数字定时器》。
前两篇均以CPLD为核心器件构成数字定时器。第一篇为多功能电路能基本满足课题要求,但缺强电接口。第二篇为射频控制应用,与课题要求不符。第三篇最符合课题要求,但还有进一步优化的必要,例如减少按键数、去除LED驱动等。
三.整体方案论证
根据设计题目的功能要求,采用自顶向下的拼凑法可以构成如图所示的方框图。电路的核心应该是一个100进位的可预置数的减法计数器,工作时逐分倒计时。起始时间由预置数输入之装置加载到计数器。当前时间由译码驱动电路驱动两位笔段型LED数码管显示。分减法计数器的分信号由秒/分信号发生器经过启/停控制电路获得。秒/分信号发生器必须采用石英晶体振荡器用分频的办法分别产生秒和分时钟信号以保证走时精度,前者在计时开始后,使分个位LED数码管的小数点闪亮。后者在计时启动后,一方面通过驱动电路使继电器动作,用电设备通电,一方面使分信号到计数器。在计数为0时,通过驱动由继电器使用电设备断电
[方案]以MCU为核心来构架整个电路。时钟产生,秒信号、分信号形成均可利用MCU片内资源解决。分减法计时利用程序完成。LED的译码也可由软件完成。至于按键的设置,则可以更加灵活,并将键数减至最少。这一方案的最大优点是充分发挥了MCU软件的功能,并使电路简化到可以和CPLD或FPGA相媲美
四..硬件电路设计
1.MCU的选择
为降低价位和节省使用MCU的端口数,LED宜采用共阴极动态驱动方式,它共需8根段位口线,2根阴极驱动口线,即LED需要10根MUCI/O口线。
按键可以减少到只要2个,功能切换和预置时间加一键。功能键完成2个任务,移动预置时间的个位和分位;启动计时。它需要2根I/O口线,而且最好接在外线中断输入端,以便按键可以用中断或查询两种办法处理。驱动执行器件通断负载需要1根口线,即共需MCU13根口线。
系统所需的时钟信号可以由MCU的定时器/计数器完成。一般低端MCU均有2个定时器/计数器,可以满足要求。
整个课题对指令执行的速度没有什么要求,不要求执行速度快的MCU,一般低端MCU至少可以工作在12MHz的时钟下,速度不是问题。
这个系统所涉及的程序有:LED动态驱动,按键处理,秒分信号的产生与分减法计时,是比较简单的,不论是用汇编还是C51编写,2KB的MCU片内程序储存的容量是足够了。
满足上述要求的低端MCU较多,Atmel公司的AT89CXX系列,Microchip公司的PIC16F87X系列,Philips公司的LPC76X系列等,各具特色。
这里选择了AT89C51MCU。主要是考虑到它是MCS-51内核,熟悉的人较多,开发工具及软件俯首可得;应用广,价位低。此外,还考虑到AT89C2051内部有2KB的FlashMemory可作为程序储存器,根I/O能满足口线数要求,口线具有直接驱动LED的能力等因素。
LED数码管采用应用最广的0.5in高亮度红色的共阴极器件。动态驱动时每个笔段平均IF0.5mA已可明亮显示。若VF=1.5V,每笔段的平均电流约为0.875mA,满足亮度要求。考虑到MCU口线的IOH较小,限流电阻应接为上拉形式,八段笔画直接由P1口驱动,被点亮LED数码管的最大电流为8×1.75=14mA,利用P3.0、P3.1的IOL是可以承受的。
按键共设两个,功能切换键“S”和加键“+”,分别接至INT0(P3.2)和INT1(P3.3)。设计的功能为:上电后,定时器处于等待时间设置状态,隐含时间10min。按下“S”键,分个