基于单片机的倒计时器(计数器)课程设计)_第1页
基于单片机的倒计时器(计数器)课程设计)_第2页
基于单片机的倒计时器(计数器)课程设计)_第3页
基于单片机的倒计时器(计数器)课程设计)_第4页
基于单片机的倒计时器(计数器)课程设计)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、i 湖南文理学院课程设计报告 课程名称: 单片机原理课程设计 学 院: 电信学院 专业班级: 自动化 07101 学生姓名: 王维 指导老师: 张晓虎 完成时间: 报告成绩: 评阅意见: 评阅教师 日期 ii 倒计时器设计 倒计时器 1 目录 目录 .1 摘要 .3 abstract .4 第一章 设计要求与方案确定 .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.2 mcs-51 系列单片机介绍 .8 2.2.1

2、 80c51 芯片介绍.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 倒计时器 2 第四章 倒计时器设计仿真 .18 4.1 设置倒计时初值 .18 4.2 开始倒计时 .1

3、8 4.3 倒计时结束并报警 .19 总结 .20 参考文献 .21 致谢 .22 附录 1 倒计时器设计源程序.23 附录 2 所用元器件清单.28 倒计时器 3 摘要 近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带 动传统控制检测日新月异更新。在实时控制和自动控制的单片机应用系统中,单片机往 往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构, 以及针对具体应用对象特点的软件结合,以作完善。 本系统由单片机系统、矩阵式键盘、蜂鸣器和 led 数码管显示系统组成。装置利用 at89c51 单片机与 74ls245 驱动器驱动 led 数码管显

4、示。通过按键控制设定倒计时时间, 再通过中断控制系统开始倒计时。当倒计时时间到时,由 p1.0 口驱动蜂鸣器发声报警。 为了简化电路,降低成本,采用以软件为主的的接口方法。 该系统实用、功能灵活多样,可以对计时时间进行实时控制,可以广泛的应用于各 种场所的控制设备。 【关键词】 单片机;led 数码管显示器;倒计时 ;报警 倒计时器 4 abstract in recent years, with the computer penetration in the social field, the application of scm trends are at the same time, c

5、hanging traditional control update detection. in real-time control and automation applications of single-chip, single-chip is often a core component to use only single-chip is not enough knowledge, but also the specific hardware structure and application of object-specific characteristics software t

6、o make perfect. the system consists of single-chip systems, matrix keyboard, buzzer and led digital display system. at89c51 single-chip devices using 74ls245 drives and digital led display driver. button control settings through the countdown time, and then control the system through the disruption

7、of the countdown. when the countdown time to when i drive by p1.0 audible alarm buzzer. to simplify the circuit, reduce costs, the use of software-based interface methods. the system is practical, flexible and diverse features can be time-time for real-time control can be widely used in various plac

8、es of the control equipment. 【keywords】 single-chip microcomputer; led digital tube display; countdown; alarm 倒计时器 5 倒计时器 6 第一章 设计要求与方案确定 1.1 设计意义 本课题开发的意义在于它既节省了硬件成本,又能实现多功能。既可做倒计时 秒表,又可进行定时,还可以通过扩展完成其他功能,而且功能的相互转换也十分 简单。对于厂商,有很大的挖掘潜在价值的空间;对于消费者,也有很大的吸引力。 1.2 设计要求 (1)以 mcgs-51 系列单片机为核心器件,组成一个倒计时系统。

9、 (2)系统显示器由 7 位数字型数码管组成,分别显示时间值的分,秒和 0.1 秒。 (3)能够通过小键盘阵列设定倒计时时间。 (4)倒计时到,由蜂鸣器发出报警。 1.3 方案确定 为了实现 led 显示器的数字显示,可以采用静态显示法和动态显示法。由于静 态显示法需要数据锁存器等硬件,接口复杂一些。考虑计时器显示只有 7 位,且系 统没有其他复杂的处理任务,所以决定用动态扫描法实现 led 的显示。单片机采用 at89c51 系列,如果要使用电池供电的话,则可以采用 lv 系列的单片机。硬件系 统的总体构成框架如下图 1.1 所示。 单片机 按键输入电路 蜂鸣器电路 开关电路 led 驱 动

10、电路 led 显 示电路 图 1.1 系统总体构架框图 倒计时器 7 第二章 硬件电路 2.1 单片机概述 单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理 器 cpu(central processing unit)。随机存储器 ram(random access memory)。 只读存储器 rom(read only memory)。 中断系统、定时器计数器以及 io(input/output)接口电路等主要微型机 部件集成在一个芯片上。虽然单片机只是一个芯片,但从组成和功能上看,它已具 有了计算机系统的属性。为此,称它为单片微型计算机 scmc(single chi

11、p micro computer),简称单片机。 单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制 属性,也可以把单片机称为微控制器 mcu(micro controller unit)。在国际上, “微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。 单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方 式进行使用,为了强调其嵌入的特点,也常常将单片机称为嵌入式微控制器 emcu(embedded micro controller unit)。在单片机的电路和结构中,有许多嵌 入式应用的特点。 2.1.1 单片机基础 1. 通用单片机

12、和专用单片机 根据控制应用的需要,可以将单片机分成为通用型和专用型两种类型。 通用型单片机是一种基本芯片,他的内部资源比较丰富,性能全面且适用性强, 能覆盖多种应用需要。用户可以根据需要设计成各种不同应用的控制系统,即通用 单片机有一个在设计的过程,通过用户的进一步设计,才能组建成一个以通用单片 机芯片为核心再配以其它外围电路的应用控制系统。然而在单片机的控制应用中, 倒计时器 8 有许多时候是专门针对某个特定产品的,例如电度表和 ic 卡读写器上的单片机等。 这种应用的最大特点是针对性强而且数量巨大,为此厂家常与芯片制造商合作,设 计和生产专用的单片机芯片。由于专用单片机芯片是针对一种产品或

13、一种控制应用 而专门设计的,设计时已经对系统结构的最简化,软硬件资源利用的最优化, 2.1.2 单片机与单片机系统 单片机通常是指芯片本身,它是有芯片制造商生产的,在它上面集成的是一些 做为基本组成部分的运算器电路,控制器电路,存储器,中断系统,定时器/计数 器以及输入/输出口电路等。但一个单片机芯片并不能把计算机的全部电路都集成 到其中,例如组成谐振电路和复位电路的石英晶体,电阻,电容等,这些元件在单 片机系统中只能以散件的形式出现。此外,在实际的控制应用中,常常需要扩展外 围电路和外围芯片。从中可以看到单片机和单片机系统的差别,即:单片机只是一 块芯片,而单片机系统则是在单片机芯片的基础上

14、扩展其它电路或芯片构成的具有 一定应用功能的计算机系统。 通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围 绕单片机芯片而组建的计算机应用系统。在单片机系统中,单片机处于核心地位, 是构成单片机系统的硬件和软件基础。 2.1.3 单片机的产生与发展 1. 单片机的产生 电子计算机的发展经历了从电子管,晶体管,集成电路到大(超大)规模集成 电路共四个阶段,即通常所说的第一代,第二代,第三代和第四代计算机。现在广 泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代计算机, 而单片机则是微型计算机的一个分支。从 1971 年微型计算机问世以来,由于实际 应用的需要

15、,微型计算机向着两个不同的方向发展;一个是向高速度,大容量,高 性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格廉价的单片机 方向发展。但是两者在原理和技术上是紧密联系的。 倒计时器 9 2. 单片机的发展 继 1971 年微处理器的研制成功不久,就出现了单片的微型计算机即单片机, 但最早出现的单片机是一位的,1976 年 intel 公司推出了 8 位的 mcs-48 系列单片 机,它以体积小、控制功能全、价格低等特点,赢得了广泛的应用和好评,为单片 机的发展奠定了坚实的基础,成为单片机发展史上一个重要阶段,其后,在 mcs- 48 成功的刺激下,许多半导体芯片在生产厂商竞相研制

16、和发展自己的单片机系列。 到 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 有很大的增强。此外,它 还具

17、有品种全,兼容性强,软硬件资料丰富等特点,因此应用愈加广泛,成为比 mcs-48 更重要的单片机品种,直到现在,mcs-51 仍不失为单片机的主流系列。 继 8 位单片机之后,又出现了 16 位单片机,1983 年 intel 公司推出的 mcs-96 系列单片机就是其中的典型代表。与 mcs-51 相比,mcs-96 不但字长增加一倍,而 且在其他性能方面也有很大的提高,特别是芯片内还增加了一个 4 路或 8 路的 10 位 a/d 转换器,使其具有 a/d 转换的功能。纵观单片机近 30 年的发展历程,单片 机今后将向多功能、高性能、高速度、低电压、低功耗、低价格、外围电路简单化 以及片内

18、存储器容量增加的方向发展。但其位数不一定会继续增加,尽管现在已经 有了 32 位单片机,但使用的并不多。可以预言,今后的单片机将是功能更强,集 成度和可靠性更高而功耗更低,以及使用更方便等特点。此外,专用化也是单片机 的一个发展方向,针对单一用途的专用单片机将会越来越多。 倒计时器 10 2.2 mcs-51 系列单片机介绍 2.2.1 80c51 芯片介绍 mcs-51 的原生产厂商是 intel 公司,最早推出 80c51 芯片的也是 intel 公司, 并且作为 mcs-51 的一部分,按原 mcs-51 芯片的规则命名,例如 80c31、80c51、87c51 和 89c51,这样我们

19、就能很容易地认识 80c51 的系列芯片。 但是后来愈来愈多的厂商生产 80c51 的系列芯片,例如 philips,atmel,lg,华邦等公司。这些芯片都是以 80c51 为核心并且与 mcs-51 芯片兼容,但它们又各具特点。然而由于生产厂家多,芯片的类型也很多,使芯片 的命名无法再遵循统一的规律,造成我们辨认上的困难。例如 philips 公司生产的 80c51 系列芯片名称分别为:80cxxx(rom less 型),83cxxx(mask rom 型); siemens 公司命名为 c500 系列,芯片型号以”c5“打头;而华邦公司则命名为 w77c51 系列和 w78c51 系列

20、等等。 新一代 80c51 的兼容芯片,还在芯片中增加了一些外部接口功能单元,例如数 /模转换器,可编程计数器阵列,监视定时器,高速 i/o 口,计数器的俘获/比较逻 辑等,有些还在总线结构上也做了重大改进,出现了廉价的非总线型单片机芯片. .。所有这些使新一代的兼容芯片已远非原来意义上的 80c51 了。 目前这些 80c51 的兼容芯片已开始在我国使用,其中尤以 philips 公司的同 名芯片 80c51 及其派生产品最受欢迎,而 atmel 公司的闪速存储器型单片机芯片 at89c51 等更是后来居上,大有取代传统 eprom 型芯片之势。 2.2.3 最小系统 最小系统就是单片机在发

21、挥具体测控功能时所必须的组成部分。如下图 2.1 所 示为最小系统方框图: 倒计时器 11 微型单片机 输入/输出设备 电源 复位电路 振荡电路 图 2.1 最小系统方框图 2.2.4 定时与中断的概念 中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源, 所以中断技术实质上就是一种资源共享技术。 向 cpu 发出中断请求的来源称之为中断源。mcs-51 是一个多中断源的单片机, 以 80c51 为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行 中断一个。 1. 外中断 外中断是由外部信号引起的,共有两个中断源,即外部中断“0”和外部中断 “1”。它们的中断请求

22、信号分别由引脚 int0(p3.2)和 int1(p3.3)引入。 外部中断请求有两种信号方式,即电平方式和脉冲方式,可通过有关控制位进 行定义。 2. 定时中断 定时中断是为满足定时或计数的需要而设置的。 3. 串行中断 串行中断是为串行数据传送的需要而设置的。 4. 中断控制 这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专 用寄存器。在 mcs-51 单片机中,用于此目的的控制寄存器共有四个,即定时器控 倒计时器 12 制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。 5. 定时器控制寄存器(tcon) 该寄存器用于保存外部中断请求和以及定时器的

23、计数溢出。寄存器地址 88h, 位地址 8fh88h。 位地址 8f 8e 8d 8c 8b 8a 89 88 位符号 tf1 tr1 tf0 tr0 ie1 it1 ie0 it0 这个寄存器既有定时器/计数器的控制功能又有中断控制功能,其中与中断有 关的控制位共六位:ie0 和 ie1 、it0 和 it1 以及 tf0 和 tf1 。 6. 中断允许控制寄存器(ie) 寄存器地址 a8h,位地址 afha8h。 位地址 af ae ad ac ab aa a9 a8 位符号 ea es et1 ex1 et0 ex0 其中与中断有关的控制位共六位:ea、ex0 和 ex1 、et0 和

24、et1 、es。 7. 中断优先级控制寄存器(ip) mcs-51 的中断优先级控制只定义了高、低两个优先级。各中断源的优先级由 优先寄存器(ip)进行设定。ip 寄存器地址 b8h,位地址为 bfhb8h。寄存器的 内容及位地址表示如下: 位地址 bf be bd bc bb ba b9 b8 位符号 ps pt1 px1 pt0 px0 px0 外部中断 0 优先级设定位 pt0 定时中断 0 优先级设定位 px1 外部中断 1 优先级设定位 pt1 定时中断 1 优先级设定位 ps 串行中断优先级设定位 为 0 的位优先级为低;为 1 的位优先级为高。 8. 定时器/计数器的控制寄存器

