当前位置:文档之家› 基于单片机校园作息时间控制系统

基于单片机校园作息时间控制系统

课程设计任务书单片机作息时间控制系统设计的目的和意义:随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。

进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。

因其功耗低,超高型,低成本,功能完整,在国内越来越受到用户的重视和广泛使用。

随着科技的进步和技术不断的提升。

一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。

而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。

相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。

以AT89S52为核心控制器件的作息时间控制钟,由键盘、声音输出模块、电源转换模块和存储模块四部分组成。

它利用AT89S52的定时/计数器来计算时间,并用存储器记录数据,保证了系统的可靠性。

AT89S52单片机是整个设计的核心控制器件,根据从键盘接受的数据控制整个系统的工作流程。

整体性好,人性化强、可靠性高,实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的设备。

本次校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。

如上下课打铃及扩音设备的开与关。

采用AT89S52单片机来实现对上述开关量的控制,利用24C02芯片来存储数据,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。

关键词:作息时间控制; AT89S52; 24C021 绪论 (1)1.1背景介绍................................................................... 错误!未定义书签。

1.2作息时间控制钟概述 (1)2 硬件介绍 (2)2.1硬件仿真环境介绍 (2)2.2系统整体设计 (2)2.3控制钟硬件设计 (3)2.4 系统整体电路图 (4)3作息时间控制钟软件设计 (6)3.1总体介绍 (6)3.2软件环境介绍 (6)3.3流程图介绍 (6)3.3.1 系统主程序 (6)3.3.2 系统数据读写子程序 (10)3.3.3 显示子程序 (14)3.3.4 报警扫描子程序 (19)3.3.5 键盘扫描子程序 (20)3.3.6 设置时钟子程序 (22)3.3.7 T1定时器中断子程序 (25)4 系统调试 (28)5结论 (29)6附录 (24)6.1参考文献 (30)6.2主要元件列表 (31)1 绪论1.1 背景介绍随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。

进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。

16位单片机的问世,使得单片机的科技含量及应用跃上一个新的台阶。

因其功耗低,超高型,低成本,功能完整,在国内越来越受到用户的重视和广泛使用。

本设计是一个具有报时功能的作息时间控制钟。

它利用AT89S52单片机的定时器计时,进行时间计算;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。

由键盘和显示部分组成,系统扩展八个按键用于报时及校正时间。

现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。

本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。

1.2 作息时间控制钟概述科技的进步需要技术不断的提升。

一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。

而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。

相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。

该系统以AT89S52为主体的设计,整体性好,人性化强、可靠性高,实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的设备。

2 硬件介绍2.1 硬件仿真环境介绍:Protues软件是英国Labcenter electronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。

1)提供软件调试功能2)提供丰富的外围接口器件及其仿真RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

这样很接近实际。

在训练学生时,可以选择不同的方案,这样更利于培养学生。

3)提供丰富的虚拟仪器利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。

4)具有强大的原理图绘制功能2.2 系统整体设计根据设计要求画出系统框图,如图1.1所示:图2.1系统总体框图该系统是由微处理器、存储器、数码显示部分以及键盘输入部分所组成。

该控制系统用LED 数码管显示时、分、秒时间,可以显示实时时钟,显示闹铃时间,尽量减少时间积累误差,具有秒闪功能。

显示电路采用了7407芯片来完成驱的功能,利用上拉电阻共同驱动数码管显示时间。

系统采用AT89S52作为处理器,利用24C02芯片作为数据存储器,打铃时间点数据存储于非易失存储器存储24C02中,防止掉电丢失数据;能逐个检查、修改、删除已设置的打铃时间点和增加打铃时间点。

系统还设有输入键盘,用以校正实时时钟,设定闹铃时间,键盘设计简单、易于操作。

输出驱动电路部分,利用220V 电源为系统提供供电,利用继电器驱动,便于控制220V 的电铃。

同时利用直流——交流转换模块为整个系统提供电源,更方便实际应用。

2.3 控制钟硬件设计按系统框图分五个部分设计如下图2.1。

图2.2 硬件系统框图系统以单片机为基本核心,利用24C02芯片可以记录40个闹铃时间,并且可以长时间记录时间,不会造成时间混乱,可以满足正常的作息时间设置,简单实用,可以满足正常的生活。

根据学校作息时间,可以得到需要打铃的时间如下表所示:表2.1 作息时间控制表2.4 系统整体电路图系统的整体的电路图如下图所示:图2.3作息时间控制钟系统整体电路图3 作息时间控制钟软件设计3.1总体介绍硬件平台结构一旦确定,大的功能框架即形成。

