单片机论文格式范文

时间:2024.4.21

文本框: 河南农业大学华豫学院
 本科毕业论文(设计)
 

                                                

                      

学号:

基于51单片机的电子时钟设计

分       院   电子信息工程学院    

专 业 名 称   电子信息科学与技术  

班       级        0601            

姓       名                        

指 导 教 师              

                      

20##年5月12日

摘要

随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。

时间对于人们来说总是那么的宝贵,可以说时间和金钱是划上了等号。准确的掌握时间和分配时间对人们来说至关重要。因此采用单片机为主的数码管为显示器的电子时钟就体现出了很大的优势。电子钟的设计方法有很多种,但利用单片机制作的电子时钟更具有编程灵活、便于电子功能的扩充、精确度高、便于携带、显示直观等特点。

    通过利用MCS-51单片机内部的定时器/计数器功能来实现电子时钟的计时方法。主要由AT89S51芯片和LED数码显示管为核心,构成了一个单片机电子时钟。

关键词:单片机,AT89S51,电子时钟,LED

Abstract

With the rapid development of microcomputer technology in its promotion, modern electronics into almost all areas of society, a strong impetus to the development of social productive forces and social improvement in the level of information, but also to further improve the performance of modern electronic products.

Time is always so valuable for people who can say that time and money is the equal sign. Accurate grasp of time and allocation of time is crucial to people. Therefore, the digital control based on microcomputer-based electronic clock on the display reflects a great advantage. Clock Design There are many ways, however, produced by single chip electronic clock is more flexible programming, and easy expansion of electronic capabilities, high accuracy, easy to carry, display visual and so on.

    In this paper, through the use of MCS-51 microcontroller's internal timer / counter function to implement the electronic clock timing method. Mainly by the AT89S51 chip and LED digital display tube as the core, forming a single chip electronic clock.

Key word: Monolithic integrated circuit,AT89S51,Electronic clock,LED

 

 

目录

1 前言........................................................................................................................... 1

1.1 概述................................................................................................................. 1

1.2 研究目的......................................................................................................... 1

2 单片机概述............................................................................................................... 2

2.1 单片机的概念................................................................................................. 2

2.2 单片机的发展史和发展趋势......................................................................... 2

2.2.1 单片机的发展历史............................................................................... 2

2.2.2 单片机的发展趋势............................................................................... 3

2.3 单片机的特点................................................................................................. 3

2.4 MCS-51单片机的基本结构............................................................................ 3

2.4.1 MCS-51单片机的基本组成.................................................................. 3

2.4.2 AT89S51单片机的引脚......................................................................... 5

3 系统设计................................................................................................................... 6

3.1 设计方法及原理............................................................................................. 6

3.1.1 设计方法............................................................................................... 6

3.1.2 电子时钟原理....................................................................................... 6

3.1.3 数码管显示原理................................................................................... 6

3.2 总体设计......................................................................................................... 7

3.2.1 系统说明............................................................................................... 7

3.2.2 系统框图............................................................................................... 7

3.3 模块设计......................................................................................................... 8

3.3.1 电源部分............................................................................................... 8

3.3.2 复位电路............................................................................................... 8

3.3.3 数码管的连接电路............................................................................... 9

3.3.4 控制部分............................................................................................. 10

4 软件设计.................................................................................................................. 11

4.1 程序流程图.................................................................................................... 11

4.2 源程序........................................................................................................... 13

4.2.1 中断入口程序..................................................................................... 14

4.2.2 主 程 序............................................................................................. 15

4.2.3 1秒计时程序....................................................................................... 15

4.2.4 闪动调时程序..................................................................................... 17

4.2.5 加1子程序......................................................................................... 18

4.2.6 清零程序............................................................................................. 19

4.2.7 时钟调整程序..................................................................................... 19

4.2.8 显示程序............................................................................................. 22

4.2.9 延时程序............................................................................................. 23

5 总结......................................................................................................................... 24

致谢............................................................................................................................. 25

参考文献..................................................................................................................... 26

                                                                   

1 前言

1.1 概述

