单片机作息时间控制系统设计
- 格式:doc
- 大小:334.00 KB
- 文档页数:29
课程设计任务书单片机作息时间控制系统设计的目的和意义:随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。
进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。
因其功耗低,超高型,低成本,功能完整,在国内越来越受到用户的重视和广泛使用。
随着科技的进步和技术不断的提升。
一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。
而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。
相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。
以AT89S52为核心控制器件的作息时间控制钟,由键盘、声音输出模块、电源转换模块和存储模块四部分组成。
它利用AT89S52的定时/计数器来计算时间,并用存储器记录数据,保证了系统的可靠性。
AT89S52单片机是整个设计的核心控制器件,根据从键盘接受的数据控制整个系统的工作流程。
整体性好,人性化强、可靠性高,实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的设备。
本次校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。
如上下课打铃及扩音设备的开与关。
采用AT89S52单片机来实现对上述开关量的控制,利用24C02芯片来存储数据,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。
关键词:作息时间控制; AT89S52; 24C021 绪论 (1)1.1背景介绍................................................................... 错误!未定义书签。
单片机的多功能作息时间控制系统设计山东华宇职业技术学院毕业论文专用纸毕业设计(论文)报告专业名称: 电气自动化技术设计课题:单片机的多功能作息时间设计山东华宇职业技术学院毕业设计用纸毕业设计(论文)任务书毕业设计(论文)题目:单片机的多功能作息时间设计毕业设计(论文)的内容要求:1.作息时间能控制电铃2.作息时间能启动和关闭放音机单片机作息时间控制的功能:使用4位七段显示器来显示现在的时间。
显示格式为“时分” 由LED闪动来作秒计数表示具有4个按键来作功能设置,可以设置现在的时间及显示定时设置时间一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和关闭。
指导教师(签名):系主任:年月摘要本设计详细介绍了利用AT89C51单片机设计时间控制器的方法。
该时间控制器是以AT89C51单片机为核心,扩展一片XICOR 公司的X5045组成的小系统,控制一路继电器:可以设定一天中的时间,设定继电器的开启时间和关闭时间,可以清除不需要的定时,能够紧急启动:所有的设定均通过键盘实现,按键具有连击功能,每个状态都有指示灯提示。
我们设计的作息时间控制是用单片机实现的,是为了更好的对时间控制智能化。
时间控制器包括硬件和软件。
硬件部分包括继电器,存储器和显示器接口芯片。
软件部分,主要是主程序设计。
软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试通过。
时间控制系统可以准确的显示时间,在定时时间到时发出悦耳的铃声提醒同学们按时上下课。
毕业设计开题报告一、课题设计(论文)目的及意义通过收集相关资料,方案的比较确定,有关数据的计算及各元件参数的确定,电路图纸的设计绘制,论文的撰写等有关过程深化和综合了基础课、专业课,熟悉小型系统的设计全过程,掌握逆变电源的设计步骤及设计方法,深入进行与本专业有关的基本设计训练,培养分析问题、解决问题的能力。
通过这次设计,深入了解本专业及相关专业的知识,从而巩固了所学的专业基础知识,并培养了独立思考的能力,更有助于我们提高理论知识的学习与掌握,提高动手能力,在设计过程中尽可能联系实际生活,使系统的设计指标达到预定指标,并兼顾经济合理的要求,并为以后工作和学习打下坚实的基础。
湖南化工职业技术学院毕业设计说明书题目:基于单片机的作息时间控制系的设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:目录一、引言-----------------------------------------------------------------31.1单片机的作息时间控制系统设计的目的和意义------------------------31.2方案比较--------------------------------------------------------3二、整体设计方框图-------------------------------------------------------4三、模块电路设计---------------------------------------------------------53.1.单片机核心控制模块---------------------------------------------53.2键盘模块--------------------------------------------------------73.3实时时钟模块---------------------------------------------------123.4数据存储模块---------------------------------------------------143.5温度传感器模块------------------------------------------------3.6红外模块------------------------------------------------------3.7电机模块------------------------------------------------------3.8显示模块------------------------------------------------------3.9外围驱动模块--------------------------------------------------四、单片机软件系统设计--------------------------------------------------154.1系统实现工作流程-----------------------------------------------4.2系统流程图-----------------------------------------------------4.3系统源程序-----------------------------------------------------五、元件明细表----------------------------------------------------------16六、整机电路图----------------------------------------------------------196.1 整体原理图-----------------------------------------------------196.2 整体PCB图-----------------------------------------------------206.3整体PCB 3D图--------------------------------------------------七、总结与致谢----------------------------------------------------------24八、参考文献------------------------------------------------------------24一、引言1.1单片机作息时间控制系统设计的目的和意义随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。
200 届毕业设计说明书基于单片机的作息时间控制钟系、部:学生姓名:指导教师:职称专业:班级:完成时间:摘要校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。
如上下课打铃及扩音设备的开与关、教学楼照明的定时开与关、学生宿舍灯及校园路灯的定时开关的控制。
该控制系统是采用AT89S52单片机来实现对上述开关量的控制,利用DS12887时钟芯片来提供时钟信息,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。
关键词:作息时间控制; AT89S52; DS12887AbstractThe school timetable in control system is mainly used for the school, to 24 hours to switch off automatic cycle of a control. class and class as a bell and amplifying the open and shut, open and teaching the timing and dormitory campus students and the timing of the light switch in the control.The control system is adopted at89s52 monolithic integrated circuits to switch to the amount of control and use ds12887 the chip to provide the information, there are six digital tube, can live time, the system input keyboard have to modify the real-time the clock, the system simple, reliable, cheap, to control the time accurately and system of its small size, etc.Key word:the daily timetable control at89s52 ds12887目录第1章作息时间控制钟系统设计 (3)1.1系统整体设计 (4)1.2 控制钟时刻分析表 (4)第二章硬件总体设计及各部分说明 (5)2.1 控制钟硬件设计 (6)2.2 单片机控制部分 (6)2.3 键盘部分 (7)2.4 显示部分 (7)2.4响铃及扩音部分 (8)第三章时钟芯片功能介绍 (10)第四章作息时间控制钟程序设计 (14)4.1程序流程图 (14)4.2 源程序清单 (1)参考文献 (1)致谢词 (2)附录I (3)附录II (4)第1章作息时间控制钟系统设计1.1系统整体设计根据设计要求画出系统框图,如图1.1所示。
单片机课程作息时间控制设计报告1. 引言单片机是现代电子技术的重要组成部分,在工业自动化、电子产品控制等领域都有广泛应用。
本次设计目的是通过单片机实现课程作息时间的自动控制,以解决学校师生在课程安排上的繁琐和误差问题。
2. 设计方案2.1 系统功能本系统通过采集外部的时间信息,并通过单片机进行处理和控制,最终实现对学校课程作息时间的自动控制。
2.2 硬件设计本系统的硬件设计主要包括单片机、时钟模块和显示模块。
单片机负责控制整个系统的运行以及与外部硬件的交互,时钟模块提供系统需要的准确时间信息,显示模块用于显示当前的时间和课程信息。
2.3 软件设计本系统的软件设计主要包括时间采集模块、时间处理模块和课程控制模块。
时间采集模块负责从时钟模块获取当前的时间信息,时间处理模块用于处理时间数据,课程控制模块根据时间数据决定当前课程的状态和下一节课的时间。
3. 工作流程3.1 初始化系统启动时,单片机初始化各个硬件模块,并从时钟模块获取当前的时间信息。
3.2 时间采集单片机通过时钟模块定时采集当前的时间信息,并将其存储在内部存储器中。
3.3 时间处理时间处理模块从内部存储器中读取当前的时间信息,并根据预设的课程时间表以及当前的时间,确定当前课程的状态(上课、下课或休息)。
3.4 课程控制课程控制模块根据当前课程的状态,通过单片机控制相关设备的开关,实现对课程作息时间的控制。
4. 技术难点4.1 时间信息的准确获取为了保证系统的准确性,需要选择一款精度较高的时钟模块,并采用合适的算法来处理时间数据。
4.2 课程时间表的灵活性不同学校的课程安排可能不同,因此需要设计一个灵活可变的课程时间表,以适应不同学校的需求。
5. 结论通过单片机实现课程作息时间的自动控制,可以提高学校课程安排的效率,减少学生和老师的繁琐操作。
本设计报告详细介绍了系统的硬件和软件设计,以及系统的工作流程和技术难点。
在实际应用中,可以根据具体需求进行相应的改进和调整,以满足不同学校的需求。
计算机控制技术课程设计课程设计名称:基于单片机的校园作息时间控制系统专业班级:自动化0705计算机控制技术课程设计任务书摘要校园是一个生活非常有规律的地方,良好的作息时间制度是学生能够安心学习的有力保证。
社会在进步,教育事业在稳步发展,许多学校规模不断扩大,此时,良好的作息时间制度显得更加重要。
可靠、安全、方便的校园作息时间控制系统是学校需求的。
用单片机设计这样一个控制系统能够很好的满足要求。
该控制系统是采用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 系统硬件总体设计框图 (7)3.2 单片机控制部分 (8)3.3 键盘部分 (8)3.4 显示部分 (9)3.5响铃及扩音部分 (10)4.作息时间控制钟程序设计 (11)4.1主程序流程图 (11)4.2 时间控制比较子程序流 (13)4.3键盘扫描子程序流程图 (13)总结 (14)参考文献 (15)附录 (16)1 引言伴随着社会的快速发展,我国的教育事业也蓬勃的发展着,近些年许多学校都在积极的扩招,许多高校的办学规模不断扩大。
基于单片机可编程作息时间控制器设计与制作一、引言现代社会人们的生活节奏越来越快,工作压力、学习任务等加大,导致很多人的作息时间不规律。
而良好的作息时间对人的身心健康非常重要。
因此,设计一款基于单片机的可编程作息时间控制器就变得很有必要。
二、设计方案本设计方案采用基于单片机的可编程作息时间控制器,通过预设时间段,控制灯光和蜂鸣器的开关,提醒人们要进行休息或工作。
1.硬件设计(1)主控芯片选择本设计采用单片机AT89C52作为主控芯片,该芯片采用8位的CMOS单片机,并具有丰富的IO口和存储器。
(2)时钟电路设计为了保证控制器的时钟准确性,设计了一个由晶振和电容构成的时钟电路。
晶振的频率暂定为12MHz,电容选择合适的值以满足电路的要求。
(3)人机交互部分该作息时间控制器通过LCD屏幕和按键进行人机交互。
选择了常见的1602液晶屏,并接入按键进行数据输入。
(4)输出部分通过继电器控制灯光和蜂鸣器的开关。
根据设定的时间段,通过电流驱动继电器吸合或断开,控制相应设备的开关状态。
(5)电源部分整个作息时间控制器采用5V电源供电,并设计了稳压电路,保证主控芯片工作电压的稳定。
2.软件设计(1)时钟设置通过单片机的定时器进行时钟设置,包括时钟的启动和停止,时钟的频率调整等。
(2)数据输入通过按键进行数据的输入,包括设定时间段的起始时间和结束时间,以及设定每个时间段的作息状态。
(3)定时器中断使用定时器中断来实现时间的自动循环更新,根据设定的时间段和当前时间,判断当前处于何种作息状态,并控制输出部分的灯光和蜂鸣器。
(4)LCD显示通过LCD屏幕来实现时间的显示和友好的界面交互,便于用户对时间的设置和查看。
三、制作过程1.硬件制作按照设计方案中的硬件部分进行元件的布局和焊接,在焊接时注意保持元件间的间距,避免短路等问题。
2.软件编程根据设计方案中的软件部分,使用C语言进行单片机的编程,实现时钟的设置、数据的输入、定时器的中断、LCD的显示等功能。
单片机课程设计作息时间控制器设计报告XX大学单片机课程设计报告作息时间控制器设计姓名:学号:专业班级:自动化班指导老师:所在学院:电气工程与自动化学院2022年X月X日摘要本设计是作息时间控制器的设计,由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子作息时间控制器。
该功能的实现主要通过软件编程来完成,降低了硬件电路的复杂性,成本也有所降低。
设计内容包括了秒信号指示、时间“时”和“分”显示电路、按键调整电路、供电电源以及闹铃指示电路等几部分的设计。
采用四个开关来控制作息时间控制器的工作状态,分别为:K1、设置时间和闹钟的小时;K2、设置小时以及设置闹钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。
当作息时间控制器达到课程设计的要求,在到达设定的定时时间时蜂鸣器便被控制立即发出声音,持续一分钟,而后按K4键退出显示闪烁状态,即恢复时钟状态。
显示采用的四位数码管电路,定时提示采用蜂鸣器发声指示。
本设计方案也可以经过改进作为实现定时控制系统的控制定时电路。
关键词:作息时间单片机显示定时目录1概述31.1课程设计的目的和意义31.2单片机课程设计的要求31.3作息时间控制器的设计要求32系统总体方案及硬件设计42.1系统总体设计42.2系统各个部分的电路设计53软件的设计83.1概述83.2主模块的设计83.3显示模块设计93.4时间设定模块设计93.5闹铃功能的实现104Proteus软件仿真124.1仿真结果124.2性能及误差分析145课程设计体会15参考文献15附1程序源代码16附2原理图261概述1.1课程设计的目的和意义综合利用所学单片机知识完成一个单片机应用系统设计并仿真、由硬件实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下良好基础。
1.2单片机课程设计的要求1、进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤;2、掌握单片机仿真软件Proteus的使用方法;3、掌握键盘和显示器在的单片机控制系统中的应用。
简单数控作息时间控制系统设计1.系统设计要求该时钟控制器有4位LED数码显示器,具有基本时钟(显示当前时间的小时及分钟)功能,通过外扩继电器、光电耦合器或国体继电器还可实现多点、多路电气设备的控制。
该控制器可广泛应用于学校、工厂和机关的自动打铃、电视、路灯、室内照明及其他对象控制,也可用于家庭或学生寝室进行时间指示及多点时间提醒。
2.硬件电路硬件电路如图所示。
电路采用单片机A T89C51,显示器采用四联共阴极LED数码显示器。
其中字段由串入并出的移位寄存器74LS164控制,74LS164的串行数据输入端由P1.4控制,移位脉冲由P1.5提供;宇位由P1.0~P1.3控制,Pl.0~P1.3对应控制L4~L1。
SW1~Sw3用来迸行时间校准及控制时间点的设定。
LEDl~LED8用来模拟被控对象。
另有铃响信号输出(铃响信号驱动蜂鸣器发声)。
图作息时间控制系统3.设计要求(l)时间校对在任何时候均可通过按压SW2和SW3按钮进行时间校准。
每按动一下SW2,小时自动加1;持续按住不放,小时将自动连续加1。
当小时指示为24时,再加1将自动回零。
每按动一下SW3,分钟自动加l:持续按住SW3按钮不放,分钟将自动连续加1。
当分钟指示为59时,再按动SW3,分钟将变为00。
(2)控制时间设定需要设定控制时间点时,应首先按Swl按钮,然后再按动Sw2和SW3,使指示时间与要求时间一致,再按Sw1按钮进入“控制码”(控制对象)设置状态,按Sw3进行对象切换,最后按Sw2保存时间点;也可以按SW1取消本次设定。
如此可设定多个控制时间点。
在正常状态按下SW1不放,然后再按Sw3按钮可删除所有的控制时间点。
4.实训考核要求软件采用MCS-51汇编语言编写,使用T0产生50ms时基信号,通过软计数器产生时、分、秒信号。
主程序已给出,请按图连线正确并编写有关的子程序。
5.评分标准:1)连线不正确、子程序基本思路不清晰<60分2)连线基本正确、子程序基本思路清晰60-69分3)连线正确、子程序基本思路清晰完整70-85分4)连线正确、子程序思路清晰完整86-100分参考程序如下:;****************************************************************** ;实训7.asm;作息时间控制系统;************************头文件************************************ SDATA BIT P1.4 ;定义74LS164串行移位数据端SCLK BIT P1.5 ;定义74Is164串行移位时钟端DIS EQU Pl ;定义字形口Control EQU P0 ;控制输出Swl EQU P3.2Sw2 EQU P3.3Sw3 EQU P3.4Ms EQU 10H ;定义50ms计数器Secs EQU 11H ;定义秒计数器Minute EQU 12H ;定义分钟计数器Hour EQU 13H ;定义时计数器T-Minute EQU 18H ;定义定时分单元T-Hour EQU 19H ;定义定时时单元TControl EQU 1AH ;定义控制码单元;******************************************************************* ORG 0000HLJMP Main;******************************************************************* ORG 000BHLJMP T0INT;******************************************************************* Main∶MOV SP,#70H ;将栈区设置在70H~7FHMOV IE,#10000010B ;允许T0中断MOV TMOD,#01H ;T0定时方式1MOV Ms,#20 ;50ms单元初值,使20×50ms=1sMOV secs,#0MOV Minute,#0MOV Hour,#12H ;开机显示12∶00MOV T-MinuteMOV T-Hour,#6MOV B,#20HCLR F0MOV R0,,#80MOV TH0,#0B0HSETB TR0LOOP:MOV R1,#MinuteLCALL SplitLCALL DISPLCALL VerifyNOPLCALL setupMOV A,secsCJNE A,#5,$+3JNC LOOPLCALL CompareSJMP LOOP;****************中断服务程序***********;***********************************Compare:;***************************************************** CLP1: INC R0 ;指向分CLP2∶INC R0 ;指向控制码MOV A,@R0JNZ CLP3RET;***************************************************** CPL3:INC R0 ;指向下一个时间的开始CJNE R0,#6FH,$+3JC NextTime;***************************************************** Verify:;***************************************************** VLP3:;***************************************************** Setup:;***************************************************** sLP2:;********************************************* sTORE:MOV R1,BCJNE Rl,#6AH,$+3JC STLP1MOV R1,#20HMOV B,RlSTLP1: MOV @R1,T-HourINC R1MOV @R1.T-MinuteINC R1MOV @R1,TComtrolINC RlMOV B,R1RET;***********************************************Split: MOV R0,#14H ;分个位显示缓冲单元MOV A,@RlANL A,#0FH ;取分个位MOV @R0,AINC Ro ;指向分+位显示缓冲单元MOV A,@R1SwAP AANL A,NlFH ;取分十位MOV @R0,AINC R0 ;指向时个位显示缓冲单元INC R1MOV A,@R1ANL A,#0FH ;取时个位MOV @R0,AINC R0 ;指向时十位显示缓冲单元MOV A,@R1SwAP AANL A,#0FH ;取时十位MOV @R0,ARET*********************************************************DISP∶PUSH 00HMOV R0,#14H ;显示缓冲区首地址MOV R2,#11111110B ;对应个位的字位码MOV DPTR,#WordTab ;送字形表首地址JNB F0,DISP0DJNZ R7,DISP1CPL F1MOV R7,#6SJMP DISP1DISP0:CLR F1DISP1: ORL DIS,#00001111B ;关显示器MOV R3,#20DJNZ R3,$ ;延时40 usMOV A,@R0 ;取待显示数字MOVC A,@A+DPTR ;查宇形WordOut: MOV R3,#8 ;传送字形码到74LS164 MOV SDATA,C ;送数椐到数据口SETB SCLK ;产生时钟CLR SCLKDJNZ R3.NEXTB ;继续送下一位INC R0JB F1,HIDEMOV A,R2 ;取字位码ANL DIs,AHIDE:MOV R3,#5 ;延时lmsMOV R4,#100DJNZ R4,$DJNZ R3,$-4MOV A,R2 ;修改字位码RL AMOV R2,AJB ACC.4,DISP1DExit: POP 00HRET;-------------------------------------------------------------------------------- WordTab: DB 3FH,06H,5BH,4FH ;"0","1","2","3"DB 66H,6DH,7DH,07H ;"4","5","6","7"DB 7FH,6FH,77H,7CH ;"8","9","A","B"DB 39H,5EH,79H,71H ;"C","D","E","F"DB 40H,38H ;"-","L"END;--------------------------------------------------------------------------------。
单片机作息时间控制系统设计目录第一章绪论 (3)1. 1 课题的提出及意义 (3)1. 2 设计的任务及要求 (3)第二章总体方案设计 (3)2. 1 芯片比较 (3)2.1.1 单片机选型 (3)2.1.3存储器的选择 (7)2.1.4 继电器的选择 (8)2. 2总体设计及系统原理 (9)第三章硬件设计 (10)3. 1 单片机部分 (10)3.1.1 AT89C52 (10)3. 2 存储器部分 (13)3. 5 电源与复位电路部分 (23)3.5.1 电源部分 (23)3.5.2复位电路 (23)3. 6 电铃和继电器部分 (24)3. 7 按键部分 (24)第四章软件设计 (25)4.1 主程序设计 (25)4. 2 子程序设计 (27)第五章系统安装与调试 (28)5.1 软件调试 (28)5.2 系统调试 (28)参考文献 (29)第一章绪论1. 1 课题的提出及意义单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,实现代学校必不可少的设备。
1. 2 设计的任务及要求1.作息时间能控制电铃2.作息时间能启动和关闭放音机单片机作息时间控制的功能如下:●使用4位七段显示器来显示现在的时间。
●显示格式为“时分”●由LED闪动来作秒计数表示●具有4个按键来作功能设置,可以设置现在的时间及显示定时设置时间●一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和关闭。
第二章总体方案设计2. 1 芯片比较2.1.1 单片机选型当今单片机厂商琳琅满目,产品性能各异。
常用的单片机有很多种:Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog 的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。
我们最终选用了ATMEL公司的AT89C52单片机。
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。
2.1.2显示器接口芯片的选择LED显示器接口芯片的选择常用的显示器接口芯片有CD4511,CD4513,MC14499,8279,MAX7219,74HC164等,它们的功能有:1.CPU接受来自键盘的输入数据,并作预处理;2.数据显示的管理和数据显示器的控制。
CD4511是BCD 锁存,7段译码,驱动器,但在显示6和9时,显示为b和q,不是很好看。
CD4513是BCD锁存,7段译码,驱动器(消隐),但现在市面上不好买。
MC14499为串行输入BCD码——十进制译码驱动器,用它来构成单片机应用系统的显示器接口,可以大大减少I/O口线的占用数量。
但是,由片内震荡器经过四分频的信号,经位译码后只能提供4个位控信号,使信号的采集受到限制;并且,MC19944的价格偏高,也不经济。
同样,8279为INTEL公司生产的通用键盘/显示器接口芯片,其内部设有16*8显示数据RAM,若采用8279管理键盘和显示器,可以减少软件程序,从而减轻主机的负担,但我们同时也发现,由于其功能比较强大,不可避免将会使外围设备与操作过程复杂化,同时价格比较贵。
对比一下MAX7219和74HC164其占用资源少,且不需复杂的驱动电路。
但MAX7219虽然比较好用,且一片能驱动四个数码管,但对于我们设计的系统来说,不需要很多数码管,此外MAX7219相对74HC164的价格也比较贵,所以我们最终选用74HC164,下面对MAX7219作一下介绍。
特点:(1) 采用3线串行接口传送数据;(2) 内部有8字节显示静态RAM和6个特殊功能寄存器,相当于14个字节的RAM单元。
它们是可寻址的,即可以有选择的任意写入;(3) 只需一个外部电阻即可调节LED的段电流,并且允许程控方式LED通电的占空比而可方便的调节LED显示的亮度,或用于模拟亮度显示;(4) 可LED显示器的扫描个数;(5) 有不译码和B码两种显示模式,这种选择可做到位控,即各LED显示器可以有不同的显示方式:译码或不译码;(6) 含硬件动态扫描显示控制,可设置低功耗方式,可进行图条显示。
引脚图(如图2-1)图2-1说明:工作原理简介数据(含地址)接收MAX7219采用串行寻址方式,在传送的串行数据中包含有RAM的地址。
按照时序的要求,单片机将16位二进制数逐位发送DIN端,在CLK上升延到来之前DIN必须有效,在CLK的每个上升延,DIN被串行逐位移入MAX7219内部的16位穿行寄存器中。
设最先移入的数据是D15,最后移入的数据是D0,则移入16位串行寄存器的数据是D15--D0。
为了有选择的将数据写入8个显示RAM或6个特殊功能寄存器,D0—D15中,D8—D11四位作为RAM和特殊功能寄存器的地址,D0—D7作为写入显示数据或控制字。
与并行数据传送相比,MAX7219串行接收D0—D15并存放到16位串行寄存器中的过程,相当于并行传送中,将并行数据和地址送到数据和地址总线上的过程。
数据装载16位接收寄存器将收到的D0—D7位数据写入RAM或特殊功能寄存器是在数据装载信号控制下完成的。
图3-8是MAX7219的数据接收装载(写入)时序图,由图可知,LOAD必须在15个CLK下降延前由高变低,在16个CLK同时或之后由低变高(上升延)。
在LOAD的上升延,8位数据D0—D7写入以4位二进制数D8—D11位地址的RAM或特殊功能寄存器中。
显示扫描当显示模式设定后,写入显示RAM的数据将在控制器的控制下,按设定的显示模式,以动态扫描方式进行显示。
MAX7219内部显示RAM及特殊功能寄存器显示RAM(地址*1—*8)地址为*1H的RAM数据控制接D0引脚的显示器,地址为*2H的RAM数据控制接D1引脚的显示器。
译码方式寄存器(地址:*9H)该寄存器的8位二进制数的各位值分别控制着8个LED显示器的译码方式。
当高电平时选择BCD-B码译码模式,当低电平时选择不译码模式。
B码译码的显示自行与现实数据的关系如下:显示数据(十六进制) 0 1 2 3 4 5 6 7 8 9 A B C D E FB码字型 0 1 2 3 4 5 6 7 8 9 – E H L P * 其中,*代表全灭。
小数点不译码,它由显示数据的D7位控制。
扫描界限寄存器(地址:*BH)该寄存器的D0—D3位数据设定值为0—7,设定值表示显示器动态扫描个数为1—8。
停机寄存器(地址:*CH)当位D0=0时,MAX7219处于停机状态;当D0=1时,处于正常工作状态。
显示测试寄存器(地址:*FH)当位D0=0时,MAX7219按设定模式正常工作;当D0=1时,处于测试状态。
在该状态下,不管MAX7219处于什么模式,全部LED将按最大亮度接通显示。
亮度寄存器(地址:*AH)及两度的调解或控制亮度可通过硬件和软件两种方法调解或控制。
2.1.3存储器的选择为了改善主CPU的资源与时序的分配,我们对AT89C51进行串行数据存储器的扩展。
常用的存储芯片有很多,如AT93C46/56/66,X5045。
经过比较选择,最终选用了XICOR公司的X5045。
X5045把三种常用的功能:看门狗定时器,电压控制和EEPROM组合在单个封装之内。
这种组合降低了系统的成本并减少了对电路板空间的要求。
看门狗定时器对微控制器提供了独立的保护系统。
低VCC检测电路可以保护系统免受低电压的影响,同时X5045是串行EEPROM 具有简单的三总线工作的串行外设接口,是一种有独特功能的高性能价格比存储器件。
AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器。
它采用CMOS技术和Fairchild Semiconductor公司的Mi-croWire工业标准3线串行接口,具有1Kb/2kB/4kB的容量,并可通过ORG管脚配置成128*8/256*8/512*8或64*16/128*16256*16等结构。
该系列存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;采用8脚PDIP/SOIC封装和14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM相比,AT93C46/56/66可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。
引脚功能CS:片选信号。
高电平有效,低电平时进入等待模式。
在连续的指令之间,CS信号必须持续至少250ns的低电平,才能保证芯片正常工作。
CLK:串行时钟信号。
在CLK的上升沿,操作码、地址和数据位进入器件或从器件输出。
在发送序列时,CLK最好不停止,以防止读/写数据的错误。
DI:串行数据输入。
可在CLK的同步下输入开始位、操作码、地址位和数据位。
DO:串行数据输出。
在CLK同步下读周期时,用于输出数据;而在地址擦/写周期或芯片擦/写周期时,该端用于提供忙/闲信息。
VSS:接地。
VCC:接+5V电源。
ORG:存贮器构造配置端。
该端接VCC或悬空时,输出为16位;接GND时,输出为8位。
指令及时序地址擦指令(ERASE)该指令用于强迫指定地址中所有数据位都为“1”。
一旦信息在DI端上被译码,就需使CS信号保持至少250ns的低电平,然后将CS置为高电平,这时,DO端就会指示“忙”标志。
DO为“0”,表示编程正在进行;DO为“1”,表示该指定地址的寄存器单元已擦完,可以执行下一条指令。
擦/写允许指令(EWEN)由于在上电复位后AT93C46/56/66首先将处于擦/写不允许状态。
故该指令必须在所有编程模式前执行,一旦该指令执行后,只要外部没有断电就可以对芯片进行编程。
地址写指令(WRITE)写指令时,先写地址,然后将16位的或8位数据写入到指定地址中。
当DI 端输出最后一个数据位后,在CLK时钟的下一个上升沿以前,CS必须为低,且需至少保持250ns,然后将CS置为高电平。
需要说明的是:写周期时,每写一个字节需耗时4ms。
地址读指令(READ)读指令用于从指定的单元中把数据从高位到低位输出至DO端,但逻辑“0”位先于数据位输出。
读指令在CLK的上升沿触发,且需经过一段时间方可稳定。
为防止出错,建议在读指令结束后,再输出2-3个CLK脉冲。