单片机电子时钟课程设计报告

绪论

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次课程计通过对它的学习、应用,以AT80C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。为实现定时控制以及对外界事件进行计数,在单片机应用系统中,常需要用到实时时钟和计数器。51系列的单片机内部都具有着两种功能,有的型号还具有捕获和监视定时的功能。

51系列的单片机内部都设有两个16位的可编程定时/计数器,可简称为定时器0(T0)和定时器1(T1)。可编程是指其功能如工作方式、定时时间、量程、启动方式等均可由指令来确定和改变。

一般中断系统都伴随着定时/计数器的出现而出现。中断技术是单片机工作中的一项重要技术,在有些场合采用“中断技术”可使单片机的工作更加灵活、效率更高。中断功能是在硬件基础上再配以相应的软件而实现的。不同的单片机其硬件结构和软件指令时不完全相同的,因而中断结构一般是不相同的。但同一系列的单片机即使型号不同,中断系统的基本结构也是类似的,只是中断源个数不完全一样。中断系统大体分为3类中断,即外部中断类(外部中断0和外部中断1)、定时中断类(定时器T0中断、定时器T1中断、定时器T2中断)、串行口中断类(RI或TI)。中断处理过程可分为3个阶段,即中断响应、中断处理和中断返回,所有的单片机的中断都有这样的3个阶段。

本次课程设计还用到了扩充外部中断源的知识,利用定时器扩展的外部中断源法。将计数器设置成计数方式,计数初值设定为满量程,一旦从外部计数引脚输入一个跳变信号,计数器加1产生溢出中断。把外部计数输入端T0(P3.4)或T1(P3.5)作为扩充中断源输入。

第1章单片机概述

1.1单片机的组成及特点

1.1.1单片机的组成

图1-1为单片机的典型组成框图。由图可见,单片机的核心部分是中央处理器CPU,它是单片机的大脑,由它统一指挥和协调各部分的工作。时钟电路用于给单片机提供工作时所需要的时钟信号。程序存储器和数据存储器分别用于存放单片机工作的用户软件和临时数据。中断系统用于处理系统工作时出现的突发事件。定时/计数器用于对时间定时或对外部事件计数。它通过内部总线把计算机的各主要部件连接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是为数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线用于在CPU与存储器或I/O接口之间,或I/O接口与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。输入输出接口(I/O接口)是计算机与输入输出设备之间的接口。输入输出设备(I/O设备)是计算机与人或其他设备交换信息的装置,如显示器、键盘和打印机等。

图1-1.单片机结构框图

1.1.2 单片机的特点

单片机主要特点如下:

(1)  控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令,I/O口的逻辑操作以及位处理功能。

(2)  集成度高,体积小,有很高的可靠性。单片机把各功能部件集成在一块芯片上, 内部采用总线结构,减少了芯片内部之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采用屏蔽措施,适合在恶劣环境下工作。

(3)  有优异的性能价格比。

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

(5)  增加了I C(Inter-Integrated Circuit)串行总线方式,SPI(Serial Peripheral Interface)串行接口等,进一步减小了体积,简化了结构。

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

1.2 C51单片机结构及特点

1.2.1 单片机的结构

(一)    MCS-51单片机内部的总体硬件结构

8051单片机的内部基本结构,如图1-2所示。

图1-2.C51单片机的内部基本结构

(二) MCS-51单片机的引脚

8051单片机是HMOS工艺制造,外形为40条引脚,如图1-3所示。因为受芯片引脚数量的限制,有很多引脚具有双功能。

1、主电源引脚

     VCC :芯片工作电源端,接+5V。

Vss:电源接地端。

2、时钟振荡电路引脚

XTAL1:内部晶体振荡电路的反相器输入端。

XTAL2:内部晶体振荡电路的反相器输出端。

    3、控制信号引脚

RST———— RST为复位信号输入端。外部接复位电路。

ALE————ALE为地址锁存允许信号。 在不访问外部存储器时,ALE以时钟振荡频率的1/6的固定频率输出,用示波器观察ALE引脚上的脉冲信号是判断单片机芯片是否正常工作的一种简便方法。