时间,对人们来说是非常宝贵的,准确的掌握时间和分配时间对人们来说至关重要。因此自从时钟发明的那刻起,就成为人类的好朋友。随着时间的流逝,科学技术的不断发展和提高,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好、更方便、更精确的显示时间,这就要求人们不断设计研发出新型的时钟。

高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校[1]。数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在单片机的应用系统中,时钟有两个方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时器/计数器来实现;二是用专门的时钟芯片实现[2]。

由于51系列单片机的内部具有定时器/计数器的功能,因此采用51系列单片机里的AT89S51和LED数码管为核心,加以必要的电路,来构成了一个单片机电子时钟。

1.2 研究目的

通过利用MCS-51单片机内部的定时器/计数器功能、中断系统功能、以及外围的按键和LED显示器等部件,设计一个基于单片机的电子时钟。设计的电子时钟通过数码管显示,并能通过按键对时间进行设置。

2 单片机概述

2.1 单片机的概念

    单片机(MCU)可以定义为:一种把微处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入/输出(I/O)接口电路、定时器/计数器、串行通信接口及中断系统等部件集成在同一块芯片上的,具有完整功能的微型计算机。这块芯片就是硬件,而软件程序则存放在片内的只读存储器中。

2.2 单片机的发展史和发展趋势

2.2.1 单片机的发展历史

1974年12月,美国著名的仙童(Fairchild)公司推出了世界上第一台单片机F8。该机有两块集成电路芯片组成,具有与众不同的指令系统,结构奇特,深受民用电器和仪器仪表领域的欢迎和重视。从此单片机开始迅速发展,应用范围也在不断扩大,现已成为微型计算机的重要分支。单片机的发展大致经历了外围集成、总线完善、功能集成、全方位发展等技术发展阶段,至今已走过了四代的历程[3]。

(1) 第一代单片机(1974 — 1976)

这是单片机的起步阶段,以Fairchild公司的F8为代表。在这个时期生产的单片机特点是,字长为四位,内部结构简单,制造工艺落后和集成度低。

(2) 第二代单片机(1976 — 1980)

这是单片机的技术成熟阶段。8位单片机已经出现,以Intel公司的MCS-48为代表。该系列的单片机在片内已经集成了8位CPU、并行I/O接口、8位定时器/计数器、RAM和ROM等功能部件,但无串行I/O接口,寻址范围不大于4KB。它性能低、品种少,应用范围也不广。

(3) 第三代单片机(1980 — 1983)

这是8位单片机技术走向成熟的阶段。其技术特点是完善了外部总线,确立了单片机的基本控制功能,以Intel公司的MCS-51为代表。该阶段的单片机均带有串行I/O口,且具有多级中断处理系统,定时器/计数器为16位,片内的RAM和ROM容量相对较大,寻址范围可达64KB。这一代单片机结束了计算机单片机集成的简单形式,真正开创了单片机作为微控制器的发展道路。而这个时期的单片机由于其优良的性价比和极其广泛的应用领域,特别适合我国的国情,故在我国得到广泛的应用。

(4) 第四代单片机(1983 — 至今)

这是8位高性能单片机和16位单片机并行发展的阶段。16位单片机除了CPU为16位以外,片内的RAM和ROM容量进一步增大了。以Intel公司的MCS-96系列为代表,其片内的RAM增加为232B,ROM为8KB,且片内集成有高速I/O部件、多通道10位模/数(A/D)转换器等。

2.2.2 单片机的发展趋势

    当前,单片机正朝着高性能和多品种方向发展。预计,单片机将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方向发展。

2.3 单片机的特点

    根据其结构形式和所采用的半导体工艺,单片机具有以下主要特点:

(1) 性价比高。

(2) 集成度高、体积小、可靠性高。由于单片机将各个功能部件集成在一块芯片上,且内部采用总线结构,减少了各个芯片之间的连线,从而大大提高了单片机的可靠性与抗干扰能力。

(3) 控制功能强。单片机中的指令系统中均有极丰富的转移指令、I/O接口的逻辑操作及位处理功能。

