单片机电子时钟的设计.doc

上传人:仙人指路1688 文档编号:4147436 上传时间:2023-04-07 格式:DOC 页数:27 大小:392.50KB
返回 下载 相关 举报
单片机电子时钟的设计.doc_第1页
第1页 / 共27页
单片机电子时钟的设计.doc_第2页
第2页 / 共27页
单片机电子时钟的设计.doc_第3页
第3页 / 共27页
单片机电子时钟的设计.doc_第4页
第4页 / 共27页
单片机电子时钟的设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《单片机电子时钟的设计.doc》由会员分享,可在线阅读,更多相关《单片机电子时钟的设计.doc(27页珍藏版)》请在三一办公上搜索。

1、目录第1章 单片机的概述21.1 单片机的组成及特点21.1.1AT89C51单片机的组成21.1.2 单片机的特点31.2 AT89C51 单片机的引脚说明31.2.1.主电源引脚31.2.2.时钟电路引脚41.2.3.控制信号引脚41.2.4.输入输出引脚(P0 、P1、P2、P3)4第2章 电子时钟的概述62.1电子时钟的组成62.2电子时钟的工作原理62.3电子时钟的主要功能62.3.1 主要功能按键62. 3. 2 LED数码管7第 3 章 电子时钟的硬件设计93.1 Proteus软件93.1.1 简介93.1.2 功能模块93.2 电路硬件设计103.2.1 设计总框图103.2

2、.2最终形成的电路图11第 4 章 电子时钟的软件设计124.1 Keil uVsion 软件124.1.1软件介绍124.1.2软件的操作步骤124.2程序设计流程图134.2.1 设计总流程图134.2.2 显示子程序144.2.3 定时器中断服务程序154.3时钟电路164.4复位电路164.5按键电路17第5章 系统仿真185.1初始状态图:185.2调秒测试:195.3调分测试:205.4调时测试:21第6章 心得体会22附录:231.元器件清单232.程序:233.参考文献27第1章 单片机的概述1.1 单片机的组成及特点 1.1.1AT89C51单片机的组成AT89C51是一种带

3、4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。它由

4、CPU 、存储器(包括 RAM 和 ROM )、 I/O 接口、定时 / 计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。它具有优异的性能价格比、集成度高、体积小、可靠性高、控制功能强 、低电压、低功耗等诸多优点。图 1.1 单片机结构框图1.1.2 单片机的特点(1)控制功能强;(2)集成度高、体积小、有很高的可靠性;(3)有优异的性能价格比;(4)低功耗、低电压,便于生产便携式产品;(5)增加了I2C串行总线方式、SPI串行接口等,进一步缩小了体积,简化了结构;(6)单片机的系统发展、系统配置较典型、规范,容易构成各种规模的应用系统。1.2 AT89C51 单

5、片机的引脚说明 图 1.2 AT89C51单片机引脚图1.2.1.主电源引脚VCC:电源电压+4+5.5V。GND:接地。1.2.2.时钟电路引脚XTAL1:作为振荡器反相器的输入和内部时钟发生器的输入。 XTAL2:作为振荡器反相放大器的输出。1.2.3.控制信号引脚EA/VPP: 片外程序存储器访问允许信号。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。 ALE/PROG : ALE是地址锁存允许信号,当单片机上电正常工作后,此脚不断输出正脉冲信号。RST:复位输入。RST

6、一旦变成高电平所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。 1.2.4.输入输出引脚(P0 、P1、P2、P3)P0口:P0口为一个8位,P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于

7、内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻

8、的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0n RXD(串行输入口)P3.1n TXD(串行输入出)P3.2n INT0 (外部中断0)P3.3n INT1(外部中断1)P3.4n T0 (记时器0外部输入)P3.5n T1 (记时器1外部输入)P3.6n WR(外部数据存储器写选通)P3.7n RD(外部数据存储器读选通)第2章 电子时钟的概述2.1电子时钟的组成电子时钟是一种用数字电路技术实现

9、时、分、秒计时的钟表。与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。电子时钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,以便于功能的扩展。2.2电子时钟的工作原理该电子时钟由89C51,BUTTON,八位七段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中共设计了四个控制键,如果没有

10、按键按下,则时钟正常走时。当按下按钮1时,系统会进入复位状态;当按下按钮2时,进入调时/调分选择状态,时钟停止走动;此时按下按钮3和按钮4可以进行加一和减一操作;继续按按钮2键可以分别进行分和小时的调整;最后按按钮2键启动计时。2.3电子时钟的主要功能2.3.1 主要功能按键 电子时钟中主要有4个按键。这4个按键分别是调节总控,调秒,调分,调时的开关。调节总控:控制总的中断的允许和屏蔽,打开三个功能按键的中断响应。调秒:在总开关打开时,调节电子时钟的秒数。调分:在总开关打开时,调节电子时钟的分数。调时:在总开关打开时,调节电子时钟的时数。2. 3. 2 LED数码管 图 2.1 7SEG-MP

