《毕业设计(论文)-基于Proteus的单片机控制电子时钟电路设计与仿真(21页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于Proteus的单片机控制电子时钟电路设计与仿真(21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-毕业设计(论文)-基于Proteus的单片机控制电子时钟电路设计与仿真-第 15 页基于Proteus的单片机控制电子时钟电路设计与仿真摘 要工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我们以微机原理与接口技术课程中所学知识为基础,设计了电子时钟。单片机由RAM、ROM、CPU构成,由定时、计数和多种接口于一体的微控制器。它体积小,成本低,广泛应用于智能产业和工业自动化上。本设计主要设计了一个基于AT89C51单片机为核心,使用12MHz晶振与AT89C51相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管显示小时、分钟和秒
2、的要求。本系统的设计说明重点介绍了如下几方面的内容:1)电子时钟的基本功能,同时对计时的原理也进行了简要的阐述;2)介绍了系统的总体设计、给出了系统的整体结构框图,并对其进行了功能模块划分及所采用的元器件进行了详细说明;3)对系统各功能模块的软、硬件实现进行了详细的设计说明。关键词:AT89C51单片机;电子钟;硬件设计;软件设计 目 录第一章 绪论11.1课题简介11.2设计目的与要求11.3题目描述21.4设计任务21.5章节安排说明2第二章 电子时钟系统简介32.1 单片机简介32.2 单片机的发展史32.3电子时钟基本特点42.3电子时钟基本特点4第三章 系统总体设计及硬件设计53.1
3、 单片机芯片选择方案53.2 数码管显示选择方案53.2.1 数码管显示工作原理53.2.2 数码管方案及选择63.3硬件单元电路设计与参数设计63.4元件清单8第四章 电子时钟软件设计104.1 软件系统模块功能简要介绍104.2 软件系统流程图104.3 程序代码12第五章 电子时钟调试与仿真155.1 HEX文件的生成155.2 原理图的绘制155.3 调试与仿真16第六章 结束语18参考文献19第一章 绪论1.1课题简介数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活
4、带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛用于家庭、车站、码头、剧院、办公室等场所。给人们的生活、学习、工作带来极大的方便1。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯等,这些都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子
5、钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于功能扩充,精确度高等特点2。基于以上分析,在此次设计中,我选择的是利用单片机制作电子钟。电子钟的设计本身包括程序的设计和硬件电路的设计3。我的思路是,先进行电路的整体设计,再根据电路进行编程,在编程的过程中对电路进行微调,以更好的配合程序。调试成功后,再根据电路图画出仿真图,将软件装入单片机芯片,利用Proteus软件进行仿真,仿真中的错误通过改正程序的逻辑错误和电路中的设计不当进行排除,这个过程很艰难的但也是很重要的。若仿真可以实现,则硬件电路的实现就可以有条不紊地进行。1.2设计目的与要求通过本次工程实践,运用微机原
6、理与接口技术所学知识及查阅相关资料,完成对时间的计时并显示的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。通过本次设计训练,可以使我们在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。设计一个有“时”、“分”、“秒”(23:59:59)显示的数字电子钟。设计要点具体如下: 1)设计一个脉冲信号产生电路; 2)设计24进制、60进制计数器; 3)设计译码显示电路; 4)时间以24小时为一个周期,显示时、分、秒。1.3题目描述 数字电子钟实际上是一个对标准频率进行计数的计数电路,它的计时周期为24小时,显示满刻度
7、为23时59分59秒。一个简单的数字钟电路主要由译码器显示器、译码器、计数电路、组合逻辑电路以及振荡器构成。 信号由振荡器产生,通过计数器传到译码器,再由译码显示器显示,这样就可以看到时间变化了。1.4设计任务在本次工程实践中,主要完成如下方面的设计任务:1)简要综述单片机技术发展的国内外现状;2)掌握MCS-51系列某种产品(例如8031)的最小电路及外围扩展电路的设计方法;3)了解单片电子时钟的功能及工作过程;4)完成主要功能模块的硬件电路设计及必要的参数确定;5)用一种计算机绘图软件完成原理电路的绘制;6)完成系统设计说明书(页数不低于10页)。1.5章节安排说明整个设计总共分为四个章节
8、,第一章是前言部分,主要介绍了设计单片机电子时钟的意义、目的及主要内容;第二章对单片机作了简要说明,介绍了单片机的发展史,并对电子钟的特点以及原理作了简要说明。第三章是系统的总体设计阶段,这一部分主要介绍了系统的整体功能,绘制出系统的整体结构框图。另外按照各部分实现的功能不同,将整个系统分成了三个功能块,并对每一个功能块所采用的元器件进行了详细介绍。第四章是系统详细设计阶段,对每一个功能块的芯片图进行了详细的说明,对每一个引脚的接线都进行了详细的设计,此外还编写了主要功能模块的基本程序,详尽阐述了各模块的工作过程。第二章 电子时钟系统简介2.1 单片机简介单片机是指一个集成在一块芯片上的完整计
9、算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器、实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入系统集成在一块芯片上。2.2 单片机的发展史单片机诞生于20世纪七十年代末,经历了SCM、MCU、SOC三大阶段。起初模型1.SCM即单片机微型计算机阶段(Single Chip Microcomputer),主要是寻求最佳的单片机形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完成不同的发展道路。在开创嵌入
10、式系统独立发展道路上,Intel公司功不可没。2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免的落在电气、电子技术厂家。从这一角度看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当属Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片机微型计算机发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Phili
11、ps的历史功绩。嵌入式系统单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片机微型计算机、单片微控制器延伸到单片机应用系统。2.3电子时钟基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走路精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用液晶显示器代替指针显示进而显示时间,减小
12、了计时误差,这种表具有时、分、秒显示时间的功能。2.3电子时钟基本特点 一个基本的数字钟电路系统主要有秒信号发生器、“时、分、秒”计数器、译码器及显示器、电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现,在此我们用定时器。将定时器与电阻、电容按照定时器构成多谐振荡器图接线,组成一个输出1秒的标准脉冲,将标准秒信号送入“秒计数器”。第三章 系统总体设计及硬件设计3.1 单片机芯片选择方案方案一:AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Me
13、mory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。方案二:AT89S52是一个低消耗,高性能CMOS8为单片机,片内含4k Bytes ISP的可反复撰写1000
14、次的Flash只读程序存储器。主要性能有:与MCS-51单片机产品兼容、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符、易编程。由于只需要实现显示时间简单的功能,两个单片机就能很好的实现该功能。我们优先考虑单片机的成本所以选择方案一。3.2 数码管显示选择方案3.2.1 数码管显示工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共 阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个
15、LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利
16、用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫 描速度大于视觉暂留速度时,显示就会清晰显示出来。3.2.2 数码管方案及选择方案一:静态显示。静态显示,即当显示器显示器显示某一个字符时,相应的发光二极管恒定导通或截止。该方式每一位都需要一个8位输出口控制。静态显示时较小电流能获得较高的亮度,且字符不闪烁。但因当所需现实的位数较多时,静态显示所需的I/O口数较大,造成资源的浪费。方案二:动态显示。动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,
17、人的视觉暂留功能才可察觉不到字符闪烁。显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/0口,降低了能耗。从节省单片机芯片I/O口和降低能耗的角度出发,本数字电子钟数码管显示选择采用方案二。3.3硬件单元电路设计与参数设计1.电源电路本数字电子钟设计所需电源电压为直流、电压值大小为5V的电压源。从硬件实物设计简易程度与经费方面考虑,用两节电压值为2.5V干电池与电路电压源引脚相连接即可达到硬件设计要求。即本数字电子钟设计用两节电压值大小2.55V干电池做硬件电路电压源。2.时钟电路单片机芯片可使用内部时钟和外部时钟电路两种方式产生电路所需
18、的时钟脉冲,内部时钟电路实现可用石英晶体和微调电容外接即可达到,外部时钟电路实现需要一个外部脉冲源引入脉冲信号以保证单片机之间时钟信号的同步。从赢家实现的难易程度考虑,内部时钟电路的实现比外部时钟电路的实现更简单容易。即本数字电子钟设计所需要的时钟源采用内部时钟电路实现。所用定时方式为工作方式1.石英晶振为12M,即最小定时时间为1us,最大定时时间约为65.5ms,其电路图如下图3.1所示。 图3.1时钟电路图3.键盘电路设计 该设计只用了一个键盘,但实现的功能却是比较完善,减少了硬件资源的损耗, 该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显
19、示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间调节的目的。如图3.2所示。图3.2多功能控制键4.LED显示电路数字电子钟设计的显示模块用8个以为数码管实现,也可用两个四位一体数码管实现。两种实现方式实现方式实现效果一样。从实物制作的难易程度出,本数字电子钟设计采用一个8位数码管实现,5.单片机电路本数字电子钟设计采用AT89C51单片机芯片作为中央控制器,实现信号的输出、LED的显示及相关的控制功能,3.4元件清单根据总体的设将所需要的元件列出如下,表3.1。表3.1器件清
20、单元件名称所属类所属子类AT89C51Microprocessor ICs8051 FamilyCRYSTALMiscellaneous-CAPCapcitorsGenerieCAP-ELECCapcitorsGenerieRESResistor7 Wait WirewoundResistor10 Wait Wirewound7SEG-MPX8-BLUEOptoelectronics7-Segment DisplaysBUTTONSwitches & RelaysSwitches第四章 电子时钟软件设计4.1 软件系统模块功能简要介绍本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务
21、程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要用于对输入信号的处理、输出信号的控制和各个功能程序模块的运用及其控制,中断服务程序:主要用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的数码值。数码管及其驱动模块:主要是用于驱动数码管及利亚数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判断键按下等,一种是长延时。4.2 软件系统流程图系统软件采用C语言按模块化方式进行设计,然后通过Keil软件开发平台将程序进行编译生成HEX文件。接着使用Proteous将文件导入进行仿真,显示仿真结果。软件流程图如图4.1所示。主
22、程序开始初始化设置时、分、秒显示硬件延时1S?N Y秒加1是否为60S?N Y秒钟清零,分加1是否为60min?N Y分钟清零,时加1是否24hN Y小时清零图4.1 电子钟的程序流程图4.3 程序代码 根据程序流程图使用C语言对程序进行编程,程序代码如下所以。#includereg51.h #define uchar unsigned char #define uint unsigned int code uchar d10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; uint second=0,minter=50,hour=11;
23、uint sshi,sge,mge,mshi,hshi,hge; static char court=0; sbit P21=P21; sbit P22=P22; sbit P23=P23; sbit P24=P24; sbit P25=P25; sbit P26=P26; sbit P27=P27; sbit P20=P20; void delay() /单个LED延时函数 uchar i; for(i=0;i15;i+); void int1()interrupt 1 using 2 /定时中断相应定50ms TH0=0x4c;TL0=0x00;court+; void main() /主
24、函数 TMOD=0x01; TH0=0x00; TL0=0x00; EA=1; ET0=1; TR0=1; P1=0XFF; for(;) sshi=second/10;/求分秒的个位; sge=second%10; mshi=minter/10; mge=minter%10; hshi=hour/10; hge=hour%10; P0=dsge; /时分秒在LED的显示 P27=1; /P0口数据输出,P2口选通信号 delay(); P27=0; P0=dsshi; P26=1; delay(); P26=0; P0=0xbf; P25=1; delay(); P25=0; P0=dmge
25、; P24=1; delay(); P24=0; P0=dmshi; P23=1; delay(); P23=0; P0=0xbf; P22=1; delay(); P22=0; P0=dhge; P21=1; delay(); P21=0; P0=dhshi; P20=1; delay(); P20=0; if(court=20) /定时1s的时间是否到?若到,则执行IF后面的程序; court=0;/执行LED显示程序 second+; if(second=60) second=0;minter+; if(minter=60) minter=0;hour+; if(hour=24) hou
26、r=0;第五章 电子时钟调试与仿真5.1 HEX文件的生成1)打开单片机软件开发系统Keil Vision,单击“Vision”菜单中的“Project”,在此下拉菜单中单击“New Project”选项后,弹出“Create New Project”对话框,键入新建项目名称。2)键入新建项目名并单击“确定”按钮后,在弹出的“Slect Devic”对话框中选择合适的单片机型,如AT89C51.3)单击“Vision”菜单中的“File”,在此下拉菜单下,选择“New”后,打开一个空的文本编辑窗口,在此窗口中输入程序,创建新的源程序“dzz.C”文件。4)在左边的“Project”窗口的“Fi
27、le”页中单击文件组,再单击鼠标右键后,在弹出的窗口中选中“Add File to Group Source Group 1”选项,将“dzz.C”程序导入到“Source Group 1”中。5)在“Project”下拉菜单中,选中“Options for Target”,将会弹出“Option for Target”对话框,在此对话框中选中“Output”选项卡中的“Creat HEX File”选项。6)在“Project”下拉菜单中,选择“Rebuild all Target files”项。若程序编译成功,将生成“dzz.HEX”文件。5.2 原理图的绘制 1)在Proteus IS
28、IS 编辑窗口中,单击元件列表之上的“P”按钮,添加所需要的元件。2)在Proteus ISIS编辑窗口中,绘制电路图。如图5.1所示。 图5.1 电子钟电路图5.3 调试与仿真 1)在Proteus ISIS编辑窗口中,单击鼠标右键将AT89C51单片机选中并单击鼠标左键,弹出“Edit Component”对话框,在此对话框的“Clock Frequency”栏中设置单片机晶振频率为12MHz,在“Program File”栏中单击文件,选择先前用Keil Vision 2s生成的“dzz.HEX”文件。2)在Proteus ISIS编辑窗口中“File”下拉菜单“Save Design”
29、选型,保存设计,生成“dzz.DSN”文件。3)在Proteus ISIS编辑窗口中单击“Debug”菜单中选择“Execute”,可看见在首次运行时,LED显示的初始值为11-50-00,然后每隔1s进行累计显示,运行结果如图5.2所示。图5.2 电子钟设计的运行结果第六章 结束语本单片机数字电子钟系统的功能基本符合显示格式为:XX:XX:XX, 即 时:分:秒。时间可采用24小时制。系统上电后从上电时初始化显示: 11-50-00开始计时,能进行时间的调整,可按自己的要求设置扩展的小键盘个数设计任务的要求,经过测试数据显示, 系统的可靠性已经基本能够达到实际电子钟的设计要求,同时本单片机数
30、字电子钟系统 具有扩展性。 课程设计是培养学生综合运用所学知识,发现实际问题、提出实际问题、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际学习能力、动手能力的具体训练和考察过程。 在此次数字钟设计过程中, 在学习新知识的同时,把在课程中学到的理论知识运用到实际作品设计、操作中,更进一步地熟悉了单片机芯片的结构及掌握了其工作原理和具体的使用方法与相关元器件的参数计算方法、使用方法,了解了电路的开发和制作及课程设计报告的编写。加深了对相关理论知识及专业知识的掌握度,增强自身的动手能力,锻炼及提高了理解问题、分析问题、解决问题的能力,更深刻的体会到了理论联系实际的重要性,进一步掌握画图软件的使用和提高相应的画图操作水平及技巧。参考文献1 李广弟,朱月秀,冷祖祁单片机硬件结构J页码148.2 李叶紫,王喜斌,胡辉MCS_51 单片机应用教程M清华大学出版社,2004,3 3 李叶紫 等MCS-51单片机应用教程M清华大学出版社,2004,34 王福瑞 等单片机微机测控系统设计大全M北京航空航天大学出版社,1999.35 李伯成基于MCS-51单片机的嵌入式系统设计M电子工业出版社,2004.7