(4) 低功耗、低电压,便于生产便携式产品。

    (5) 外部总线增加了串行总线方式,进一步缩小了体积,简化了结构。

    (6) 单片机的系统扩展和系统配置较典型、规范,易于构成各种规模的应用系统。

2.4  MCS-51单片机的基本结构

2.4.1  MCS-51单片机的基本组成

MCS-51单片机的基本组成如图2.1所示。

图2.1  MCS-51单片机的基本组成                 

从图2.1中可以看出,MCS-51单片机内部主要包括以下几部分。

(1) 一个8位CPU

MCS-51单片机有一个8位CPU,包括运算器和控制器,并且具有面向控制的处理功能,不仅可以处理字节数据还可以进行位变量的处理,如位处理、查表、状态检测、中断处理等。

(2) 数据RAM和特殊功能寄存器SFR

MCS-51单片机片内具有128B的数据RAM,片外最多可以扩展到64KB。数据RAM用来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。

(3) 内部程序ROM

MCS-51单片机内部具有4KB的程序ROM,片外最多可以扩展到64KB。可以用来存储用户程序。

(4) 两个定时器/计数器

MCS-51单片机内部具有两个16位的定时器/计数器,具有四种工作方式。可以进行精确地计时,又可以对外部事件进行计数。

(5) 四个8位可编程的I/O并行端口

四个8位的I/O并行端口,其中P0口为双向口,P1~P3口为准双向口。

(6) 一个串行通信端口

串行口用来进行串行异步通信,与PC机或者多个单片机实现主从通信或者构成多机系统以实现更强的的功能。

(7) 中断控制系统

MCS-51单片机具有五个固定的可屏蔽中断源,三个在片内,两个在片外,它们在程序存储器中有各自的固定中断入口地址,由此可以进入中断服务程序。

(8) 内部时钟电路

单片机的时钟信号用来提供单片机内各种微操作的时间基准,有两种方法可以得到时钟信号:一种是内部振荡方式;另一种是外部振荡方式。

2.4.2  AT89S51单片机的引脚

    AT89S51单片机芯片采用40个引脚、双列直插封装(DIP)方式,引脚排列如图2.2所

图2.2  MCS-51单片机的引脚排列

3 系统设计

3.1 设计方法及原理

3.1.1 设计方法

(1) 电子时钟的显示为XX(时):XX(分):XX(秒)

(2) 电子时钟的时间可调整,且调整方法为:按下调整键(S2)的时间小于1秒时(t<1s),关闭显示。按下调整键(S2)的时间大于0.5秒时(t>0.5s)分钟位闪亮,此时按下S2键(t<0.5s)该个位数值加1,当加到9时,再按下S2键则该个位显示0,分钟十位加1。继续按下调整键(S2)(t>0.5s)时钟位闪亮,此时按下S2键(t<0.5s)该个位数值加1,当加到9时再按下加S2键则该个位显示0,时钟十位加1。继续按下调整键(S2)(t>0.5s),返回到正常显示状态。

3.1.2 电子时钟原理

在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器和相关软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。

3.1.3 数码管显示原理

数码管的显示采用动态显示。

动态显示就是指轮流的一位一位的点亮各个显示位,对显示器的每一位,采用每隔一段时间点亮一次。利用人的视觉暂留特点能够看到整个显示,但必须保证扫描速度够快,字符才能不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整参数可以实现较高稳定度的显示[4]。因此采用动态显示节省了I/O口,更降低了能量的消耗。

3.2  总体设计

3.2.1 系统说明

利用单片机(AT89S51)制作电子时钟,由六个LED数码管分别显示小时的十位、小时的个位、分钟的十位、分钟的个位、秒钟的十位、秒钟的个位。6个PNP管分别控制六个数码管的亮灭,采用一个按键用于时间调整。

3.2.2 系统框图

 系统框图如图3.1所示。

图3.1 系统框图

3.3 模块设计

3.3.1 电源部分

         

图3.2 电源部分

如图3.2所示,从外部引入4.5V的直流电,为单片机、复位电路提供电源。

3.3.2 复位电路

图3.3 复位电路

