计算机控制技术课程设计成绩评定表设计课题基于单片机的校园作息时间控制系统学院名称:电气工程学院专业班级:自动化0705 学生姓名:胡超学号: 20074280515 指导教师:王黎设计地点:中原路校区2-417设计时间:2010-06-14~2010-06-20计算机控制技术课程设计课程设计名称:基于单片机的校园作息时间控制系统专业班级:自动化0705学生姓名:胡超学号:20074280515指导教师:王黎课程设计地点:课程设计时间:2010.06.14—2010.06.20计算机控制技术课程设计任务书摘要校园是一个生活非常有规律的地方,良好的作息时间制度是学生能够安心学习的有力保证。
社会在进步,教育事业在稳步发展,许多学校规模不断扩大,此时,良好的作息时间制度显得更加重要。
可靠、安全、方便的校园作息时间控制系统是学校需求的。
用单片机设计这样一个控制系统能够很好的满足要求。
该控制系统是采用AT89S52单片机来实现的,控制系统偶6位数码显示器,具有实时显示时钟(显示当前时间的小时、分钟及秒)功能,通过外扩锁存器还可以实现多点、多电器设备的控制。
该控制系统可广泛应用于学校、工厂和机关单位的自动打铃,电视、室内照明及其他对象控制,也可用于家庭或学生寝室进行时间指示基多点时间提醒。
该校园作息时间控制系统实现了对上下课打铃、教学楼照明、学生宿舍灯、校园路灯四个开关量的精确控制,月时间累计误差小于等于1分钟,该系统设有键盘电路,方便定期进行时间校准。
体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。
关键词:AT89S52、时钟芯片1 引言 (1)总体方案设计 (1)2.1系统整体设计 (1)2.2 控制系统时刻分析表 (2)2.3 处理器的选择 (3)2.4 时钟芯片的选择 (4)2.4.1 时钟芯片功能介绍 (4)3 控制系统硬件电路设计 (7)3.1 系统硬件总体设计框图 (8)3.2 单片机控制部分 (8)3.3 键盘部分 (9)3.4 显示部分 (10)3.5响铃及扩音部分 (10)4.作息时间控制钟程序设计 (12)4.1主程序流程图 (12)4.2 时间控制比较子程序流 (14)4.3键盘扫描子程序流程图 (15)总结 (15)参考文献 (16)附录 (17)1 引言伴随着社会的快速发展,我国的教育事业也蓬勃的发展着,近些年许多学校都在积极的扩招,许多高校的办学规模不断扩大。
校园生活的有规律性要求学校能够对校园作息时间能够精确的控制。
通过对上下课打铃、教学楼照明、学生宿舍灯、校园路灯等的控制,不仅能对学校进行更好的管理,还能有效的节约电能,杜绝浪费现象。
所以,设计一个控制精度较高的校园作息时间控制系统是很有用的。
该控制系统是采用AT89S52单片机来实现的,控制系统偶6位数码显示器,具有实时显示时钟(显示当前时间的小时、分钟及秒)功能,通过外扩锁存器还可以实现多点、多电器设备的控制。
该控制系统可广泛应用于学校、工厂和机关单位的自动打铃,电视、室内照明及其他对象控制,也可用于家庭或学生寝室进行时间指示基多点时间提醒。
该校园作息时间控制系统实现了对上下课打铃、教学楼照明、学生宿舍灯、校园路灯四个开关量的精确控制,月时间累计误差小于等于1分钟,该系统设有键盘电路,方便定期进行时间校准。
体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。
设计要求:一、时钟功能:能显示年、月、日、星期、时、分、秒二、调整功能:能校正年份、日期、时间等三、打铃功能:按指定时间表打铃、现场修改作息时间表四、设置的作息时间表数据在单片机掉电后不会丢失2 总体方案设计2.1系统整体设计根据设计要求画出系统框图,如图1.1所示。
图1.1 系统框图该系统是由微处理器、时钟控制芯片、蜂鸣器、扩音设备、数码显示部分以及键盘输入部分所组成。
该控制系统设有六位数码管,可以实时显示时间;系统还设有输入键盘,用以校正实时时钟。
系统采用AT89S52作为处理器,用DS12887实时时钟芯片作时钟计时单元,可以保证时钟及内部RAM内的数据不受停电的影响,保护数据不丢失。
显示电路采用了CD4511芯片来完成驱动和译码的功能,另外该芯片具有的数据锁存功能克服了采用软件扫描显示电路所固有的闪烁的问题。
输出驱动电路部分,采用了CD4042反相锁存器来驱动二极管、蜂鸣器及扩音设备接通工作。
2.2 控制系统时刻分析表根据实际情况对上下课打铃开关量在一天内的控制时间列表如下表1.1。
2.3 处理器的选择方案一:89C51芯片内部有ROM,且片内ROM全部采用Flash ROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,但是其不具备ISP在线编程技术,需把程序编写好以后再放到编程器中烧写,才可以进行硬件电路的调试,倘若程序编写出现问题,调试电路就比较麻烦,而且其芯片内存也只有4KB。
方案二:At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,故选这个处理器2.4 时钟芯片的选择方案一:DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
但是DS1302 存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。
方案二:DS12887是DALLAS公司生产的实时时钟芯片RTC,它功能丰富,应用广泛,PC机内的时钟信号就是由DS12887提供的。
DS12887内部自带晶体振荡器及锂电池,可以计算到2100前的秒、分、小时、星期、日、月、年七种日历信息并带闰年补偿,断电后能运行十年之久且不丢失数据。
选用夏令时,具有24小时和12小时两种制式。
且时钟精度,环境影响小。
所有选此时钟芯片。
2.4.1 时钟芯片功能介绍在此次作息时间控制钟的设计中采用的时钟芯片是DS12887,DS12887是一个DALLAS公司生产的实时时钟芯片(如图3.1),它把时钟芯片所需的晶振电路和外部锂电池等相关电路都集成与芯片内部,具有低功耗、工作稳定、功能集成度高、计时精确、与各种微处理器接口简便、在没有外接电源情况下可正常工作10年等一系列优点。
它主要由振荡电路、分频电路、周期中断、方波选择电路14字节时钟和控制单元、114字节非易失RAM、十进制、二进制加法器、总线接口电路、电源和写保护单元、内部锂电池等部分组成。
图3.1 DS12887的引线端子排列图各引线端子功能分配如下:Ucc、GND——直流电源(+5V)电压,当Ucc低与4.25V时读写禁止,当Ucc低与3V时,电源切换至内部锂电池。
MOT——(模式选择):MOT接Ucc为MOTROLA方式,MOT接GND为INTEL 方式。
SQW——方波输出。
AD0~AD7——双向数据/地址复用线。
AS——(地址选通输入)用于实现信号分离,在AS信号的下降沿把地址锁入DS12887。
DS——数据选通或读输入。
R/W——读写输入。
CS——片选输入。
IRQ——中断申请输入。
RESET——复位输入。
DS12887利用AS(地址选通信号),可以对总线分时复用的微处理器实现简便的接口。
从00H—09H 10个单元为时钟、日历及闹钟单元,其内容可由程序写入或读出。
其初始值在芯片初始化时由程序写入,其值可用BIN值(二进制数,编程时写作16进制数)或BCD值,这由寄存器B的DM位(b2)决定。
时钟初始化时,寄存器B的SET位(b7)必须置1,采用每天12H或24h制有寄存器B的24/12位(b1)决定。
在12h制时,时字节的最高位为1表示下午(PM)。
在各单元的内容写完之后,将寄存器B的SET位清0,时钟即开始运行。
这三个闹钟单元有两种用法。
①根据写入到三个闹钟单元的时分秒值,每天产生闹中断一次;②在各闹钟单元写入“自由”码=0C0~0FFH,即最高两位为“1”时为“自由”状态。
如时钟单元写入0C0~0FFH,则每小时闹一次,在时闹和分闹两单元写入0C0~0FFH,则每分闹一次,在三个闹钟单元均写入0C0~0FFH,则每秒闹一次。
DS12887内部的4个可由程序访问的寄存器。
)——时间的更新正在进行位。
UIP=1,表示正在进行。
UIP=0不 UIP(b7更新,此时读写时钟日历字节有效。
DV2、DV1、DV0——这三位用于震荡器开关和复位计数器链,当他们为010组合时将打开震荡器并允许RTC保持时间;为11X(X为0或1)组合时将使能震荡器并保持计数器链为复位状态。
在把010写到 DV0、DV1、DV2之后500ms 将发生新的数据更新。
RS3、RS2、RS1、RS0——速率选择位,用于选择周期中断的速率和SQW 输出的方波速率,如RS3~RS0全为0,则禁止分频器输出,如表3.1所示。
表3.1 DS12887方波输出频率的选择一次。
PIE——周期中断允许位,RESET使PIE=0。
AIE——闹钟中断允许位,RESET使AIE=0。
UIE——更新结束中断允许位,RESET使UIE=0。
SQWE——方波输出允许位,RESET使SQWE=0。
DM——数据模式位。
DM=1,时间用BIN值;DM=0,时间用BCD值。
24/12——该位=1时,时间为24h模式。
该位=0时,时间为12h模式。
DSE——夏时制允许位。
DSE=1,自动执行夏时制制作。
①PF=PIF=1。
②AF=AIE=1。
③UF=UIE=1。
④即:IRQF=PF*PIE+AF*AIE+UF*UIE当IRQF=1时,IRQ端子变为低电平,发出中断请求。
PF——周期中断标志。
当由RS3~RS0决定的周期中断时间到时,PF置1。
AF——闹钟中断标志。
当设置的闹钟时间到时,AF置1。
UF——更新结束中断标志。
每个时间更新周期结束时,UF=1。
B3、b2、b1、b0——无用位,读时为0。
3 控制系统硬件电路设计3.1 系统硬件总体设计框图按系统框图分五个部分设计如下图2.1。
图2.1 硬件系统框图3.2 单片机控制部分单片机采用片内带有4KB E2PROM的AT89C52,这样就不需要再扩展片外程序存储器,可以简化线路;用一片74LS138译码器提供5个外部地址(CS0、CS1、CS2、CS3、CS4),分别对于6个七段码显示器、1个时钟芯片和1个锁存器地址;采用一片时钟芯片DS12887为系统提供准确时间。