———— 外部程序存储器ROM的读选通信号。到外部ROM取指令时,自动向外发送负脉冲信号。

 ————为访问程序存储器的控制信号。

4、并行I/O端口引脚

P0口(P0.0 ~ P0.7);P1口(P1.0 ~ P1.7);P2口(P2.0 ~ P2.7);P3口(P3.0 ~ P3.7)。

1.2.2  C51单片机的特点

(1)集成度高;

(2)系统结构简单;

(3)系统扩展方便;

(4)可靠性高;

(5)处理功能强、速度高;

(6)容易产品化。

1.3  C51单片机工作原理

       它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,它内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件。

C51单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过编写的程序可以实现高智能,高效率,以及高可靠性!

第2章 电子时钟

2.1电子时钟的组成

电子时钟只要由显示模块,校时模块和时钟运算模块三大部分组成。其中校时模块和时钟运算模块要对时,分,秒的数值进行;操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1,时计算到24时,要清零。这样,才能循环计时。

2.2 电子时钟的工作原理

电子时钟是利用单片机内部的定时器\计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器\计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器\计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。

数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示用8个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。

在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方便,设计了简单的按键,可以通过按键实现时、分的调整,这样在主程序中就加入了键盘设置子程序。 

 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。

  在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。

在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管还LCD显示器。

2.3 电子时钟的主要功能

2.3.1 主要功能按键

电子时钟中主要有4个按键。这4个按键分别是调节总控,调秒,调分,调时的开关。

调节总控:控制总的中断的允许和屏蔽,打开三个功能按键的中断响应。

调秒:在总开关打开时,调节电子时钟的秒数。

调分:在总开关打开时,调节电子时钟的分数。

调时:在总开关打开时,调节电子时钟的时数。

2.3.2 LED数码管

LED数码管显示器在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示.

LED数码管显示器有两种连接方法

(1)共阳极接法把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时则不点亮。

(2)共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时则不点亮。

在本设计中所采用的是共阴极LED数码显示器,其引脚排列如下图2-1所示:

图2-1.LED引脚

2.3.3 晶振电路

图2-2 晶振电路

2.3.4 复位电路

AT89C51的上电复位电路,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1UF。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。

第3章 电子时钟的硬件设计

3.1 proteus简介

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,20##年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

3.2 电子时钟原理图

图3-1.电子时钟的原理图

电子时钟原理图可以分为三个模块:

动态显示模块:单片机对数码管的位选以及循环显示。单片机的p0口跟数码管的连接,用于数码管的显示。单片机的p1口跟数码管的连接用于对数码管的位选。

定时模块:设置50ms定时时间,计算初值,对TH1和TL1赋值,进行时分秒的计数。

功能按键模块:三个功能按键和一个控制总控。三个功能开关为调秒,调分,调时,分别接在单片机的p3.2,p3.3,p3.4口。调节总控接在p2.0口。

 第4章 电子时钟的软件设计

4.1 电子时钟的动态显示模块


4.2电子时钟的定时模块

4.3 电子时钟的功能按键模块

 


第5章 系统仿真

5.1初始化状态图

图5-1 初始化状态图

5.2 调秒测试图

图5-2 调秒测试图

5.3 调分测试图

图5-3 调分测试图

5.4调时测试图

图5-4 调时测试图

5.5 电子时钟设计程序如下:


ORG 0000H

LJMP MAIN

ORG 0003H

LJMP MIAO

ORG 000BH

LJMP SHI

ORG 001BH

LJMP SZ

MAIN:   MOV     R7,  #20

MOV      R4,  #00H

MOV      R5,  #00H

MOV      R6,  #00H

MOV      TMOD,   #10H

MOV      TH1,       #3CH

MOV      TL1, #0B0H

SETB    TR1

SETB      EA

SETB      ET1

SETB      PT1

LOOP:   MOV     A,   R4

MOV      B,    #10

DIV AB

MOV      DPTR,    #TAB

MOVC    A,   @A+DPTR

MOV      P0,  A

MOV      P1,     #01H

LCALL   DELAY

MOV      P0,  #0FFH

MOV      A,    B

MOVC    A,   @A+DPTR

MOV      P0,  A

MOV      P1,     #02H

