ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:111.35KB ,
资源ID:5130204      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5130204.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计电子时钟.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计电子时钟.docx

1、单片机课程设计电子时钟等级:湖南工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 电子时钟设计 专 业 电气工程及其自动化 班 级 1102 学 号 201101010204 姓 名 吕 磊 指导教师_ 肖 峰_ 2014年 6 月 9日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与应用 课 题 电子时钟设计 专业班级 电气1102 学生姓名 吕 磊 学 号 201101010204 指导老师 肖 峰 审 批 任务书下达日期 2014年 6月 9 日任务完成日期 2014年 6月 20 日设计内容与设计要求设计内容:本课题以单片机为核心,利用其定时器和6位数码管,设计一

2、个电子时钟。要求有以下功能:1、 开机时,显示00:00:00的时间开始计时;2、 要求有秒,分,时的调节。3、 具有复位功能。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行单元电路及应用程序的调试;6)写出使用说明书。主 要 设 计 条 件1、 MCS-51单片机实验操作台1台;2、 PC机及单片机调试软件;3、 单片机应用系统板1套;4、 制作工具1套;5、 系统设计所需的元器件。 说 明 书 格 式1. 课程设计任务书2. 目录3. 说明书内容1)课题的设计要求、目的、意义2)系统总体方案选择与说明3)系统结构

3、框图与工作原理4)各单元硬件设计说明及计算方法5)软件设计与说明(包括流程图)6)调试结果与必要的调试说明7)使用说明8)程序清单9)总结10)参考文献附录附录A 系统原理图附录B 程序清单评分表进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、各硬件模块设计第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩第1章 课程设计要求的目的与意义 通过单片机课程设计,加深

4、对单片机的更深层次的理解,熟悉单片机的内部硬件资源,掌握单片机的编程及技巧,要学会对单片机的各部硬件资源的控制,分配,特别是对单片机中断,定时器的编程方法。且需要学会利用所学单片机只是独立设置系统的能力。 作为一个电气工程及其自动化专业大三的学生,做这次课程设计的意义是很大的。这能让我们把我们在课堂上学的知识能够运用到实践当中。在这次课程设计我们能够学会对一些软件的使用,如proteus和Keil uvision等。这次我们将所学知识汇聚到了一起,并适当的加入了一些其它的知识,让我们自己动手动脑完成一次课程设计是很有意义的。第2章 总体设计方案选择与说明2.1 设计方案本电子时钟采用AT89C

5、51单片机为核心器件,将可编程芯片8255A与6个LED数码管连接,用于显示时钟与跑秒。PA口输出显示段码,PB口输出位码,单片机的P1.0-P1.4、P3.2、P3.3接K1-K6,用于实现表的清零/启动/复位/调整/暂停功能,其可由软件来完成。由于数码管要显示时钟,还要显示跑秒,利用T0定时器定时1s,T1定时器定时100ms,即0.1s,用R6和R7作为扫描的短延时数据地址。因此,分别用30H、31H、32H、33H、34H、35H计时钟,即时钟计数器;用40H、41H、42H、43H、44H、45H计跑表,即秒表计数器。当要显示时钟的时候,就把时钟地址中的数据通过8255A的PA口输出

6、给显示器显示;当要显示跑秒的时候,就把跑秒地址中的数据通过8255A的PA口输出给显示器显示。第3章 系统结构框图和工作原理3.1 系统结构框图单片机6个按键输入电路LED显示器段码驱动电路6位LED显示电路LED显示器位码驱动电路时钟电路复位电路 图3.1 系统结构框图3.2 系统工作原理 利用单片机定时器完成计时功能,定时器1计时中断程序每隔10ms中断一次并当作一个计数,设定定时1秒的中断计数初值阀值为100,每中断一次中断计数加1,当加到100时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法

7、,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。第4章 各单元的硬件设计及说明4.1 键盘接口电路 单片机的P1.0-P1.4、P3.2、P3.3分别接6个按键,用于实现电子时钟的清零/启动/复位/暂停/分钟调节/秒钟调节,独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低

8、,I/O口内部有上拉电阻时,外部可不接上拉电阻。图4.1 键盘借口电路4.2 显示电路 本次需用到六个LED数码管用来分别显示时、分、秒。将可编程芯片8255A的PB0、PB1、PB2、PB3、PB4、PB5接数码管的1、2、3、4、5、6,然后数码管的A-G分别接74LS245的B0-B7。8255A的PA口输出显示段码,由一个74LS245驱动输出给LED数码管,PB口输出段码直接输出给LED数码管显示。时间显示功能通过LED数码管动态扫描来实现,在显示器上进行动态扫描。图4.2 显示电路4.3 74LS373作用当三态允许控制端 OE 为低电平时,Q0Q7为正常逻辑状态,可用来驱动负载或