11、X8-CA-BLUE 数码管1.LED显示原理LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。每一笔划都是对应一个字母表示 DP是小数点。下图为常用LED数码管内部引脚图。图 2.2 LED数码管正面个字段引脚LED数码管根据LED的接法不同分为共阴和共阳两类共阳极LED数码管的内部结构原理图:图 2.3 LED数码管的内部结构原理图 共阴极LED数码管的内部结构原理图:图 2.4 共阴极LED数码管的内部结构原理图2.LED数码管显示方式LED数码管要正常显示,就要用驱动电路来驱

12、动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。静态显示驱动 静态显示方式和动态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字型码。送入一次字型码显示自行一直保持,直到送入新字型码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。各数码管在显示过程中持续得到显示信号,与各数码管接口的I/O口是专用的。动态显示驱动动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路

13、。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。第 3 章 电子时钟的硬件设计3.1 Proteus软件3.1.1 简介Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有近20年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,

14、还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus能够很容易的为用户建立了完备的电子设计开发环境。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用

15、诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。3.1.2 功能模块其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计。 PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型. 支持许多通用的微控制器,如PIC,*R,HC11以及8051. 交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,强大的调试工具,包括寄存器和存储器,断点和单步模式I

16、AR C-SPY 和Keil uVision2等开发工具的源层调试应用特殊模型的DLL界面-提供有关元件库的全部文件3.2 电路硬件设计3.2.1 设计总框图 89C51T0,T1,INT0,INT1LED数码管P.0 段码时钟电路电路复位电路P.1 片选按键电路 图 3.1 电路设计总框图3.2.2最终形成的电路图图 3. 2 电子时钟硬件图第 4 章 电子时钟的软件设计4.1 Keil uVsion 软件 4.1.1软件介绍Keil uVsion是众多单片机应用软件开发中优秀的软件之一,它支持众多软件不同公司的MCS-51架构的芯片。它集编辑、编译、仿真等于一体,同时还支持PLM、汇编C语

17、言的程序设计,界面友好,易学易用,在调试程序、软件仿真方面也有很大的功能。 4.1.2软件的操作步骤1、新建项目1)选Project/New project.2)输入项目名(不输入扩展文件名,默认为uv2),单击(确定)3)选择器件(CPU)类型及厂家。(我们一般选Atmel公司的 AT89C51)4)然后一个对话框问是否导入头文件,我们选(否)2、新建文件1)选File/New.2)在文本框中编程输入你的源文件,可以是汇编语言的,也可以是C语言的。输入完,保存文件。 (保存时注意,要输入文件的名字和扩展名,如果是C语言编写的文件,扩展名为.c,汇编语言编写的扩展名为.asm)3、添加文件到项

18、目中 鼠标单击左窗口中的Target 1文件夹,出现Source Group 1文件夹,在这个文件夹上单击鼠标右键,点击Add files to. 找到刚才建立的*.c或者*.asm源文件,单击Add。4、编译1)选择Project/Options for TargetTarget 1两次 ,出现菜单。在Output选项卡下面单击,将creat HEX file复选项打勾。(如果用仿真器仿真,还要在Debug 选项卡选中右边的Use。)2)选择Project/Built Target (或者左上角的第二个快捷图标),幕下方的output window窗口中显示0 error(s),0 warn

19、ing(s)表示编译正确。5、软件调试选择Debug / Start/stop Debug Session进行程序调试。6、将程序下载到单片机中执行下载软件,选择.HEX文件下载4.2程序设计流程图 4.2.1 设计总流程图4.2.2 显示子程序 开始 查表去断码 段控制P0 片选P1 延迟 8位数码管扫描是否完成 Y 结束 4.2.3 定时器中断服务程序 开始 保护现场 中断1s到? 秒加1 送显示Y60s到? Y、 秒清零分钟加1送显示 Y 60分钟到? Y分钟清零小时加1显示 Y24小时到 ? 时钟清零现场恢复 结束 4.3时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率

20、为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。 图 4.1 时钟电路4.4复位电路复位操作是单片机的初始化操作,只需给单片机RST引脚加上大于两个机器周期的高电平就可使单片机复位。复位有两种方式:1上电自动复位;2按钮复位。按钮复位又可以分为:1按键电平复位;2按键脉冲复位。本设计中采用的是按键电平复位,当按键按下时给RST脚一个高电平使得系统复位。电路如图:图4.2 复位电路4.5按键电路 单片机组成的小系统中,有的需要人机交互功能,

21、按键是最常见的输入方式。最常见的按键电路大致有,独立式和动态扫描的矩阵式连接两种。按键的开关状态通过一定的电路转换为高、低电平状态。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。 图 4.3 按键电路第5章 系统仿真5.1初始状态图:5.2调秒测试:5.3调分测试: 5.4调时测试:第6章 心得体会 此次课程设计,总的来说还算不错。过程中不是一帆风顺,但是最后在老师及自己的努力下算是圆满完成。本学期开设单片机原理及应用这一门课,课时少,时间的紧促,只学到单片机汇编语言的基本语句和一些简短的程序,还没有具备熟练应用所学知

