单片机课程设计基于89C51的数字电子时钟的设计.doc
《单片机课程设计基于89C51的数字电子时钟的设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计基于89C51的数字电子时钟的设计.doc(26页珍藏版)》请在三一办公上搜索。
1、单片机系统课 程 设 计成绩评定表设计课题 基于89C51的数字电子时钟设计 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 设计时间 : 指导教师意见:成绩: 签名: 年 月 日单片机系统课 程 设 计课程设计名称: 基于89C51的数字电子时钟设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 2014-01-012015-01-12 单片机系统 课程设计任务书学生姓名 专业班级学号题 目课题性质工程设计课题来源自拟指导教师主要内容(参数)利用89C51设计数字电子时钟,实现以下功能:
2、1开机时显示00-00-00,并开始连续计时;2记时满23-59-59时,返回00-00-00重新开始计时;3在单片机的P1.0P1.3口分别接入4个按键,P1.0P1.2分别用于“秒”“分”“时”的调整,P1.3用做复位键。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。主
3、要参考资料1 张迎新等.单片微型计算机原理、应用与接口技术.北京:国防工业出版社,2009.8;2 谢维成等.单片机原理与运用及汇编程序设计.北京:清华大学出版社2006.8;3周润景,刘晓霞等.单片机实用系统设计与仿真经典实例.北京:电子工业出版社,2014.1;4夏路易,石宗义.Protel 99sSE设计教程.北京:北京希望电子出版社.2002.6。审查意见系(教研室)主任签字: 年 月 日 目录1 引言52 设计目的53 系统方案与总体结构设计53.1系统方案设计53.2数字时钟框图设计64数字时钟的硬件构成84.1 选用芯片简介84.2 LED数码显示器简介125各个模块工作原理及原
4、理图125.1计时模块135.2数字时钟控制模块135.3振荡模块145.4显示模块146系统软件设计156.1软件设计的要点156.2 AT89C51内部定时器/计数器0的使用方法156.3 程序设计流程图167系统调试与总结177.1电路调试177.2软件调试178结论与心得18附录A系统原理图18附录B 源程序20参考文献261 引言数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,无机械装置,具有更长的使用寿命。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度,远远超过老式钟表,使其得到了广泛的使用。该课程设计为数字电子钟的
5、设计。以AT89C51为核心,配合8位7段共阴极LED数码管显示实时数据,按键可以进行数据调整,为用户提供长期、连续、可靠、稳定的工作环境。该数字电子钟有时分秒显示功能以及时间的调整的功能。系统软件设计主要实现参数设置、串行口数据接收、指令发送以及数据的显示和存储,并且实现键盘、液晶显示器等各模块的功能,采用汇编语言编程。关键词: 数字电子钟单片机汇编语言 2 设计目的深化和扩充在单片机原理及相关课程方面的基本知识、基本理论和基本技能熟悉设计过程,了解设计步骤,掌握设计内容,培养设计电路、实现软件编程和编写设计说明书能力的目的,为今后从事相关方面的实际工作打下良好基础。(1)熟悉AT89C51
6、内部定时器/计数器原理和应用,把理论加以实践;(2)了解使用单片机处理复杂逻辑的方法;(3)掌握多位数码动态显示的方法;(4)掌握多个按键的读键和处理方法。3 系统方案与总体结构设计3.1系统方案设计系统采用通用的80C51芯片,显示器为8个共阴极LED数码管,用1个八总线接收/发送器74LS245驱动数码管,因为采用了上述两个芯片,所以在对数码管进行扫描显示时,只需要单片机的8条I/O线就能完成显示功能了。 选用P0.0-P0.7作为显示数据值的输出,连接在八总线接收/发送器74LS245输入端。由于LED数据管点亮时耗电量较大,因此使用了排阻作为电源驱动输出,以保证数码管的正常亮度。单片机
7、的P1.0-P1.4口分别接在S1S4 4个按键上,以控制“时”,“分”,“秒”的调整。时间以24小时为一个周期,数字时钟钟的格式为:XX-XX-XX,由左向右分别为:“时-分-秒”(由于没有采用小数点,符号 “-”为分隔“时”“分”“秒”的分隔符)。完成显示由秒加1,一直加1至59,再恢复为00;分加1,一直加1至59,再恢复00;时加1,一直加1至23,再恢复00。* 按键功能* 启动时,数字时钟从00-00-00 开始自动计时; 按键S1控制对“秒”的调整,每按一次时计数值加1; 按键S2控制对“分”的调整,每按一次分计数值加1; 按键S3控制对“时”的调整,每按一次秒计数值加1; 按键
8、S4用做复位键,在计时过程中,如果按下复位键,则返回00-00-00重新计时。3.2数字时钟框图设计数字时钟总体结构框图设计如图3-1所示。图3-1 数字时钟设计框图 用AT89C51单片机的定时器/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时,秒计数加1开始计时。显示00-00-00的时间,开始计时;P1.0口控制“秒”的调整,每次按键加1s;P1.1口控制“分”的调整,每按一次按键加1min;P1.2口控制“时”的调整,每按一次加1h。计时满23-59-59时,返回00-00-00重新计时。P1.3口用作复位键,在计时过程中,如果按下复位键,则返回00-00-00重新计时。
9、3.2.1计时模块:用AT89C51单片机的定时器/计数器T0产生1s的定时时间,作为秒计数时间;当1s产生时,秒计数加1,当加到60s时向分钟位进一位,当分钟位加到60时,向时钟位进一;开机时,显示00-00-00,并开始连续计时;计时满23-59-59时,返回00-00-00重新开始计时。3.2.2数字时钟控制模块:在以上设计基础上,在单片机的P1.0P1.3口分别接入4个按键。P1.0口控制“秒”的调整,每次按键加1s;P1.1口控制“分”的调整,每按一次按键加1min;P1.2口控制“时”的调整,每按一次加1h;P1.3口用作复位键控制,在计时过程中,如果按下复位键,则返回00-00-
10、00重新计时。3.2.3振荡模块:晶体振荡器电路给数字时钟提供一个频率稳定准确的12MHz的方波信号,不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。3.2.4显示模块:显示电路采用8位7段共阴极LED数码管显示实时数据,采用74LS245增加I/O口的驱动能力。4数字时钟的硬件构成4.1 选用芯片简介 4.1.1 89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机,其引脚图如图4-1所示。AT89C51提供
11、以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。1.管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P
12、0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入
13、时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:
14、2.口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,
15、此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意
16、加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 图4-1 89C51单片机引脚图4.1.2 74LS245简介74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据,其引脚图如图4-5。当片选端/CE有效时,74LS245的输入/输出方向由DIR控制。74LS245还具有双向三态功能,既可以输出,也可以输入数据。其工作方式如表4-1所示。 表4-
17、1 74LS245的工作方式控制信号数据传输方向/EDIRLLBALHABLX高阻 由表4-1可知,当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输(接收);DIR=“1”,信号由 A向 B 传输(发送);当/CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 基于 89 C51 数字 电子 时钟 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4147553.html