9、总线。当 OE 为高电平时,Q0Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。图4.3 74LS373引脚图第5章 软件设计与说明5.1 软件设计 本设计的软件程序包括主程序、中断子程序、时钟显示子程序等。在整个系统中,在单片机的30H、31H和32H中存储当前时间的小时、分钟和秒。用LCD显示当前的时间,必须用到分字和合字,因此在33H、34H、35H、36H、37H和38H中存储当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,方便显示。本设计

10、有由四个轻触按键组成的小键盘,这些按键可以任意改变当前的状态。按SECOND键触发秒钟位加1,按MINUTE键触发分钟位加1,按HOUR键触发时钟位加1。按电平复位电路开关则触发LCD显示复位。控制子程序数据表为: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件

11、累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。实时时钟程序设计步骤:(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒分时的计时是通过累加和数值比较实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部;RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来,流程如图4-1

12、所示;(6)中断服务程序:进行计时操作;(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共三次调用加1子程序,包括:合字、加1并进行进制调整、分字。5.2 主程序流程图 图5.2 主程序流程图第6章 调试结果与调试说明过proteus仿真,开始后数码管可以正常显示时间,按【暂停】键可以让时钟停止走动,此时按下【调整分钟】和【调整时钟】可以分别调整分钟和时钟,每按一下便增加一。这时候再按下【复位清零】键,即把时钟显示清零了,然后按【显示秒表】键,可切换到秒表模式并开始计时,最小值为10ms。按【暂停】键可以暂停计时,按【复位清零】键可以清零秒表,以便开始下一轮的计时

13、。调试过程中的截图如下:图6 调试过程截图第7章 总结通过本次的单片机课程设计电子时钟的设计,我学到了很多课本上无法学到的知识,也让我们对仿真软件等的使用也更熟练了。在程序方面,我借鉴了实验课本上的程序进行了改进,让自己的程序更优秀。而且我觉得写程序注释写得越详细越好、不要怕麻烦。这样方便自己读懂程序,也是有利于让别人能读懂你写的程序。在反复确认自己的程序正确无误之后,接下来要做的就是模拟仿真了。我们在书上、网上都查阅了相关芯片的功能、管脚等信息。也自己研究了一下proteus仿真软件的使用,仔细研究芯片的主要功能及管脚接法,这也就为我们后面比较成功地仿真出结果打好了基础。当仿真出错时我们反复

14、检查线路连接是否有误,仔细的观察相应管脚在运行时的电位的变化。我相信,不管是什么电路,经过如此仔细的检查后,任何错误不会遗漏。当然,这也是我们最终走向成功的原因。而且在肖老师的辛勤的指导下,最后我们顺利地完成了这次的课程设计。看见到课本所学知识得以应用,一股成就感油然而生。这次课程设计加强了我的实际操作能力,提高了我解决实际问题的能力,也锻炼了和同学之间的合作能力,并对本专业的课程充满了浓厚的兴趣,相信有了兴趣,我在以后对本专业的学习会更加得心应手。第8章 参考文献1、 单片机原理与应用 王迎旭等编 机械工业出版社2、 51系列单片机设计实例 楼然苗等编 北京航空航天大学出版社3、 计算机硬件

15、技术基础实验教程 黄勤等编 重庆大学出版社4、微型计算机接口技术及应用 刘乐善主编 华中科技大学出版社5、单片微型计算机原理及接口技术陈光东等编 华中科技大学出版社附录附录A 系统原理图 系统原理图附录B 程序清单 ORG 0000H LJMP START ORG 0003H ;INT0中断入口 LJMP S5 ORG 000BH ;T0中断入口 LJMP Y0 ORG 0013H ;INT1中断入口 LJMP S6 ORG 001BH ;T1中断入口 LJMP Y1 ORG 2000HSTART: MOV DPTR,#0FF7FH ;8255A初始化 MOV A,#89H ;PA口PB口输出

16、方式 MOVX DPTR,A ;方式控制字送控制字入口S1: MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0S2: MOV R0,#14H MOV TMOD,#11H ;T0/T1工作方式 SETB EA ;开放总中断 SETB TR0 ;启动T0 SETB ET0 ;启动定时中断T0 SETB ET1 ;启动定时中断T1;*时钟主程序*LOOP: CLR TR1 ;关闭T1计时 MOV A,#0DFH MOV DPTR,#0FF7DH ;取位控信号(8255A的PB口地址) MOVX DPTR,A ;显示值转

17、换显示码 MOV A,35H MOV DPTR,#DIRTAB ;七段数码管显示断码首地址 MOVC A,A+DPTR ;查表 MOV DPTR,#0FF7CH ;送PA口显示(8255A的PA口地址) MOVX DPTR,A ACALL D1MS ;延时1MS MOV A,#0EFH MOV DPTR,#0FF7DH ;动态扫描循环 MOVX DPTR,A MOV A,34H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0F7H MOV DPTR,#0FF7DH MOVX DPTR

18、,A MOV A,33H MOV DPTR,#DIRTAB1 MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FBH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,32H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FDH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,31H MOV DPTR,#DIRTAB1 MOVC A,A+DPTR MOV DPTR,#

19、0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FEH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,30H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS JNB P1.0,Z4 ;K1键按下进入秒表显示程序 JNB P1.3,S3 JNB P1.2,S4 SJMP LOOP*时钟定时中断服务程序*Z4: AJMP Z1S3: CLR TR0 SETB IT0 SETB EX0 SETB IT1 SETB EX1 AJMP LOOPS4: SETB

20、 TR0 CLR EX0 CLR EX1 AJMP LOOPS8: AJMP KEYY0: MOV TH0,#1EH MOV TL0,#0CFH DJNZ R0,S8 ;R0初值为14,循环14次,即为1s若不为零则跳转到S8 MOV R0,#14H ;到1S则重新给R0赋值14 INC 35H ;让秒数加1 MOV A,#10 CJNE A,35H,KEY ;如果没加到10就跳转到KEY MOV R0,#14H MOV 35H,#0 INC 34H MOV A,#6 CJNE A,34H,KEY MOV R0,#14H MOV 35H,#0 MOV 34H,#0 MOV R0,#14HS5:

21、 INC 33H MOV A,#10 CJNE A,33H,KEY MOV R0,#14H MOV 35H,#0 MOV 34H,#0 MOV 33H,#0 INC 32H MOV A,#6 CJNE A,32H,KEY MOV R0,#14H MOV 35H,#0 MOV 34H,#0 MOV 33H,#0 MOV 32H,#0S6: INC 31H ;INT0中断入口 MOV A,#4 CJNE A,31H,L3 MOV A,#2 CJNE A,30H,L3 SJMP L4L3: MOV A,#10 CJNE A,31H,KEY MOV R0,#14H MOV 35H,#0 MOV 34H

22、,#0 MOV 33H,#0 MOV 32H,#0 MOV 31H,#0 INC 30H RETIL4: MOV R0,#14H MOV 35H,#0 MOV 34H,#0 MOV 33H,#0 MOV 32H,#0 MOV 31H,#0 MOV 30H,#0KEY: RETI;*秒表主程序*Z1: SETB TR0 CLR EX0 CLR EX1 MOV 40H,#0 MOV 41H,#0 MOV 42H,#0 MOV 43H,#0 MOV 44H,#0 MOV 45H,#0LOOP1: CLR TR1 MOV A,#0DFH MOV DPTR,#0FF7DH MOVX DPTR,A MOV

23、 A,45H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0EFH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,44H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0F7H MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,43H MOV DPTR,#DIRTAB1 MOVC A,A+DPTR MOV DPTR,#0FF7CH

24、MOVX DPTR,A ACALL D1MS MOV A,#0FBH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,42H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FDH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,41H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FEH MOV DPTR,#0FF7DH MOVX

25、 DPTR,A MOV A,40H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS JNB P1.0,Z3 JNB P1.1,X0 JNB P1.2,M2M5: AJMP LOOP1M2: AJMP LOOPZ3: AJMP Z1;*X0: SETB TR1 MOV A,#0DFH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,45H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS M

26、OV A,#0EFH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,44H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0F7H MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,43H MOV DPTR,#DIRTAB1 MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FBH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,42H MOV D

27、PTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FDH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,41H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A ACALL D1MS MOV A,#0FEH MOV DPTR,#0FF7DH MOVX DPTR,A MOV A,40H MOV DPTR,#DIRTAB MOVC A,A+DPTR MOV DPTR,#0FF7CH MOVX DPTR,A A

28、CALL D1MS JNB P1.0,M3 JNB P1.2,M2 JNB P1.3,M5 AJMP X0Y1: MOV TH1,#0D8H MOV TL1,#0F0H INC 45H MOV A,#10 CJNE A,45H,M4 MOV 45H,#0 INC 44H MOV A,#10 CJNE A,44H,M4 MOV 45H,#0 MOV 44H,#0 INC 43H MOV A,#10 CJNE A,43H,M4 MOV 45H,#0 MOV 44H,#0 MOV 43H,#0 INC 42H MOV A,#10 CJNE A,42H,M4 MOV 45H,#0 MOV 44H,#0 MOV 43H,#0 MOV 42H,#0 INC 41H MOV A,#10 CJNE A,41H,M4 MOV 45H,#0 MOV 44H,#0 MOV 43H,#0 MOV 42H,#0 MOV 41H,#0 INC 40H MOV A,#10 CJNE A,30H,M4 MOV 45H,#0 MOV 44H,#0 MOV 43H,#0 MOV 42H,#0 MOV 41H,#

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1