单片机数字电子钟课程设计_第1页
单片机数字电子钟课程设计_第2页
单片机数字电子钟课程设计_第3页
单片机数字电子钟课程设计_第4页
单片机数字电子钟课程设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机技术课程设计说明书数字电子钟系 、 部: 学生姓名: 指导教师: 专 业: 班 级: 完成时间:摘 要本设计是一款数字电子钟,本数字电子钟所采用的主要元件有传感器18B20,单片机AT89S52,四位共阳极数码管2个,蜂鸣器一个,排阻2个,数据口一个,开关一个,电容电阻、三极管、发光二极管、排针、触发开关若干。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡

2、脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。关键词 单片机;数字钟ABSTRACTThis design is a new multi-functional digital tube, can be applied to digital electric clock, digital frequency meter, digital voltmeter, lights, digital stopwatch, counter, digital the

3、rmometer, etc. My intention is made of a simple probiotic yogurts probiotic yogurts convenient digital thermometer so only narrative digital thermometer aspects of production. This digital tube adopted by the main components 18B20 had sensors, monolithic integrated circuit AT89S52, four altogether a

4、node digital tube 2, buzzer a, exclusion 2, data mouth a, switch a, capacitance resistance, triode, light emitting diode, row needles, triggering switch is some. SCM module are the most common digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds

5、timing device, and the mechanical clock compared with higher accuracy and intuitive, and without a mechanical device, has more longer service life, so it has been widely used. A digital clock is adopting digital circuit implementation of ", "" points" and "second" digit

6、al display timer device. A digital clock precision, stability than old mechanical clock. In this design, we adopt LED digital display when tube, minutes and seconds to 24 hours timer way, according to digital tube dynamic display elements shows, with the 12MHz crystals produce oscillation pulse, the

7、 timer counting. In this design, circuit has show time its this function can also realize to the time of adjustment. A digital clock is its small, cheap, when high precision, easy to use, the function is much, facilitate integration and receives general consumer's favorite, so it has been widely

8、 used.Key word microcontroller;digital clock目 录1. 电子钟系统总体方案的设计11.1 设计任务11.2 功能要求11.3 总体方案的设计11.3.1 单片机的选择11.3.2 单片机的基本结构12. 数字钟硬件电路的设计52.1 最小系统设计52.1.1 整体设计52.1.2 外接晶体引脚52.1.3 复位RST962.1.4 输入输出引脚62.2 LED显示电路72.3 键盘控制电路93. 系统软件的设计 103.1 监控程序流程图 103.2 显示“P.”主程序流程框图113.3 键扫描子程序流程图123.4 定时器0服务程序流程图133.5

9、 程序清单144. 系统的仿真及调试194.1 仿真软件的简介194.2 电子钟系统PROTUES仿真结果204.3 系统误差分析20设计体会 21参考文献 22致谢 23附录一 系统硬件电路原理图及元件清单附录二 PCB图 及元器件布局图第一章 电子钟系统总体方案的设计1.1设计任务设计一个具有特定功能的电子钟。1.2功能要求该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运

10、行状态。1.3总体方案的设计1.3.1 单片机的选择采用型号为STC89C52的单片机。因为:STC89C52是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数

11、器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。1.3.2单片机的基本结构8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据

12、存储器(RAM):8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图1-1 单片机8052的内部结构程序存储器(ROM):8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8052共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数

13、据的传输。全双工串行口:8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8052单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton

14、)结构。INTEL的MCS-52系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。下图是MCS-52系列单片机的内部结构示意图。图1-2 MCS-52系列单片机的内部结构MCS-52的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。图1-3 单片机的引脚图Pin9:RESET/Vpd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟

15、周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图1-4。图1-4 上电自动和手动复位电路图 Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以

16、当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,Pin29:将用于输入编程脉冲。 当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的803

17、1,EA端必须接地。第二章 数字钟硬件电路的设计2.1最小系统设计2.1.1 整体设计图2-1 单片机最小系统的结构图单片机的最小系统是由电源、复位、晶振、独立键盘、数码管显示电路组成,下面介绍一下每一个组成部分。2.1.2 外接晶体引脚图2-2 晶振连接的内部、外部方式图XTAL1 19、XTAL2 18、 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时

18、钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。2.1.3 复位RST9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处

19、开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。常用的复位电路如下图所示:图2-3 常用复位电路图2.1.4 输入输出引脚(1) P0端口P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻

20、起作用。(2) P1端口P1.0P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(4) P3端口P3.0P3.7

21、P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体请看下表。2.2 LED显示电路分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED数码管有共阳、共阴之分。图是共阳式、共阴式LED数码管的原理图和符号.图2-4 共阳式、共阴式LED数码管的原理图和数码管的符号图显示电路显示模块需要实时显示当前的时间,即时、分、

22、秒,因此需要6个数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位LED显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如下图所示。图2-5 数码管的硬件连接示意图2.3键盘控制电路该设计需要校对时间,所以用三个按键来实现。按khour来调节小时的时间,按 kmin来调节分针的时间,按 ksec来调节秒的时间。下图是按键

23、硬件连接图。图2-6 按键控制电路的硬件连接图第三章 系统软件的设计3.1 监控程序流程图开机自检在电子钟仪器电源接通之后进行自检,中如果没有发现启动键,就自动进入电子钟“P.”显示程序,启动键按下电子钟运行。流程图如3-1所示。图3-1 监控程序流程3.2显示“P.”主程序流程框图“P.”显示是对电子钟电路硬件的检测,若电子钟能稳定的显示“P。”在数码管的最左边说明硬件电路正常。程序流程图如图3-2所示。图3-2 显示“P”主程序流程3.3 键扫描子程序流程图 键扫描程序流程图如图3-3所示。图3-3 键扫描子程序流程3.4定时器/计数器T0中断服务程序流程图定时器/计数器T0中断服务程序流

24、程图如图3-4所示。图3-4 定时器/计数器T0中断服务程序流程图3.5 程序清单;*; ;项目名称:数字电子钟;设计者:黄彦航;设计日期:2010年12月29日;项目功能要求:;(1)上电、按键显示系统提示符“P.”;(2)定义3个功能键:分别为启动/停止键;暂停/继续键;清零键。;(3)第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,调整结束后可按启动/调整键再次进入时钟运行状态。;*; ORG 0000HSTART:TT:LJMP START ORG 000BH LJMP INIT0 MOV R6, #60

25、MOV P3, A MOV P0, #0CH LCALL DELAY DJNZ R6, TT MOV R0,#70H MOV R7,#0CH INC R0 DJNZ R7,INIT MOV 72H,#10 MOV 75H,#10 MOV TMOD,#01H MOV TL0,#0B0H ;选择定时器/计数器T0的方式1 ;对低位赋初值 ;对连字符进行装值 ;主程序开始 ;段码"P." ;闪烁次数 MOV A, #01H ;位选 INIT: MOV R0,#00HMOV TH0,#03CH SETB EA SETB ET0 SETB TR0 LCALL KEYSCAN SJMP

26、 START1;高位赋初值 START1:LCALL SCAN DL1MS:MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2SCAN:DJNZ R6,DL1 RET ;延时1子程序 DL20MS:ACALL SCAN ACALL SCAN ACALL SCAN ;延时20ms子程序 RET ;数码管显示程序开始 MOV A,78H MOV B,#0AH DIV AB ;时间秒的十位送给A,时间秒的个位送B MOV 71H,A MOV 70H,B MOV A,79H MOV B,#0AH ;时间分的十位送给A,时间分的个位送B ;时间分要显示的十位送地址 ;

27、时间分要显示的个位送地址 MOV 74H,A MOV 73H,B MOV A,7AH MOV B,#0AH DIV AB ;时间时的十位送给A,时间时的个位送B ;时间时显示的十位送地址 ;时间时要显示的个位送地址 MOV 77H,A MOV 76H,B MOV R1,#70H MOV R5,#0FEH MOV R3,#08H ;时间秒要显示的十位 ;时间秒要显示的个位 DIV ABSCAN1: MOV A,R5MOV P2,A MOV A,R1 ;数码管的显示程序 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A MOV A,R5 LCALL DL1MS INC R1

28、 MOV A,R5 RL A MOV R5,A DJNZ R3,SCAN1 MOV P2,#0FFH MOV P0,#0FFH RET ;"09"和"-"的字段表 ;对字段表取值显示TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;定时/计数器T0中断程序 INIT0: PUSH ACCPUSH PSW CLR ET0 CLR TR0 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 INC 7BH MOV A,7BHCJNE A,#14H,OUTT0 ;50ms

