基于MCS-51单片机的数字时钟

更新时间:2024-01-27 17:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文

题 目:学生姓名:学生学号:系 别:专 业:届 别:指导教师:

基于MCS-51单片机的数字

时钟 童晨阳 0908030230 电气信息工程学院 电子信息工程 2013届 张大雷

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

目录

摘要: .............................................................................................................................................. 2 前言 .................................................................................................................................................. 3 1课题背景及研究基础.................................................................................................................... 4

1.1课题背景 ............................................................................................................................ 4 1.2 课题研究基础 ................................................................................................................... 4 2 MCS-51单片机相关知识介绍 .................................................................................................... 5

2.1单片机的简介 ..................................................................................................................... 5 2.2单片机的发展及其应用 ..................................................................................................... 6 2.3单片机的应用领域 ............................................................................................................. 6 2.4单片机的中断与定时系统 ............................................................................................. 6 3 数字时钟的电路原理图及方案设计 ......................................................................................... 11

3.1数字时钟电路原理图 ....................................................................................................... 11 3.2 单片机最小系统 .............................................................................................................. 11 3.3 显示器工作原理 .............................................................................................................. 13 3.4 元件清单 .......................................................................................................................... 13 3.5 方案的设计和实现 .......................................................................................................... 13 3.6 74LS245简介 ................................................................................................................... 14 4电路的硬件设计 ......................................................................................................................... 15

4.1数字钟系统组成 ............................................................................................................... 15 4.2 程序整体设计 .................................................................................................................. 16 4.3 数字钟的操作 .................................................................................................................. 18 5 数字时钟的原理 ........................................................................................................................ 19

5.1 时钟实现及时的基本方法 .............................................................................................. 19 5.2 数字钟的时间显示 ......................................................................................................... 19 5.3 计时 ................................................................................................................................. 19 5.4 键盘说明及显示 ............................................................................................................. 20 6.总结 ............................................................................................................................................. 20 参考文献 ........................................................................................................................................ 20 附录 ................................................................................................................................................ 22

(1)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

基于MCS-51单片机的数字时钟

学生:童晨阳 指导老师:张大雷 淮南师范学院电气信息工程学院

摘要: 近几年,单片机在各个领域得到广泛的应用。从工业到人们的日常生活,大部分的科技产品都是通过单片机来控制。在它问世之前,自动控制设备不能被广泛的应用,这是因为控制设备的体积庞大,耗电量大,价格昂贵。在第一台微处理器成功研制不久,第一个单片机就问世了。因为其小巧的体积,低功耗,以及高效的性能,单片机受到了大家的欢迎。

今天,单片机成为了解决低复杂度,中等复杂度控制问题的传统选择。文章介绍了单片机在定时方面的基本功能。生活中,我们发现,有时病人要在注射药物之前作皮试试验,防止过敏。护士们有必要在一定时间后记录结果。这时,时间的准确显得很重要的。但是,有些时候,由于病人的人数众多,忘了记录时间。根据这种情况,我们设计了一个设备解决此问题。

我们选择的方法是单片机开发设计使用的传统方法,通过本次设计,可以了解整个单片机开发的流程。文章首先介绍了单片机的基本知识。下来比较了一些可行的方法。同时给出了框图,流程图等。论文涵盖了从需求分析,系统设计,编程,原理图,PCB图等设计的基本过程。

关键词:单片机;软件仿真;原理图

Based on the design of single-chip digital clock

Students: Tongchenyang Instructor:Zhangdalei

Electrical and Information Engineering Department, Huainan Normal University

Abstract:Single Chip Microcomputer has achieved a immemse popularity in all fileds in recent years.From industry to people’s common lives,most of technical applications are controlled by SCM. Before it appeared,the automatic devices could’t be widely used because of their huge size ,large quantity of power cost and high price.The first SCM appeared as soon as the first MCU(MicroController Unit) was successfully developed.Due to its small size,low power cost and high performance,it has been welcomed by people.

(2)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

