ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:500.23KB ,
资源ID:2617648      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2617648.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的校园作息时间控制系统毕业设计论文.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于单片机的校园作息时间控制系统毕业设计论文.docx

1、基于单片机的校园作息时间控制系统毕业设计论文基于单片机的校园作息时间控制系统【摘要】: 校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。如上下课打铃、教学楼照明的定时开与关、学生宿舍灯及校园路灯的定时开关、水泵的定时启动以及自来水供水时间控制等等。该控制系统是采用AT89S52单片机来实现对上述开关量的控制,利用DS12887时钟芯片来提供时钟信息,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。【Abstract】: The campus the daily timeta

2、ble control system which is mainly used in the campus, it auto-control some switches which have periods of 24 hours. Such as the bells ringing when classes begin or finish, the time switches of lamps in teaching buildings and student dormitories, the time start-up of water pump, and the tap water su

3、pply control system, etc.This control system carries out the switch parameter controls all above by SCM AT89S52. It uses the clock chip called DS12887 to provide the clock information. It could show the real time with 6 bit digital tube. And it could modify the real time clock with the input keyboar

4、d. The system is simple, the running is steady and dependable, the controlled time is exact, and the physical volume of the system is small, all the advantages above can be incarnated in this system. 【关键词】:作息时间控制 AT89S52 DS12887 【KEYWORD】:THE DAILY TIMETABLE CONTROL,AT89S52,DS12887引 言该时钟控制系统有6位数码显示器

5、,具有实时显示时钟(显示当前时间的小时、分钟及秒)功能,通过外扩锁存器还可以实现多点、多电器设备的控制。该控制系统可广泛用于学校、工厂和机关的自动打铃、电视、室内照明及其他对象控制,也可用于家庭或学生寝室进行时间指示及多点时间提醒。该校园作息时间控制系统实现了对上下课打铃、教学楼照明、学生宿舍灯、校园路灯四个开关量的精确控制。月时间累计误差1分钟。系统设有的键盘电路,方便定期进行时间校准。1、整体设计根据设计要求画出系统框图,如图1所示,原理见附录1。该控制系统是由微处理器、时钟控制芯片、蜂鸣器、数码显示部分以及键盘输入部分所组成。该控制系统设有六位数码管、可以实时显示时间、系统还设有输入键盘

6、,用以修改实时时钟。系统还采用AT89S52作为处理器,用DS12887实时时钟芯片作时钟计时单元,它不仅可以计时,同时内部还有114个非易失RAM单元,可以保证时钟及内部RAM内的数据不受停电的影响,保护数据不丢失。显示电路采用了CD4511芯片来完成驱动和译码的功能,另外该芯片具有的数据锁存功能克服了采用软件扫描显示电路所固有的闪烁的问题。输出驱动电路部分,采用了CD4042反相锁存器来驱动二极管、蜂鸣器工作。图1 系统框图根据实际情况对上下课打铃、教室照明、学生宿舍灯及校园路灯四个开关量在一天内的控制时间列表如下:表1 作息时间控制表时间事件动作6:30学生宿舍送电D2亮7:15早读上课

7、铃响教室灯开、宿舍灯关LS1响,延时15S;D1亮、D2灭7:45早读下课铃响LS1响,延时15S8:00第一节上课铃响LS1响,延时15S8:40第一节下课铃响LS1响,延时15S8:50第二节上课铃响LS1响,延时15S9:30第二节下课铃响LS1响,延时15S9:40第三节上课铃响LS1响,延时15S10:20第三节下课铃响LS1响,延时15S10:40第四节上课铃响LS1响,延时15S11:10第四节下课铃响教室灯关,宿舍灯开LS1响,延时15S;D1灭、D2亮12:50第五节课预备铃响宿舍灯关、教室灯开LS1响,延时15S;D2灭、D1亮13:00第五节课上课铃响LS1响,延时15S

8、13:40第五节课下课铃响LS1响,延时15S13:50第六节课上课铃响LS1响,延时15S14:30第六节课下课铃响LS1响,延时15S14:40第七节课上课铃响LS1响,延时15S15:20第七节课下课铃响LS1响,延时15S15:30第八节课上课铃响LS1响,延时15S16:10第八节课下课铃响教室灯关、宿舍灯开LS1响,延时15S;D1灭、D2亮18:20晚自习预备铃响;路灯开、宿舍灯关、教室灯开LS1响,延时15S;D1亮、D2灭、D3亮18:30上晚自习铃响LS1响,延时15S20:00下晚自习铃响、宿舍灯开LS1响,延时15S;D2亮21:00教室灯关D1灭22:30学生宿舍灯关

