您好,欢迎访问三七文档
1课程设计课程名称微控技术课程设计题目名称电子万年历专业班级11电子信息科学3班学生姓名金晨阳学号51102023021指导教师谢春祥二○一三年十二月十六日2目录一摘要……………………………………………………………………P3二设计要求与方案认证………………………………P32.1、设计要求……………………………………………………P32.2、单片机芯片的选择方案……………………………P3三电路模块说明………………………………………………P53.1单片机电路…………………………………………………P53.1.1时钟电路…………………………………………………P53.1.2复位电路…………………………………………………P73.2按键电路……………………………………………………P83.3闹钟电路……………………………………………………P93.4显示电路……………………………………………………P9四程序流程图……………………………………………………P104.1主程序流程图……………………………………………P10五系统仿真………………………………………………………P115.1仿真结果……………………………………………………P11六系统软件设计………………………………………………P126.1程序流程……………………………………………………P12七总结及体会…………………………………………………P20参考文献………………………………………………………………P21元件清单………………………………………………………………P213一摘要本次设计就是设计一款万年历,以AT80C51单片机为核心,配备数码管显示模块、按键等功能模块。采用74LS373译码器芯片来实现的。万年历采用24小时制方式显示时间,在数码管上显示年、月、日、小时、分钟、秒等功能。设计的核心主要包括硬件设计和软件编程两个方面。硬件电路设计主要包括中央处理单元电路、时钟电路、执行电路等几部分。软件用C语言来实现,主要包括主程序、键盘扫描子程序、时间设置子程序等软件模块。关键词:单片机万年历74LS373译码器二设计要求与方案认证2.1、设计要求1:具有年、月、日、时、分、秒等功能;2:具备年、月、日、时、分、秒调整校准功能;3:具备整点报时,闹钟功能。2.2、单片机芯片的选择方案采用80C51芯片作为硬件核心,数码管显示,同一个数码管来显示日期和时间,用按键调换时间、日期。同时用74LS373译码器控制数码管显示。其原理图如下:80C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,X1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,X2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接4上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.如下图所示abXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C51C227pF12U3:A74LS0480C51原理图80C51仿真图74LS373原理图(1).1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、58、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);(2).当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态.锁存端LE由高变低时,输出端8位信息被锁存,直到LE端再次有效。当三态门使能信号OE为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端C为高电平时,输出Q0~Q7状态与输入端D1~D7状态相同;当C发生负的跳变时,输入端D0~D7数据锁入Q0~Q7。51单片机的ALE信号可以直接与74LS373的C连接。1D~8D为8个输入端。1Q~8Q为8个输出端。G是数据锁存控制端;当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中。OE为输出允许端;当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。在MCS-51单片机系统中,常采用74LS373作为地址锁存器使用,其连接方法如上图所示。其中输入端1D~8D接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。输出允许端OE接地,表示输出三态门一直打开。三电路模块说明3.1单片机电路3.1.1时钟电路时钟系统是单片机的心脏,在本次设计中,包括中央处理器在内的所有单片机都是时钟系统所提供的节拍工作的。时钟电路由外接谐振器的时钟振荡器、时钟发生器及关断控制信号等组成。时钟振荡器是单片机的时钟源,时钟发生器对振荡器的输出信号进行二分频。6CPU的时钟振荡信号有两个来源:一是采用内部振荡器,此时需要在XTAL1和XTAL2脚连接一只频率范围为0—33MHZ的晶体振荡或陶瓷振荡器及两只27pf电容。二是采用外部振荡,此时应将外部振荡器的输出信号接至XTAL1脚,将XTAL2脚浮空。利用单片机内部的定时功能来实现时钟的走时,通过编程实现每50毫秒产生一次中断,中断20次后,秒单元加1,秒单元加到60时,跳回到零再继续加,同时分单元加1。以次类推,从而实现秒、分、小时、年的走时。本次设计中采用的是内部振荡器,频率为11.059MHZ的晶体振荡器及27pf的瓷片电容。如图2-1所示。时钟电路由外接谐振器的时钟振荡器、时钟发生器及关断控制信号等组成。时钟振荡器是单片机的时钟源,时钟发生器对振荡器的输出信号进行二分频。CPU的时钟振荡信号有两个来源:一是采用内部振荡器,此时需要在XTAL1和XTAL2脚连接一只频率范围为0—33MHZ的晶体振荡或陶瓷振荡器及两只27pf电容。二是采用外部振荡,此时应将外部振荡器的输出信号接至XTAL1脚,将XTAL2脚浮空。利用单片机内部的定时功能来实现时钟的走时,通过编程实现每50毫秒产生一次中断,中断20次后,秒单元加1,秒单元加到60时,跳回到零再继续加,同时分单元加1。以次类推,从而实现秒、分、小时、年的走时。本次设计中采用的是内部振荡器,频率为11.059MHZ的晶体振荡器及27pf的瓷片电容。如下图所示。7X111.059MHzC227pFC327pF3.1.2复位电路复位是指在规定的条件下,单片机自动将CPU以及与程序运行相关的主要功能部件、I/O口等设置为确定初始状态的过程。如果电路参数不符合规定的条件或干扰导致单片机不能正确的复位,系统将无法进行正常的工作,因此,复位电路除了要符合厂家规定的参数外,还要滤除可能的干扰。80C52单片机内部有一个由施密特触发器等组成的复位电路。复位信号是从其9脚,即RST脚输入的。80C52单片机规定,当其处于正常工作状态,且振荡器工作稳定后,在RST端有从高电平到低电平,且高电平时间大于两个机器周期的复位信号时,CPU将完成对系统的复位。有两点需要注意:一、复位信号是高电平有效,二、高电平的保持时间必须大于两个机器周期,可见高电平保持时间与振荡频率有关。本次设计中采用上电复位电路,上电复位是指在系统上电时,RST端自动产生复位所需要的信号将单片机复位,本次设计中的上电复位电路如图所示。上电时,RST端高电平的维持时间取决于R(10k)和C(1uF)的值。要使单片机可靠的复位,设计中使其维持的时间足够长。如下图所示。812R310kC11uFRESRES3.2按键电路方案一:采用阵列式键盘此类键盘是采用行列扫描方式,当按键较多时可以减少占用单片机的I/O口数目。方案二:采用独立式按键电路每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。但是当按键较多时占用单片机的I/O数目较多。本系统只需四个按键,因此选择方案二。如果按键采用中断的话,可以使单片机工作更加灵活、效率更高。由于该系统要用到4个按键,考虑到单片机的中断资源不够,所以就只用外部INT0和INT1中断,另外2个按键接P3.0和P3.1口。电路如图下图所示。93.3闹钟电路采用蜂鸣器声音指示。蜂鸣器又分无源和有源两种。前者需要输入声音频率信号才能正常发声,后者则需外加适当直流电源电压就可以了。其电路图如下LS1SOUNDER12U3:A74LS043.4显示电路LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这定的段就会发亮,以形成我们眼睛看到的2个数码管字样了。如:显示一个“2”10字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。led数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等....,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图片四程序流程图4.1主程序流程图11初始化开始定时器设置五系统仿真5.1仿真结果总体电路图如下图所示:当开始运行的时候,万年历开始工作。在没有工作的时候,软件所显示的电路图如下所示:启动定时器按键扫描推算时间推算日期拆字节送显示12a12345678hgfedcbabcdefgh87654321XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.1
本文标题:万年历
链接地址:https://www.777doc.com/doc-3733662 .html