单片机课程设计论文_电子时钟设计(3)

2018-11-24 18:24

变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),

不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当

/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于

施加12V编程电源(VPP)。

3 控制系统的硬件设计

3.1 单片机型号的选择

通过对多种单片机性能的分析,最终认为89C51是最理想的电子时钟开发芯片。

89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8

位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的

MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在

单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。

3.2 数码管显示工作原理

数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为

8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接

在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,

10

其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。

图3.1 共阴数码管

3.3 键盘电路设计

该设计只用了一个键盘,但实现的功能却是比较完善,减少了硬件资源的损耗,

该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间调节的目的。

图3.2 多功能控制键

11

3.4 整个电路原理图

图3.3 系统电路原理图 4 控制系统的软件设计

4.1 程序设计

本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、

延时程序四大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。

定时计数中断程序:

MOV TMOD,#00H ;写控制字 MOV TH0,#0F0H ;写定时常数 MOV TLO,#0CH

SETB TR0 ;启动T0

12

SETB ETO ;允许T0中断 SETB EA ;开放CPU中断 AJMP $

时间调整程序:

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 ;省电(LED不显示)状态。开T0

中断

SETB TR0 ;开启T0定时器(开时钟) CLOSE: JB P3.7,CLOSE ;无按键按下,等待。

13

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 SET6: JB P3.7,SET7 LCALL DL05S JNB P3.7,SETOUT MOV R0,#79H LCALL ADD1 MOV A,R3 ; CLR C ;

CJNE A,#24H,HOUU

HOUU: JC SET6 LCALL CLR0 AJMP SET6 SETOUT: JNB P3.7,SETOUT1 释放

LCALL DISPLAY JNB P3.7,SETOUT CLR 01H CLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0

14

;小时调整标志置1 ;等待按键按下 ;有键按下延时0.5秒

;按下时间大于0.5秒退出时间调整 ;按下时间小于0.5秒加1小时操作 ;调加1子程序 ;计时单元数据与24比较

小于24转SET6循环 ;大于或等于24时清0操作 ; 跳转到SET6循环

;调时退出程序。等待键

;延时削抖

;是抖动,返回SETOUT再等待 ;清调小时标志 ;清调分标志 ;清闪烁标志 ;关闭定时器T1 ;关定时器T1中断 ;开启定时器T0

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


单片机课程设计论文_电子时钟设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常州科教城“千百菁英计划”岗位需求信息

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: