1、摘 要校园作息时间控制系统重要用于学校,对某些以24小时为周期开关量进行自动控制。该控制系统是采用8031单片机来实现对上述开关量控制,运用内部时钟来提供时钟信息,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简朴、工作稳定可靠、价廉、控制时间精准及系统体积小等长处。核心词 作息时间控制 定期器 语音芯片 8031AbstractThe campus the daily timetable control system which is mainly used in the campus,it auto-control some switches which
2、 have periods of 24 hours. This control system carries out the switch parameter controls all above by SCM 8031 .It uses the Internal Clock 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 keyboard. The syste
3、m 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.Key words:THE DAILY TIMETABLE CONTROL,TIMER,DELAYED ACTION,8031目 录1 引言51.1 概述51.2 本文研究内容52 作息时间控制器整体设计53 作息时间控制器硬件设计5
4、3.1 单片机芯片简介63.2 扩展电路73.2.1 程序存储器(2764)73.2.2 数据存储器(6264)83.2.3 扩展电路某些接线93.3 键盘显示电路103.4 音乐播放电路123.5 复位电路143.6 晶振电路153.7 电源电路153.8 作息时间控制器硬件原理图164 作息时间控制器软件设计设计174.1 定期中断服务程序184.1.1 定期流程184.1.2 定期中断服务程序设计184.2 时钟比较程序204.2.2 控制流程图及程序224.3 其她某些流程254.3.1 主程序流程图254.3.2 动态显示流程图254.3.3 键盘扫描流程图26致 谢28参 考 文
5、献291 引言随着计算机技术发展和在控制系统中广泛应用,以及设备向小型化,智能化发展,作为高新技术之一单片机以其体积小,功能强,价格低廉,使用灵活等优势,显示出很强生命力。其功耗低,超高型,低成本,功能完整,在国内越来越受到顾客注重和广泛使用。1.1 概述基于单片机作息时间控制,充分发挥它体积小,价格便宜,功耗低,可靠性高长处。可用于学校作息,以便广大师生。同步也可以作为各种时钟控制电路报警装置使用,用途广泛,原理简朴,便于操作和维护等长处。总体上,单片机设计方案在现实生活中也比较容易实现设计。1.2 本文研究内容通过对一种能实现时钟显示及定期功能时间系统设计学习,达到单片机应用中数据转换显示
6、,数码管显示原理,动态扫描显示原理,单片机定期中断原理、及单片机有关指令在各方面应用。以8031单片机为核心,由LED数码管、按键、二极管等某些构成,由软件实现打铃时刻表预置与修改,实现实时时间显示、校正和铃响控制。此种响铃器实际为一种可编程时间控制器,它提供定期控制输出接口,可以便地用于各种定期控制。2 作息时间控制器整体设计依照设计规定,画出系统框图,如图1所示。该控制系统由单片机,音乐电路,数码显示某些以及键盘某些构成。该控制系统设有6位数码管,可以实时显示时间和定期时间等,系统还设有输入键盘,用以修改实时时钟和定期等操作。软件方面,通过晶振电路和软件设计,实现时钟设计。作息时间表有2套
7、可选取,一套为冬季作息时间,另一套为夏季作息时间。 图1 设计系统框图3 作息时间控制器硬件设计3.1 单片机芯片简介设计选用了8031单片机,其引脚图,如图2所示。(1)电源引脚VCC和GNDVCC:电源端,接+5VGND:接地(2)外接晶振引脚XTAL1和XTAL2XTAL1:片内反相放大器输入端,接外部晶振一种引脚。当单片机采用外部时钟信号时,此引脚应接地。XTAL2:片内反相放大器输出端,接外部晶振另一种引脚。当单片机采用外部时钟信号时,外部信号由此引脚接入。(3)输入输出引脚P0:是双向8位三态I/O端口,在不接外存储器与不扩展I/O接口时,可作为准双向口。在访问外存储器时,它分时用
8、于低八位地址总线和8位双向数据总线。P1:是8位双向静态I/O端口。P2:是8位准双向I/O端口,在访问外部存储器时,它作为扩展电路高8位地址总线,送出高8位。P3:是8位准双向I/O端口。普通只用P0和P2作为输入输出引脚。 图2 8031引脚图(4)其她引脚RESET/VPD:复位信号输入端。Vcc掉电后,此引脚可接备用电源,以保持内部RAM数据不丢失。复位电路用了手动复位,VCC掉电期间,此脚可接上备用电源,以保证单片机内部RAM数据不丢失。ALE/PROG:地址锁存容许端。当单片机访问外部存储器时,该隐脚输出信号用于锁存P0端口送出8位地址。其输出信号频率为时钟震荡频率1/6。PSEN
9、:外部程序存储器读选通信号输出端,或称为片外取指信号输出端。从外部程序存储器取指令期间,PSEN在每个机器周期两次有效,其频率为振荡周期1/6;但若此期间有访问外部数据存储器,则两次有效PSEN信号将不浮现。EA/Vpp:当其保持低电平时单片机只访问外部程序存储器,而不论片内与否有程序存储器。3.2 扩展电路3.2.1 程序存储器(2764) 由于8031没有程序存储器,因此扩展了一种8K程序存储器2764。2764引脚图如图3所示。 图3 2764引脚图其重要引脚功能如下:D0D7:8条双向数据总线,用于读出数据或编程时写入编程代码。A0A7:地址输入线,扩展时与单片机P2口和P0口相连,用
10、于传送单片机送来地址编码信号。CE:片选端,低电平有效。OE:输出容许端数据输出容许信号线(低电平时,数据处在读出状态)。Vcc:电源端(5V)。GND:接地端。3.2.2 数据存储器(6264) 由于8031数据存储器仅为128B,程序运营过程中需要调用大量数据,因此扩展了一种8K数据存储器6264。6264引脚图如图4所示。其重要引脚功能如下:D0D7:8条双向数据总线,用于读出数据或编程时写入编程代码。A0A12:地址线,扩展时与单片机P2口和P0口相连,用于传送单片机送来地址编码信号。CE:片选端,低电平有效。OE:输出容许端数据输出容许信号线(低电平时,数据处在读出状态)。WE:写选
11、通信号线,低电平是数据处在写入状态。Vcc:电源端(5V)。GND:接地端。图4 6264引脚图3.2.3 扩展电路某些接线这某些重要是用来存储数据、程序,是整个系统存储器。将P0口低8位地址锁存后,在接到6264和2764A0A7上。地址锁存信号ALE接锁存器控制端G,当ALE发生负跳变时,将低8位地址锁存于74LS138中,这时P0口就可以做数据线使用了。当PSEN向OE输出低电平时,2764才可以和单片机之间进行数据互换。同样只有OE片选端输入低电平时,6264才可以进行写信号,只有PSEN和RD同步输出低电平时,读信号才有效。这样2764、6264和单片机之间可以互相读数据,进行工作。
12、该某些电路接线图如图5所示6。 图5 扩展电路图3.3 键盘显示电路单片机扩展了一种并行I/O口8155,用来连接键盘显示电路。8155其内部包括两个8位并行口(A口和B口),一种6位并行C口和一种14位 计数器。其电路图如图6所示2。 图6 键盘显示电路连接图通过键盘外部输入,运用软件编程变化时分秒,并通过显示电路显示出来。矩阵键盘12个键如图7所示,功能如表1。 图7 键盘编号S1 0S21S32S43S54S65S76S87S98S109S11模式选取S12移位 表1 按键功能模式选取(S11)键涉及:校时,定期,时令选取,显示当前时间。与移位(S12)键配合使用,完毕有关功能。3.4
13、音乐播放电路音乐播放电路某些,选用了美国ISD公司出品ISD1400系列优质单片语音录放集成电路。其引脚图,如图8所示。 图8 ISD1400引脚图ISD1400电气特性如下:工作电压VDD:5VA0A7:地址输入端;VCCD:数字电路源;VCCA:模仿电路源;SP+:喇叭(+);SP-:喇叭(-);SCLK:外接时钟可选;ANA IN:模仿量输入;ANA OUT:模仿量输出;AGC:自动增益控制;MIC:驻极体话筒输入;MIC REF:驻极体话筒参照输入;PLAYE:边沿触发放音;PLAYL:电平触发放音;REC:录音触发;RECLED:发光二极管接口;NC:空脚。ISD1400系列有下列型
14、号:ISD1408、ISD1410、ISD1412、ISD1416、ISD1420。录放时间分别为:8秒、10秒、12秒、16秒、20 秒(ISD14XX其中型号后两位表达其录音时间长度,单位是秒)4。 图9 ISD1410连接图设计选用ISD1410(录音时间20秒),该芯片与主电路连接图,如图9所示。在该电路中,当P1.0输出一种低电平时,播放音乐,放音时先由软件给出一种地址,74LS377用来实现地址锁存,就是一种语音段首址,在这一放音过程中地址是不能变化,故需要一种锁存器。3.5 复位电路8031复位方式可以是自动复位,也可以是手动复位,如图10。此外,RESET/Vpd还是一复用脚,
15、Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM数据不丢失。本设计采用手动复位。 图10 复位电路3.6 晶振电路用一种12MHz晶振和两个30Pf瓷片电容构成,为单片机提供原则时钟,其中两个瓷片电容起微调作用.其电路图如图11。 图11 晶振电路 3.7 电源电路依系统需要提供+5V直流电源。在此咱们引入220V交流电源通过电源变压器变换成交流低压,再通过桥式整流电路D1D4和滤波电容C1整流和滤波,在固定式三端稳压器7805Vin和GND两端形成一种并不十分稳定直流电压(该电压经常会由于市电电压波动或负载变化等因素而发生变化)。此直流电压通过7805稳压和C3滤波便在稳压电源输出
16、端产生了精度高、稳定度好直流输出电压。本稳压电源可作为TTL电路或单片机电路电源。三端稳压器是一种原则化、系列化通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷以便等特点,成为当前稳压电源中应用最为广泛一种单片式集成稳压器件。电路图如图12。 图12 电源电路3.8 作息时间控制器硬件原理图综上所述,做出本设计硬件原理图,如图13所示。 图13 作息时间控制器硬件原理图4 作息时间控制器软件设计设计 运用单片机定期器设计一种时钟,在每次秒加1计时过程中都与规定作息时间比较,如果相等,就进行播放音乐操作,不相等则返回。4.1 定期中断服务程序程序设计中,以单片机定期器
17、/计数器T0工作在模式1,定期50ms,容许中断。在中断服务程序中重赋T0计数初值,开中断返回设:20H为中断计数单元,计满20次为1秒 21H为秒计数单元,计满60次为1分钟 22H为分计数单元,计满60次为1小时 23H为时计数单元,计满24次为1天 4.1.1 定期流程如图14所示。 图14 计时流程图4.1.2 定期中断服务程序设计选取定期/计数器作为定期器,工作方式为方式1。计数器加1信号由振荡器(晶振)12分频产生,即每通过1个机器周期,计数器增1,直至计数溢出为止。晶振频率为12MHz,则计数周期Tcy为1s 定期器方式1为16位计数器,计数最大值为216=65536,定期 50
18、MS,需要计数50000个1s (计数周期)。 计数初值=65536 - 50000 = 15536 15536转换为十六进制即为 3CB0 计数器从3CB0开始计数,计数到65536溢出,产生定期中断。系统晶振为12MHZ,设定定期器每隔50MS溢出中断1次,则循环中断20次延时时间为1秒,上述过程重复60次为1分钟,分计时60次为1小时,小时计时24次则时间重新回到00:00:005。汇编程序如下:ORG 0000H;程序执行开始地址LJMP MAIN;跳转主程序ORG 000BH;T0中断入口地址LJMP INT0;跳至INT0执行ORG 0100HCOUNT EQU 20H SECON
19、D EQU 21H MINUTE EQU 22HHOUR EQU 23HMAIN:MOV TMOF,#01H;定期器工作方式1MOV TL0,#0B0H;设定初值MOV TH0,#3CHSETB EA;总中断开放SETB ET0;容许T0中断SETB TR0;启动T0定期器INT0:PUSH ACC;累加器入栈保护PUSH PSW;状态字入栈保护MOV TL0,#0B0H;重装初值MOV TH0,#3CHSETB TR0;启动定期器T0ADDC:INC COUNTMOV A,TCOUNTCJNE A,#14H,OUTT0;20次中断未到中断退出MOV COUNT,#00H ADDS:INC S
20、ECOND LCALL TIME;调用时钟比较子程序(见4.2.2)MOV A,SECOND CJNE A,#60,OUTT0MOV SECOND,#00HADDM:INC MINUTEMOV A,MINUTECJNE A,#60,OUTT0MOV MINTUE,#00HADDH:INC HOURMOV A,HOUR;时数据放入ACJNE A,#24,OUTT0MOV HOUR,#00HOUTT0:POP PSW;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0;开放T0中断RETI;中断返回4.2 时钟比较程序作息时间预先制成表格存入EPROM数据区,运用软件每过一秒,将当前时
21、间与数据区时间相比较,相等阐明要进行控制,完毕播放音乐操作。通过模式选取键,和移位键,完毕时间表切换。由INT1端口状态来选取夏季作息时间或是冬季作息时间。4.2.1 作息时间数据区数据区每一项时间控制字需要占8个存储单元:控制码1时分秒 启动装置时间控制码2时分秒 关闭装置时间8031单片机P1.0用作语音芯片启动和关闭。控制码定义表,如表2所示控制码功能相应输出码FEH启动语音芯片P1.0控制播放FFH关闭语音芯片P1.0输出关闭00H数据区结束 表4-1 控制码定义作息时间如表3(冬季),表4(夏季)所示,以及与依照作息时间编制数据区如表5(冬季),表6(夏季)所示时间作息8:008:4
22、5第一节8:559:40第二节10:2011:05第三节11:1512:00第四节14:0014:45第五节14:5515:40第六节15:5016:35第七节16:4517:30第八节19:0021:30晚自习时间作息8:008:45第一节8:559:40第二节10:2011:05第三节11:1512:00第四节14:3015:15第五节15:2516:10第六节16:2017:05第七节17:1518:00第八节19:3022:20晚自习表3 冬季作息时间表4 夏季作息时间地址数据(时间控制字)1110H1117HFE080000FF0800101118H111FHFE084500FF08
23、45101120H1127HFE085500FF0855101128H112FHFE094000FF0940101130H1137HFE10FF101138H113FHFE110500FF1105101140H1147HFE111500FF1115101148H114FHFE10FF101150H1157HFE143000FF1430101158H115FHFE151500FF1515101160H1167HFE152500FF1525101168H116FHFE161000FF1610101170H1177HFE16FF1206101178H117FHFE170500FF1705101180
24、H1187HFE172500FF1725101188H118FHFE180000FF1800101190H1197HFE193000FF1930101198H119FHFE20FF2011A0H11A7H00H地址数据(时间控制字)1010H1017HFE080000FF0800101018H101FHFE084500FF0845101020H1027HFE085500FF0855101028H102FHFE094000FF0940101030H1037HFE10FF101038H103FHFE110500FF1105101040H1047HFE111500FF1115101048H104FH
25、FE10FF101050H1057HFE140000FF1400101058H105FHFE144500FF1445101060H1067HFE145500FF1455101068H106FHFE154000FF1540101070H1077HFE155000FF1550101078H107FHFE163500FF1635101080H1087HFE164500FF1645101088H108FHFE173000FF1730101090H1097HFE190000FF1900101098H109FHFE213000FF21301010A0H10A7H00H表5 冬季作息时间数据区 表6 夏季作
26、息时间数据区程序所用到片外RAM数据存储单元安排如下:2EH为控制字存储区地址指针暂存单元R0为控制字存储区指针6AH为暂存控制字开关操作码单元6BH6DH依次为控制字预设秒,分,时数值单元4.2.2 控制流程图及程序如图15所示。 图15 定期比较流程图汇编程序如下:TIME:SETB P1.7JB P1.7,SUMMER;P1.7低电平,跳转SUMMERWINTER:MOV DPTR,#TABLE1SJMP COMPSUMM:MOV DPTR,#TABLE2COMP:SETB RS0;指向第一组工作寄存器PUSH PSWPUSH ACC;堆栈MOV R0,2EH;控制字首地址送R0MOVX
27、 A,R0;取控制字开关操作码MOV 6AH,A;暂存6AHINC R0;修改指针MOVX A,R0;取出控制字预设时值MOV 6DH,A;暂存6DH单元INC R0MOVX A,R0;取出控制字预设分值MOV 6CH,A;暂存6CH单元INC R0MOVX A,R0;取出控制字预设秒值MOV 6BH,A;暂存6BH单元INC R0MOV 2EH,R0;存入2EH单元MOV A,SECOND;取当前秒值CJNE A,6BH,OUT1;当前秒值与预设秒值,不等跳转MOV A,MINUTE;取当前分值CJNE A,6CH,OUT1;当前分值与预设分值,不等跳转MOV A,HOUR;取当前时值CJN
28、E A,6DH,OUT1;当前时值与预设时值,不等跳转MOV A,6AH;时分秒都相等,取开关操作码CJNE A,#00H,OUT0;开关操作码不为00H,跳转SJMP EXIT;00H,跳转OUT0:MOV P1.0,A;开关操作由P1.0输出控制EXIT:POP PSWPOP ACC;出栈CLR RS0OUT1:CLR C;进位清零MOV A,2EHSUBB A,#04H;回答原控制字指针MOV 2EH,ASJMP EXITRET控制码:冬时令ORG 1010HTABLE1:DB FEH,08H,00H,00H,0FFH,08H,00H,10HDB FEH,08H,45H,00H,0FFH
29、,08H,45H,10HDB FEH,08H,55H,00H,0FFH,08H,55H,10HDB FEH,09H,40H,00H,0FFH,09H,40H,10HDB FEH,10H,20H,00H,0FFH,10H,20H,10HDB FEH,11H,05H,00H,0FFH,11H,05H,10HDB FEH,11H,15H,00H,0FFH,11H,15H,10HDB FEH,12H,00H,00H,0FFH,12H,00H,10HDB FEH,14H,00H,00H,0FFH,14H,00H,10HDB FEH,14H,45H,00H,0FFH,14H,45H,10HDB FEH,1
30、4H,55H,00H,0FFH,14H,55H,10HDB FEH,15H,40H,00H,0FFH,15H,40H,10HDB FEH,15H,50H,00H,0FFH,15H,50H,10HDB FEH,16H,35H,00H,0FFH,16H,35H,10HDB FEH,16H,45H,00H,0FFH,16H,45H,10HDB FEH,17H,30H,00H,0FFH,17H,30H,10HDB FEH,19H,00H,00H,0FFH,19H,00H,10HDB FEH,21H,30H,00H,0FFH,21H,30H,10HDB 00H夏时令ORG 1110HTABLE2:DB
31、FEH,08H,00H,00H,0FFH,08H,00H,10HDB FEH,08H,45H,00H,0FFH,08H,45H,10HDB FEH,08H,55H,00H,0FFH,08H,55H,10HDB FEH,09H,40H,00H,0FFH,09H,40H,10HDB FEH,10H,20H,00H,0FFH,10H,20H,10HDB FEH,11H,05H,00H,0FFH,11H,05H,10HDB FEH,11H,15H,00H,0FFH,11H,15H,10HDB FEH,12H,00H,00H,0FFH,12H,00H,10HDB FEH,14H,30H,00H,0FFH
32、,14H,30H,10HDB FEH,15H,15H,00H,0FFH,15H,15H,10HDB FEH,15H,25H,00H,0FFH,15H,25H,10HDB FEH,16H,10H,00H,0FFH,16H,10H,10HDB FEH,16H,20H,00H,0FFH,16H,20H,10HDB FEH,17H,05H,00H,0FFH,17H,05H,10HDB FEH,17H,15H,00H,0FFH,17H,15H,10HDB FEH,18H,80H,00H,0FFH,18H,80H,10HDB FEH,19H,30H,00H,0FFH,19H,30H,10HDB FEH,2
33、2H,00H,00H,0FFH,22H,00H,10HDB 00H4.3 其她某些流程4.3.1 主程序流程图 如图16所示。 图16 主程序流程图4.3.2 动态显示流程图如图17所示。 图17 动态显示流程图4.3.3 键盘扫描流程图如图18所示。 图18 键盘扫描流程图参 考 文 献1 李叶紫,王喜斌.胡辉.孙东辉.MCS_51单片机应用教程.清华大学出版社.6.2 辛友顺,胡永生,薛小玲.单片机应用系统设计与实现.福建科学技术出版社(184-186页 LED显示接口,190-193页键盘接口).3 耿文静,钱珊珠.单片机原理与接口技术.国防工业出版社.4 翟玉文,徐宏亮,艾学忠,王庆伟,赵岩.实用多功能电子时钟设计. 吉林化工学院学报.(音乐电路某些).5 石从刚. MCS-51单片机原理与应用实验实训教程.北航大学出版社.2.1(9099页,自动打铃装置设计).6 李建忠.单片机原理及应用.西安电子科技大学出版社.2.1(第四章,扩展某些)7 王爽.汇编语言(第二版).清华大学出版社.4.8 李华.MCS-51系列单片机实用接口技术.北京航空航天大学出版社.9 刘沛.基于ISD 1420 语言报警器设计.陕西理工学院,电气工程与自动化.