LCALL   DELAY

MOV      P0,  #0FFH

MOV      P2,  #0FFH

MOV      P1,  #04H

MOV      P0,  #0F6H

LCALL   DELAY

MOV P0,#0FFH

MOV      A,   R5

MOV      B,    #10

DIV AB

MOV      DPTR,    #TAB

MOVC    A,   @A+DPTR

MOV      P0,  A

MOV      P1,     #08H

LCALL   DELAY

MOV      P0,  #0FFH

MOV      A,    B

MOVC    A,   @A+DPTR

MOV      P0,  A

MOV      P1,     #10H

LCALL   DELAY

MOV      P0,  #0FFH

MOV      P2,  #0FFH

MOV      P1,  #20H

MOV      P0,  #0F6H

LCALL   DELAY

MOV      P0,  #0FFH

MOV      A,   R6

MOV      B,    #10

DIV AB

MOV      DPTR,    #TAB

MOVC    A,   @A+DPTR

MOV      P0,  A

MOV      P1,  #40H

LCALL   DELAY

MOV      P0,  #0FFH

MOV      A,    B

MOVC    A,   @A+DPTR

MOV      P0,  A

MOV      P1,     #80H

LCALL   DELAY

MOV      P0,  #0FFH

MOV      P2,  #0FFH

LCALL   DELAY

LJMP     LOOP

SZ:  PUSH     ACC

MOV      TH1,       #3CH

MOV      TL1, #0B0H

DJNZ      R7,  L2

MOV      R7,  #20

INC R4

MOV      A,    R4

CJNE     A,    #60, L2

MOV      R4,  #00H

INC R5

MOV      A,    R5

CJNE      A,    #60, L2

MOV      R5,  #00H

INC R6

MOV      A,    R6

CJNE      A,    #12, L2

MOV      R6,  #00H

L2:  POP ACC

RETI

DELAY:  MOV    R3,  #10

DEL2:    MOV   R2,  #100

NOP

DJNZ   R2,$

DJNZ   R3,DEL2

RET

MIAO:RET

SHI:RET

FEN:RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H


第六章 心得体会

这次课程设计的课题是电子时钟。虽然上了单片机课,但是我们对电子时钟了解还是挺模糊的。这次课程设计让我们对电子时钟的应用有了更进一步的理解,陡然间发觉单片机与我们的生活是密切相关的。这一周的课程对我们的学习还是有一定作用的,下面是我对着一周课程设计的收获与不足。取之长,补之短,在今后的学习和工作中所受用。 设计主要是以实验为主,实验是为了让你动手做,去探索一些你未知的或是你尚不是深刻理解的东西。以前都是老师叫怎么做就怎么做,跟着老师走,这次给了我们很大的发挥空间,提高了我们的自学能力。同时也发现了自己的不足,之前总以为学这个没用,学那个也没用,现在发现单片机用处多多。做实验还是需要建立在理论知识的基础之上,这样才不会脱离实际,也更加有目的,以后上课要认真听。

通过这次对数字电子时钟的设计,让我受益匪浅,首先深入的理解了设计电路的程序。同时,这次电子时钟作品设计与制作让我感触颇多:1.让我理解了“三个臭皮匠顶一个诸葛亮”和“团结就是力量”等名言名句的真正含义,使我明白只要我们团结协作没有什么困难是战胜不了的,团结让我们成功,团结让我们胜利,团结让我们的力量更强大;2.增进我和同学之间的友谊,在与同学互相学习的过程中使我体会了他们解决问题的方法与思路,让我领会了解决问题的精髓,使我们学习更有活力更有信心,更有自信,培养了我们的协助合作能力;3.培养了我的动手能力和独立解决问题的能力;4.巩固加强了我们自主学习和利用网络资源能力。

参考文献

1.朱月,秀王秀山.《单片机基础》[M].北京航空航天出版社。

2、谢维成杨加国《单片机原理与应用及C51程序设计》[M].清华大学出版社。

    3 、《单片微型计算机原理及接口技术》陈光东 等编    华中科技大学出版社

4、《单片机实用系统设计技术》房小翠 编   国防工业出版

元器件清单

                   表1      元器件清单

相关推荐