9、、路灯关D2灭、D3灭2、硬件设计按系统框图分三个部分设计如下:2.1 系统部分单片机采用片内带有4KB E2PROM的AT89C52,这样就不需要再扩展片外程序存储器,可以简化线路;用一片74LS138译码器提供5个外部地址(CS0、CS1、CS2、CS3、CS4),分别对于6个七段码显示器、1个时钟芯片和1个锁存器地址;采用一片时钟芯片DS12887为系统提供准确时间。该芯片内部自带锂电池,计时精确,不受系统电源影响;AT89S52的T0与T1相连,利用单片机内部的定时/计数器完成15秒打铃控制。如图2所示。图2系统部分原理图 2.2 键盘接口电路键盘是由若干按键组成的开关矩阵,它是微型计

10、算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。本系统中采用独立式按键结构,如图3所示,各按键相互独立地接通一条输入数据线,当任何一个键按下时,与之相连的输入数据线即被置0,而平时该线置1。独立式按键电路配置灵活,软件结构简单。当功能键不很多时,采用该种方式比较合适。图3键盘接口原理图2.3 显示部分选用6个七段数码管分别显示时、分、秒,数码管的驱动选用具有译码、锁存、驱动功能的CD4511芯片,显示数据来自DS12887的时单元、分单元、秒单元,经P0口(BCD码)送到CD4511芯片,译码后再送到显示器显示。如图4所示。图4 显示部分原理图2.4 输出控制部分输出控制信

11、号由P2口送到锁存器锁存,经74LS04芯片驱动相应的输出部分动作。例如:要开路灯执行指令MOV P2,#02H 即可,而若执行指令MOV P2,#E0H ,则是路灯、学生宿舍灯和教室灯全部打开。P2口各位所控制的对象见表2,输出部分原理图如图5所示。表2 位控表P2口的位控制,“0”控制发光二极管或三极管截止、“1”控制发光二极管或三极管导通P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0教室灯宿舍灯路灯电铃X片选信号输出端图5输出部分原理图3、DS12887的功能及工作原理DS12887是一个DALLAS公司生产的实时时钟芯片,它把时钟芯片所需的晶振电路和外部锂电池等相关电

12、路都集成与芯片内部,具有低功耗、工作稳定、功能集成度高、计时精确、与各种微处理器接口简便、在没有外接电源情况下可正常工作10年等一系列优点。它主要由振荡电路、分频电路、周期中断、方波选择电路14字节时钟和控制单元、114字节非易失RAM、十进制、二进制加法器、总线接口电路、电源和写保护单元、内部锂电池等部分组成。图6 DS12887的引线端子排列图各引线端子功能分配如下: Ucc、GND直流电源(+5V)电压,当Ucc低与4.25V时读写禁止,当Ucc低与3V时,电源切换至内部锂电池。 MOT(模式选择):MOT接Ucc为MOTROLA方式,MOT接GND为INTEL方式。 SQW方波输出。

13、AD0AD7双向数据/地址复用线。 AS(地址选通输入)用于实现信号分离,在AS信号的下降沿把地址锁入DS12887。 DS数据选通或读输入。 R/W读写输入。 CS片选输入。 IRQ中断申请输入。 RESET复位输入。 DS12887利用AS(地址选通信号),可以对总线分时复用的微处理器实现简便的接口。 从00H09H 10个单元为时钟、日历及闹钟单元,其内容可由程序写入或读出。其初始值在芯片初始化时由程序写入,其值可用BIN值(二进制数,编程时写作16进制数)或BCD值,这由寄存器B的DM位(b2)决定。时钟初始化时,寄存器B的SET位(b7)必须置1,采用每天12H或24h制有寄存器B的