Nowadays, SCM has been selected as a traditional solution for low or medium complexity problems about devices controlling.This essay shows a basic application of SCM in timing for people’s life. We often find that patients sometimes has to receive medical tests before using medcines for fear that patients may get allery,so it is necessary for nurses to record the result after a fixed time interval. Under this condition,time accuracy is a vital factor that effects the results.Unfornately,some nurses ignore some patients when a large number of patients waiteing for tests.Form this point,we design a device which can solve this problem.

The approach we choose is the common way for SCM developing from which we can get an acknowledge about the SCM develop flowing process.The paper first introduces knowledge on 51 serial SCM,then compares some possible methodologies.At the same time,it also shows block diagrams,flowing process diagrams and so on. It presents the process including requirement analysis ,system design,SCM programming ,program emulation , PCB design and final welding.

Key words: SCM; software emulation; schemetic

前言 在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。

随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能时间系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。

(3)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

1课题背景及研究基础 1.1课题背景

1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础, 电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活不可缺少的工具。数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。 1.2 课题研究基础

单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。 本文讨论的单片机AT89S52可调数字钟系统设计的核心是目前应用极为广泛的51系列单片机,可调数字钟配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。

20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转

(4)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及80C51单片机有多种品种。

他们的指令系统相兼容,主要在内部结构上有些区别。目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。 2 MCS-51单片机相关知识介绍 2.1单片机的简介

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影,它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,

(5)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别,只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。 2.2单片机的发展及其应用

随着集成电路技术的发展,单片机的功能越变越强,涉及到各个电子应用领域。目前单片机的系列也十分多,各有各的特点,如目前的MCS51系列、PIC系列等等,通过这几年的应用,普通感觉到特别需要单片机具有如下几个应用特点:

(一)低功耗、宽电压工作范围,内部看门狗。

(二)高速指令系统,单字节指令,精简指令集易学易用。

(三)内部ROM结构,且具有廉价OTP(一次性写入程式)ROM,以便小批量生产,减少MASK风险。

(四)程序保密功能,防止拷贝,保护成果。 (五)方便的开发工具(仿真器与烧入器)。 2.3单片机的应用领域

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。 2.4单片机的中断与定时系统 2.4.1 MCS-51单片机中断系统

(6)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。 中断源

MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。 1. 外中断

外中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中

断1。它们的中断请求信号分别由引脚INT0(P3.2)和INT1(P3.3)引入。 外部中断请求有两种信号方式,即电平方式和脉冲方式,可通过有关控制位进行定义。 2. 定时中断

定时中断是为满足定时或计数的需要而设置的。 3. 串行中断

串行中断是为串行数据传送的需要而设置的。 中断控制

这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。在MCS-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。

1. 定时器控制寄存器(TCON)

该寄存器用于保存外部中断请求和以及定时器的计数溢出。寄存器地址88H,位地址8FH~88H。

位地8F 址 位符TF1 号 这个寄存器既有定时器/计数器的控制功能又有中断控制功能,其中与中断有关的控制位共六位:IE0和IE1 、IT0和IT1 以及TF0和TF1 。 2. 中断允许控制寄存器(IE)

(7)

8E 8D 8C 8B 8A 89 88 TR1 TF0 TR0 IE1 IT1 IE0 IT0 淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

寄存器地址A8H,位地址AFH~A8H。

位地AF 址 位符EA 号 其中与中断有关的控制位共六位:EA、EX0和EX1 、ET0和ET1 、ES。 3. 中断优先级控制寄存器(IP)

MCS-51的中断优先级控制只定义了高、低两个优先级。各中断源的优先级由优先寄存器(IP)进行设定。IP寄存器地址B8H,位地址为BFH~B8H。寄存器的内容及位地址表示如下:

位地址 位符号 BF / BE / BD / BC PS BB PT1 BA PX1 B9 PT0 B8 PX0 / / ES ET1 EX1 ET0 EX0 AE AD AC AB AA A9 A8 PX0 外部中断0优先级设定位 PT0 定时中断0优先级设定位 PX1 外部中断1优先级设定位 PT1 定时中断1优先级设定位 PS 串行中断优先级设定位

为0的位优先级为低;为1的位优先级为高。 中断响应