如图3.3所示,复位电路主要由1N4148型的二极管, 10UF/16V型的电解电容, 104型的瓷片电容,10K的电阻以及按键S1构成,S1接芯片的相应引脚RST,当开关按下时引脚RST为高电平1,断开时引脚为低电平0。

3.3.3 数码管的连接电路

图3.4 数码管连接电路

图3.4为LED数码管的连接电路,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89S51控制组合0-9十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。

3.3.4 控制部分

    如图3.5所示。

图3.5 控制电路

4 软件设计

4.1 程序流程图

图4.1描述的是主程序的流程图,程序开始运行,首先初始化定时器的常数,设置好T0中断入口,然后进入一个循环,等待中断T0的到来。

图4.2描述的是一次T0中断的过程。进入中断,首先现场保护,然后重新设定定时器初值;然后判断本轮中断的次数是否满20次,如果不是,则还没增加到1秒,如果满20次,然后时间增加1秒,分钟和时钟的变化也按相应规则随之改变。做完上面操作之后,恢复进入中断前的现场,退出中断,到此一次中断结束。

图4.3描述的是时钟调整的程序的执行过程。这个过程,根据按键S2的时间去判断执行何种操作。

图4.3 时钟调整的程序流程图 

4.2 源程序

4.1  P1口对应段码及数值

4.2.1 中断入口程序

ORG  0000H                          ;程序执行开始地址

LJMP  START                          ;跳到标号START执行

ORG  0003H                           ;外中断0中断程序入口

RETI                                          ;外中断0中断返回

ORG  000BH                           ;定时器T0中断程序入口

LJMP  INTT0                           ;跳至INTTO执行

ORG  0013H                           ;外中断1中断程序入口

RETI                         ;外中断1中断返回

ORG  001BH                           ;定时器T1中断程序入口

LJMP  INTT1                           ;跳至INTT1执行

ORG  0023H                           ;串行中断程序入口地址

RETI                                          ;串行中断程序返回

4.2.2 主程序

START:  MOV   R0, # 70H            ;清70H-7AH共11个内存单元

             MOV   R7, # 0BH

CLR    P3.7                            

CLEARDISP:  MOV   @R0, # 00H        

             INC    R0              

             DJNZ   R7, CLEARDISP  

             MOV   20H, # 00H          ;清20H(标志用)

             MOV   7AH, # 0AH         ;放入"熄灭符"数据

             MOV   TMOD, # 11H        ;设T0、T1为16位定时器

             MOV   TL0, # 0B0H         ;50MS定时初值(T0计时用)

             MOV   TH0, # 3CH          ;50MS定时初值

MOV   TL1, # 0B0H         ;50MS定时初值(T1闪烁定时用)

MOV   TH1, # 3CH           ;50MS定时初值

             SETB   EA                 ;总中断开放

             SETB   ET0                ;允许T0中断

             SETB   TR0                ;开启T0定时器

             MOV   R4, # 14H            ;1秒定时用初值(50MS×20)

    START1:  LCALL  DISPLAY           ;调用显示子程序

             JNB    P3.7, SETMM1        ;P3.7口为0时转时间调整程序  

             SJMP   START1             ;P3.7口为1时跳回START1

   SETMM1:  LJMP  SETMM             ;转到时间调整程序SETMM

