基于单片机的倒计时器(计数器)课程设计).doc

上传人:精*** 文档编号:874438 上传时间:2024-03-03 格式:DOC 页数:30 大小:284KB
下载 相关 举报
基于单片机的倒计时器(计数器)课程设计).doc_第1页
第1页 / 共30页
基于单片机的倒计时器(计数器)课程设计).doc_第2页
第2页 / 共30页
基于单片机的倒计时器(计数器)课程设计).doc_第3页
第3页 / 共30页
基于单片机的倒计时器(计数器)课程设计).doc_第4页
第4页 / 共30页
基于单片机的倒计时器(计数器)课程设计).doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、湖南文理学院课程设计报告课程名称: 单片机原理课程设计 学 院: 电信学院 专业班级: 自动化07101 学生姓名: 王维 指导老师: 张晓虎 完成时间: 报告成绩: 评阅意见:评阅教师 日期 倒计时器设计28倒计时器目录目录1摘要3ABSTRACT4第一章 设计要求与方案确定51.1设计意义51.2 设计要求51.3方案确定5第二章 硬件电路62.1 单片机概述62.1.1 单片机基础62.1.2单片机与单片机系统72.1.3 单片机的产生与发展72.2 MCS-51 系列单片机介绍82.2.1 80C51 芯片介绍82.2.3 最小系统92.2.4 定时与中断的概念102.4LED显示电路

2、设计与器件选择122.4.1.LED显示器的选择132.4.2LED驱动芯片选择132.5按键电路设计132.6蜂鸣器电路的设计14第三章 倒计时器的设计153.1倒计时器系统设计方案及框图153.2程序设计153.2.1主程序设计153.2.2倒计时模块设计173.2.3键盘扫描数码管显示程序17第四章 倒计时器设计仿真184.1设置倒计时初值184.2开始倒计时184.3倒计时结束并报警19总结20参考文献21致谢22附录1 倒计时器设计源程序23附录2 所用元器件清单28摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。在实时控制和自

3、动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本系统由单片机系统、矩阵式键盘、蜂鸣器和LED数码管显示系统组成。装置利用AT89C51单片机与74LS245驱动器驱动LED数码管显示。通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。当倒计时时间到时,由P1.0口驱动蜂鸣器发声报警。为了简化电路,降低成本,采用以软件为主的的接口方法。该系统实用、功能灵活多样,可以对计时时间进行实时控制,可以广泛的应用于各种场所的控制设备。【关键词】 单片机;LED数码管显示器;倒计时 ;报警

4、AbstractIn recent years, with the computer penetration in the social field, the application of SCM trends are at the same time, changing 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-chi

5、p is not enough knowledge, but also the specific hardware structure and application of object-specific characteristics software to 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 di

6、gital LED display driver. Button control settings through the countdown time, and then control the system through the disruption 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.

7、 The system is practical, flexible and diverse features can be time-time for real-time control can be widely used in various places of the control equipment. 【Keywords】 single-chip microcomputer; LED digital tube display; countdown; alarm 第一章 设计要求与方案确定1.1设计意义本课题开发的意义在于它既节省了硬件成本,又能实现多功能。既可做倒计时秒表,又可进行

8、定时,还可以通过扩展完成其他功能,而且功能的相互转换也十分简单。对于厂商,有很大的挖掘潜在价值的空间;对于消费者,也有很大的吸引力。 1.2 设计要求 (1)以MCGS-51系列单片机为核心器件,组成一个倒计时系统。 (2)系统显示器由7位数字型数码管组成,分别显示时间值的分,秒和0.1秒。(3)能够通过小键盘阵列设定倒计时时间。(4)倒计时到,由蜂鸣器发出报警。1.3方案确定为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些。考虑计时器显示只有7位,且系统没有其他复杂的处理任务,所以决定用动态扫描法实现LED的显示。单片机采用AT

9、89C51系列,如果要使用电池供电的话,则可以采用LV系列的单片机。硬件系统的总体构成框架如下图1.1所示。单片机按键输入电路蜂鸣器电路开关电路LED驱动电路LED显示电路图1.1 系统总体构架框图第二章 硬件电路2.1 单片机概述 单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU(Central processing unit)。随机存储器RAM(Random access memory)。只读存储器ROM(Read only memory)。 中断系统、定时器计数器以及IO(Input/output)接口电路等主要微型机部件集成在一个芯片上。虽然单片机只是一个芯