中断响应就是对中断源提出的中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求时,紧接着就进行中断响应。中断响应的主要内容是由硬件自动生成一条长调用指令LCALL。其格式为LCALL addr16,这里的addr16就是程序存储器中断区中相应中断的入口地址。在MCS-51单片机中,这些入口地址已由系统设定。

例如,对于外部中断0的响应,产生的长调用指令为:

LCALL 0003H

生成LCALL指令后,紧接着就由CPU执行。首先将程序计数器PC的内容压入堆栈以保护断点,再将中断入口地址装入PC,使程序执行转向相应的中断区入口地址。但由于各中断区只有8个单元。一般情况下难以安排下一个完整的

(8)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

中断

服务程序。因此通常总是在各中断区入口地址处放置一条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。 中断返回

中断响应后就转去执行中断服务程序,完成所需要的操作。中断服务程序的最后一条指令必须是中断返回指令RETI,CPU执行这条指令时,把响应中断时置位的优先级触发器复位,再从堆栈中弹出断点地址送入程序计数器PC,以便从断点处重新执行被中断的主程序。 2.4.2 单片机的定时计数器

MCS-51单片机共有两个可编程的定时器/计数器,分别称定时器/计数器0和定时器/计数器1。它们都是十六位加法计数结构,分别由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)两个8位计数器组成。这四个计数器均属专用寄存器之列。MCS-51的每个定时器/计数器都具有定时和计数两种功能。 1. 计数功能

所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。 2. 定时功能

定时功能也是通过计数器的计数来实现的。不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。也就是每个机器周期计数器加1。由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。 定时器/计数器提供给用户使用的有:八位计数器TH和TL,以及有关的控制位。这些内容只能以软件方法使用。

2.4.3 MCS-51定时器/计数器的四种工作方式 1. 定时工作方式0

方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。当TL0的低5位计数溢出时,向TH0进位,而全部13位计数溢出时,则向计数溢出标志位TF0进位。

在方式0下,当为计数工作方式时,计数值的范围是:

(9)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

1~8192(213)

当为定时工作方式时,定时时间的计算公式为:

(213-计数初值)×晶振周期×12 或 (213-计数初值)×机器周期

其时间单位与晶振周期或机器周期相同(?s)。 2. 定时工作方式1

方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。

当为计数工作方式时,计数值的范围是: 1~65536(216)

当为定时工作方式时,定时时间计算公式为: (216-计数初值)×晶振周期×12 或 (216-计数初值)×机器周期 3. 定时工作方式2

工作方式2是自动重新加载工作方式。在这种工作方式下,把16位计数器分为两部分,即以TL作计数器,以TH作预置寄存器,初始化时把计数初值分别装入TL和TH中。当计数溢出后,不是像前两种工作方式那样通过软件方法,而是由预置寄存器TH以硬件方法自动给计数器TL重新加载。变软件加载为硬件加载。

初始化时,8位计数初值同时装入TL0和TH0中。当TL0计数溢出时,置位TF0,同时把保存在预置寄存器TH0中的计数初值自动加载TL0,然后TL0重新计数。如此重复不止。这不但省去了用户程序中的重装指令,而且也有利于提高定时精度。但这种工作方式下是8位计数结构,计数值有限,最大只能到255。

(10)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

3 数字时钟的电路原理图及方案设计 3.1数字时钟电路原理图

S0S1S2S3S4S5S6S7U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617B0B1B2B3B4B5B6B7A0A1A2A3A4A5A6A7A0A1A2A3A4A5A6A723456789191U2A0A1A2A3A4A5A6A7CEAB/BA74LS245B0B1B2B3B4B5B6B71817161514131211S0S1S2S3S4S5S6S718XTAL29RST293031PSENALEEASECONDMINUTEHOURRET12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51B0B1B2B3B4B5B6B7 图1 数字时钟电路原理图

图1所示为时钟电路原理图,在AT89C52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

3.2 单片机最小系统

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。下面给出一个51单片机的最小系统电路图。

(11)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

图2 最小系统电路图

复位电路:由电容串联电阻构成,由图并结合\电容电压不能突变\的性质可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周

上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C 取10u,R取8.2K。当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。至于如何具体定量计算,可以参考电路分析相关书籍。

晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的。

(12)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