4.2.3  1秒计时程序

    INTT0:  PUSH    ACC              ;累加器入栈保护

            PUSH    PSW              ;状态字入栈保护

            CLR     ET0               ;关T0中断允许

            CLR     TR0               ;关闭定时器T0

            MOV    A, # 0B7H          ;中断响应时间同步修正

            ADD    A, TL0               ;低8位初值修正

            MOV    TL0, A               ;重装初值(低8位修正值)

            MOV    A, # 3CH             ;高8位初值修正

            ADDC   A, TH0         

            MOV    TH0, A               ;重装初值(高8位修正值)

            SETB    TR0                 ;开启定时器T0

            DJNZ    R4, OUTT0           ;20次中断未到中断退出

   ADDSS:  MOV     R4, # 14H             ;20次中断到(1秒)重赋初值

            MOV    R0, # 71H             ;指向秒计时单元(71H-72H)

            ACALL  ADD1                ;调用加1程序(加1秒操作)

            MOV    A, R3                ;秒数据放入A(R3为2位十进制数组合)

            CLR      C                    ;清进位标志

            CJNE    A, # 60H, ADDMM   

  ADDMM:  JC      OUTT0               ;小于60秒时中断退出

            ACALL  CLR0                 ;大于或等于60秒时对秒计时单元清0

            MOV     R0, # 77H             ;指向分计时单元(76H-77H)

            ACALL  ADD1                ;分计时单元加1分钟

            MOV    A, R3                ;分数据放入A

            CLR     C                   ;清进位标志

            CJNE    A, # 60H, ADDHH      

   ADDHH:  JC       OUTT0              ;小于60分时中断退出

            ACALL  CLR0                ;大于或等于60分时分计时单元清0

            MOV     R0, # 79H            ;指向小时计时单(78H-79H)

            ACALL  ADD1               ;小时计时单元加1小时

            MOV    A, R3                ;时数据放入A

            CLR     C                   ;清进位标志

            CJNE    A, # 24H, HOUR      

    HOUR:  JC      OUTT0              ;小于24小时中断退出

            ACALL  CLR0               ;大于或等于24小时小时计时单元清0

   OUTT0:  MOV   72H, 76H             ;中断退出时将分、时计时单元数据移

            MOV   73H, 77H             ;入对应显示单元

            MOV   74H, 78H          

            MOV   75H, 79H          

            POP    PSW                ;恢复状态字(出栈)

            POP    ACC                ;恢复累加器

            SETB   ET0                ;开放T0中断

            RETI                       ;中断返回

4.2.4 闪动调时程序

T1中断服务程序,用作时间调整时调整单元闪烁指示

INTT1:  PUSH    ACC               ;中断现场保护

            PUSH    PSW               

            MOV    TL1,   #0B0H       ;装定时器T1定时初值

            MOV    TH1,   #3CH            

            DJNZ    R2,INTT1OUT       ;0.3秒未到退出中断(50MS中断6次)

            MOV     R2,  #06H         ;重装0.3秒定时用初值

            CPL      02H                ;0.3秒定时到对闪烁标志取反

            JB        02H, FLASH1      ;02H位为1时显示单元"熄灭"

            MOV     72H, 76H          ;02H位为0时正常显示

            MOV     73H, 77H            

            MOV     74H, 78H            

            MOV     75H, 79H             

INTT1OUT:  POP      PSW               ;恢复现场

            POP      ACC                

            RETI                        ;中断退出

FLASH1:  JB        01H, FLASH2       ;01H位为1时,转小时熄灭控制

            MOV     72H, 7AH          ;01H位为0时,"熄灭符"数据放入分

            MOV     73H, 7AH          ;显示单元(72H-73H),将不显示分数据

            MOV     74H, 78H             

            MOV     75H, 79H            

            AJMP     INTT1OUT         ;转中断退出

FLASH2:  MOV     72H, 76H           ;01H位为1时,"熄灭符"数据放入小时

            MOV     73H, 77H          ;显示单元(74H-75H),小时数据将不显示

            MOV     74H, 7AH      

            MOV     75H, 7AH      

            AJMP     INTT1OUT         ;转中断退出

4.2.5 加1子程序 

    ADD1:  MOV   A, @R0              ;取当前计时单元数据到A

            DEC    R0                  ;指向前一地址

            SWAP  A                  ;A中数据高四位与低四位交换

            ORL   A, @R0             ;前一地址中数据放入A中低四位

            ADD    A,  #01H           ;A加1操作

            DA    A                   ;十进制调整

            MOV  R3,A                ;移入R3寄存器

            ANL   A,  #0FH           ;高四位变0

            MOV  @R0,A              ;放回前一地址单元

            MOV   A, R3               ;取回R3中暂存数据

            INC    R0                  ;指向当前地址单元

            SWAP   A                  ;A中数据高四位与低四位交换

            ANL   A,  #0FH           ;高四位变0

            MOV   @R0,A              ;数据放入当削地址单元中

            RET                       ;子程序返回

