单片机课程设计报告——单片机数字时钟课程设计报告概要_第1页
单片机课程设计报告——单片机数字时钟课程设计报告概要_第2页
单片机课程设计报告——单片机数字时钟课程设计报告概要_第3页
单片机课程设计报告——单片机数字时钟课程设计报告概要_第4页
单片机课程设计报告——单片机数字时钟课程设计报告概要_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、惠州学院课程设计报告姓名:班别:学号:单片机数字时钟课程设计报告设计任务:1、能够实现时间的精确显示,以数字的形式显示时间的时、分、秒2、时间以 24 小时为进制,能够通过相应按键来调节时钟时间3、能够实现按键启动与停止功能。4、能够实现秒表功能。摘要此电子钟采用C8951芯片,同时使用8位8段LED数码管(两个四位一体数码 管)显示小时、分钟和秒的要求。该电子钟有四个按键 ,进行相应的操作就可实现 时间调整、年月查看与复位功能 。整个过程就是先设计和焊接好硬件电路,再 通过汇编语言编写应用程序来实现我们需要的功能, 这期间,进行的软件仿真和 调试是本设计的重点和难点。关键词:电子时钟、 C8

2、951 芯片、程序设计、仿真调试目录1. 系统的功能分析与设计方案1.1 系统的主要功能1.2 数码管显示工作原理1.3 电路硬件设计1.4 各电路工作原理1.5 设计原理框图1 .6主芯片工作原理图.1.7 材料清单1.8 电路原理图及实物图2. 软件设计2.1 完整源程序2.2 系统安装与调试2.3 硬件电路的安装2.4 软件调试2.5课程设计总结3. 参考文献4. 致谢1.系统的功能分析与设计方案1.1 系统的主要功能利用89c51单片机内部的定时/计数器、中断系统、以及行列键盘和 LED显示器等部件, 设计一个单片机电子时钟。 设计的电子时钟通过数码管显示, 并能 通过按键实现设置时间

3、和复位控制等。此外还要实现对时间的调整功能,89c51的P1.0 P1.1、RST外接三个独立按键, 当按下P1.0按键时,系统进入调时间的状态或启动时间显示的功能;当按下P1.1按键时,对显示的数码管进行加一的功能,达到调整时间的目的;当按下RST按键时,实现对电子时钟进行复位的功能。系统的设计方案整个系统采用应用广泛的AT89S52乍为时钟控制芯片,利用单片机内部的定时器 计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器 计数 器工乍于定时方式,对机器周期计数形成基准时间,然后用另一个定时器 计数 器或软件计数的方法对基准时间计数形成秒, 秒计 60次形成分,分计 60次形

4、成 小时,小时计 24 次则计满一天。然后通过数码管把它们的内容在相应位置显示 出来即可。数码管显示可以采用静态显示方法或动态显示方法。 静态显示方法需要数据锁存 器等硬件, 接口复杂, 时钟显示一般用 6个或8个数码管。由于系统没有其他的 复杂的任务处理,而且显示的时钟信息随时都可能变化, 一般采用动态显示方式。 动态显示方法线路相对简单, 但需动态扫描,扫描频率要大于人眼视觉暂留频率, 信息看起来才稳定。 译码方式可分为软件译码和硬件译码, 软件译码通过译码程 序查得显示信息的字段码; 硬件译码通过硬件译码器得到显示信息的字段码, 实 际中通常采用软件译码。在具体处理时, 定时器计数器采用

5、中断方式工乍, 对时钟的形成在中断服务程序 中实现。在主程序中只需对定时器计数器初始化、 调用显示子程序和控制子程序。 另外,为了使用方便,设计了简单的按键,可以通过按键实现时间调整和复位。1.2 数码管显示工乍原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共 阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公 共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二 极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管 又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为 A、B、 C、D、E、

6、F、G、DP,其中DP是小数点位段。而多位数码管,除某一位的公共 端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分 为静态显示和动态显示两种。静态显示:所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒 定的导通或截止。该方式每一位都需要一个8位输出口控制。静态显示时较小的 电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所 需的I/O 口太多,造成了资源的浪费。动态显示:所谓动态显示,就是一位一位的轮流点亮各个位, 对于显示器的每一 位来说,每隔一段时间点亮一次。利用人的

