基于AT89S52单片机可控倒计时控制系统的设计.doc
基于AT89S52单片机可控倒计时控制系统的设计A Design of controlable Countdown System based on SCM目 录第一章 单片机的概述.11.1 单片机概述.11.2 单片机的产生展.21.3 单片机应用领域.31.4 单片的生产厂家和型.3第二章 MSC-51单片机.42.1 MCS-5系列单片机绍.42.2 最小系统.42.3 定时与中断的概念.52.4 AT89S52 的芯片概述.7第三章 LED数码管.9第四章 倒计时控制系统的设计.114.1 设计的组成及功能.114.2 硬件设计流程图.124.3 硬件部分的设计.124.4 元器件筛选与检测.184.5 软件部分的实现.214.6 该系统的使用方法.264.7 可能出现的问题与解决方法.26结论.27 致谢. 28参考文献 29 基于AT89S52单片机可控倒计时控制系统的设计摘要:近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作时完善。 模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒计器的设计与制作 ,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。 关键词:单片机 AT89S52 LED数码管显示器 keil C5 倒计时器 三极管C8850 A Design of controlable Countdown Systembased on SCMAbstract:Permeate in the social realm along with the calculator in recent years, single slice the application of the machine just at constantly alignment thorough, arouse a traditional control an examination a day a new moon benefit renewal in the meantime.In solidly the hour the examination the single slice that controls with auto the machine the application the system, single slice machine usually Be a core parts to use, only single slice the machine aspect knowledge is not enough, return should according to concrete the hardware structure, and aim at concrete application the software ofwith the object characteristics combine to make perfect. Imitating many passage pressure systemses is to make use of pressure to spread the feeling machine to collect current pressure combine the reflection is on the display, it can analyze the pressure surfeit distance, erupting to report to the police.Combine the adoption electronics steelyard principle can according to input the amount of money that the unit price computes an object accurately.This thesis discuss that pour the design and creation of the timer in brief, for pour four LED figures displays in the timer to say, I am for the sake of the simplification circuit,decline low cost, adopt to take software as the connect of lord a people's method, do not use specialized hardware to translate the ode machine namely, but adopt the software procedure to carry on translating code.Key words:single slice machine AT89 S51 The LED figures tube display; Keil C51 Pour timer Triode transistor C8850 引 言在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。 单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。第一章 单片机的概述1.1 单片机概述 单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器 CPU(Central processing unit)。随机存储器RA(Random access memory)。只读存储器 ROM(Read only memory)。断系统、定时器计数器以及 IO(Input/output)接口电路等主要微型机部件集成在一个芯片上。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性。为此,称它为单片微型计算机 SCMC(Single chip micro computer),简称单片机。单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制属性,也可以把单片机称为微控制器 MCU(Microcontroller unit)。在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。 单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其嵌入的特点,也常常将单片机称为嵌入式微控制器 EMCU(Embedded micro controller unit)。在单片机的电路和结构中,有许多嵌入式应用的特点。1.1.1 通用单片机和专用单片机 根据控制应用的需要,可以将单片机分成为通用型和专用型两种类型。通用型单片机是一种基本芯片,他的内部资源比较丰富,性能全面且适用性强,能覆盖多种应用需要。用户可以根据需要设计成各种不同应用的控制系统,即通用单片机有一个在设计的过程,通过用户的进一步设计,才能组建成一个以通用单片机芯片为核心再配以其它外围电路的应用控制系统。然而在单片机的控制应用中,有许多时候是专门针对某个特定产品的,例如电度表和 IC 卡 读写器上的单片机等。这种应用的最大特点是针对性强而且数量巨大,为此厂家常与芯片制造商合作,设计和生产专用的单片机芯片。由于专用单片机芯片是针对一种产品或一种控制应用而专门设计的,设计时已经对系统结构的最简化,软硬件资源利用的最优化。 1.1.2 单片机与单片机系统单片机通常是指芯片本身,它是有芯片制造商生产的,在它上面集成的是一些做为基本组成部分的运算器电路,控制器电路,存储器,中断系统,定时器/计数器以及输入/输出口电路等。但一个单片机芯片并不能把计算机的全部电路都集成到其中,例如组成谐振电路和复位电路的石英晶体,电阻,电容等,这些元件在单片机系统中只能以散件的形式出现。此外,在实际的控制应用中,常常需要扩展外围电路和外围芯片。从中可以看到单片机和单片机系统的差别,即:单片机只是一块芯片,而单片机系统则是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统。在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础。 1.2 单片机的产生与发展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位单片机,但使用的并不多。可以预言,今后的单片机将是功能更强,集成度和可靠性更高而功耗更低,以及使用更方便等特点。此外,专用化也是单片机的一个发展方向,针对单一用途的专用单片机将会越来越多。 1.3 单片机应用领域现在单片机的应用已经很广泛,下面我们就一些典型方面进行介绍。1. 工业自动化方面 自动化能使工业系统处于最佳状态,提高经济效益,改善产品质量和减轻劳动强度。因此,自动化技术广泛应用于机械、电子、电力、石油、化工、纺织、食品等轻重工业领域中,而在工业自动化技术中,无论是过程控制技术,数据采集和测控技术,还是生产线上的机器人技术,都需要要有单片机的参与。在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种集机械、微电子和计算机技术于一体的综合技术中,单片机将发挥越来越大的作用。 2. 仪器仪表方面 现在仪器仪表的自动化和智能化要求越来越高,对此最好使用单片机来实现,而单片机的使用又将加速仪器仪表向数字化,智能化,多功能化和柔性化方向发展。此外,单片机的使用还有助于提高仪器仪表的精度和准确度,简化结构、减小体积及重量而易于携带和使用,并具有降低成本,增强抗干扰的能力,便于增加显示、报警和自诊断等功能。 3. 家用电器方面 当前,家用电器产品的一个重要发展趋势是不断提高其智能化程度,而家电智能化的进一步提高就需要有单片机的参与,所以生产厂家常标榜“电脑控制”以提高其产品的档次,例如洗衣机,电冰箱,空调机,微波炉,电视机和音像视频设备等,这里说的电脑实际上就是单片机。智能化家用电器将给我们带来更大的舒适和方便,进一步改善我们的生活质量,把我们的生活变的更加丰富多彩。 4. 信息和通信产品方面 信息和通信产品的自动化和智能化程度很高,这当然离不开单片机的参与,例如计算机的外部设备和自动化办公设备中,都有单片机在其中发挥着作用。 5. 军事装备方面 科技强军、国防现代化离不开计算机,在现代化的飞机、军舰、坦克、大炮、导弹火箭和雷达等各种军用装备上,都有单片机深入其中。 1.4 单片的生产厂家和型Intel(美国英特尔) 公司:MCS-48,MCS-51 系列。 Microchip(美国微晶)公司:PICI6XX,PIC54CXX 系列。 Zilog(美国齐洛落)公司:ZS 系列及 SUPER8 Fairchild(美国仙童)公司:FS 系列和 3870 系列 Motorola(美国摩托罗拉)公司:6801 系列和 6805 系列 Rockwell(美国洛克威尔)公司:6500/1 系列 TI(美国德克萨斯仪器)公司:TMS700 NS(美国国家半导体)公司:NS8070 RCA(美国无线电)公司:CDP1800 系列 Panasonic(日本松下)公司:MN101C 系列 NEC(日本电气)公司:Ucom87,uPD7800 系列 Hitachi(日本日立)公司:HD6301,HD6305,HD63L05 系列; ATMEL 公司:AT89C51 系列 PHILIPS:87LPC 系列 Cygnal:C8051F0 系列 第二章 MSC-51单片机2.1 MCS-51 系列单片机介绍 2.1.1 80C51 芯片介绍MCS-51 的原生产厂商是 Intel 公司,最早推出 80C51 芯片的也是 Intel 公司,并且作为 MCS-51 的一部分,按原 MCS-51 芯片的规则命名,例如 80C31、80C51、87C51 和 89C51,这样我们就能很容易地认识 80C51 的系列芯片。 但是后来愈来愈多的厂商生产 80C51 的系列芯片,例如 PHILIPS,ATMEL,LG,华邦等公司。这些芯片都是以 80C51 为核心并且与 MCS-51芯片兼容,但它们又各具特点。然而由于生产厂家多,芯片的类型也很多,使芯片的命名无法再遵循统一的规律,造成我们辨认上的困难。例如PHILIPS公司生产的80C51 系列芯片名称分别为:80CXXX(ROM Less 型),83CXXX(Mask ROM 型);Siemens 公司命名为C500 系列,芯片型号以”C5“打头;而华邦公司则命名为 W77C51 系列和 W78C51系列等等。新一代80C51的兼容芯片,还在芯片中增加了一些外部接口功能单元,例如数/模转换器,可编程计数器阵列,监视定时器,高速 I/O口,计数器的俘获/比较逻辑等,有些还在总线结构上也做了重大改进,出现了廉价的非总线型单片机芯片.所有这些使新一代的兼容芯片已远非原来意义上的80C51了。目前这些80C51的兼容芯片已开始在我国使用,其中尤以PHILIPS 公司的同名芯片80C51及其派生产品最受欢迎,而ATMEL公司的闪速存储器型单片机芯片 AT89C51等更是后来居上,大有取代传统 EPROM 型芯片之势。 2.1.2 80C51与8051的比较首先与8051兼容是对80C5芯片的最基本要求,以确保8位单片机MCS-51系列的继续发展,兼容应包括指令,引脚信号,总线等多个方面,指令兼容能保证两者之间不存在指令障碍以维持软件的可移植性,而引脚信号和封装以及总线的兼容则确保两者在系统扩展和接口方面的一致性,有利于系统的开发和应用。80C51的最大改进是在芯片的半导体工艺上,早期的 MCS-51系列芯片采用 HMOS 工艺,即高密度短沟道 MOS 工艺,而80C51芯片则采用 CHMOS工艺,即互补金属氧化物 HMOS 工艺。CHMOS是CMOS和HMOS的结合,除保持了 HMOS 高速度和高密度的特点之外,还具有CMOS低功耗的特点。例如 8051 芯片的功耗为 630mW,而 80C51的功耗只有120mW,这样低功耗,有一粒纽扣电池就可以工作。低功耗对单片机在便携式、手提式或野外的仪器仪表设备上使用十分有利。80C51 在功能增强方面也做了许多工作。首先,为进一步降低功耗,80C51 芯片增加了待机和掉电保护两种工作方式,以保证单片机在掉电情况下,能以最低的消耗电流维持。 此外,在 80C51 系列芯片中,内部程序存储器除了 ROM 型和 EPROM型之外,还有 EPROM 型,例如89C51就是4KB EEPROM,并且随着集成技术的提高,80C51 系列片内程序存储器的容量也越来越大,目前已有 64KB 的芯片了.另外,许多 80C51 芯片的还具有程序存储器保密机制,以防止应用程序泄露或被复制。 2.2 最小系统最小系统就是单片机在发挥具体测控功能时所必须的组成部分。如下图所示为最小系统方框图:2.3 定时与中断的概念中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。 向CPU发出中断请求的来源称之为中断源。MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。 1. 外中断 外中断是由外部信号引起的,共有两个中断源,即外部中断“0”和外部中断“1”。它们的中断请求信号分别由引脚 INT0(P3.2)和 INT1(P3.3)引入。 外部中断请求有两种信号方式,即电平方式和脉冲方式,可通过有关控制位进行定义。 2. 定时中断 定时中断是为满足定时或计数的需要而设置的。 3. 串行中断 串行中断是为串行数据传送的需要而设置的。 4. 中断控制 这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。在 MCS-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。 位地址 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 优先级设定位 PT1 定时中断 1 优先级设定位 PS 串行中断优先级设定位 为 0 的位优先级为低;为 1 的位优先级为高。 8. 定时器/计数器的控制寄存器 与定时器/计数器应用有关的控制寄存器有: (1) 定时器控制寄存器(TCON)TCON 寄存器既参与中断控制又参与定时控制。其中有关定时的控制位共有四位:TF0 和 TF1 、TR0 和 TR1 。 (2) 工作方式控制寄存器(TMOD) TMOD 寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但 TMOD 寄存器不能位寻址,只能用字节传送指令设置其内容。 2.4 AT89S52 的芯片概述 AT89S52是一个低功耗,高性能 CMOS 8 位单片机,片内含 4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点:40个引脚,4k Bytes Flash 片内程序存储器,128bytes 的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,4 个中断优先级 2 层中断嵌套中断,2 个16位可编程定时计数器,2 个全双工串行通信口,内部集成看门狗计时器片内时钟振荡器。其工作电压在 4.55V,一般我们选用5V 电压。89S51相对于89C51增加的新功能包括: - 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低! - ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。 - 最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。 - 具有双UART串行通道。 - 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 - 双数据指示器。 - 电源关闭标识。- 全新的加密算法,这使得对于 89S51 的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。 - 兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期 MCS-51 兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是 8051 还是 89C52 还是 MCS-51 等等),在 89S51 上一样可以照常运行,这就是所谓的向下兼容。因此我们选用 AT89S51 单片机来作为本系统的核心部分。 下图为 89s51 的核心电路框图:第三章 LED数码管3.1 LED 数码管显示器概述3.1.1 LED 数码显示器的结构与显示段码 (1)LED 数码显示器的结构 LED 数码显示器是一种有 LED 发光二极管组合显示字符的显示器件。它使用了 8 个 LED 发光二极管,其中 7 个用于显示字符,一个用于显示小数点,故通常称之为 7 段发光二极管数码器。其内部结构如下图所示。 LED 数码显示器有两种连接方法如下。 共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。(2)LED 数码显示器的显示段码。 为了显示字符,要为 LED 显示器段码(或称字形代码),组成一个8字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED 显示器的显示段码为 1 个字节。各段码位的对应关系如下表所示.十六进制数及空白字符与 P 的显示段码.2. LED 数码显示器的接口方法与电路 (1)LED 数码显示的接口方法。 单片机与 LED 数码显示器有以硬件为主和以软件为主的两种接口方法。 以硬件为主的接口方法,这种接口方法的电路如图所示: (2)LED 数码显示器的接口电路。 PB0 实际使用的LED数码显示器位数较多。为降低成本,大部分以软件为主的接口方法对于多位LED数码管显示器,通常采用动态扫描显示方法,即逐个循环点亮各位显示器。这样虽然在任一时期只有一位显示器被点亮,但是由于人眼有视觉残留效应,看起来与全部显示持续点亮的效果基本一样(在亮度上要有差别)。 3. 驱动器 LED 显示是单片机控制产品中常见的应用。使用LED模块,这种模块中带有LED显示管和LED 驱动电路,用起来较方便。一般用户直接采用单片机+LED 驱动器+LED显示管的方式, 现在我们向大家推荐一种经常使用的LED驱动器8550,它作为共阳数码管的驱动器,而共阴数码管的驱动器则是 A1015。它们都是三极管。 第四章 倒计时控制系统的设计4.1 设计的组成及功能 为了节约元器件,系统使用S52自身的计数器,通过外接键盘接口做输入端。系统外界2个4位8段LED数码管做可视输出,报警装置使用蜂鸣器和红色LED灯管实现。系统集成度高,拓展方便。4.1.1 键盘电路(P3口全部)采用3*4键盘扫描 首先满足了0-9的输入,并且为复位电路,和选择电路提供了键盘。4.1.2 复位电路使单片机复位且2个LED数码管都归零,键盘集成在键盘电路中4.1.3 计数器电路(P2.4)记录输入脉冲计数,以P2.4为输入端口4.1.4 LED A(P1口做输出,P2口做驱动)当在计数状态时显示与LED B 相同为当前计数值,挡在倒计时状态显示预定值。4.1.5 LED B(P1口做输出,P2口做驱动)显示当前计数值4.1.6 报警电路(P2.7)由报警LED和蜂鸣器组成,当计数完成时会触发报警电路,蜂鸣器启动LED闪烁。4.1.7 串口通信电路(P2.6)方便多机并联使用。4.2 硬件设计流程图键盘电路计数器电路AT89S52单片机LED ALED B串口通信电路报警电路复位电路4.3 硬件部分的设计 4.3.1 复位电路的设计位信号无效。按键复位在此不在作过多的介绍,其原理和上电复位是相同的。但其采用的是脉冲复位电路和电平复位电路两种。 复位电路和单片机最小系统如下图所示复位电路产生复位信号,复位信号送入 RST 后还要送至片内的施密特触发器,由片内复位电路在每个机器周器的 S5P2 时刻对触发器输出采样信号,然后由内部复位电路产生复位操作所要的信号。一般的复位电路可分为上电自动复位和按键复位,我们在此选用的是上电复位上电自动复位原理:RST 引脚是复位信号的输入端,只要高电平的复位信号持续两个机器周期以上的有效时间,就可以使单片机上电复位。上电自动复位是通过电容充电实现的,上电瞬间,RST端电位与 Vcc 相同,随充电电流的减少,RST 的电位逐渐下降,直到复位信号无效。按键复位在此不在作过多的介绍,其原理和上电复位是相同的。但其采用的是脉冲复位电路和电平复位电路两种。 复位电路和单片机最小系统如下图所示:4.3.1键盘扫描电路的设计在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成3*4=12个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。键盘电路:4.3.3 LED显示部分电路的设计数码管为七段数码管按能显示多共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。LED AB2管的引脚并联在一起LED驱动电路:4.3.4 报警电路的设计4.3.5 主电路4.3.6 串口通信电路的设计串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: 3.1.波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 3.2.数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 3.3停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备