14、24/12位(b1)决定。在12h制时,时字节的最高位为1表示下午(PM)。在各单元的内容写完之后,将寄存器B的SET位清0,时钟即开始运行。这三个闹钟单元有两种用法。根据写入到三个闹钟单元 的时分秒值,每天产生闹中断一次;在各闹钟单元写入“自由”码=0C00FFH,即最高两位为“1”时为“自由”状态。如时钟单元写入0C00FFH,则每小时闹一次,在时闹和分闹两单元写入0C00FFH,则每分闹一次,在三个闹钟单元均写入0C00FFH,则每秒闹一次。 DS12887内部的4个可由程序访问的寄存器。寄存器Ab7b6b5b4b3b2b1b0UIPDV2DV1DV0RS3RS2RS1RS0 UIP(b

15、7)时间的更新正在进行位。UIP=1,表示正在进行。UIP=0不更新,此时读写时钟日历字节有效。 DV2、DV1、DV0这三位用于震荡器开关和复位计数器链,当他们为010组合时将打开震荡器并允许RTC保持时间;为11X(X为0或1)组合时将使能震荡器并保持计数器链为复位状态。在把010写到 DV0、DV1、DV2之后500ms将发生新的数据更新。 RS3、RS2、RS1、RS0速率选择位,用于选择周期中断的速率和SQW输出的方波速率,如RS3RS0全为0,则禁止分频器输出,如表4所示。表9 DS12887方波输出频率的选择寄存器A选择位时基4.194304MHz或1.048576MHz时基32

16、.768KHzRS3RS2RS1RS0周期中断速率SQW方波输出频率周期中断速率SQW方波输出频率0000000130.517us32.768kHz3.90625ms256Hz001061.035us16.384kHz7.8125ms128Hz0011122.07us8.192kHz122.07us8.192kHz0100244.141us4.096kHz244.141us4.096kHz0101488.281us2.048kHz488.281us2.048kHz0110976.562us1.024kHz976.562us1.0234kHz01111.953125us512Hz1.953125

17、us512Hz10003.90625us256Hz3.90625us256Hz10017.8125ms128Hz7.8125ms128Hz101015.625ms64Hz15.625ms64Hz101131.25ms32Hz31.25ms32Hz11006.25ms16Hz6.25ms16Hz1101125ms8Hz125ms8Hz1110250ms4Hz250ms4Hz1111500ms2Hz500ms2Hz寄存器Bb7b6b5b4b3b2b1b0SETPIEAIEUIESQWEDM24/12DSE SET设置位。时钟不更新,SET=1用于时钟初始化。SET=0时钟每秒更新一次。 PIE周期

18、中断允许位,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,自动执行夏时制制作。寄存器Cb7b6b5b4b3b2b1b0IRQFPFAFUF0000 IRQF中断请求标志。当下例事件之一或多件同时出现时IRQF=11 PF=PIF=1。2 AF=AIE=1。3 UF=UIE=1。 4 即:IRQ

19、F=PF*PIE+AF*AIE+UF*UIE当IRQF=1时,IRQ端子变为低电平,发出中断请求。PF周期中断标志。当由RS3RS0决定的周期中断时间到时,PF置1。 AF闹钟中断标志。当设置的闹钟时间到时,AF置1。 UF更新结束中断标志。每个时间更新周期结束时,UF=1。 B3、b2、b1、b0无用位,读时为0。寄存器Db7b6b5b4b3b2b1b0VRT0000000 4、程序框图软件设计以时钟显示、键盘扫描、为主程序。在设计中利用单片机时钟计时集成电路完成计时的任务,并500ms向单片机发一个中断,中断子程序有时钟显示及时间比较,如比较相等,则说明作息时间已到,发出指令控制电铃或照明

20、电路的开、关操作。4.1程序流程图(见图7)图7程序流程图4.2源程序清单 ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV SP,#70H CLR P2.4 ;电铃控制脚 CLR P2.5 ;宿舍灯控制脚 CLR P2.6 ;路灯控制脚 CLR P2.7 ;教学灯控制脚 CLR P2.3 ;DS12887选通脚 MOV R0,#0AH ;指向寄存器A MOV A,#2FH ;初始化寄存器A,启动DS12887,中断速率500ms MOVX R0,A CLR P2.3 ;指向寄存器B MOV R0,#0BH MOV A,#42H ;初始化寄存器B,周期中断允许,选择

21、BCD码,24小时模式 MOVX R0,A CLR P2.3 MOV R0,#04H MOV A,#06H MOVX R0,A CLR P2.3 MOV R0,#02H MOV A,#29H MOVX R0,A CLR P2.3 MOV R0,#00H MOV A,#55H MOVX R0,A MODIFY: LCALL READ LCALL DISP LCALL ADJUST LCALL INT887 SJMP MODIFY ADJUST: JB P1.0,AJT1 JNB P1.0,$ LCALL ADHOURAJT1: JB P1.1,AJT2 JNB P1.1,$ LCALL DEHO