29、是否到20次,没有到就继续执行50ms的延时MOV 7BH,#00 INC 78H MOV A,78H;一秒的延时是否计到60次,没有就继 CJNE A,#3CH,OUTT0续执行MOV 78H,#00 INC 79H MOV A,79H CJNE A,#3CH,OUTT0 MOV 79H,#00 INC 7AH MOV A,7AH CJNE A,#18H,OUTT0 ;60分钟的延时是否计到24次,没有就 MOV 7AH,#00 ;启动定时器T0 POP PSW POP ACC RETI / 继续执行程序 OUTT0:SETB ET0 ;按键处理程序KEYSCAN:CLR EAJNB P1.

30、0,KEYSCAN0 JNB P1.1,KEYSCAN1 JNB P1.2,KEYSCAN2 RET ;20ms的延时消抖;判断按键是否松手, 松手就往JB P1.0,KEYOUT ;P1.0有按键按下则跳转到子程序 ;P1.1有按键按下则跳转到子程序 ;P1.2有按键按下则跳转到子程序 KEYOUT:SETB EA KEYSCAN0:LCALL DL20MS WAIT0: JNB P1.0,WAIT0下执行程序INC 7CH MOV A,7CH CLR ET0 CLR TR0 CJNE A,#03H,KEYOUT ;按下第一次和第二次对时、分选定 MOV 7CH,#00 SETB ET0 S

31、ETB TR0 SJMP KEYOUT ;按下第三次时就启动计时KEYSCAN1:LCALL DL20MSJB P1.1,KEYOUT MOV A,7CH WAIT1: JNB P1.1,WAIT1 ;按键加一的程序 CJNE A,#02H,KSCAN11 ;如果功能键按下则对时加一调整 INC 79H CJNE A,#3CH,KEYOUT MOV 79H,#00 SJMP KEYOUT;如果功能键是按下第 ;如果加到60则清零 KSCAN11:INC 7AHMOV A,7AH / 二次则对分进行加一调整 CJNE A,#18H,KEYOUT MOV 7AH,#00 SJMP KEYOUT ;

32、延时消抖程序 ;判断是否放开按键 JB P1.2,KEYOUT MOV A,7CH CJNE A,#02H,KSCAN21 ;如果功能键是按下第一次对时进DEC 79H MOV A,79H CJNE A,#0FFH,KEYOUT MOV 79H,#3BH SJMP KEYOUT;如果功能键是按下第二次则对分KEYSCAN2:LCALL DL20MS WAIT2: JNB P1.2,WAIT2 行减一 KSCAN21:DEC 7AH进行减一CJNE A,#0FFH,KEYOUT MOV 7AH,#17H SJMP KEYOUT END第四章 系统的仿真及调试4.1仿真软件的简介本电子钟的设计用的

33、pretues仿真软件设计电路并仿真。Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列

34、、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。因为pretues仿真软件中所有的情况都是在理想想的条件下,但是与实际电路的工作还是有很大的差别,所以我们必需考虑到实际情况应接入驱动限流等电路它才能被实际所应用。4.2电子钟系统PROTUES仿真结果图4.1 电子钟系

35、统仿真结果4.3系统误差分析我们可以发现电子钟在自动运行后一段时间的我们的标准时间相比较出现了误差:所设计的电子钟比我们的标准时间要慢,而且相比较的时间越长他的时差越大。经过分其主要原因与硬件和软件都有关。软件原因:我们从外部中断请求有效到转向中断区入口地址所需的机器周期数来计算中断时间,51系列单片机最短响应时间为3个机器周期。在一般情况下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间,以保证定时的精确控制。硬件原因:单片机的时钟信号是由外部的振荡电路所提供,在芯片的外部通过接XATL1与XATL2这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。因为电子原件不可以就有我们所设计的那么理想(电容的容量,振晶的输出频率)所以会造成我们的时间准确。针对这样的问题我们就能只能从上述两个方面入手去解决。软件方面我们可以通过计算设计子程序去减少响应的时差。硬件部分我们可以采用一些稳定,精确度比较高的电子元件去完善,但是在最后调试出的还是有误差但我尽可能的减少差误差接近理想。结束语经过一周的时间以及对整本教材的知识总结,把课程设计分成了硬件软件两大模块。总的来说,硬件部分很好入手,电路也教简单,主要涉及的是简单的按键、电容、电阻、晶振和数码管。在软件部分,细分为了按键模

温馨提示

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

评论

0/150

提交评论