10、片,但从组成和功能上看,它已具有了计算机系统的属性。为此,称它为单片微型计算机SCMC(Single chip micro computer),简称单片机。 单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制属性,也可以把单片机称为微控制器MCU(Micro controller unit)。在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。 单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其嵌入的特点,也常常将单片机称为嵌入式微控制器EMCU(Embedded micro controller uni

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

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

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

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

15、机系列。到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更重要的单片机

16、品种,直到现在,MCS-51仍不失为单片机的主流系列。继8位单片机之后,又出现了16位单片机,1983年Intel公司推出的MCS-96系列单片机就是其中的典型代表。与MCS-51相比,MCS-96不但字长增加一倍,而且在其他性能方面也有很大的提高,特别是芯片内还增加了一个4路或8路的10位A/D转换器,使其具有A/D转换的功能。纵观单片机近30年的发展历程,单片机今后将向多功能、高性能、高速度、低电压、低功耗、低价格、外围电路简单化以及片内存储器容量增加的方向发展。但其位数不一定会继续增加,尽管现在已经有了32位单片机,但使用的并不多。可以预言,今后的单片机将是功能更强,集成度和可靠性更高而

17、功耗更低,以及使用更方便等特点。此外,专用化也是单片机的一个发展方向,针对单一用途的专用单片机将会越来越多。2.2 MCS-51 系列单片机介绍 2.2.1 80C51 芯片介绍 MCS-51的原生产厂商是Intel公司,最早推出80C51芯片的也是Intel公司,并且作为MCS-51的一部分,按原MCS-51芯片的规则命名,例如80C31、80C51、87C51和89C51,这样我们就能很容易地认识80C51的系列芯片。 但是后来愈来愈多的厂商生产80C51的系列芯片,例如PHILIPS,ATMEL,LG,华邦等公司。这些芯片都是以80C51为核心并且与MCS-51芯片兼容,但它们又各具特点

18、。然而由于生产厂家多,芯片的类型也很多,使芯片的命名无法再遵循统一的规律,造成我们辨认上的困难。例如PHILIPS公司生产的80C51系列芯片名称分别为:80CXXX(ROM Less型),83CXXX(Mask ROM型);Siemens公司命名为C500系列,芯片型号以”C5“打头;而华邦公司则命名为W77C51系列和W78C51系列等等。 新一代80C51的兼容芯片,还在芯片中增加了一些外部接口功能单元,例如数/模转换器,可编程计数器阵列,监视定时器,高速I/O口,计数器的俘获/比较逻辑等,有些还在总线结构上也做了重大改进,出现了廉价的非总线型单片机芯片.。所有这些使新一代的兼容芯片已远

19、非原来意义上的80C51了。目前这些80C51的兼容芯片已开始在我国使用,其中尤以 PHILIPS公司的同名芯片80C51及其派生产品最受欢迎,而ATMEL公司的闪速存储器型单片机芯片AT89C51等更是后来居上,大有取代传统EPROM型芯片之势。2.2.3 最小系统 最小系统就是单片机在发挥具体测控功能时所必须的组成部分。如下图2.1所示为最小系统方框图: 微型单片机输入/输出设备电源复位电路振荡电路图2.1 最小系统方框图2.2.4 定时与中断的概念 中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。 向CPU发出中断请求的来源称之

20、为中断源。MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。 1. 外中断 外中断是由外部信号引起的,共有两个中断源,即外部中断“0”和外部中断“1”。它们的中断请求信号分别由引脚INT0(P3.2)和INT1(P3.3)引入。 外部中断请求有两种信号方式,即电平方式和脉冲方式,可通过有关控制位进行定义。 2. 定时中断 定时中断是为满足定时或计数的需要而设置的。 3. 串行中断 串行中断是为串行数据传送的需要而设置的。 4. 中断控制 这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。在MCS

21、-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。 5. 定时器控制寄存器(TCON) 该寄存器用于保存外部中断请求和以及定时器的计数溢出。寄存器地址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

22、。 位地址 AF AE AD AC AB AA A9 A8 位符号 EA ES ET1 EX1 ET0 EX0 其中与中断有关的控制位共六位:EA、EX0和EX1 、ET0和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优先级设定位

23、PT1 定时中断1优先级设定位 PS 串行中断优先级设定位 为0的位优先级为低;为1的位优先级为高。 8. 定时器/计数器的控制寄存器 与定时器/计数器应用有关的控制寄存器有: (1) 定时器控制寄存器(TCON) TCON寄存器既参与中断控制又参与定时控制。其中有关定时的控制位共有四位:TF0和TF1 、TR0和TR1 。 (2) 工作方式控制寄存器(TMOD) TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。2.3 AT89S51的芯片概述 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k B

24、ytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,4个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个

25、全双工串行通信口,内部集成看门狗计时器片内时钟振荡器。2.4LED显示电路设计与器件选择LED显示器的驱动是一个非常重要的问题。由于单片机的并行口不能直接驱动LED显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能够正常工作。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行,容易损坏。因此,在实际中必须接入LED驱动电路。LED显示器的显示控制方式分为静态显示和动态显示两种,因此在选择LED驱动器时,一定要先确定显示方式。若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可。而且只须考虑段的驱动,因为共阳

26、极接+5V,而共阴极接地,所以位的驱动不需要考虑。动态显示则不同,由于一位数据的显示是由段选和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。2.4.1.LED显示器的选择LED选用7SEG-MPX6-CC-BLUE,如图2.2所示。图2.22.4.2LED驱动芯片选择段驱动电路有很多种,可以选择BCD-7段锁存/译码驱动器作为段驱动器。这类芯片的型号有74LS47、74LS48、74LS247、74LS248等,这类芯片具有锁存、译码、驱动的功能。本设计中选择74LS245。芯片电路如图2.3。图2.3图2.32.5按键电路设计按键电路采用矩阵式键

27、盘电路。本设计采用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)没个