3.3 显示器工作原理

系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。 3.4 元件清单

数字钟元件清单如表1所示:

元件名称 单片机 晶振 电容 电容 按键 排阻 锁存器 液晶显示 规格型号 AT89c51 11.0592MHz 30pF 22μF BUTTON RESPACK-8/10K 74ls245 7SEG-MPX6-CC 表1 电子钟元器件清单

数量(个) 1 1 2 1 4 1 2 1 3.5 方案的设计和实现

本课题采用软件程序设计的方案,利用MCS—51内部的定时/计数器进行中断定时,LED数码显示器和按键,配合软件延时实现时、分、秒的计时。运用串行通信方式且计时不占用CPU时间,能够充分利用好CPU。

(13)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

软件流程及储器地址分配:

本电子钟的软件流程可分为以下几个功能模块: (1)主程序: 初始化与按键监控。

(2计时子程序: 为定时器1中断服务子程序,完成刷新计时缓冲区的功能。 (3时间设置: 由按键输入设置当前时间。 (4)显示: 完成6位动态显示。

(5)按键扫描: 判断是否有键按下,并取键号。 (6)其它辅助子程序,如按键设置、显示、延时等。 完成功能:

(1)时间显示: 上电后,系统自动进入时钟显示,从00:00:00开始计时,此时可以设定当前时间。

(2时间调整: 按下k1键,系统停止计时,进入设定状态,系统保持原有显示,等待键入当前时间,按下k2,k3键可以顺序设置时、分,并在相应数码管上显示设置值,直至6位设置完毕.放开k4开始计时显示。

3.6 74LS245简介

图3 74LS245引脚图

74LS245是我们常用的芯片,用来驱动led或者其他的设备,用法很简单如上图,这里简单的给出一些资料,他是8路同相三态双向总线收发器,可双向传输

(14)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

数据。

a.74LS245还具有双向三态功能,既可以输出,也可以输入数据。

b. 当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。

c. 当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输; 4电路的硬件设计 4.1数字钟系统组成

1.数字钟的构成:振荡器、分频器、计数器、译码器、显示器等几部分。数字钟的时、分、秒实际上就是由一个24进制计数器(00-23),两个60进制计数器(00-59)级联构成。设计数字钟实际上就是计数器的级联。

图4计时器的级联 2.60进制计数器的设计; 3.24进制计数器的设计;

(15)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

4.计数器的级联设计;

5.数字钟设计要点:EWB软件本身提供任意频率的时钟,因此振荡器、分频器不需设计;另外EWB软件也带有内置译码驱动的数码管,故此译码器和显示器也不需设计。 这样,数字钟的设计实际上就是设计如下图的计数器;EWB软件本身提供任意频率的时钟,因此振荡器、分频器不需设计;另外EWB软件也带有内置译码驱动的数码管,故此译码器和显示器也不需设计。 这样,数字钟的设计实际上就是设计如下图的计数器.

图5计数器

4.2 程序整体设计

定时模块,显示模块,数据调整模块,状态调整模块。

(1)总体介绍:此部分主要介绍定时模块,和显示模块。定时部分采用经典的定时器定时。它实现了数字钟的主要部分,和秒表的主要部分,以及产生报时信号,定时设置。显示模块是实现数字钟的又一重要部分,其模块的的独立程度直接影响到数字钟的可视化程度。在此部分的设计中,设置专用显示数据缓冲区40h--45h,与分,时及其他数据缓冲区数据区别,在其中存放的是显示段码,而其他缓冲区存放的是时间数据。在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。显示段码采用动态扫描的方式。在要求改变显示数据的类别时,只须改变@R0(指向数据缓冲区的指针)指向的十进制数据缓冲区即可。

(16)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

(2)数据调整:数据调整有多种方式。一,可以直接进入相关状态进行有关操作,二,将调整分两步,先进入状态,然后执行操作,这两步分别由两个键控制。方式一,比较直接,设计思想也比较简单,但是,这种方式存在操作时间和控制键数目的矛盾。如果用比较少的键,那么可能会在进入状态后处于数据调整等待状态,这样会影响到显示的扫描速度(显示部分可以采用8279芯片来控制,可以解决此问题)。 当然在这种方式下,还可以使用多个状态键,每个状态键,完成一个对应数据的调整。如果采用二的方式,就不会出现这种情况。因为状态的调整,与状态的操作可以分别由两个键控制,其状态的调整数可以多达256个(理论上),操作的完成是这样的,一键控制状态的调整,一键控制数据的调整(具体操作如图2)。以上两种方式的实现都可以采用查询和中断的方式。两种方式必须注意的问题是两者进行相关操作的过程不能太长否则会影响显示的扫描。利用查询的方式,方法传统,对此就不作过多的讨论,以下是采用中断的方式实现的数字钟的一些讨论和有关问题作的一些处理。基于以上的讨论可以设计如下:将调整分为状态调整和数据调整两部分,每次进入中断只执行一次操作,然后返回,这样,就不必让中断处于调整等待状态,这样,可以使中断的耗时很小。将定时器中断的优先级设置为最高级,那么中断的方式和查询的方式一样不会影响到时钟的记数。

在状态进入后,调整指针的指向如右图所示:在右图中@R1表示指向数据缓冲区的指针,它主要是为数据的调整而设立的,在图中:MBF ,HOUR,FS,SS,分别表示时钟的分,时,定时设置分,时,的数据缓冲区。状态5是秒表进入状态,状态6是时钟正常显示状态。 在程序中@R1为专用指针,它的值只在状态调整时改变,每次运行图示模块,只改变一次状态,就跳出程序。调整数据只须改变@R1中的数据即可。

(3)中断方式应注意的问题:采用中断的方式,最好将定时器中断的优先级设置为最高级,关于程序数据的稳定性应注意两个问题:一,在低优先级中断响应时,应在入栈保护数据时禁止高优先级的中断响应。二,在入栈保护有关数据后,对中断程序执行有影响的状态位,寄存器,必须恢复为复位状态的值。例如,在以下程序中,由于用到了十进制调整,所以在中断进入时,将PSW中的AC,CY位清零,否则,十进制调整出错。

(17)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

(4)定时准确性的讨论:程序中定时器,一直处于运行状态,也就是说定时器是理想运作的,其中断程序每隔0.1秒执行一次,在理想状态下,定时器定时是没有系统误差的,但由于定时器中断溢出后,定时器从0开始计数,直到被重新置数,才开始正确定时,这样中断溢出到中断响应到定时器被重新置数,其间消耗的时间就造成了定时器定时的误差。如果在前述定时器不关的情况下,在中断程序的一开始就给定时器置数,此时误差最小,误差大约为:每0.1秒,误差7—12个机器周期。当然这是在定时器定时刚好为0.1秒时的情况,由以上分析,如果数字钟设计为查询的方式或是在中断的方式下将定时器中断设置为最高级,我们在定时值设置时,可以适当的扣除9个机器周期的时间值。但如果在中断的情况下,没有将定时器中断设置为最高级,那就要视中断程序的大小,在定时值设置时,扣除相应的时间值。

(5)软件消抖:消抖可以采用硬件(施密特触发器)的方式,也可以采用软件的方式。在此只讨论软件方式。软件消抖有定时器定时,和利用延时子程序两种方式。一,定时器定时消抖可以不影响显示模块扫描速度,其实现方法是:设置标志位,在定时器中断中将其置位,然后在程序中查询。将其中断优先级设置为低于时钟定时中断,那么它就可以完全不影响时钟定时。二,在采用延时子程序时,如果显示模块的扫描速度本来就不是很快,此时可能会影响到显示的效果,一般情况下,每秒的扫描次数不应小于50次,否则,数码的显示会出现闪烁的情况。因此,延时子程序的延时时间应该小于20毫秒,如果采用定时器定时的方式,延时时间不影响时钟。

如果,设计时采用的是中断的方式来完成有关操作,同样可以采用软件的方式来消抖,其处理思想是:中断不能连续执行,两次之间有一定的时间间隔。 4.3 数字钟的操作

按键KEY0

状态1: KEY0=k-0,调整数字钟的秒数据,每按一次加1秒。 状态2: KEY0=k-1, 调整数字钟的分数据,每按一次加1分。 状态3: KEY0=k-2,调整数字钟的时数据,每按一次加1时。

(18)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

状态4: KEY0=k-3,设置按键,按一次时间为停止状态,时间设好后再按一次时间即按设好的时间开始。

说明:状态N表示KEY0键按下N次。在进行调整或设置状态时,显示对应状态的数据并且对应的各调整位数码管的DP点亮。这样可以使调整更加可视化。

5 数字时钟的原理 5.1 时钟实现及时的基本方法

利用MCS-52系列单片机的可编程定时/计数器、中断系统来实现时钟计数。 (1) 计数初值计算:

把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。假设使用T/C0,方式1,50ms定时,fosc=12MHz。则初值X满足(216-X)×1/12MHz×12μs =50000μs

X=15536→0011110010110000→3CB0H

(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒); (3) 从秒到分和从分到时的计时是通过累加和数值比较实现。 5.2 数字钟的时间显示

电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。

LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1

37H 36H 35H 34H 33H 32H 31H 30H 时十位 时个位 分隔 分十位 分个位 分隔 秒十位 秒个位 5.3 计时

利用AT89S52单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断

(19)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。 5.4 键盘说明及显示

AT89S52的P0口和P2口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B构成键盘电路。

AT89C51 是一种低功耗,高性能的CMOS 8位微型计算机。它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易数字钟的功能不复杂,采用其现有的I/O便可完成,所以本课题中采用此的设计方案。 6.总结 在这次的课题研究过程中,遇到过了许多次困难,程序设计方面不过成熟,运行起来容易错漏百出,对许多器件的功能和结构缺乏了解,以前的学习都是偏向理论化的,往往忽视了实践的作用,通过这次论文研究,是的自身对于一个项目的构成和应用前景有了更新的认识,编程能力和硬件设计的知识得到了巩固和加强;另外,要感谢老师和学校在四年的学习和生活中给予的帮助和爱护。 参考文献 [1] 康华光.电子技术基础·模拟部分[M].北京:高等教育出版社,2006.9. [2] 施文康.《检测技术》[M],国家机械工业出版社,2003.4.

[3] 张培仁,张志坚,高修峰.十六位单片机微处理器原理及应用[M].北京:清华大学出版社,2008.7.

[4] 孙肖子,张企民 . 数字电子技术基础[M] . 西安:西安电子科技大学出版社,2000.7. [5] 刘文涛编著.单片机语言C51典型应用设计[J] .北京: 人民邮电出版社, 2005.3. [6] 谭浩强著. C语言程序设计(第三版)[M].北京- 清华大学出版社, 2005. [7] 蔡静. 电子产品专业LED显示[J].文体用品与科技,2011(10):34.

[8] 刘娟,梁卫文 C语言应用和PROTUES仿真技能实训[M],中国电力出版社,2009.

(20)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

[9] 赵广林.Protel99se电路设计与制版[M].北京:电子工业出版社,2009.2. [10] 徐德鸿.电力电子技术[M].北京:高等教育出版社,2006.8. [11] 吴黎明 .语音信号及单片机处理[M] 科学出版社, 2007. [12] 莫正康 .电力电子应用技术[M].北京:机械工业出版社,2011.6. [13] 邱关源,罗先觉. 电路[M].北京:高等教育出版社, 2006.5.

[18] Myke Predko编著;田玉敏等译. 精通单片机程序设计[M]北京: 人民邮电出版社, 2006. [19] (美)拉宾纳(Rabiner,L.R.),(美)谢弗(Schafer,R.W.)著;朱雪龙 等译.语音信号数字处理[M]-北京: 科学出版社, 1983.2.

[20]樊昌信,曹丽娜.通信原理.国防工业出版社

(21)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

附录 程序清单

S_SET BIT M_SET BIT H_SET BIT SECOND

P1.0 P1.1 P1.2

31H 32H 34H 00H

30H

;数字钟秒控制位 ;分钟控制位 ;小时控制位

EQU

MINUTE EQU HOUR EQU TCNT

EQU ORG SJMP ORG LJMP

START

0BH

INT_T0

DPTR,#TABLE HOUR,#0 MINUTE,#0 SECOND,#0 TCNT,#0 TMOD,#01H

TH0,#(65536-50000)/256

;定时50毫秒

;初始化

START: MOV

MOV MOV MOV MOV MOV MOV MOV MOV SETB

TL0,#(65536-50000)MOD 256 IE,#82H

TR0

;**************************************************** ;判断是否有控制键按下,是哪一个键按下 A1:

LCALL DISPLAY JNB JNB JNB

S_SET,S1 M_SET,S2 H_SET,S3

(22)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

LJMP A1

;去抖动

S1: LCALL DELAY

JB INC MOV CJNE MOV LJMP

SECOND

S_SET,A1

;秒值加1

A,SECOND

A,#60,J0 ;判断是否加到60秒 K1

SECOND,#0

S2: LCALL DELAY

JB

MINUTE

;分钟值加1

M_SET,A1

K1: INC

MOV

A,MINUTE

CJNE

A,#60,J1 ;判断是否加到60分 MOV LJMP

K2

MINUTE,#0

S3: LCALL DELAY

JB

HOUR

;小时值加1

H_SET,A1

K2: INC

MOV CJNE MOV MOV MOV LJMP

A,HOUR

A,#24,J2 ;判断是否加到24小时 A1

HOUR,#0 MINUTE,#0 SECOND,#0

;**************************************************** ;等待按键抬起 J0:

JB S_SET,A1

(23)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

LCALL DISPLAY SJMP JB

J0 M_SET,A1

J1:

LCALL DISPLAY SJMP JB

J1 H_SET,A1

J2:

LCALL DISPLAY SJMP

J2

;*********************************************** ;定时器中断服务程序,对秒,分钟和小时的计数 INT_T0: MOV

MOV INC MOV

TH0,#(65536-50000)/256 TL0,#(65536-50000)MOD 256

TCNT

A,TCNT

;计时1秒

CJNE

A,#20,RETUNE INC MOV MOV CJNE INC MOV MOV CJNE INC MOV MOV CJNE MOV MOV MOV

SECOND

TCNT,#0 A,SECOND

A,#60,RETUNE MINUTE

SECOND,#0 A,MINUTE

A,#60,RETUNE HOUR

MINUTE,#0 A,HOUR

A,#24,RETUNE

HOUR,#0 MINUTE,#0 SECOND,#0

(24)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

MOV TCNT,#0

RETUNE: RETI

;****************************************** ;显示控制子程序 DISPLAY:MOV A,SECOND ;显示秒 MOV B,#10

DIV AB CLR

P3.6

MOVC A,@A+DPTR MOV

P0,A

LCALL DELAY SETB P3.6 MOV

A,B

CLR

P3.7

MOVC A,@A+DPTR MOV P0,A

LCALL DELAY

SETB

P3.7

CLR P3.5 MOV

P0,#40H

LCALL DELAY

SETB

P3.5

MOV A,MINUTE MOV B,#10

DIV AB

CLR

P3.3

MOVC A,@A+DPTR

MOV

P0,A

;显示分隔符

;显示分钟 (25)

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

LCALL DELAY SETB MOV CLR

P3.3

A,B

P3.4

MOVC A,@A+DPTR MOV

P0,A

LCALL DELAY SETB

P3.4

CLR MOV

P3.2

P0,#40H

;显示分隔符

LCALL DELAY SETB

P3.2

MOV

A,HOUR AB P3.0

B,#10

;显示小时

MOV DIV CLR

MOVC A,@A+DPTR MOV

P0,A

LCALL DELAY SETB MOV CLR

P3.0

A,B

P3.1

MOVC A,@A+DPTR MOV

P0,A

LCALL DELAY SETB RET

P3.1

(26)

TABLE: DB

DB

DELAY: MOV D1: MOV DJNZ DJNZ RET

END

淮南师范学院电气信息工程学院电子信息工程2013届毕业论文

3FH,06H,5BH,4FH,66H 6DH,7DH,07H,7FH,6FH R6,#10

R7,#250

R7,$ R6,D1

(27)

本文来源:https://www.bwwdw.com/article/lrkw.html

Top