7、视觉暂留功能可以看到整个显示,但 必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关, 也 于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态 显示节省了 I/O 口,降低了能耗。从节省I/O 口和降低能耗出发,本设计采用动态显示。1.3电路硬件设计1.31设计原理框图此设计原理框图如图1所示,此电路包括以下六个部分:单片机,按键,指示灯, 复位电路,晶振及显示电路。设计原理框图 电路设计分为复位电路、指示灯电路、按键电路、时钟电路及数码管连接电路, 总电路工作原理图如下图所示复位电路机显示电路89c51芯片该系列单片机是采用高性能的静态80C51设计由先进

8、CMOS工艺制造并带有非易 失性Flash程序存储器全部支持12时钟和6时钟操作P89C51X2和 P89C52XE4X258X2 分别包含 128 字节和 256 字节 RAM32 条 I/O 口 线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O 口可用于多机通信I/O扩 展或全双工UART以及片内振荡器和时钟电路此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结 CPU但RAM定时器串口和中断系统仍然工作 掉电模式保存RAM的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不

9、会丢失用户数据运行可从时钟停止处恢复4个中断优先级y 6个中断源4个8位I/O 口 全双工增强型UART帧数据错误检测一自动地址识别3个16位定时/计数器T0T1标准80C51和增加的T2捕获和比较可编程时钟输出 异步端口复位低EMI禁止ALE以及6时钟模式)掉电模式可通过外部中断唤醒 其引脚图如下所示PLC tPL1 cPl.2 cPI ”3 cPI .4 cPL5 cPI W匚P1.7 gRST RXD)P3.0 c (TXD)P3c (!NT0)P37 c (INTT)P3.3 匸 (TO)PS,4 匚 (T1)P5.5 c 21 P2.6(A14) 二 P25(A13) 3 P2.4(

10、A12) n P23(All 3 P22(AW) n P2J(A9) 二 P2.O(A8)材料清单8051芯片瓷介电容极性电容芯片底座 1 4位7段数码管10K欧电阻电池盒电池独立按键自锁开关排阻12M晶振个个个5个仆12软件设计2.1软件设计流程电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、 按键处理、数码管显示模块等,(1)主程序主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和 按键处理模块,当有键按下,则转入相应的功能程序。主程序执行流程如图Y2)定时器/计数器TO中断程序定时器/计数器TO用于时间计时。选择方式1,重复定时,定时时间设为20

11、ms, 定时时间到则中断,在中断程序中用一个计数器对 20ms计数,计50次则对秒 单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则 对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间 计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器 / 计数器T0中断程序流程图如图SETB IT0SETB TR0 SETB PT0MAIN:CLR P3.7 JNB P1.7, LOOP LCALL DISPLAY LCALL KEYSETB EX0 LJMP MAIN LOOP:MOV S6,#09H ZN:MOV S7,#0FFH SETZ

12、H:CLR P3.2 SETB P3.2LCALL KEY DJNZ S7,SETZH DJNZ S6,ZNLJMP MAINSHOW:PUSH ACC PUSH PSW LCALL DISPLAY1 POP PSW POP ACC RETIZDN:PUSH ACCPUSH PSWINC R7CJNE R7,#200,ZD MOV R7,#00HINC S0MOV A,S0CJNE A,#20,ZDMOV S0,#00HINC R0CJNE R0,#60,ZD MOV R0,#00H完整源程序:50 EQU 31H51 EQU 32H52 EQU 33H53 EQU 34H54 EQU 35H

13、55 EQU 36H56 EQU 37H57 EQU 38H58 EQU 39H59 EQU 40HS10 EQU 41HORG 0000HAJMP STARTORG 000BHAJMP ZDNORG 0003HLJMP SHOWORG 0045HSTART:MOV R0,#57MOV R1,#59MOV R2,#12MOV R3,#20MOV R4,#11MOV R5,#15MOV R6,#20MOV R7,#00HMOV S0,#00HMOV S1,#00HMOV S2,#00HMOV S3,#00HMOV S4,#00HMOV S5,#00HMOV S6,#00HMOV S7,#00HM

14、OV S8,#00HMOV S9,#00HMOV S10,#00HMOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HMOV IE,#83HMOV R1,#00HINC R2CJNE R2,#24,ZDMOV R2,#00HINC R3CJNE R4,#2,LOOP31LCALL JUDGE_YLCALLZDLOOP31:CJNE R4,#4,V1AJMP SMALLV1:CJNE R4,#6,V2AJMP SMALLV2:CJNE R4,#9,V3AJMP SMALLV3:CJNE R4,#11,MAXSMALL:CJNE R3,#31,ZDMOV R3,#01HINC