25、与定时器/计数器应用有关的控制寄存器有: (1) 定时器控制寄存器(tcon) 倒计时器 13 tcon 寄存器既参与中断控制又参与定时控制。其中有关定时的控制位共有四 位:tf0 和 tf1 、tr0 和 tr1 。 (2) 工作方式控制寄存器(tmod) tmod 寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但 tmod 寄存器不能位寻址,只能用字节传送指令设置其内容。 2.3 at89s51 的芯片概述 at89s51 是一个低功耗,高性能 cmos 8 位单片机,片内含 4k bytes isp(in- system programmable)的可反复擦写 1000

26、次的 flash 只读程序存储器,器件采用 atmel 公司的高密度、非易失性存储技术制造,兼容 标准 mcs-51 指令系统及 80c51 引脚结构,芯片内集 成了通用 8 位中央处理器和 isp flash 存储单元,功 能强大的微型计算机的 at89s51 可为许多嵌入式控制 应用系统提供高性价比的解决方案。 at89s51 具有如 下特点:40 个引脚,4k bytes flash 片内程序存储 器,128bytes 的随机存取数据存储器(ram),32 个 外部双向输入/输出(i/o)口,4 个中断优先级 2 层 中断嵌套中断,2 个 16 位可编程定时计数器,2 个全 双工串行通信

27、口,内部集成看门狗计时器片内时钟振 荡器。 2.4led 显示电路设计与器件选择 led 显示器的驱动是一个非常重要的问题。由于单片机的并行口不能直接驱动 led 显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能 够正常工作。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱 动电路长期在超负荷下运行,容易损坏。因此,在实际中必须接入 led 驱动电路。 led 显示器的显示控制方式分为静态显示和动态显示两种,因此在选择 led 驱 动器时,一定要先确定显示方式。 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/

28、ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p

29、2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 倒计时器 14 若选择静态显示,则 led 驱动器的选择较为简单,只要驱动器的驱动能力与显 示器电流相匹配即可。而且只须考虑段的驱动,因为共阳极接+5v,而共阴极接地, 所以位的驱动不需要考虑。 动态显示则不同,由于一位数据的显示是由段选和位选信号共同配合完成的, 因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。 2.4.1.led 显示器的选择 led 选用 7seg-mpx6-cc-blue,如图 2.2 所示。 2.4.2led 驱动芯片选择 段驱动电路有很多种,可以选择 bc

30、d-7 段锁存/译码驱动 器作为段驱动器。这类芯片的型号有 74ls47、74ls48、74ls247、74ls248 等,这类芯片具有锁存、 译码、驱动的功能。本设计中选择 74ls245。芯片电路如图 2.3。 图 2.2 图 2.3 图 2.3 倒计时器 15 2.5 按键电路设计 按键电路采用矩阵式键盘电路。本设计采用 3*4 的矩阵式电路。p3.0,p3.1,p3.2 为行码扫描,p3.4,p3.5,p3.6,p3.7 为列码扫描,如图 2.4 所示。 0123 456 r9 47k r10 47k p3.0 p3.1 p3.4 p3.5 p3.6 p3.7 7 89 p3.2 r1

31、1 47k 2.6 蜂鸣器电路的设计 设计要求倒计时时间到时要有声音 提醒信号产生,可选择一只蜂鸣器来实 现这一功能。选用电平式蜂鸣器。 蜂鸣器电路与单片机的接口:蜂鸣 器的输入接 p1.0 口,另一端接地。当 p1.0=1 时,蜂鸣器中有电流通过,而产 生蜂鸣声。当 p1.0=0 时,蜂鸣器不发 声。连接图如图 2.5 所示。 图 2.4 按键电路 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/a

32、d6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 ls1 sounder 图 2.5 蜂鸣器电路 倒计时

33、器 16 第三章 倒计时器的设计 3.1 倒计时器系统设计方案及框图 设计时可采用模块化程序设计方法。模块划分时应遵循下述原则: (1)没个模块应具有独立的功能,能产生一个明确的结果。 (2)模块之间的控制参数应尽量简单,数据参数应尽量少。控制参数是指模块进入和推 出繁荣条件及方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频繁 程度。 (3)模块长度适中。模块语句的长度通常在 20100 条较合适。米快太长时,分析和调 试比较困难,失去了模块化程序结构的优越性;模块太短则信息交换太频繁,也不合适。 (4)根据模块的划分原则,将该程序划分成 4 个模块,如图 3.1 所示。 图 3

