基于单片机的倒计时器计数器设计.docx
- 文档编号:28947956
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:31
- 大小:212.96KB
基于单片机的倒计时器计数器设计.docx
《基于单片机的倒计时器计数器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的倒计时器计数器设计.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机的倒计时器计数器设计
目录
目录1
摘要3
Abstract4
第一章设计要求与方案确定5
1.1设计意义5
1.2设计要求5
1.3方案确定5
第二章硬件电路6
2.1单片机概述6
2.1.1单片机基础6
2.1.2单片机与单片机系统7
2.1.3单片机的产生与发展7
2.2MCS-51系列单片机介绍8
2.2.180C51芯片介绍8
2.2.3最小系统9
2.2.4定时与中断的概念10
2.4LED显示电路设计与器件选择12
2.4.1.LED显示器的选择13
2.4.2LED驱动芯片选择13
2.5按键电路设计13
2.6蜂鸣器电路的设计14
第三章倒计时器的设计15
3.1倒计时器系统设计方案及框图15
3.2程序设计15
3.2.1主程序设计15
3.2.2倒计时模块设计17
3.2.3键盘扫描数码管显示程序17
第四章倒计时器设计仿真18
4.1设置倒计时初值18
4.2开始倒计时18
4.3倒计时结束并报警19
总结20
参考文献21
致谢22
附录1倒计时器设计源程序23
附录2所用元器件清单28
摘要
近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。
在实时控制和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本系统由单片机系统、矩阵式键盘、蜂鸣器和LED数码管显示系统组成。
装置利用AT89C51单片机与74LS245驱动器驱动LED数码管显示。
通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。
当倒计时时间到时,由P1.0口驱动蜂鸣器发声报警。
为了简化电路,降低成本,采用以软件为主的的接口方法。
该系统实用、功能灵活多样,可以对计时时间进行实时控制,可以广泛的应用于各种场所的控制设备。
【关键词】单片机;LED数码管显示器;倒计时;报警
Abstract
Inrecentyears,withthecomputerpenetrationinthesocialfield,theapplicationofSCMtrendsareatthesametime,changingtraditionalcontrolupdatedetection.Inreal-timecontrolandautomationapplicationsofsingle-chip,single-chipisoftenacorecomponenttouseonlysingle-chipisnotenoughknowledge,butalsothespecifichardwarestructureandapplicationofobject-specificcharacteristicssoftwaretomakeperfect.
Thesystemconsistsofsingle-chipsystems,matrixkeyboard,buzzerandLEDdigitaldisplaysystem.AT89C51single-chipdevicesusing74LS245drivesanddigitalLEDdisplaydriver.Buttoncontrolsettingsthroughthecountdowntime,andthencontrolthesystemthroughthedisruptionofthecountdown.WhenthecountdowntimetowhenIdrivebyP1.0audiblealarmbuzzer.Tosimplifythecircuit,reducecosts,theuseofsoftware-basedinterfacemethods.
Thesystemispractical,flexibleanddiversefeaturescanbetime-timeforreal-timecontrolcanbewidelyusedinvariousplacesofthecontrolequipment.
【Keywords】single-chipmicrocomputer;LEDdigitaltubedisplay;countdown;alarm
第一章设计要求与方案确定
1.1设计意义
本课题开发的意义在于它既节省了硬件成本,又能实现多功能。
既可做倒计时秒表,又可进行定时,还可以通过扩展完成其他功能,而且功能的相互转换也十分简单。
对于厂商,有很大的挖掘潜在价值的空间;对于消费者,也有很大的吸引力。
1.2设计要求
(1)以MCGS-51系列单片机为核心器件,组成一个倒计时系统。
(2)系统显示器由7位数字型数码管组成,分别显示时间值的分,秒和0.1秒。
(3)能够通过小键盘阵列设定倒计时时间。
(4)倒计时到,由蜂鸣器发出报警。
1.3方案确定
为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。
由于静态显示法需要数据锁存器等硬件,接口复杂一些。
考虑计时器显示只有7位,且系统没有其他复杂的处理任务,所以决定用动态扫描法实现LED的显示。
单片机采用AT89C51系列,如果要使用电池供电的话,则可以采用LV系列的单片机。
硬件系统的总体构成框架如下图1.1所示。
图1.1系统总体构架框图
第二章硬件电路
2.1单片机概述
单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU(Centralprocessingunit)。
随机存储器RAM(Randomaccessmemory)。
只读存储器ROM(Readonlymemory)。
中断系统、定时器/计数器以及I\O(Input/output)接口电路等主要微型机部件集成在一个芯片上。
虽然单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性。
为此,称它为单片微型计算机SCMC(Singlechipmicrocomputer),简称单片机。
单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制属性,也可以把单片机称为微控制器MCU(Microcontrollerunit)。
在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。
单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其"嵌入"的特点,也常常将单片机称为嵌入式微控制器EMCU(Embeddedmicrocontrollerunit)。
在单片机的电路和结构中,有许多嵌入式应用的特点。
2.1.1单片机基础
1.通用单片机和专用单片机
根据控制应用的需要,可以将单片机分成为通用型和专用型两种类型。
通用型单片机是一种基本芯片,他的内部资源比较丰富,性能全面且适用性强,能覆盖多种应用需要。
用户可以根据需要设计成各种不同应用的控制系统,即通用单片机有一个在设计的过程,通过用户的进一步设计,才能组建成一个以通用单片机芯片为核心再配以其它外围电路的应用控制系统。
然而在单片机的控制应用中,有许多时候是专门针对某个特定产品的,例如电度表和IC卡读写器上的单片机等。
这种应用的最大特点是针对性强而且数量巨大,为此厂家常与芯片制造商合作,设计和生产专用的单片机芯片。
由于专用单片机芯片是针对一种产品或一种控制应用而专门设计的,设计时已经对系统结构的最简化,软硬件资源利用的最优化,
2.1.2单片机与单片机系统
单片机通常是指芯片本身,它是有芯片制造商生产的,在它上面集成的是一些做为基本组成部分的运算器电路,控制器电路,存储器,中断系统,定时器/计数器以及输入/输出口电路等。
但一个单片机芯片并不能把计算机的全部电路都集成到其中,例如组成谐振电路和复位电路的石英晶体,电阻,电容等,这些元件在单片机系统中只能以散件的形式出现。
此外,在实际的控制应用中,常常需要扩展外围电路和外围芯片。
从中可以看到单片机和单片机系统的差别,即:
单片机只是一块芯片,而单片机系统则是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。
通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统。
在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础。
2.1.3单片机的产生与发展
1.单片机的产生
电子计算机的发展经历了从电子管,晶体管,集成电路到大(超大)规模集成电路共四个阶段,即通常所说的第一代,第二代,第三代和第四代计算机。
现在广泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代计算机,而单片机则是微型计算机的一个分支。
从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展;一个是向高速度,大容量,高性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格廉价的单片机方向发展。
但是两者在原理和技术上是紧密联系的。
2.单片机的发展
继1971年微处理器的研制成功不久,就出现了单片的微型计算机即单片机,但最早出现的单片机是一位的,1976年Intel公司推出了8位的MCS-48系列单片机,它以体积小、控制功能全、价格低等特点,赢得了广泛的应用和好评,为单片机的发展奠定了坚实的基础,成为单片机发展史上一个重要阶段,其后,在MCS-48成功的刺激下,许多半导体芯片在生产厂商竞相研制和发展自己的单片机系列。
到80年代末,世界各地已相继研制出大约50个系列300多个品种的单片机产品,其中包括Motorola公司的6801,6802,Zilog公司的Z-8系列,Rockwell公司的6501,6502等,此外,日本的NEC公司,日立公司等也不甘落后,相继推出了各自的单片机品种。
尽管目前单片机的品种很多,但是我过使用最多的是Intel公司的MCS-51单片机系列。
MCS-51系列是在MCS-48的基础上于20世纪80年代初发展起来的,虽然它是8位的单片机,但其功能较MCS-48有很大的增强。
此外,它还具有品种全,兼容性强,软硬件资料丰富等特点,因此应用愈加广泛,成为比MCS-48更重要的单片机品种,直到现在,MCS-51仍不失为单片机的主流系列。
继8位单片机之后,又出现了16位单片机,1983年Intel公司推出的MCS-96系列单片机就是其中的典型代表。
与MCS-51相比,MCS-96不但字长增加一倍,而且在其他性能方面也有很大的提高,特别是芯片内还增加了一个4路或8路的10位A/D转换器,使其具有A/D转换的功能。
纵观单片机近30年的发展历程,单片机今后将向多功能、高性能、高速度、低电压、低功耗、低价格、外围电路简单化以及片内存储器容量增加的方向发展。
但其位数不一定会继续增加,尽管现在已经有了32位单片机,但使用的并不多。
可以预言,今后的单片机将是功能更强,集成度和可靠性更高而功耗更低,以及使用更方便等特点。
此外,专用化也是单片机的一个发展方向,针对单一用途的专用单片机将会越来越多。
2.2MCS-51系列单片机介绍
2.2.180C51芯片介绍
MCS-51的原生产厂商是Intel公司,最早推出80C51芯片的也是Intel公司,并且作为MCS-51的一部分,按原MCS-51芯片的规则命名,例如80C31、80C51、87C51和89C51,这样我们就能很容易地认识80C51的系列芯片。
但是后来愈来愈多的厂商生产80C51的系列芯片,例如PHILIPS,ATMEL,LG,华邦等公司。
这些芯片都是以80C51为核心并且与MCS-51芯片兼容,但它们又各具特点。
然而由于生产厂家多,芯片的类型也很多,使芯片的命名无法再遵循统一的规律,造成我们辨认上的困难。
例如PHILIPS公司生产的80C51系列芯片名称分别为:
80CXXX(ROMLess型),83CXXX(MaskROM型);Siemens公司命名为C500系列,芯片型号以”C5“打头;而华邦公司则命名为W77C51系列和W78C51系列等等。
新一代80C51的兼容芯片,还在芯片中增加了一些外部接口功能单元,例如数/模转换器,可编程计数器阵列,监视定时器,高速I/O口,计数器的俘获/比较逻辑等,有些还在总线结构上也做了重大改进,出现了廉价的非总线型单片机芯片......。
所有这些使新一代的兼容芯片已远非原来意义上的80C51了。
目前这些80C51的兼容芯片已开始在我国使用,其中尤以PHILIPS公司的同名芯片80C51及其派生产品最受欢迎,而ATMEL公司的闪速存储器型单片机芯片AT89C51等更是后来居上,大有取代传统EPROM型芯片之势。
2.2.3最小系统
最小系统就是单片机在发挥具体测控功能时所必须的组成部分。
如下图2.1所示为最小系统方框图:
2.2.4定时与中断的概念
中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。
向CPU发出中断请求的来源称之为中断源。
MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。
1.外中断
外中断是由外部信号引起的,共有两个中断源,即外部中断“0”和外部中断“1”。
它们的中断请求信号分别由引脚INT0(P3.2)和INT1(P3.3)引入。
外部中断请求有两种信号方式,即电平方式和脉冲方式,可通过有关控制位进行定义。
2.定时中断
定时中断是为满足定时或计数的需要而设置的。
3.串行中断
串行中断是为串行数据传送的需要而设置的。
4.中断控制
这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。
在MCS-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。
5.定时器控制寄存器(TCON)
该寄存器用于保存外部中断请求和以及定时器的计数溢出。
寄存器地址88H,位地址8FH~88H。
位地址8F8E8D8C8B8A8988
位符号TF1TR1TF0TR0IE1IT1IE0IT0
这个寄存器既有定时器/计数器的控制功能又有中断控制功能,其中与中断有关的控制位共六位:
IE0和IE1、IT0和IT1以及TF0和TF1。
6.中断允许控制寄存器(IE)
寄存器地址A8H,位地址AFH~A8H。
位地址AFAEADACABAAA9A8
位符号EA//ESET1EX1ET0EX0
其中与中断有关的控制位共六位:
EA、EX0和EX1、ET0和ET1、ES。
7.中断优先级控制寄存器(IP)
MCS-51的中断优先级控制只定义了高、低两个优先级。
各中断源的优先级由优先寄存器(IP)进行设定。
IP寄存器地址B8H,位地址为BFH~B8H。
寄存器的内容及位地址表示如下:
位地址BFBEBDBCBBBAB9B8
位符号///PSPT1PX1PT0PX0
PX0外部中断0优先级设定位
PT0定时中断0优先级设定位
PX1外部中断1优先级设定位
PT1定时中断1优先级设定位
PS串行中断优先级设定位
为0的位优先级为低;为1的位优先级为高。
8.定时器/计数器的控制寄存器
与定时器/计数器应用有关的控制寄存器有:
(1)定时器控制寄存器(TCON)
TCON寄存器既参与中断控制又参与定时控制。
其中有关定时的控制位共有四位:
TF0和TF1、TR0和TR1。
(2)工作方式控制寄存器(TMOD)
TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。
但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。
2.3AT89S51的芯片概述
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,4个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,内部集成看门狗计时器片内时钟振荡器。
2.4LED显示电路设计与器件选择
LED显示器的驱动是一个非常重要的问题。
由于单片机的并行口不能直接驱动LED显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能够正常工作。
如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行,容易损坏。
因此,在实际中必须接入LED驱动电路。
LED显示器的显示控制方式分为静态显示和动态显示两种,因此在选择LED驱动器时,一定要先确定显示方式。
若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可。
而且只须考虑段的驱动,因为共阳极接+5V,而共阴极接地,所以位的驱动不需要考虑。
动态显示则不同,由于一位数据的显示是由段选和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。
2.4.1.LED显示器的选择
LED选用7SEG-MPX6-CC-BLUE,如图2.2所示。
图2.2
2.4.2LED驱动芯片选择
段驱动电路有很多种,可以选择BCD-7段锁存/译码驱动器作为段驱动器。
这类芯片的型号有74LS47、74LS48、74LS247、74LS248等,这类芯片具有锁存、译码、驱动的功能。
本设计中选择74LS245。
芯片电路如图2.3。
图2.3
图2.3
2.5按键电路设计
按键电路采用矩阵式键盘电路。
本设计采用3*4的矩阵式电路。
P3.0,P3.1,P3.2为行码扫描,P3.4,P3.5,P3.6,P3.7为列码扫描,如图2.4所示。
图2.4按键电路
2.6蜂鸣器电路的设计
设计要求倒计时时间到时要有声音提醒信号产生,可选择一只蜂鸣器来实现这一功能。
选用电平式蜂鸣器。
蜂鸣器电路与单片机的接口:
蜂鸣器的输入接P1.0口,另一端接地。
当P1.0=1时,蜂鸣器中有电流通过,而产生蜂鸣声。
当P1.0=0时,蜂鸣器不发声。
连接图如图2.5所示。
图2.5蜂鸣器电路
第三章倒计时器的设计
3.1倒计时器系统设计方案及框图
设计时可采用模块化程序设计方法。
模块划分时应遵循下述原则:
(1)没个模块应具有独立的功能,能产生一个明确的结果。
(2)模块之间的控制参数应尽量简单,数据参数应尽量少。
控制参数是指模块进入和推出繁荣条件及方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频繁程度。
(3)模块长度适中。
模块语句的长度通常在20~100条较合适。
米快太长时,分析和调试比较困难,失去了模块化程序结构的优越性;模块太短则信息交换太频繁,也不合适。
(4)根据模块的划分原则,将该程序划分成4个模块,如图3.1所示。
3.2程序设计
3.2.1主程序设计
主程序的设计一般包括:
主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等等。
(1)程序的起始地址
MCS-51系列单片机复位后,(PC)=0000H,而0003H~002BH分别为个中断源的入口地址。
所以,编程池应在0000H处写一跳转指令。
当CPU接受到中断请求信号并予以响应后,CPU把当前的PC内容压入栈中进行保护,然后转入响应的中断服务程序入口处执行。
一般在响应的中断服务程序入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的其始地址进行编程。
(2)主程序的初始化内容
所谓初始化,是对用到的单片机内部部件或拓展芯片进行初始工作状态设定。
在本例中,使用了两个中断,即T0、T1。
其中:
1.T0中断:
采用T0定时中断工作方式,完成倒计时。
2.T1中断:
采用T1定时中断工作方式,完成蜂鸣器报警。
(3)主程序流程图如图3.2所示。
3.2.2倒计时模块设计
(1)定时器T0,T1计数初值
T0计数初值为:
TL0=(65536-50000)/256;TH0=(65536-50000)MOD256
T1计数初值为:
TH1=(65536-700)/256;TL1=(65536-700)MOD256
工作方式TMOD=00000001H=01H
(2)流程图如图3.3所示
3.2.3键盘扫描数码管显示程序
(1)程序设计思路:
先扫描矩阵式键盘的行码,再扫描列码,并显示在数码管的分数值
位。
(2)按键去抖动的处理。
由于机械触点的弹性作用,在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间长短由按键的机械特性决定,一般为5~10ms。
而按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。
键抖动会引起一次按键被误读多次,为了确保CPU对键的一次闭合仅做一次处理,键抖动可用硬件和软件两种方法消除。
本设计采用软件方法,程序框图如图3.4所示。
图3.4按键去抖框图
第四章倒计时器设计仿真
4.1设置倒计时初值
4.2开始倒计时
4.3倒计时结束报警
蜂鸣器中有电流通过,信号显示变为蓝色
总结
该倒计时器是基于定时而设计的实现计时报警的装置。
由键盘扫描、动态LED显示电路、报警三大部分构成。
装置利用AT89C51单片机与74LS245驱动器构成电路,以实现对计时时间的控制。
同时装置还用一个由电平控制的报警装置,用以实现倒计时时间到时进行声音提示。
本装置的最大特点是实时性强,可操作性好。
因为采用了矩阵式键盘控制,能够随时改变倒计时时间,所以装置能够应对不同的要求而做出相应的调整,以适应不同的环境。
看事物要辩证的看。
本装置也存在一些缺点值得注意。
如当按键开关出现问题时,系统会出现错误,甚至误报警。
如果能采用红外线控制则可避免这一问题。
一般倒计时器并不是单独使用,可以与一些需要用到定时报警的大型装置相互配合使用,实现其自身的价值。
定时报警装置越来越受人们关注,从计时几秒到几个小时不等,所选用的器件个不同,功能越来越先进。
所以,将单片机技术与实际结合起来,具有非常广阔的应用前景。
作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。
在已度过的大学时间里,我们大多数接触的是专业课。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 计时器 计数器 设计