15、 R4MAX:CJNE R3,#32,ZDMOV R3,#01HINC R4CJNE R4,#12,ZDMOV R4,#01HINC R5CJNE R5,#99,ZDMOV R5,#00HINC R6CJNE R6,#99,ZDMOV R6,#00HZD:POP PSWPOP ACCRETIJUDGE_Y:MOV A,R5CJNE A,#0,L1MOV A,R6MOV B,#4DIV ABMOV A,BCJNE A,#0,PINGNIANLJMP L2L1:MOV A,R5MOV B,#4DIV ABMOV A,BCJNE A,#0,PINGNIAN L2:CJNE R3,#30,L3 MOV

16、 R3,#01HINC R4PINGNIAN:CJNE R3,#29,L3MOV R3,#01HINC R4L3:RETDISPLAY:MOV DPTR,#TABCJNE R0,#0,BBCJNE R1,#0,BBSETB P3.7LCALL DELAY10MSCLR P3.7BB:MOV A,R0MOV B,#10DIV ABMOV S9,AMOV S10,BMOV A,BMOVC A,A+DPTRMOV P0,ACLR P2.7LCALL DELAYSETB P2.7MOV A,S9MOVC A,A+DPTRMOV P0,ACLR P2.6LCALL DELAYSETB P2.6MOV A

17、,#10MOVC A,A+DPTRMOV P0,AMOVC A,A+DPTRMOV P0,ACLR P2.0LCALL DELAYSETB P2.0RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;CLR P2.5LCALL DELAYSETB P2.5MOV A,R1MOV B,#10DIV ABMOV S9,AMOV S10,BMOV A,BMOVC A,A+DPTRMOV P0,ACLR P2.4LCALL DELAYSETB P2.4MOV A,S9MOVC A,A+DPTRMOV P0,ACLR P2.3LCALL DELAYS

18、ETB P2.3MOV A,#10MOVC A,A+DPTRMOV P0,ACLR P2.2LCALL DELAYSETB P2.2MOV A,R2MOV B,#10DIV ABMOV S9,AMOV S10,BMOV A,BMOVC A,A+DPTRMOV P0,ACLR P2.1LCALL DELAYSETB P2.1MOV A,S9DISPLAY1:MOV DPTR,#TAB1MOV A,R3MOV B,#10DIV ABMOV S9,AMOV S10,BMOV A,BMOVC A,A+DPTRMOV P0,ACLR P2.7LCALL DELAYSETB P2.7MOV A,S9MOV

19、C A,A+DPTRMOV P0,ACLR P2.6LCALL DELAYSETB P2.6MOV A,#10MOVC A,A+DPTRMOV P0,ACLR P2.5LCALL DELAYSETB P2.5MOV A,R4MOV B,#10DIV ABMOV S9,AMOV S10,BMOV S10,BMOV A,BMOVC A,A+DPTRMOV P0,ACLR P2.1LCALL DELAYSETB P2.1MOV A,S9MOVC A,A+DPTRMOV P0,ACLR P2.0LCALL DELAYSETB P2.0RETTAB1:DB3FH,06H,5BH,4FH,66H,6DH,

20、7DH,07H,7FH,6FH,80H;MOV A,BMOVC A,A+DPTRMOV P0,ACLR P2.5LCALL DELAYSETB P2.5MOV A,S9MOVC A,A+DPTRMOV P0,ACLR P2.4LCALL DELAYSETB P2.4MOV A,#10MOVC A,A+DPTRMOV P0,ACLR P2.3LCALL DELAYSETB P2.3MOV A,R5MOV B,#10DIV ABMOV S9,AMOV S10,BMOV A,BMOVC A,A+DPTRMOV P0,ACLR P2.3LCALL DELAYSETB P2.3MOV A,S9MOVC

21、A,A+DPTRMOV P0,ACLR P2.2LCALL DELAYSETB P2.2MOV A,R6MOV B,#10DIV ABMOV S9,AKEY:MOV P1,#0FFHMOV A,P1CPL AANL A,#70HJZ RET1LCALL DELAY10MSMOV A,P1CPL AANL A,#70HJZ RET1JB ACC.4,MKEYJB ACC.5,ADDKEYJB ACC.6,DECKEYRET1:RETMKEY:CLR TR0LCALL K1LJMP DISPLAY ADDKEY:LCALL K2LJMP DISPLAY DECKEY:LCALL K3LJMP DI