4.2.6 清零程序

对计时单元清零用

     CLR0:  CLR     A               ;清累加器

            MOV    @R0,A           ;清当前地址单元

            DEC     R0              ;指向前一地址

            MOV    @R0,A           ;前一地址单元清0

            RET                      ;子程序返回

4.2.7 时钟调整程序

当调时按键按下时进入此程序

   SETMM:  CLR    ET0              ;关定时器T0中断

            CLR    TR0               ;关闭定时器T0

            LCALL  DL1S             ;调用1秒延时程序

            JB      P3.7,CLOSEDIS    ;键按下时间小于1秒,关闭显示            MOV        R2, #06H          ;进入调时状态,赋闪烁定时初值

            SETB    ET1              ;允许T1中断

            SETB    TR1              ;开启定时器T1

     SET2:  JNB     P3.7,SET1         ;P3.7口为0(键未释放),等待

            SETB    00H              ;键释放,分调整闪烁标志置1

     SET4:  JB       P3.7,SET3        ;等待键按下

            LCALL   DL05S           ;有键按下,延时0.5秒

            JNB     P3.7,SETHH       ;按下时间大于0.5秒转调小时状态

            MOV    R0, #77H          ;按下时间小于0.5秒加1分钟操作

            LCALL  ADD1             ;调用加1子程序

            MOV    A,R3              ;取调整单元数据

            CLR     C                ;清进位标志

            CJNE    A, #60H,HHH      ;调整单元数据与60比较

     HHH:  JC      SET4              ;调整单元数据小于60转SET4循环

            LCALL  CLR0             ;调整单元数据大于或等于60时清0

            CLR     C                ;清进位标志

            AJMP   SET4              ;跳转到SET4循环

CLOSEDIS:  SETB   ET0               ;省电状态。开T0中断

            SETB   TR0               ;开启T0定时器(开时钟)

   CLOSE:  JB      P3.7,CLOSE        ;无按键按下,等待。

            LCALL  DISPLAY          ;有键按下,调显示子程序延时削抖                                     

            JB      P3.7,CLOSE        ;是干扰返回CLOSE等待

   WAITH:  JNB    P3.7,WAITH        ;等待键释放

            LJMP   START1           ;返回主程序(LED数据显示亮)

   SETHH:  CLR   00H                ;分闪烁标志清除(进入调小时状态)

  SETHH1:  JNB    P3.7,SET5          ;等待键释放

            SETB    01H              ;小时调整标志置1

     SET6:  JB       P3.7, SET7        ;等待按键按下

            LCALL   DL05S           ;有键按下延时0.5秒

            JNB     P3.7, SETOUT      ;按下时间大于0.5秒退出时间调整

            MOV    R0, #79H          ;按下时间小于0.5秒加1小时操作

            LCALL  ADD1             ;调加1子程序

            MOV    A, R3           

            CLR     C             

            CJNE    A, #24H,HOUU     ;计时单元数据与24比较

    HOUU:  JC      SET6              ;小于24转SET6循环

            LCALL  CLR0              ;大于或等于24时清0操作

            AJMP   SET6               ;跳转到SET6循环

  SETOUT:  JNB    P3.7,SETOUT1       ;调时退出程序。等待键释放

            LCALL  DISPLAY           ;延时削抖

            JNB    P3.7,SETOUT        ;是抖动,返回SETOUT再等待

            CLR    01H                ;清调小时标志

            CLR    00H                ;清调分标志

            CLR    02H                ;清闪烁标志

            CLR    TR1                ;关闭定时器T1

            CLR    ET1                ;关定时器T1中断

            SETB    TR0               ;开启定时器T0

            SETB    ET0               ;开定时器T0中断(计时开始)

            LJMP    START1            ;跳回主程序

     SET1:  LCALL   DISPLAY          ;键释放等待时调用显示程序(调分)

            AJMP     SET2             ;防止键按下时无时钟显示

     SET3:  LCALL    DISPLAY          ;等待调分按键时时钟显示用

            AJMP     SET4

     SET5:  LCALL    DISPLAY         ;键释放等待时调用显示程序(调小时)

            AJMP     SETHH1          ;防止键按下时无时钟显示

     SET7:  LCALL    DISPLAY         ;等待调小时按键时时钟显示用

            AJMP     SET6

 SETOUT1:  LCALL    DISPLAY         ;退出时钟调整时键释放等待

            AJMP     SETOUT          ;防止键按下时无时钟显示

