




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连交通大学信息工程学院2012届本科毕业生毕业设计(论文)摘要单片机体积小,功耗小,价格低,用途灵活,无处不在,属于专用计算机。是一种特殊器件,需经过专门学习方能掌握应用,应用中需设计专用的硬件和软件。由于其内部自带两个16位计数器,所以近年来在计数器领域的应用也十分广泛,计数器种类很多,根据构成计数制的不同,可分为二进制计数器和非二进制计数器。根据计数器的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。本设计通过一个由AT89C51单片机控制,结合显示电路、电源电路、LED数码管以及键盘电路等组成的一个简单的秒表系统,对单片机的定时器/计数器的定时和计数原理进行研究。该系统的核心部分是由单片机最小系统构成,在加上一系列外围电路组成。这个多功能秒表系统能够是实现两位LED显示,显示的最大时间为24小时59分钟59秒,每秒自动加1,能正确地进行计时,还具有快加、复位功能。同时还可以当做时钟来使用。通过C语言编写代码并使用Proteus仿真、调试,实现了LED显示屏实时时间显示,按键切换显示内容的显示状态。由于Protues具有很强大的仿真调试功能,使用它可以实现在没有单片机硬件仿真器的情况下仍然可以实现单片机系统的软硬件开发的仿真调试。本系统利用Protues这一功能绘制了LED显示屏原理图、单片机最小系统原理图以及整个完整的秒表系统的工作原理图。向Protues中下载代码,连接调试成功。关键词:单片机 秒表 protuseABSTRACTMicrocontroller has many advantages such as small size, low consumption ,low prices, be used widely,and be used everywhere and so on.It belong to theisinaprivatecomputer.It is a specialdevice,after specializedlearningyou canmaster and application it.In theapplicationwe must be designedina dedicatedhardware andsoftware.The interiorcomes withtwo 16-bitcounter,so in recent years it be used widelyin thecounterfield.There are many kinds of counter, According to constitute the notation is different, can be divided into binary counter and the binary counter. According to the counter of the increase and decrease of the trend, and divided into the addition, subtraction, and reversible counter. And preset number and programmable function counter and so on.This design through the AT89C51 single-chip microcomputer control, combined with the show circuit, the power supply circuit, LED digital tube, and keyboard circuit consisting of a simple stopwatch system, the single chip microcomputer timer/counter of the timing and count principle for research. The core of the system is the smallest part of microcomputer system structure, combined with a series of periphery of circuit. The multi-function stopwatch system can realize is two LED display, display time for 00-99 seconds per second to be automatic add 1, can correctly to add, subtract (fall) time, also has quickly add and reset function.Through the C language writing code and use Proteus simulation, commissioning, realized the LED display real-time time to show, switch button showing the contents of the display state. Because Protues has very powerful simulation commissioning function, use it can realize in no microcontroller hardware simulation suppressor can still achieve the SCM system hardware and software development of the simulation test. This system USES Protues this function to draw the LED display principle diagram, single chip minimize system diagram and the complete a stopwatch system work principle diagram. Protues to download the code, connection debugging success.Key words: microcontrollerstopwatchprotuse目录1 前言12 单片机控制电路的设计22.1 单片机介绍32.2 单片机的特点和结构原理42.2.1 单片机的特点42.2.2 单片机结构52.3 单片机最小系统电路设计73 系统外围电路的设计113.1 键盘电路的设计113.1.1 按键电路的选择113.1.2 按键电路的故障及解决方法123.2显示电路的设计123.2.1 显示电路的介绍123.2.2 LED数码管的工作原理133.3 晶振振荡电路的设计144 系统软件的设计164.1 软件设计概述164.2 软件设计流程图164.3 定时中断服务程序流程图174.3.1 中断的介绍174.3.2 定时中断的设置184.3.3 定时中断程序195 Protues软件仿真205.1 Protues软件功能简介205.2 Keilu Vision2.0软件编译215.2.1 Keilu Vision2.0软件简介215.2.2 Keilu Vision2.0软件的使用说明226 系统调试与功能说明256.1 系统性能测试与功能说明256.2 系统误差分析256.3 软件调试问题及解决25结论26谢辞27参考文献28附录29大连交通大学信息工程学院2012届本科毕业生毕业设计(论文)1 前言随着科学技术的不断发展与进步10,目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用具有高度现实意义。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 6.在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 7.单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。 此外,单片机在计数器技术领域也有着十分广泛的用途。随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。本文通过对一个简单的秒表系统设计,对单片机的定时/计数功能、最小系统进行研究。并运用Protues这款强大的仿真工具进行仿真,对单片机的研究和学习真正的做到学以致用把科学技术应用于我们的生活。2 单片机控制电路的设计2.1 单片机介绍单片机是一种集成在电路芯片4,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块5,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。2.2 单片机的特点和结构原理2.2.1 单片机的特点AT89C51是ATMEL公司推出的51单片机9,该系列单片机是采用高性能的静态80C51 设计由先进CMOS 工艺制造并带有非易失性Flash 程序存储器全部支持12 时钟和6 时钟操作P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM 32 条I/O 口线3 个16 位定时/计数器6 输入4 优先级嵌套中断结构1 个串行I/O 口可用于多机通信I/O 扩展或全双工UART以及片内振荡器和时钟电路此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0 可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结CPU 但RAM 定时器串口和中断系统仍然工作掉电模式保存RAM 的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。它除了具有集成芯片的特点外还有许多特点。(l)高度集成,体积小、制作方便。单片机内部集成CUP、内存、1/0口,保证控制功能的实现,双列直插40引脚的单片机尺寸大约只1.srnmxsrnrn,贴片式单片机的尺寸大约有小纽扣大小,给设计制作电路带来了方便。(2)灵活性好、可靠性高。在设计电路时,单片机的最小系统就可以提供电路工作所需的时序,因此在设计电路的时候,只要根据具体要求扩展外围电路就可以达到要求。单片机的工作电压是SV,在单片机内固化不同的程序,实现的功能,它的误差就会控制在可控范围内。(3)易于扩展ROM、RAM等资源,用途广、价格低。单片机的资源一般可以满足小系统的应用,若系统较大,单片机可以扩展资源,它有便于扩展的结构及控制引脚,利用它们容易构成各种规模的单片机系统和单片机应用系统。每片STC89C52单片机的价格大致在8元左右,对于学生和大多数研究开发人员可以承担其开发经费。2.2.2 单片机结构1. 内部结构框图89C51系列的各单片机的生产厂商和型号的不同,导致其ROM、RAM、中断系统、外围功能模块以及处理器速度等方面有一定的不同7,但是其基本结构相同,均包括算术逻辑单元ALU、片内RAM、1/0端口、定时器、中断系统等基本的功能单元。89C51单片机的内部结构如图2.1所示。图2.1 89C51内部结构图2. 89C51单片机内部主要部件1.3.5.6(l) 算数逻辑单元ALU(Arithmetic Logic Unit)。运算器是进行算术/逻辑运算的部件,包括存放操作数和运算结果的累加器和寄存器等。51单片机包含一个8位的算术逻辑单元ALU,它为用户提供了指令系统,在外部时钟频率为12MHz的情况下,多数指令的执行时间仅为lus,乘法指令为4us。它包括运算器、布尔处理器、累加器A、寄存器B、暂存器、程序状态字PSW寄存器等。(2) 片内存储器。片内存储器包括数据存储器和程序存储器,即RAM、ROM。51单片机提供了128B片内RAM存储器,提供了4KB的片内ROM存储器。用于存储控制单片机执行操作的代码,或者进行运算的数据。(3) 并行I/O口。单片机共有4个8位并行I/O口P1、P2、P3和P4共32根引脚,每个I/O口都有自己寄存器、驱动器和锁存器,保证数据的双向传输的稳定运行。其中P3口具有第二功能,P3口的每位引脚具有特殊功能,其中具体功能如表2.1所示。表2.1 P3口特殊功能表I/O口引脚说明P3.0RXD-串行数据接收端P3.1TXD-串行数据发送端P3.2-外部中断0请求端P3.3-外部中断1求端P3.4T0-定时器/计数器0P3.5T1定时器/计数器1P3.6-外部数据存储器写选通信号P3.7-外部数据存储器读选通信号(4) 定时/计数系统和中断系统。51单片机内部有两个16位的定时/计数器,通过设置寄存器,实现4种工作模式。中断系统包含5个中断源,即外部中断。、外部中断1、定时器/计数器0溢出中断、定时器/计数器1溢出中断和串口中断。计算机响应中断的先后顺序即中断优先级,系统有默认的级别定义,同时也可以人为设定。具体的89C51/89C52系列单片机主要包括的功能部件如下:(l)l个8位的CPU;(2)片内 128/256字节数据存储器 RAM/SFR,用以存放可以读/写的数据,如的中间结果、最终结果以及欲显示的数据等;(3)片内4KB/8KB程序存储器ROMEPROM,用以存放程序、一些原始数据和表格;(4)4个8位双向UO口,每个端口既可以用作输入,也可以用作输出;(5)2或3个16位定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;(6)具有5个或6个中断源、2个中断优先级的中断控制系统:(7)1个全双工异步串行口,用于实现单片机之间或单片机与PC机之间的串行通信;(8)片内振荡器和时钟电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHZ;(9)可寻址外部程序存储器和数据存储器,最大范围均为64KB;(l0)具有位寻址能力。从以上介绍的单片机的功能部件可以看出单片机可以实现基本的处理器功能,是计算机的微型化,但是单片机的体积小,集成化高,给设计电路带来了方便。2.3 单片机最小系统电路设计本设计采用的是AT89C51单片机芯片,以它为核心对LED显示屏实现控制。89C51单片机主要由多个基本部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器 (ROM/EPROM)、1/0口(P0-P3口)、串行口、定时/计数器、中断系统及特殊功能寄存器(SFR)。它具有51系列单片机所具有的共同的特点,它有40个引脚,包括8位的I/O口四个:P0、Pl、P2和P3,共32个引脚;电源Vcc引脚,电源地GND引脚,外接晶振引脚XTALI和XTALZ,控制信号引脚:RST、ALE、和11。输入/输出端口:P0、Pl、P2和P3,每个P口都有八位,其中P0口是准双向口,作为输出口的时候,要先向该口写入1,P0口的内部不包含内部上拉电阻,因此在对P0口操作的时候要在其外部电路加入上拉电阻。P3口具有第二功能,具体功能详见表2.1,这里不再赘述。P2口可以用在访问外部程序存储器和16位地址的外部数据存储器时,P2口送出的是高8位地址,P0口提供低8位地址,P0口可分时提供8位数据总线。控制信号引脚:RST、ALE、和。RST是单片机的复位引脚,外接硬件电路可以实现单片机的复位操作。ALE是地址锁存允许信号引脚,高电平有效,当单片机访问外部存储器时,ALE输出信号作为锁存低8位地址的控制信号。PSEN是程序存储允许输出信号端,主要应用在对片外存储器的操作方面。EA是外部程序存储器地址允许输入端/固化编程电压输入端,主要应用在访问外部ROM,在实际应用时,保持该引脚是高电平即可。晶振连接引脚:XTAL1和XTAL2,在需要接振荡晶体的时候将两个引脚之间跨接一个晶振,如果需要采用外部时钟电路的时候,XTAL1输入外部时钟脉冲,XTAL2引脚悬空。电源引脚:Vcc为电源端,接+5V电压源,GND是接地端,接电源地。单片机如果要正常工作,需要有时钟脉冲源,使单片机有可以工作的时序脉冲。另外为了防止单片机工作时不稳定,或者出现程序跑飞、死循环等现象,还要有使单片机重新初始化的电路即复位电路,这就组成了单片机的最小系统电路,最小系统电路如图2.2所示。图2.2 单片机最小系统电路图时钟电路是由石英晶体及两个电容构成的稳定的自激振荡器,电容通常取值30pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为0-24MHZ,晶体振荡器的频率为fosc,89C51的一个机器周期包括12个振荡周期,如果采用6MHz晶体振荡器,则每个机器周期恰为2脚。每条指令都由一个或几个机器周期组成,在89C51系统中,有单周期指令、双周期指令和4周期指令。指令的运算速度和它的机器周期数直接相关,机器周期数较少则执行速度快。但是,晶振的振荡频率不能选择过大,超过了单片机的承受能力单片机就会无法执行程序。RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期,即二个机器周期以上,单片机晶振选用16MHZ,则复位信号持续时间应该超过2us,才能完成复位操作。复位电路分自动复位和按键手动复位两种方式。上电自动复位是在加电瞬间电容通过充电来实现复位,电路图如图2.3所示。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。只要Vcc的上升时间不超过 1ms,就可以实现上电复位,当采用12MHz晶体的时候,电容C取值为10us,电阻R取值为8.2K。手动复位是通过人为的按键使单片机复位,当程序出现不需要的死循环,或者程序跑飞的时候就需要人为的来使单片机复位初始化,这样就可以通过按键来使单片机复位。单片机复位电路通常是上电复位电路和手动复位电路组合在一起使用。图2.3 手动复位电路和上电复位电路3 系统外围电路的设计3.1 键盘电路的设计为了实现对定时器输入的控制,我们在该设计中加入了按键设置。由于该系统要实现开始计时、停止计时、继续计时、清零、加调时、减调时等功能等6个功能,所以需要6个独立按键满足设计要求。3.1.1 按键电路的选择按照键盘与CPU的连接方式可以分为独立式键盘和矩阵式键盘。(l) 独立式键盘独立式键盘是各按键相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上的按键工作状态。独立式键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口,在按键数量较多时,I/O口线浪费较大,且电路结构显得繁杂,故这种形式适用于按键数量较少的场合。(2) 矩阵式键盘在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口就可以构成44=16个按键,比直接用端口线连接键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些。无论是独立键盘还是矩阵键盘,单片机检测其是否被按下的依据都是一样的,也就是检测与该键对应的I/O口是否为低电平。独立键盘有一端固定为低电平,单片机写程序检测时比较方便。而矩阵键盘两端都与单片机I/O口相连,因此在检测时需要人为的通过单片机I/O口送出低电平。检测时,先送一列为低电平,其余几列全为高电平,然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平,则我们便可确认当前被按下的键是哪一行那一列的,用同样的方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样即可检测完所有的按键,当有按键被按下时便可判断出按下的键是哪一个键。当然我们也可以将行先置低电平,扫描列是否有低电平。这就是矩阵键盘检测的原理和方法12。根据对两种不同键盘电路工作原理的了解,通过对比选择,本系统设计选择采用6个独立式键盘,分别控制切换各种状态。按键接口电路图3.1所示。P2.1-P2.5接6个按键,分别控制开始计时、停止计时、继续计时、清零、加调时、减调时等功能。功能的实现主要是对按键的扫描,主要体现在软件程序编写方面,根据不同的按键值,执行不同的操作,在具体场合应用中可以将按键的功能重新定义,只要在程序中重新编写就可以,使工作更加有效率。图3.1 按键接口电路图3.1.2 按键电路的故障及解决方法本系统采用的按键的开关为机械弹性开关。当机械触点断开、闭合时,由于弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,有可能伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5-10ms。按键稳定闭合的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次,为了确保对键的一次闭合仅作一次处理,必须去除键抖动。去抖有专用的去抖硬件电路,也有专用的去抖芯片,本系统采用软件方法去除抖动,即检测出键闭合后执行一个延时程序产生5ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平则确认为真正有键按下。延时程序如下所示。void delay(uint n) uint y,z; for(z=0;zn;z+) /250*n us for(y=0;yNew Project”. 选择工程文件要存放的路径,并且输入工程文件名,这里我们用test2作为工程文件名,这里就不用在后面加.c了。如图5.4所示。(2) 点击Save 后弹出选择CPU及型号的对话框,由于本实验板所配的单片是STC公司的,而KEIL中并没有STC公司的产品,不过STC公司的单片机和传图5.4 KEIL软件新建工程统的51单片机是兼容的,所以这里我们就选择Atmel公司的AT89C51。如图5.5所示。图5.5 芯片CPU及型号的选择 (3) 新建一个C51文件,单击左上角的New File,保存新建的文件,单击保存按钮。(4) 输入文件名test2.c,这里必须以*.c为文件名。保存好后我们还需要把文件加入到工程项目中,如图5.6所示在Source Group1 上单击右键,选择Add Files to Group S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国家电投集团上海核工院招聘考前自测高频考点模拟试题及答案详解(历年真题)
- 安全出行保证责任承诺书8篇
- 2025北京华商电力产业发展有限公司高校毕业生招聘(第三批)模拟试卷及答案详解(考点梳理)
- 个性化产品终身维护承诺书8篇
- 2025河北外国语学院附属中学招聘模拟试卷及答案详解一套
- 2025年烟台市芝罘区卫生类事业单位公开招聘工作人员(38人)考前自测高频考点模拟试题(含答案详解)
- 2025届云南省临沧地区中学高考适应性月考卷(十)英语试题(解析版)
- 绿水青山保护者承诺书(7篇)
- 企业控制建设承诺书(5篇)
- 2025内蒙古某国企招聘模拟试卷含答案详解
- 临时展览搭建与施工方案
- 从国内外角度对人工智能未来发展探索及影响的研究报告
- 成人反流误吸高危人群全身麻醉管理专家共识(2025版)解读 3
- 淀粉加工工培训考核试卷及答案
- 网站推广代理服务合同5篇
- 2025年燃气职业技能鉴定全真模拟模拟题【各地真题】附答案详解
- 2025-2026学年辽海版(2024)小学美术二年级上册《巧用材料》教学设计
- 2025中数联物流科技(上海)有限公司招聘考试参考试题及答案解析
- 具身智能+农业种植智能农业机器人应用研究报告
- 量子计算在人工智能领域的发展趋势与2025年应用案例分析报告
- 医疗风险与安全培训课件
评论
0/150
提交评论