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

下载本文档

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

文档简介

惠州学院课程设计报告单片机数字时钟课程设计报告 姓名: 班别: 学号:设计任务:1、 能够实现时间的精确显示,以数字的形式显示时间的时、分、秒。2、时间以24小时为进制,能够通过相应按键来调节时钟时间。3、能够实现按键启动与停止功能。4、能够实现秒表功能。 摘要 此电子钟采用c8951芯片,同时使用8位8段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求。该电子钟有四个按键,进行相应的操作就可实现时间调整、年月查看与复位功能。整个过程就是先设计和焊接好硬件电路,再通过汇编语言编写应用程序来实现我们需要的功能,这期间,进行的软件仿真和调试是本设计的重点和难点。 关键词:电子时钟、c8951芯片、程序设计、仿真调试 目录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显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和复位控制等。此外还要实现对时间的调整功能,89c51的P1.0、P1.1、RST外接三个独立按键,当按下P1.0按键时,系统进入调时间的状态或启动时间显示的功能;当按下P1.1按键时,对显示的数码管进行加一的功能,达到调整时间的目的;当按下RST按键时,实现对电子时钟进行复位的功能。系统的设计方案整个系统采用应用广泛的AT89S52作为时钟控制芯片,利用单片机内部的定时器计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示一般用6个或8个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方便,设计了简单的按键,可以通过按键实现时间调整和复位。1.2数码管显示工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示:所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。动态显示:所谓动态显示,就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省I/O口和降低能耗出发,本设计采用动态显示。1.3电路硬件设计1.31设计原理框图此设计原理框图如图1所示,此电路包括以下六个部分:单片机,按键,指示灯,复位电路,晶振及显示电路。设计原理框图 按 键单 片 机 显示电路 晶 振复位电路 指示灯 电路设计分为复位电路、指示灯电路、按键电路、时钟电路及数码管连接电路,总电路工作原理图如下图所示 89c51芯片该系列单片机是采用高性能的静态80C51设计由先进CMOS工艺制造并带有非易失性Flash程序存储器全部支持12时钟和6时钟操作P89C51X2和P89C52X2/54X2/58X2分别包含128字节和256字节RAM32条I/O口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O口可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结CPU但RAM定时器串口和中断系统仍然工作掉电模式保存RAM的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复4个中断优先级y6个中断源4个8位I/O口全双工增强型UART帧数据错误检测自动地址识别3个16位定时/计数器T0T1标准80C51和增加的T2捕获和比较可编程时钟输出异步端口复位低EMI(禁止ALE以及6时钟模式)掉电模式可通过外部中断唤醒其引脚图如下所示 材料清单8051芯片 1个瓷介电容 2个极性电容 1个芯片底座 1个4位7段数码管 2个10K欧电阻 1个电池盒 1个电池 2个独立按键 5个自锁开关 1个排阻 1个12M晶振 1个 2软件设计2.1软件设计流程电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数码管显示模块等,(1)主程序主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。主程序执行流程如图2)定时器/计数器T0中断程序定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为20ms,定时时间到则中断,在中断程序中用一个计数器对20ms计数,计50次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器/计数器T0中断程序流程图如图 SETB IT0SETB TR0SETB PT0MAIN:CLR P3.7JNB P1.7,LOOPLCALL DISPLAYLCALL KEYSETB EX0LJMP MAINLOOP:MOV S6,#09HZN:MOV S7,#0FFHSETZH:CLR P3.2SETB P3.2LCALL KEYDJNZ S7,SETZHDJNZ S6,ZNLJMP MAINSHOW:PUSH ACCPUSH PSWLCALL DISPLAY1POP PSWPOP ACCRETIZDN:PUSH ACCPUSH PSWINC R7CJNE R7,#200,ZDMOV R7,#00HINC S0MOV A,S0CJNE A,#20,ZDMOV S0,#00HINC R0CJNE R0,#60,ZDMOV R0,#00HINC R1CJNE R1,#60,ZD完整源程序:S0 EQU 31HS1 EQU 32HS2 EQU 33HS3 EQU 34H S4 EQU 35HS5 EQU 36HS6 EQU 37HS7 EQU 38H S8 EQU 39HS9 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,#00HMOV S8,#00HMOV S9,#00HMOV S10,#00HMOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HMOV IE,#83HL1:MOV A,R5MOV B,#4DIV ABMOV A,BCJNE A,#0,PINGNIANL2:CJNE R3,#30,L3MOV 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,#10MOVC A,A+DPTRMOV P0,AMOV R1,#00HINC R2CJNE R2,#24,ZDMOV R2,#00HINC R3CJNE R4,#2,LOOP31LCALL JUDGE_YLCALL ZDLOOP31: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 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 L2MOVC A,A+DPTRMOV P0,ACLR P2.0LCALL DELAYSETB P2.0RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;DISPLAY1: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,S9MOVC 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,BCLR 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 DELAYSETB 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,S9MOV 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:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,80H;KEY: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 DISPLAYADDKEY:LCALL K2LJMP DISPLAYDECKEY:LCALL K3LJMP DISPLAYMOV 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 A,A+DPTRMOV P0,ACLR P2.2LCALL DELAYSETB P2.2MOV A,R6MOV B,#10DIV ABMOV S9,AN8:CJNE R4,#11,MAX1SMALL1:CJNE R3,#30,LOOP9MOV R3,#01HLJMP LOOP15LOOP9:INC R3LJMP LOOP15MAX1:CJNE R3,#31,LOOP35MOV R3,#01HLJMP LOOP15LOOP35:INC R3LJMP LOOP15LOOP8:CJNE A,#5,LOOP10CLR EX0CJNE R2,#23,LOOP11MOV R2,#00HLJMP LOOP15LOOP11:INC R2LJMP LOOP15LOOP10:CJNE A,#6,LOOP12CJNE R1,#59,LOOP13MOV R1,#00HLJMP LOOP15LOOP13:INC R1LJMP LOOP15LOOP12:CJNE A,#7,LOOP15CJNE R0,#59,LOOP14MOV R0,#00HLJMP LOOP15LOOP14:INC R0LOOP15:RETJUDGE_Y1:MOV A,R5CJNE A,#0,N1MOV A,R6MOV B,#4DIV ABMOV A,BCJNE A,#0,PINGNIAN1LJMP N2K1: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,LOOP4CJNE R5,#99,LOOP5MOV R5,#00HLJMP LOOP15LOOP5:INC R5LJMP LOOP15LOOP4:CJNE A,#3,LOOP6CJNE R4,#12,LOOP7MOV R4,#01HLJMP LOOP15LOOP7:INC R4LJMP LOOP15LOOP6:CJNE A,#4,LOOP8CJNE R4,#2,LOOP32LCALL JUDGE_Y1LJMP LOOP15LOOP32:CJNE R4,#4,N6AJMP SMALL1N6:CJNE R4,#6,N7AJMP SMALL1N7:CJNE R4,#9,N8AJMP SMALL1AJMP SMALL2M6:CJNE R4,#6,M7AJMP SMALL2M7:CJNE R4,#9,M8AJMP SMALL2M8:CJNE R4,#11,MAX2SMALL2:CJNE R3,#01,LOOP23MOV R3,#30LJMP LOOP30LOOP23:DEC R3LJMP LOOP30MAX2:CJNE R3,#01,LOOP34MOV R3,#31LJMP LOOP30LOOP34:DEC R3LJMP LOOP30LOOP22:CJNE A,#5,LOOP24CLR EX0CJNE R2,#0,LOOP25MOV R2,#23LJMP LOOP30LOOP25:DEC R2LJMP LOOP30LOOP24:CJNE A,#6,LOOP26CJNE R1,#0,LOOP27MOV R1,#59LJMP LOOP30LOOP27:DEC R1LJMP LOOP30LOOP26:CJNE A,#7,LOOP30CJNE R0,#0,LOOP28MOV R0,#59LOOP28:DEC R0LOOP30:RETJUDGE_Y2:MOV A,R5CJNE A,#0,M1MOV A,R6MOV B,#4DIV ABN1:MOV 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 R6,#0,LOOP17MOV R6,#99LJMP LOOP30LOOP17:DEC R6LJMP LOOP30LOOP16:CJNE A,#2,LOOP18CJNE R5,#0,LOOP19MOV R5,#99LJMP LOO

温馨提示

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

评论

0/150

提交评论