4.2.8 显示程序

显示数据在70H-75H单元内,用六位LED共阳数码管显示,P0口输出段码数据,P3口作扫描控制,每个LED数码管亮1MS时间再逐位循环。

   DISPLAY:  MOV      R1,#70H         ;指向显示数据首址

             MOV      R5,#0FEH         ;扫描控制字初值

      PLAY:  MOV      A,R5              ;扫描字放入A

             MOV      P2,A               ;从P2口输出

             MOV      A,@R1             取显示数据到A

             MOV      DPTR,#TAB        ;取段码表地址

             MOVC     A,@A+DPTR       ;查显示数据对应段码

             MOV      P1,A               ;段码放入P0口

             LCALL    DL1MS            ;显示1MS

             INC       R1                ;指向下一地址

             MOV      A,R5              ;扫描控制字放入A

             JNB       ACC.5,ENDOUT    ;ACC.5=0时一次显示结束

             RL        A                 ;A中数据循环左移

             MOV     R5,A               ;放回R5内

             AJMP     PLAY              ;跳回PLAY循环

  ENDOUT:  SETB     P2.5                ;一次显示结束,P2口复位

             MOV     P1,#0FFH           ;P0口复位

             RET                         ;子程序返回

      TAB:  DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

4.2.9 延时程序

1、1MS延时程序,LED显示程序用

          DL1MS:   MOV    R6, #14H

             DL1:   MOV     R7, #19H

             DL2:   DJNZ    R7, DL2

                    DJNZ     R6, DL1

                    RET

2、20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象

          DS20MS:  ACALL     DISPLAY

                    ACALL     DISPLAY

                    ACALL     DISPLAY

                    RET

3、延时程序,用作按键时间的长短判断

            DL1S:   LCALL    DL05S

                    LCALL    DL05S

                    RET

           DL05S:   MOV      R3, #20H        ;8毫秒*32=0.196秒

          DL05S1:   LCALL    DISPLAY

                    DJNZ      R3, DL05S1

                    RET

                       END                         ;程序结束

5 总结

通过本次论文设计,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。功能上基本达标:时钟的显示,调时功能。时钟显示功能,精确度完全可以满足日常生活显示时间的需要;调时功能,方便快捷。硬件设施基本合乎要求,软件设计可以配合硬件实现其功能。

技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的电子时钟。电子时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。机械时代已经远去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。

从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用知识改变一切。

致谢

首先,感谢学校四年来对我的培养。为我们营造了一个良好的学习氛围,建设一流的教学设施,使我们身心愉快的投入到学习中。

其次,感谢尊敬的卢老师,有了他的谆谆教诲,处处提点,才使本论文的前期准备以及整个研究过程顺利完成。卢老师的严谨治学态度、扎实的理论基础、全身心投入工作的精神以及对学生尽心尽力的态度给了我极大的帮助与鼓励,使我受益匪浅。从卢老师的教学态度上,我学到的不仅仅只有书本上的知识,还有做人的道理。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。在此谨向卢老师致以诚挚的谢意和崇高的敬意。

最后,感谢我的父母多年来给予我的支持和关怀,同时感谢我的舍友和朋友对我的帮助。

参考文献

[1] 刘宁.单片机多功能时钟的设计[D].浙江:浙江海洋学院,2009.

[2] 汪文,陈林.单片机原理及应用[M].湖北:华中科技大学出版社,2007.

[3] 康华光.电子技术基础数字部分[M].北京:高等教育出版社,2008.

[4] 杨欣.电子设计从零开始[M].北京:清华大学出版社,2005.

[5] 唐勇.基于单片机的电子钟的设计[D].湖南:湖南工学院,2007.

[6] 邢小杰.单片机电子时钟设计[J].中国科技博览,2009(4):236-236.