34、.1 倒计时器设计框图 3.2 程序设计 3.2.1 主程序设计 主程序的设计一般包括:主程序的起始地址,中断服务程序的起始地址,有关内存 单元及相关部件的初始化和一些子程序调用等等。 (1)程序的起始地址 主程序 数码管动态扫描模块 当前时间倒计时模块 输入倒计时时间模块 蜂鸣器报警模块 倒计时器 17 mcs-51 系列单片机复位后, (pc)=0000h,而 0003h002bh 分别为个中断源的入 口地址。所以,编程池应在 0000h 处写一跳转指令。 当 cpu 接受到中断请求信号并予以响应后,cpu 把当前的 pc 内容压入栈中进行保 护,然后转入响应的中断服务程序入口处执行。一般

35、在响应的中断服务程序入口处写一 条跳转指令,并以跳转指令的目标地址作为中断服务程序的其始地址进行编程。 (2)主程序的初始化内容 所谓初始化,是对用到的单片机内部部件或拓展芯片进行初始工作状态设定。 在本例中,使用了两个中断,即 t0、t1。其中: 1.t0 中断:采用 t0 定时中断工作方式,完成倒计时。 2.t1 中断:采用 t1 定时中断工作方式,完成蜂鸣器报警。 (3)主程序流程图如图 3.2 所示。 图 3.2 主程序流程图 图 3.3 倒计时程序流程图 主程序 设置各中断服务程序的入口 地址 相关寄存器清 零 设置数码管显示初始状 态 按键扫描 显示按下的数字 进行倒计时 时间到零

36、否 报警 y n 开始倒计时 寄存器清零 设置定时器 0 工作方式 判断按键次数 n 启动定 时器 0 关闭定 时器 0 1 次2 次 3 次 等待中断 t1 中 断 发声提示 达到最大 值 倒计时器 18 3.2.2 倒计时模块设计 (1)定时器 t0,t1 计数初值 t0 计数初值为:tl0=(65536-50000)/256;th0=(65536-50000)mod 256 t1 计数初值为:th1=(65536-700)/256;tl1=(65536-700)mod 256 工作方式 tmod=00000001h=01h (2)流程图如图 3.3 所示 3.2.3 键盘扫描数码管显示程

37、序 (1)程序设计思路:先扫描矩阵式键盘的行码,再扫描列码,并显示在数码管的分数值 位。 (2)按键去抖动的处理。由于机械触点的弹性作用, 在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间 长短由按键的机械特性决定,一般为 510ms。而按键 稳定闭合时间的长短则是由操作人员的按键动作决定的, 一般为零点几秒至数秒。键抖动会引起一次按键被误读 多次,为了确保 cpu 对键的一次闭合仅做一次处理, 键抖动可用硬件和软件两种方法消除。本设计采用软件 方法,程序框图如图 3.4 所示。 开始 有键闭合? 调用延时字程序 y 有键闭合? 确定闭合的 y n n 图 3.4 按键去抖框图 倒计时器 19

38、 第四章 倒计时器设计仿真 4.1 设置倒计时初值 4.2 开始 倒计时 倒计时器 20 4.3 倒计时结束报警 蜂鸣器中有电流通过,信号显示变为蓝色 倒计时器 21 总结 该倒计时器是基于定时而设计的实现计时报警的装置。由键盘扫描、动态 led 显示 电路、报警三大部分构成。装置利用 at89c51 单片机与 74ls245 驱动器构成电路,以实 现对计时时间的控制。同时装置还用一个由电平控制的报警装置,用以实现倒计时时间 到时进行声音提示。 本装置的最大特点是实时性强,可操作性好。因为采用了矩阵式键盘控制,能够随 时改变倒计时时间,所以装置能够应对不同的要求而做出相应的调整,以适应不同的环

39、 境。 看事物要辩证的看。本装置也存在一些缺点值得注意。如当按键开关出现问题时, 系统会出现错误,甚至误报警。如果能采用红外线控制则可避免这一问题。 一般倒计时器并不是单独使用,可以与一些需要用到定时报警的大型装置相互配合 使用,实现其自身的价值。定时报警装置越来越受人们关注,从计时几秒到几个小时不 等,所选用的器件个不同,功能越来越先进。所以,将单片机技术与实际结合起来,具 有非常广阔的应用前景。 作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且 是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌 握的仅仅是专业课的理论知识,如何去锻炼我们的