28、模块应具有独立的功能,能产生一个明确的结果。(2)模块之间的控制参数应尽量简单,数据参数应尽量少。控制参数是指模块进入和推出繁荣条件及方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频繁程度。(3)模块长度适中。模块语句的长度通常在20100条较合适。米快太长时,分析和调试比较困难,失去了模块化程序结构的优越性;模块太短则信息交换太频繁,也不合适。(4)根据模块的划分原则,将该程序划分成4个模块,如图3.1所示。主程序数码管动态扫描模块当前时间倒计时模块输入倒计时时间模块蜂鸣器报警模块图3.1 倒计时器设计框图3.2程序设计 3.2.1主程序设计主程序的设计一般包括:主程序的起始地

29、址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等等。(1)程序的起始地址MCS-51系列单片机复位后,(PC)=0000H,而0003H002BH分别为个中断源的入口地址。所以,编程池应在0000H处写一跳转指令。当CPU接受到中断请求信号并予以响应后,CPU把当前的PC内容压入栈中进行保护,然后转入响应的中断服务程序入口处执行。一般在响应的中断服务程序入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的其始地址进行编程。(2)主程序的初始化内容所谓初始化,是对用到的单片机内部部件或拓展芯片进行初始工作状态设定。在本例中,使用了两个中断,即T0、T1。其中

30、:1.T0中断:采用T0定时中断工作方式,完成倒计时。2.T1中断:采用T1定时中断工作方式,完成蜂鸣器报警。(3)主程序流程图如图3.2所示。开始倒计时寄存器清零设置定时器0工作方式判断按键次数N启动定时器0关闭定时器01次2次3次等待中断T1中断发声提示达到最大值主程序设置各中断服务程序的入口地址相关寄存器清零设置数码管显示初始状态按键扫描显示按下的数字进行倒计时时间到零否报警YN图3.2 主程序流程图图3.3 倒计时程序流程图3.2.2倒计时模块设计(1)定时器T0,T1计数初值T0计数初值为:TL0=(65536-50000)/256;TH0=(65536-50000)MOD 256T

31、1计数初值为:TH1=(65536-700)/256;TL1=(65536-700)MOD 256工作方式TMOD=00000001H=01H(2)流程图如图3.3所示3.2.3键盘扫描数码管显示程序开始有键闭合?调用延时字程序Y有键闭合?确定闭合的YNN(1)程序设计思路:先扫描矩阵式键盘的行码,再扫描列码,并显示在数码管的分数值位。(2)按键去抖动的处理。由于机械触点的弹性作用,在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间长短由按键的机械特性决定,一般为510ms。而按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次,为了确保CP

32、U对键的一次闭合仅做一次处理,键抖动可用硬件和软件两种方法消除。本设计采用软件方法,程序框图如图3.4所示。图3.4 按键去抖框图第四章 倒计时器设计仿真4.1设置倒计时初值4.2开始倒计时4.3倒计时结束报警蜂鸣器中有电流通过,信号显示变为蓝色总结该倒计时器是基于定时而设计的实现计时报警的装置。由键盘扫描、动态LED显示电路、报警三大部分构成。装置利用AT89C51单片机与74LS245驱动器构成电路,以实现对计时时间的控制。同时装置还用一个由电平控制的报警装置,用以实现倒计时时间到时进行声音提示。本装置的最大特点是实时性强,可操作性好。因为采用了矩阵式键盘控制,能够随时改变倒计时时间,所以

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

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