22、识编写具体实用的能力,硬件的设计和仿真能力也很弱,所幸学校组织了这次单片机课程设计,给我们的课程学习提供了一个提高及应用的机会,当然,也给我们带来了一定的压力。我们所选的课程设计题目是数字时钟。刚拿到这个课题时,脑子一片空白,更别提思路。认真研究了其他前辈的程序之后,并且在老师的指导下才有了基本的思路,知道最重要的是1秒定时部分。 一开始,老师给我们介绍了整个课程设计的具体流程安排,以及详细介绍了此次实验所用的两个软件Keil uVsion和Proteus 两个软件。我们花了两天半的时间把程序及硬件设计弄好,最后在大家共同努力下完成了调试部分。剩下的时间,我们就是查资料写报告了。因为第一次做课

23、程设计,所以报告的整个框架花了我很多时间。星期三晚上准备资料,星期四整理修改。虽然很累,但是很充实。通过这次课程设计,我们将从书本上学到的知识应用于实践,学会了一些电子电路仿真设计能力,虽然过程中遇到了一些困难,但是在解决这些问题的过程无疑也是对自己自身专业素质的一种提高。当最终调试成功的时候也是对自己的一种肯定。此次的设计作业不仅增强了自己在专业设计方面的信心,鼓舞了自己,更是一次兴趣的培养,为自己以后的学习方向的明确了重点。 另外在这次实验中我们遇到了不少的问题针对不同的问题我们采取不同的解决方法,最终一一解决设计中遇到的问题。在我们遇到不懂的问题时,利用网上的资源,搜索查找得到需要的信息

24、。这次的制作也让我们感受到,我们在电子方面学到的只是很小的一部分知识,我们需要更多的时间来学习知识,学习技术。附录:1.元器件清单元件名称元件个数功能注释AT89C511单片机芯片89C51或89C52都能完成任务八位七段数码管1时间显示7SEG-MPX8-CA-BLUE电阻12保护电路MINRES330R电容3振荡电路和复位电路振荡器1振荡电路石英晶体振荡器(12MZ)按钮4控制复位1个,调节时间3个2.程序:org 0000hljmp mainorg 0003hljmp miaoorg 000bhljmp shiorg 0013hljmp fenorg 001bhljmp limain:m

25、ov sp,#5fh mov tmod,#16h mov th1,#3ch mov tl1,#0b0h mov th0,#0ffh mov tl0,#0ffh setb ea setb et1 setb tr1 clr ex1 clr ex0 setb tr0 clr et0 setb it0 setb it1 mov r4,#00h mov r5,#00h mov r6,#00h mov r7,#20 loop: mov a,r4 mov b,#10 div ab mov dptr,#0300h movc a,a+dptr mov p0,a mov p1,#40h lcall delay m

26、ov p0,#0ffh mov a,b movc a,a+dptr mov p0,a mov p1,#80h lcall delay mov p0,#0ffh mov p2,#0ffh jnb p2.0,tiaojie mov p1,#20h mov p0,#0f6h lcall delay mov p0,#0ffh mov a,r5 mov b,#10 div ab movc a,a+dptr mov p0,a mov p1,#08h lcall delay mov p0,#0ffh mov a,b movc a,a+dptr mov p0,a mov p1,#10h lcall delay

27、 mov p0,#0ffh mov p2,#0ffh jnb p2.0,tiaojie mov p1,#04h mov p0,#0f6h lcall delay mov p0,#0ffh mov a,r6 mov b,#10 div ab movc a,a+dptr mov p0,a mov p1,#01h lcall delay mov p0,#0ffh mov a,b movc a,a+dptr mov p0,a mov p1,#02h lcall delay mov p0,#0ffh mov p2,#0ffh jnb p2.0,tiaojie lcall delay mov p0,#0f

28、fh ljmp looptiaojie:cpl et1 cpl et0 cpl ex1 cpl ex0 ljmp loop org 0100hli: push acc mov th1,#3ch mov tl1,#0b0h djnz r7,fanhuimov r7,#20inc r4mov a,r4cjne a,#60,fanhuimov r4,#00hinc r5mov a,r5cjne a,#60,fanhuimov r5,#00hinc r6mov a,r6cjne a,#24,fanhui mov r6,#00h fanhui:pop acc retidelay: mov r1,#10

29、l2: mov r2,#100 djnz r2,$ djnz r1,l2 ret org 0200h miao: clr ea inc r4 setb earetifen: clr ea inc r5 setb ea retishi: clr ea inc r6 setb ea reti org 0300h db 0c0h,0f9h,0a4h,0b0h,99h db 92h,82h,0f8h,80h,90h end3.参考文献1.丁元杰.单片微机原理及应用.(第3版).机械工业出版社.20062.侯玉宝.基于Proteus的51系列单片机设计与仿真.电子工业出版社.20083.蒋辉科.单片机原理与应用设计.北京航空航天大学出版社.20074.岂兴明.51单片机编程基础与开发实例详解.人民邮电出版社.20085.张迎新.单片机基础.(第2版).电子工业出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号