22、SPLAYK1:MOV A,S8CJNE A,#9,LOOP1MOV S8,#00HLJMP FHLOOP1:INC S8CJNE A,#8,FHSETB TR0FH:RETK2:MOV A,S8CJNE A,#1,LOOP2CJNE R6,#99,LOOP3MOV R6,#00HLJMP LOOP15LOOP3:INC R6LJMP LOOP15LOOP2:CJNE A,#2 ,L OOP4CJNE R5,#99,LOOP5MOV R5,#00HLJMP LOOP15LOOP5:INC R5LJMP LOOP15LOOP4:CJNE A,#3,LOOP6CJNE R4,#12, LOOP7M

23、OV R4,#01HLJMP LOOP15LOOP7:INC R4LJMP LOOP15LOOP6:CJNE A,# 4,L OOP8CJNE R4,#2,LOOP32LCALL JUDGE_Y1LJMP LOOP15LOOP32:CJNE R4,#4,N6AJMP SMALL1N6:CJNE R4,#6,N7AJMP SMALL1N7:CJNE R4,#9,N8AJMP SMALL1N8:CJNE R4,#11,MAX1SMALL1:CJNE R3,#30,LOOP9MOV R3,#01HLJMP LOOP15LOOP9:INC R3LJMP LOOP15MAX1:CJNE R3,#31,L

24、OOP35MOV R3,#01HLJMP LOOP15LOOP35:INC R3LJMP LOOP15LOOP8:CJNE A,#5,LOOP10 CLR EX0CJNE R2,#23 ,L OOP11MOV R2,#00HLJMP LOOP15 LOOP11:INC R2LJMP LOOP15LOOP10:CJNE A,#6,LOOP12CJNE R1,#59 ,L OOP13 MOV R1,#00HLJMP LOOP15 LOOP13:INC R1LJMP LOOP15LOOP12:CJNE A,#7,LOOP15CJNE R0,#59,LOOP14MOV R0,#00HLJMP LOOP

25、15LOOP14:INC R0LOOP15:RETJUDGE_Y1:MOV A,R5CJNE A,#0,N1MOV A,R6MOV B,#4DIV ABMOV A,BCJNE A,#0,PINGNIAN1LJMP N2N1:M0V A,R5MOV B,#4DIV ABMOV A,BCJNE A,#0,PINGNIAN1N2:CJNE R3,#29,N3MOV R3,#01HLJMP N5N3:INC R3LJMP N5PINGNIAN1:CJNE R3,#28,N4MOV R3,#01HLJMP N5N4:INC R3N5:RETK3:MOV A,S8CJNE A,#1,LOOP16CJNE

26、R6,#0,LOOP17MOV R6,#99LJMP LOOP30LOOP17:DEC R6LJMP LOOP30LOOP16:CJNE A,#2,LOOP18CJNE R5,#0,LOOP19MOV R5,#99LJMP LOOP30LOOP19:DEC R5LJMP LOOP30LOOP18:CJNE A,#3,LOOP20CJNE R4,#01H, LOOP21MOV R4,#12LJMP LOOP30LOOP21:DEC R4LJMP LOOP30LOOP20:CJNE A,# 4, LOOP22CJNE R4,#2,LOOP33LCALL JUDGE_Y2LJMP LOOP30LOO

27、P33:CJNE R4,#4,M6AJMP SMALL2 M6:CJNE R4,#6,M7AJMP SMALL2M7:CJNE R4,#9,M8AJMP SMALL2M8:CJNE R4,#11,MAX2SMALL2:CJNE R3,#01,LOOP23 MOV R3,#30LJMP LOOP30LOOP23:DEC R3LJMP LOOP30MAX2:CJNE R3,#01,LOOP34 MOV R3,#31LJMP LOOP30 LOOP34:DEC R3LJMP LOOP30LOOP22:CJNE A,#5,LOOP24 CLR EX0CJNE R2,#0,LOOP25 MOV R2,#23 LJMP LOOP30 LOOP25:DEC R2 LJMP LOOP30 LOOP24

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论