35、空航天大学出版社,20033 吴金戎.8051单片机实践与应用.北京:清华大学出版社,20024 胡汉才.单片机原理及系统设计.北京:清华大学出版社,20025 何希才.新型集成电路应用实例M.北京:电子工业出版社,2002.6 马中梅.单片机的汇编语言程序设计.北京:北京航空航天大学出版社,20047 公茂法.单片机接口实例集.北京:西安电子科技大学出版社,2004致谢单片机课程设计,是对单片机知识的验证,可以帮助我们理解巩固所学知识,激发我们对单片机课程的兴趣,更锻炼了我们独立思考、开拓创新的能力。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中

36、仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到合作的重要性,只有合作才能保证整个项目的有条不絮。在设计过程中,非常感谢同学们的指导,才使设计进展的比较顺利。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我的设计以极大的帮助,使我获益匪浅。因此非常感谢张晓虎老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。附录1 倒计时器设计源程序;*;以下8个存储单元分别存放8位

37、数码管的段码LED_BIT_1 EQU30HLED_BIT_2 EQU31HLED_BIT_3 EQU32HLED_BIT_4 EQU33HLED_BIT_5 EQU34HLED_BIT_6 EQU35HLED_BIT_7 EQU36HT_COUNT EQU38HKEY_CNT EQU39HLINE EQU3AHROW EQU3BHVAL EQU3CHTCOUNT EQU40HKCOUNT EQU41HKEY BITP3.3;*ORG00HSJMPSTARTORG0BHLJMPINT_T0ORG 1BHLJMP INT_T1START:MOVT_COUNT,#00H;初始化MOVKEY_CNT

38、,#00HMOVLINE,#00HMOVROW,#00HMOVVAL,#00HMOVLED_BIT_1,#3FHMOVLED_BIT_2,#3FHMOVLED_BIT_3,#40HMOVLED_BIT_4,#3FHMOVLED_BIT_5,#3FHMOVLED_BIT_6,#80HMOVLED_BIT_7,#3FHMOVDPTR,#TABLEA0:LCALLDISP;*;按键扫描LSCAN:MOVP3,#0F0H;行码扫描L1:JNBP3.0,L2LCALLDELAYJNBP3.0,L2MOVLINE,#00HLJMPRSCANL2:JNBP3.1,L3LCALLDELAYJNBP3.1,L3

39、MOVLINE,#01HLJMPRSCANL3:JNBP3.2,L4LCALLDELAYJNBP3.2,L4MOVLINE,#02HRSCAN:MOVP3,#0FH;列码扫描C1:JNBP3.4,C2MOVROW,#00HLJMPCALCUC2:JNBP3.5,C3MOVROW,#01HLJMPCALCUC3:JNBP3.6,C4MOVROW,#02HLJMPCALCUC4:JNBP3.7,C1MOVROW,#03H;*CALCU:INCKEY_CNT;统计按键次数MOVA,KEY_CNTCJNEA,#9,K1;如果按键3次,发声提示MOVTMOD,#01HMOVTH1,#(65536-700

40、)/256MOVTL1,#(65536-700)MOD256MOVIE,#82HSETBTR1W10:MOVA,P3;等待按键抬起CJNEA,#0FH,W11MOVP0,#00HCLRTR0LJMPSTARTW11:MOVA,P3CJNEA,#0F0H,W12MOVP0,#00HCLRTR0LJMPSTARTW12:SJMPW10;*;第1次按键,清除已显示的0,显示按下的数字K1:CJNEA,#1,K2MOVA,LINEMOVB,#04HMULABADDA,ROWMOVVAL,AMOVCA,A+DPTRMOVLED_BIT_1,A CJNE P3.3,#1,AA1DISP1:LCALLDIS

41、PW20:MOVA,P3;等待按键抬起CJNEA,#0FH,W21LJMPA0W21:MOVA,P3CJNEA,#0F0H,W22LJMPA0W22:SJMPDISP1;*;第2次按键,显示按下的数字K2:MOVA,LINEMOVB,#04HMULABADDA,ROWMOVVAL,AMOVCA,A+DPTRMOVLED_BIT_2,A LCALL AA1 DISP2:LCALLDISPW30:MOVA,P3;等待按键抬起CJNEA,#0FH,W31LJMPA0W31:MOVA,P3 CJNEA,#0F0H,W32 LJMPA0W32:SJMPDISP2;*;开始倒计数AA1: MOVTCOUNT,#00HMOVKCOUNT,#00HMOVTMOD,#01H ;定时器0工作在方式1MOVTL0,#(65536-50000)/256MOVTH0,#(65536-50000) MOD256K1:JBKEY,$ ;等待按键LCALLDELAYJBKEY,$MOVA,KCOUNTCJNEA,#00H,K2 ;判断按键次数SETBTR0 ;第1次按键,启动定时器MOVIE,#82HJNBKEY,$INCKCOUNT ;按键抬起,按键次数值加1

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922