软件在硬件平台上构筑,完成各部分硬件的控制和协调。

系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。

因此,软件是本系统的灵魂。

软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。

同时,对软件进行全面测试也是检验错误排除故障的重要手段。

本程序用汇编语言设计。

3.2软件环境介绍:Keil uVision2是美国Keil Software公司出品的51语言软件开发系统,使用接近于传统C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全会使用keil c51来开发您的单片机应用程序。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

3.3 流程图介绍软件设计以定时器T1、T2定时、内存读取、时钟显示、键盘扫描、报警程序为主程序。

在设计中利用单片机时钟计时集成电路完成计时的任务,并500ms 向单片机发一个中断,中断子程序有时钟显示及时间比较,如比较相等,则说明作息时间已到,发出指令控制电铃开、关操作。

3.3.1 系统主程序根据控制钟的设计要求,设计的程序的主流程图如图所示:图3.1 主程序流程图流程图程序如下:TF2 EQU 0CFH;T2中断标志控制位TR2 EQU 0CAH;T2启动/停止控制位ET2 EQU 0ADH;T2允许中断控制位PT2 EQU 0BDH;T2优先级控制位RCAP2L EQU 0CAH;T2自动重载低位RCAP2H EQU 0CBH;T2自动重载高位TL2 EQU 0CCH;T2计数器低位TH2 EQU 0CDH;T2计数器高位I2cStart EQU 55H;I2C开始标志I2cStop EQU 0AAH;I2C结束标志SDA EQU 0B2H;I2C数据线SCL EQU 0B3H;I2C时钟线SHOW_CODE EQU 80H;显示段码SHOW_BIT EQU 0A0H;显示位码KeyFlag EQU 00H;按键标志位S_Flash EQU 01H;秒闪标志位LED_FLAG EQU 02H;LDE显示模式标志位BeforKey EQU 22H;上次采样键值NowKey EQU 23H;现在次采样键值LS_S EQU 24H;临时变量1LS_M EQU 25H;临时变量2LS_H EQU 26H;临时变量3CLOCK_DATA0 EQU 27H;时钟秒CLOCK_DATA1 EQU 28H;时钟分CLOCK_DATA2 EQU 29H;时钟时SHOW_MOUDE EQU 2AH;显示模式SHOW_PC EQU 2BH;显示数据指针RingCount EQU 2CH;报警数据个数ShowRing EQU 2DH;显示报警数据地址RINGDATAH EQU 2EH;报警数据高位起始地址RINGDATAL EQU 57H;报警数据低位起始地址ORG 0000HMOV SP,#10HSJMP STARTORG 0001BHAJMP INT_T1ORG 0002BHCPL P3.5CLR TF2RETIORG 00035HSTART: MOV TH2,#3CH ;设置T2定时50ms MOV TL2,#0B0HMOV RCAP2H,#3CHMOV RCAP2L,#0B0HSETB PT2SETB ET2MOV TMOD,#60H ;设置T1定时500ms(T2中断10次,T1中断5次) MOV TH1,#0FBHMOV TL1,#0FBHSETB ET1ACALL READ_DATASETB EASETB TR2SETB TR1MOV CLOCK_DATA0,#0MOV CLOCK_DATA1,#0MOV CLOCK_DATA2,#12SETB LED_FLAGCLR P3.4AGAIN:MOV SHOW_MOUDE,#0 ;显示模式0MOV SHOW_PC,#CLOCK_DATA0;显示时钟(传时钟地址指针)ACALL DISPLAY ;调用动态扫描子程序ACALL COMP_DATA ;调用报警扫描子程序MOV BeforKey,NowKeyACALL GETKEY ;调用键盘扫描子程序MOV NowKey,ACJNE A,BeforKey,AGAINCJNE A,#0,NEXT_KEY0SETB KeyFlagSJMP AGAINNEXT_KEY0:JNB KeyFlag,AGAINCLR KeyFlagCJNE A,#1,NEXT_KEY2ACALL SetTimer ;调用设置时钟子程序SJMP AGAINNEXT_KEY2:CJNE A,#2,AGAINACALL SetRing ;调用设置报警子程序SJMP AGAIN;--------------------//主程序结束//3.3.2 系统数据读写子程序系统中利用24C02存储系统数据,该芯片为单电源供电,工作电压范围为1.8-5.5V,低功耗CMOS技术,自定时写周期,页面写周期的典型值为2ms,具有硬件写保护。

相关主题