40、实践能力?如何把我们所学的专业基 础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平 台。 在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自 己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们 是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱 翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法 升级为设计。 倒计时器 22 倒计时器 23 参考文献 1 余永权.at89 系列单片机应用技术.北京:北京航空航天大学出版社,2002 2 沈红卫.单片机应用系统设计实例与

41、分析. 北京:北京航空航天大学出版社,2003 3 吴金戎.8051 单片机实践与应用.北京:清华大学出版社,2002 4 胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002 5 何希才.新型集成电路应用实例m.北京:电子工业出版社,2002. 6 马中梅.单片机的汇编语言程序设计.北京:北京航空航天大学出版社,2004 7 公茂法.单片机接口实例集.北京:西安电子科技大学出版社,2004 倒计时器 24 致谢 单片机课程设计,是对单片机知识的验证,可以帮助我们理解巩固所学知识,激发 我们对单片机课程的兴趣,更锻炼了我们独立思考、开拓创新的能力。 通过这次课程设计我也发现了自身存在的

42、不足之处,虽然感觉理论上已经掌握,但 在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我 今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。 其次,这次课程设计让我充分认识到合作的重要性,只有合作才能保证整个项目的 有条不絮。在设计过程中,非常感谢同学们的指导,才使设计进展的比较顺利。 另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解, 给我的设计以极大的帮助,使我获益匪浅。因此非常感谢张晓虎老师的教导。 通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义, 学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了

43、最好的榜样。 倒计时器 25 附录 1 倒计时器设计源程序 ;* ;以下8个存储单元分别存放8位数码管的段码 led_bit_1 equ30h led_bit_2 equ31h led_bit_3 equ32h led_bit_4 equ33h led_bit_5 equ34h led_bit_6 equ35h led_bit_7 equ36h t_count equ38h key_cnt equ39h line equ3ah row equ3bh val equ3ch tcount equ40h kcount equ41h key bitp3.3 ;* org00h sjmpstart or

44、g0bh ljmpint_t0 org 1bh ljmp int_t1 start: movt_count,#00h;初始化 movkey_cnt,#00h movline,#00h movrow,#00h movval,#00h movled_bit_1,#3fh movled_bit_2,#3fh movled_bit_3,#40h movled_bit_4,#3fh movled_bit_5,#3fh movled_bit_6,#80h movled_bit_7,#3fh movdptr,#table a0:lcalldisp ;* ;按键扫描 lscan: movp3,#0f0h;行码

45、扫描 l1: jnbp3.0,l2 lcalldelay 倒计时器 26 jnbp3.0,l2 movline,#00h ljmprscan l2: jnbp3.1,l3 lcalldelay jnbp3.1,l3 movline,#01h ljmprscan l3: jnbp3.2,l4 lcalldelay jnbp3.2,l4 movline,#02h rscan: movp3,#0fh;列码扫描 c1: jnbp3.4,c2 movrow,#00h ljmpcalcu c2: jnbp3.5,c3 movrow,#01h ljmpcalcu c3: jnbp3.6,c4 movrow,

46、#02h ljmpcalcu c4: jnbp3.7,c1 movrow,#03h ;* calcu: inckey_cnt;统计按键次数 mova,key_cnt cjnea,#9,k1;如果按键3次,发声提示 movtmod,#01h movth1,#(65536-700)/256 movtl1,#(65536-700)mod256 movie,#82h setbtr1 w10:mova,p3;等待按键抬起 cjnea,#0fh,w11 movp0,#00h clrtr0 ljmpstart w11:mova,p3 cjnea,#0f0h,w12 movp0,#00h clrtr0 ljm

47、pstart w12:sjmpw10 ;* ;第1次按键,清除已显示的0,显示按下的数字 倒计时器 27 k1: cjnea,#1,k2 mova,line movb,#04h mulab adda,row movval,a movca,a+dptr movled_bit_1,a cjne p3.3,#1,aa1 disp1: lcalldisp w20:mova,p3;等待按键抬起 cjnea,#0fh,w21 ljmpa0 w21:mova,p3 cjnea,#0f0h,w22 ljmpa0 w22:sjmpdisp1 ;* ;第2次按键,显示按下的数字 k2: mova,line movb,#04h mulab adda,row movval,a

温馨提示

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

评论

0/150

提交评论