22、URAJT2: JB P1.2,AJT3 JNB P1.2,$ LCALL ADMINAJT3: JB P1.3,AJT4 JNB P1.3,$ LCALL DEMINAJT4: RET ADHOUR: MOV A,20H ;小时加1子程序 ADD A,#01H DA A CJNE A,#24H,INCH2 MOV A,#00HINCH2: JC INCH3INCH3: MOV 20H,A LCALL WRHOUR CLR P2.3 MOV R0,#0BH MOV A,#42H MOVX R0,A RET DEHOUR: MOV A,20H ;小时减1子程序 CJNE A,#00H,DECH2

23、 MOV A,#23H SJMP DECH3DECH2: ANL A,#0FH CJNE A,#00H,DECH4 MOV A,20H SWAP A ANL A,#0FH DEC A SWAP A ORL A,#09H AJMP DECH3DECH4: MOV A,20H DEC ADECH3: MOV 20H,A LCALL WRHOUR CLR P2.3 MOV R0,#0BH MOV A,#42H MOVX R0,A RET WRHOUR: CLR P2.3 MOV R0,#0BH MOV A,#82H MOVX R0,A CLR P2.3 MOV R0,#04H MOV A,20H M

24、OVX R0,A RET ADMIN: MOV A,21H ;分钟加1子程序 ADD A,#01H DA A CJNE A,#60H,INCH4 MOV A,#00HINCH4: JC INCH5INCH5: MOV 21H,A LCALL WRMIN CLR P2.3 MOV R0,#0BH MOV A,#42H MOVX R0,A RET DEMIN: MOV A,21H ;分钟减1子程序 CJNE A,#00H,DECH6 MOV A,#59H SJMP DECH7DECH6: ANL A,#0FH CJNE A,#00H,DECH8 MOV A,21H SWAP A ANL A,#0F

25、H DEC A SWAP A ORL A,#09HAJMP DECH7DECH8: MOV A,21H DEC ADECH7: MOV 21H,A LCALL WRMIN CLR P2.3 MOV R0,#0BH MOV A,#42H MOVX R0,A RETWRMIN: CLR P2.3 MOV R0,#0BH MOV A,#82H MOVX R0,A CLR P2.3 MOV R0,#02H MOV A,21H MOVX R0,A RET ;从DS12887读取时间,并将时间写入20H到22HREAD: LCALL JUDGE ;判断芯片状态 CLR P2.3 ;读时信息 MOV R0,

26、#04H MOVX A,R0 MOV 20H,A CLR P2.3 ;读分信息 MOV R0,#02H MOVX A,R0 MOV 21H,A CLR P2.3 ;读秒信息 MOV R0,#00H MOVX A,R0 MOV 22H,A RET ;送显示程序DISP: MOV R0,#20H ;时显示 SETB P2.3 CLR P2.2 CLR P2.1 SETB P2.0 MOV A,R0 MOV P0,A INC R0 ;分显示 SETB P2.3 CLR P2.2 SETB P2.1 CLR P2.0 MOV A,R0 MOV P0,A INC R0 SETB P2.3 ;秒显示 CL

27、R P2.2 SETB P2.1 SETB P2.0 MOV A,R0 MOV P0,A RET ;判断芯片状态子程序JUDGE: CLR P2.3 MOV R0,#0AH MOVX A,R0 JB ACC.7,JUDGE ;实质是判断寄存器A的最高位UIP RET;中断程序开始INT887: PUSH 00H PUSH 0E0H ;比较作息时间程序BJCX: MOV A,22H ;将秒信息放入寄存器R2 MOV R1,21H ;将分信息放入寄存器R1 MOV R0,20H ;将时信息放入寄存器R0 CJNE A,#15H,BJMIAO ; 判断秒是否为00,是就关电铃 CLR P2.4 BJMIAO: CJNE A,#00H,RET_INT ;判断秒是否为00,是就执行小时值比较 ;小时比较程序 BJHOUR1: CJNE R0,#06H,BJHOUR2 ;判断时不为6点,比较下个时值 LJMP BJS1 ;判断时为6点,去比较分钟BJHOUR2: CJNE R0,#07H,BJHOUR3 ;判断时不为7点,比较下个时值 LJMP BJS2 ;判断时为7点,去比较分钟 BJHOUR3: CJNE R0,#08H,BJHOUR4 ;判断时不为8点,比较下个时值 LJMP BJS3 ;判断时为8点,去比较分钟BJHOUR4: CJNE R4,#09H,BJHOUR

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2