[7] 宋礼国.多功能电子时钟的硬件设计[J]. 中国科技博览,2009(1):217-208.

[8] 马庆勇,吴中明.基于单片机的多功能时钟控制电路[J].电子科技,2009(3):56-59.

[9] 周功海,刘晓刚,何翠萍.单片机控电子时钟的设计[J].煤矿现代化,2007(1):29-30.

[10] 蔡希彪,曹洪奎,牛芳琳.单片机电子时钟系统的设计与仿真[J].中国科技信息,2007(4):61-63.

更多相关推荐:
论文标准格式范文

试论现代信息技术条件下高校两课教师角色的转变(辽宁大学外国语学院辽阳111000)内容提要:深化两课改革必须解决两课教学方法的科学化、现代化问题。过去两课用专业课的教学方法,使两课的教学效果大打折扣。在现代信息…

完整的论文格式模版

毕业设计论文工作手册毕业设计论文是学生在校学习成果的集中体现毕业论文或毕业设计说明书是学生提交毕业设计论文资料中的主要部分为了提高我校的毕业设计论文质量使毕业论文设计说明书在内容和格式上更加统一规范特编写此规范...

标准论文格式范例

标准论文格式一1题目应能概括整个论文最重要的内容言简意赅引人注目一般不宜超过20个字论文摘要和关键词2论文摘要应阐述学位论文的主要观点说明本论文的目的研究方法成果和结论尽可能保留原论文的基本信息突出论文的创造性...

标准论文格式+要求+范文(超全)

标准论文格式一1题目应能概括整个论文最重要的内容言简意赅引人注目一般不宜超过20个字论文摘要和关键词2论文摘要应阐述学位论文的主要观点说明本论文的目的研究方法成果和结论尽可能保留原论文的基本信息突出论文的创造性...

论文标准格式模板

我国IT企业技术获取模式与企业绩效的关系研究小二号黑体居中空一行张三小四号仿宋居中1哈尔滨工业大学经济与管理学院专业学号小五号楷体居中空一行摘要五黑技术获取模式是企业技术战略的重要组分对企业竞争力及可持续发展具...

学术论文模板_论文格式范本[1]

标题作者姓名作者姓名1作者单位正式对外名称省份城市邮编2作者单位正式对外名称省份城市邮编12摘要4个整句以上内容包括目的方法结果结论四要素缺一不可等摘要应以第三人称撰写不得出现本文作者等词汇应写成报道性文摘并具...

标准论文格式及范文

标准论文格式一1题目应能概括整个论文最重要的内容言简意赅引人注目一般不宜超过20个字论文摘要和关键词2论文摘要应阐述学位论文的主要观点说明本论文的目的研究方法成果和结论尽可能保留原论文的基本信息突出论文的创造性...

论文范本规范性要求格式

17华中科技大学武昌分校毕业设计论文格式示范样本论劳动合同的解除一号黑体字系别XX系三号黑体字下同专业班XX05XX班姓名XXX学号20xxXXXXXXX指导教师XXX200X年X月附件论劳动合同的解除一号黑体...

论文写作格式的设置方法

论文写作格式的设置方法本科生毕业论文通常包括封面中文摘要英文摘要致谢大纲目录正文尾注参考文献几个部分封面通常由学校给出严格的样式学生只需从学校的网页上下载即可论文其他部分的排版样式及字体字号各院校都有具体的要求...

论文封面格式样本

上海师范大学夜大学题目毕业论文论刑法中的国家工作人员专业学Exxxxxxxxx学生姓名xxxxx指导教师xxxxx论文完成日期xxxx年x月要求1字迹清楚文字简洁2数据曲线图表照片应齐全3参考书目录要注明作者出...

论文正文格式范本

以计算机技术为核心的信息技术的发展及其在经济发展中的广泛应用为全球经济提供了新的增长点美国从90年代以来持续80多个月的经济增长打破了美国经济增长失业率和通货膨胀联动的关系并出现了两高一低现象即高增长高就业低通...

科技论文格式样本

1234

论文格式范本(37篇)