版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE29湖南文理学院课程设计报告课程名称:单片机原理课程设计学院:电信学院专业班级:自动化07101学生姓名:指导老师:完成时间:报告成绩:评阅意见评阅意见:评阅教师日期倒计时器设计倒计时器设计倒计时器目录TOC\o"1-3"\h\z\u目录 1摘要 3Abstract 4第一章设计要求与方案确定 5HYPERLINK\l"_Toc232758478"1.1设计意义 51.2设计要求 51.3方案确定 5第二章硬件电路 62.1单片机概述 62.1.1单片机基础 62.1.2单片机与单片机系统 32758484\h72.1.3单片机的产生与发展 72.2MCS-51系列单片机介绍 82.2.180C51芯片介绍 87\h82.2.3最小系统 92.2.4定时与中断的概念 102.4LED显示电路设计与器件选择 122.4.1.LED显示器的选择 132.4.2LED驱动芯片选择 132.5按键电路设计 13HYPERLINK\l"_Toc232758494"2.6蜂鸣器电路的设计 14第三章倒计时器的设计 153.1倒计时器系统设计方案及框图 153.2程序设计 153.2.1主程序设计 153.2.2倒计时模块设计 173.2.3键盘扫描数码管显示程序 17第四章倒计时器设计仿真 184.1设置倒计时初值 184.2开始倒计时 03\h184.3倒计时结束并报警 19总结 20参考文献 21致谢 22HYPERLINK\l"_Toc232758507"附录1倒计时器设计源程序 23附录2所用元器件清单 28摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。在实时控制和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本系统由单片机系统、矩阵式键盘、蜂鸣器和LED数码管显示系统组成。装置利用AT89C51单片机与74LS245驱动器驱动LED数码管显示。通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。当倒计时时间到时,由P1.0口驱动蜂鸣器发声报警。为了简化电路,降低成本,采用以软件为主的的接口方法。该系统实用、功能灵活多样,可以对计时时间进行实时控制,可以广泛的应用于各种场所的控制设备。【关键词】单片机;LED数码管显示器;倒计时;报警AbstractInrecentyears,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所示。单片机单片机按键输入电路蜂鸣器电路开关电路LED驱动电路LED显示电路图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.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。位地址AFAEADACABAAA9位符号EA//ESET1EX1ET0EX0其中与中断有关的控制位共六位:EA、EX0和EX1、ET0和ET1、ES。7.中断优先级控制寄存器(IP)MCS-51的中断优先级控制只定义了高、低两个优先级。各中断源的优先级由优先寄存器(IP)进行设定。IP寄存器地址B8H,位地址为BFH~B8H。寄存器的内容及位地址表示如下:位地址BFBEBDBCBBBAB9B8位符号///PSPT1PX1PT0PX0外部中断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.22.4.2LED驱动芯片选择段驱动电路有很多种,可以选择BCD-7段锁存/译码驱动器作为段驱动器。这类芯片的型号有74LS47、74LS48、74LS247、74LS248等,这类芯片具有锁存、译码、驱动的功能。本设计中选择74LS245。芯片电路如图2.3。图2.3图2.3图2.3图2.32.5按键电路设计按键电路采用矩阵式键盘电路。本设计采用3*4的矩阵式电路。P3.0,P3.1,P3.2为行码扫描,P3.4,P3.5,P3.6,P3.7为列码扫描,如图2.4所示。图2.4按键电路图2.4按键电路2.6蜂鸣器电路的设计设计要求倒计时时间到时要有声音提醒信号产生,可选择一只蜂鸣器来实现这一功能。选用电平式蜂鸣器。蜂鸣器电路与单片机的接口:蜂鸣器的输入接P1.0口,另一端接地。当P1.0=1时,蜂鸣器中有电流通过,而产生蜂鸣声。当P1.0=0时,蜂鸣器不发声。连接图如图2.5所示。图2.5蜂鸣器电路图2.5蜂鸣器电路倒计时器第三章倒计时器的设计3.1倒计时器系统设计方案及框图设计时可采用模块化程序设计方法。模块划分时应遵循下述原则:(1)没个模块应具有独立的功能,能产生一个明确的结果。(2)模块之间的控制参数应尽量简单,数据参数应尽量少。控制参数是指模块进入和推出繁荣条件及方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频繁程度。(3)模块长度适中。模块语句的长度通常在20~100条较合适。米快太长时,分析和调试比较困难,失去了模块化程序结构的优越性;模块太短则信息交换太频繁,也不合适。(4)根据模块的划分原则,将该程序划分成4个模块,如图3.1所示。主程序数码管动态扫描模块主程序数码管动态扫描模块当前时间倒计时模块输入倒计时时间模块蜂鸣器报警模块图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所示。开始倒计时寄存器清零开始倒计时寄存器清零设置定时器0工作方式判断按键次数N启动定时器0关闭定时器01次2次3次等待中断T1中断发声提示达到最大值主程序设置各中断服务程序的入口地址相关寄存器清零设置数码管显示初始状态按键扫描显示按下的数字进行倒计时时间到零否报警YN图3.2主程序流程图图3.2主程序流程图图3.3倒计时程序流程图3.2.2倒计时模块设计(1)定时器T0,T1计数初值T0计数初值为:TL0=(65536-50000)/256;TH0=(65536-50000)MOD256T1计数初值为:TH1=(65536-700)/256;TL1=(65536-700)MOD256工作方式TMOD=00000001H=01H(2)流程图如图3.3所示3.2.3键盘扫描数码管显示程序开始有键闭合?开始有键闭合?调用延时字程序Y有键闭合?确定闭合的YNN位。(2)按键去抖动的处理。由于机械触点的弹性作用,在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间长短由按键的机械特性决定,一般为5~10ms。而按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次,为了确保CPU对键的一次闭合仅做一次处理,键抖动可用硬件和软件两种方法消除。本设计采用软件方法,程序框图如图3.4所示。图3.4按键去抖框图图3.4按键去抖框图第四章倒计时器设计仿真4.1设置倒计时初值4.2开始倒计时4.3倒计时结束报警蜂鸣器中有电流通过,信号显示变为蓝色总结该倒计时器是基于定时而设计的实现计时报警的装置。由键盘扫描、动态LED显示电路、报警三大部分构成。装置利用AT89C51单片机与74LS245驱动器构成电路,以实现对计时时间的控制。同时装置还用一个由电平控制的报警装置,用以实现倒计时时间到时进行声音提示。本装置的最大特点是实时性强,可操作性好。因为采用了矩阵式键盘控制,能够随时改变倒计时时间,所以装置能够应对不同的要求而做出相应的调整,以适应不同的环境。看事物要辩证的看。本装置也存在一些缺点值得注意。如当按键开关出现问题时,系统会出现错误,甚至误报警。如果能采用红外线控制则可避免这一问题。一般倒计时器并不是单独使用,可以与一些需要用到定时报警的大型装置相互配合使用,实现其自身的价值。定时报警装置越来越受人们关注,从计时几秒到几个小时不等,所选用的器件个不同,功能越来越先进。所以,将单片机技术与实际结合起来,具有非常广阔的应用前景。作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。参考文献[1]余永权.AT89系列单片机应用技术.北京:北京航空航天大学出版社,2002[2]沈红卫.单片机应用系统设计实例与分析.北京:北京航空航天大学出版社,2003[3]吴金戎.8051单片机实践与应用.北京:清华大学出版社,2002[4]胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002[5]何希才.新型集成电路应用实例[M].北京:电子工业出版社,2002.[6]马中梅.单片机的汇编语言程序设计.北京:北京航空航天大学出版社,2004[7]公茂法.单片机接口实例集.北京:西安电子科技大学出版社,2004致谢单片机课程设计,是对单片机知识的验证,可以帮助我们理解巩固所学知识,激发我们对单片机课程的兴趣,更锻炼了我们独立思考、开拓创新的能力。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到合作的重要性,只有合作才能保证整个项目的有条不絮。在设计过程中,非常感谢同学们的指导,才使设计进展的比较顺利。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我的设计以极大的帮助,使我获益匪浅。因此非常感谢张晓虎老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。附录1倒计时器设计源程序;**************************************;以下8个存储单元分别存放8位数码管的段码LED_BIT_1EQU 30HLED_BIT_2EQU 31HLED_BIT_3EQU 32HLED_BIT_4EQU 33HLED_BIT_5EQU 34HLED_BIT_6EQU 35HLED_BIT_7EQU 36HT_COUNTEQU 38HKEY_CNTEQU 39HLINE EQU 3AHROW EQU 3BHVAL EQU 3CHTCOUNT EQU 40HKCOUNT EQU 41HKEY BIT P3.3;************************************** ORG 00H SJMP START ORG 0BH LJMP INT_T0 ORG1BH LJMPINT_T1START: MOV T_COUNT,#00H ;初始化 MOV KEY_CNT,#00H MOV LINE,#00H MOV ROW,#00H MOV VAL,#00H MOV LED_BIT_1,#3FH MOV LED_BIT_2,#3FH MOV LED_BIT_3,#40H MOV LED_BIT_4,#3FH MOV LED_BIT_5,#3FH MOV LED_BIT_6,#80H MOV LED_BIT_7,#3FH MOV DPTR,#TABLEA0: LCALL DISP;**************************************;按键扫描LSCAN: MOV P3,#0F0H ;行码扫描 L1: JNB P3.0,L2 LCALL DELAY JNB P3.0,L2 MOV LINE,#00H LJMP RSCAN L2: JNB P3.1,L3 LCALL DELAY JNB P3.1,L3 MOV LINE,#01H LJMP RSCAN L3: JNB P3.2,L4 LCALL DELAY JNB P3.2,L4 MOV LINE,#02HRSCAN: MOV P3,#0FH ;列码扫描 C1: JNB P3.4,C2 MOV ROW,#00H LJMP CALCU C2: JNB P3.5,C3 MOV ROW,#01H LJMP CALCU C3: JNB P3.6,C4 MOV ROW,#02H LJMP CALCU C4: JNB P3.7,C1 MOV ROW,#03H ;***********************************************CALCU: INC KEY_CNT ;统计按键次数 MOV A,KEY_CNT CJNE A,#9,K1 ;如果按键3次,发声提示 MOV TMOD,#01H MOV TH1,#(65536-700)/256 MOV TL1,#(65536-700)MOD 256 MOV IE,#82H SETB TR1 W10:MOV A,P3 ;等待按键抬起 CJNE A,#0FH,W11 MOV P0,#00H CLR TR0 LJMP START W11:MOV A,P3 CJNE A,#0F0H,W12 MOV P0,#00H CLR TR0 LJMP START W12:SJMP W10;**************************************************;第1次按键,清除已显示的0,显示按下的数字 K1: CJNE A,#1,K2 MOV A,LINE MOV B,#04H MUL AB ADD A,ROW MOV VAL,A MOVC A,@A+DPTR MOV LED_BIT_1,ACJNEP3.3,#1,AA1DISP1: LCALL DISP W20:MOV A,P3 ;等待按键抬起 CJNE A,#0FH,W21 LJMP A0 W21:MOV A,P3 CJNE A,#0F0H,W22 LJMP A0 W22:SJMP DISP1 ;***************************************************;第2次按键,显示按下的数字 K2: MOV A,LINE MOV B,#04H MUL AB ADD A,ROW MOV VAL,A MOVC A,@A+DPTR MOV LED_BIT_2,A LCALLAA1 DISP2: LCALL DISP W30:MOV A,P3 ;等待按键抬起 CJNE A,#0FH,W31 LJMP A0 W31:MOV A,P3 CJNE A,#0F0H,W32 LJMP A0 W32:SJMP DISP2 ;**************************************************;开始倒计数AA1:MOV TCOUNT,#00H MOV KCOUNT,#00H MOV TMOD,#01H ;定时器0工作在方式1 MOV TL0,#(65536-50000)/256 MOV TH0,#(65536-50000)MOD 256 K1: JB KEY,$ ;等待按键 LCALL DELAY JB KEY,$ MOV A,KCOUNT CJNE A,#00H,K2 ;判断按键次数 SETB TR0 ;第1次按键,启动定时器 MOV IE,#82H JNB KEY,$ INC KCOUNT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024试用期劳动合同(含员工宿舍管理协议)3篇
- 2025年度教育培训居间代理协议居间合同模板3篇
- 家庭教育模式对中小学生学业成就的深远影响
- 2024年炉渣环保买卖合同
- 2024年黄沙水泥供需协议
- 2024年股份认购协议3篇
- 客户关系管理与企业品牌建设的关联
- 《彩色小麦麸皮花色苷组分的分离鉴定及其性质研究》
- 《“很+有-是-象+X”结构对比研究》
- 2025版矿山生产承包合同及安全教育培训服务3篇
- 广东省汕尾市2023-2024学年高一上学期期末教学质量监测化学试卷(含答案解析)
- 《热电阻温度传感器》课件
- 抖音酒店直播可行性方案
- 信访业务培训班课件
- 物资清运方案及
- 热稳定校验计算书
- 北京市房山区2023-2024学年三年级上学期期末数学试卷
- 妇产科课件-子宫内膜息肉临床诊疗路径(2022版)解读
- 人教版六年级数学上册典型例题系列之第三单元分数除法应用题部分拓展篇(原卷版)
- 课本含注音的注释汇总 统编版语文八年级上册
- 蜘蛛人的应急预案
评论
0/150
提交评论