1、成都电子机械高等专科学校毕业设计(论文)毕业设计(论文)题目:超声波测距仪IV 摘 要超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。本课题详细介绍了超声波传感器的原理和特性,以及Atmel公司的AT89C51单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。该系统电路设计合理、工作
2、稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。关键词:超声波 单片机 测距 AT89C51AbstractUltrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizing the scheme of distance finding that sensor technology and automatic control technology combine togeth
3、er ,ultrasonic wave finds range to use the most general one at present ,it applies to guard against theft , move backward the radar , water level measuring , building construction site and some industrial scenes extensively。This subject has introduced principle and characteristic of the ultrasonic s
4、ensor in detail ,and the performance and characteristic of one-chip computer AT89C51 of Atmel Company ,and on the basis of analyzing principle that ultrasonic wave finds range ,the systematic thinking and questions needed to consider that have pointed out that designs and finds range ,provide low co
5、st , the hardware circuit of high accuracy , ultrasonic range finder of miniature digital display and software design method taking AT89C51 as the core ,this circuit of system is reasonable in design, working stability, performance good measuring speeding soon , calculating simple , apt to accomplis
6、h real-time control ,and can reach industrys practical demand in measuring the precision 。Key Words: Ultrasonic wave; One-chip computer; Range finding; AT89C51目录摘 要1ABSTRACT2目录3第1章 超声波测距系统设计51.1 超声波测距的原理51.2超声波测距系统电路的设计51.2.1 总体设计方案51.2.2发射电路的设计61.2.3接收电路的设计71.2.4显示模块的设计81.3超声波测距系统的软件设计91.4本章小结11第2章
7、 绪论122.1 课题背景,目的和意义122.2两种常用的超声波测距方案122.2.1基于单片机的超声波测距系统122.2.2基于CPLD的超声波测距系统132.3课题主要内容14第3章 超声波传感器153.1超声波传感器的原理与特性153.1.1原理153.1.2特性163.2超声波传感器的检测方式173.3超声波传感器系统的构成183.4本章小结19第4章 AT89C51单片机简介204.1单片机基础知识204.1.1单片机的内部结构204.1.2单片机的基本工作原理224.2单片机的分类及发展234.3单片机AT89C51的特性244.4本章小结27第5章 电路调试及误差分析285.1电
8、路的调试285.2系统的误差分析285.2.1声速引起的误差285.2.2单片机时间分辨率的影响295.4本章小结30结论31致谢32参考文献33附录134附录239附录340第1章 超声波测距系统设计1.1 超声波测距的原理单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波, 从而测出发射和接收回波的时间差t,然后求出距离 (1-1)式(1-1)中的c为超声波在空气中传播的速度。限制该系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。为了增加所测量的覆盖范围,减少
9、测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。由于超声波发球声波范围,其波速c与温度有关,表1-1列出了几种不同温度下的波速。表1-1 声速与温度的关系温度()3020100102030100声速(m/s)313319325323338344349386波速确定后,只要测得超声波往返的时间t,即可求得距离S。其系统原理框图如图1-1所示。图1-1 超声波测距系统框图单片机AT89C51发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间t,再由系统软件对其进行计
10、算、判别后,相应的计算结果被送至LED数码管进行显示。在下一节里,我们将详细介绍超声波测距仪的各部分电路的设计思路及方法。1.2超声波测距系统电路的设计1.2.1 总体设计方案由单片机AT89C51编程产生40kHz的方波,由P3.6口输出,再经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单片机。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。该测距装置是由超声波传感器、单片机、发射/接收电路和LED显示器组成。传感器输入端与发射接
11、收电路相连,接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。其时序图如图1-2所示。图1-2 时序图单片机在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。1.2.2发射电路的设计由单片机产生的40kHz的方波需要进行放大,才能驱动超声波传感器发射超声波,发射驱动电路其实就是一个信号放大电路,本课题所选用的是74HC04集成芯片,图1-3为发射电路图。图1-3 发射电路74HC04内部集成了六个反向器,同时具有放大的功能。74HC04的
12、管脚如图1-4所示。图1-4 74HC04管脚图1.2.3接收电路的设计超声波接收头接收到超声波后,转换为电信号,此时的信号比较弱,必需经过放大。本系统采用了LM741对接收到的信号进行放大,接收电路如图1-5所示。图1-5 接收电路超声波探头接收到超声波后,通过声电转换,产生一正弦信号,其频率为传感器的中心频率,即40kHz。该信号通过C1高通滤波后经LM741放大,最后经二极管整形后输出到单片机中断口。LM741是一单运放集成芯片,图1-6为LM741管脚图。图1-6 LM741管脚图1.2.4显示模块的设计LED(Light-Emitting Diode,发光二极管)有七段和八段之分,也
13、有共阴和共阳两种。LED数码管结构简单,价格便宜。图1-7示出了八段LED数码显示管的结构和原理图。图1-7(a)为八段共阴数码显示管结构图,图1-7(b)是它的原理图,图1-7(c)为八段共阳LED显示管原理图。八段LED显示管由八只发光二极管组成,编号是a、b、c、d、e、f、g和SP,分别与同名管脚相连。七段LED显示管比八段LED少一只发光二极管SP,其他与八段相同。图1-7 八段LED数码显示管原理和结构单片机对LED管的显示可以分为静态和动态两种。静态显示的特点是各LED管能稳定地同时显示各自字形;动态显示是指各LED轮流地一遍一遍显示各自字符,人们由于视觉器官惰性,从而看到的是各
14、LED似乎在同时显示不同字形。为了减少硬件开销,提高系统可靠性并降低成本,单片机控制系统通常采用动态扫描显示。但是由于本系统所用的单片机引脚少,剩余引脚很多,而且也只需显示三位字符,所以,采用了静态的显示方式,且采用了软件译码,这样单片机引脚输出可直接接到LED显示管上。这样省去了外部复杂的译码电路。1.3超声波测距系统的软件设计单片机编程产生超声波,在系统发射超声波的同时利用定时器的计数功能开始计时,接收到回波后,接收电路输出端产生的负跳变在单片机的外部中断源输入口产生一个中断请求信号,响应外部中断请求,执行外部中断服务子程序,停止计时,读取时间差,计算距离,然后通过软件译码,将数据输出P0
15、、P1和P2口显示。程序流程图如图1-8,(a)为主程序流程图,(b)为定时中断子程序流程图,(c)为外部中断子程序流程图。 (a) (b) (c)图1-8 程序流程图用单片机编程产生40kHz方波,可用延时程序和循环语句实现。先定义一个延时函数delays(),然后可用for语句循环,并且循环一次同时改变方波输出口的电平高低,从而产生方波。部分程序如下:void delays() /延时函数void main() for(a=0;a200;a+) /产生100个40KHz的方波 P36=!P36; /每循环一次,输出引脚取反 delays() ; 单片机每隔一段时间产生一串40kHz方波,同
16、时定时器开始计时,当收到回波,产生中断信号后,单片机执行中断程序。在中断程序中,先让定时器停止计数,然后读取时间,通过时间计算出所测距离,输出结果。中断程序如下:void intersvro(void) interrupt 0 using 1 /INTO中断服务程序 uint bwei,shwei,gwei; uchar DH,DL; ulong COUNT; ulong num; TR0=0 ; /停止计数 DH=TH0; DL=TL0; COUNT=TH0*256+TL0; num= (344*COUNT)/20000; /计算距离 bwei=num/100; /取百位 gwei=(num
17、-bwei*100)/10; /取十位 shwei=num%10; /取个位 P1=tabbwei; /输出百位 P0=tabshwei; /输出十位 P2=tabgwei; /输出个位 TH0=0; TL0=0;本系统的LED显示采用了静态显示方式,并用单片机内部软件译码。这样简单方便,省去了复杂的外部译码电路。软件译码只需要定义一个数组便可,程序语句如下:uchar data tab10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;这是共阳LED显示从0到9的字形码。1.4本章小结本章是该课题的重点,全面介绍了超声波测距系统的原理和设
18、计思路,给出了硬件电路和软件的设计。在硬件电路的设计中,分别详细介绍了发射电路,接收电路及显示模块的设计方法。软件编程部分,给出了整个程序的思路以及程序流程图。第2章 绪论 2.1 课题背景,目的和意义传感器技术是现代信息技术的主要内容之一。信息技术包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外传感器、压力传感器等等,其中,超声波传感器在测量方面有着广泛、普遍的应用。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。超声波测距系统主要
19、应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井深、管道长度等场合。因此研究超声波测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。2.2两种常用的超声波测距方案2.2.1基于单片机的超声波测距系统基于单片机的超声波测距系统,是利用单片机编程产生频率为40kHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波波经反射物反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片机中断口。其系统框图如图2-1所示。图2-1 基于单片机的超声波测距系统框图这种以单片机
20、为核心的超声波测距系统通过单片机记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,结果输出给LED显示1。利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多超声波测距系统都采用这种设计方法。2.2.2基于CPLD的超声波测距系统这种测距系统采用CPLD(Complex Programmable Logic Device)器件,运用VHDL(Very High Speed Integrated Circuit Hardw
21、are Description Language)编写程序,使用MAX+plusII软件进行软硬件设计的仿真和调试,最终实现测距功能。CPLD器件内部的宏单元是其最基本的模块,能独立地编程为D触发器、T触发器、RS触发器或JK触发器工作方式或组合逻辑工作方式。它的这种特性非常适用于本系统,可将本系统所需要的分频功能、计数功能、振荡器、七段码显示全部由MAX来实现,而只需在外部配上适当的超声波传感器、接收和发送电路,即可组成一个测量精度高、性能稳定、响应速度快且具有显示功能的超声波测距仪。本系统利用CPLD器件控制超声波的发射,并对超声波发射至接收的往返时间进行计数,将计算结果在LED上显示出来
22、。配合使用MAX+plusII开发软件,可集设计输入、设计处理、设计校验和器件编程于一体,集成度高,开发周期短。其系统框图如图2-2所示。图2-2 基于CPLD的超声波测距系统框图超声波发射器向某一方向发射40kHz的超声波,在发射超声波的同时,MAX7128S内的计数器开始计数。超声波在空气中传播,途中碰到障碍物就会立即返回来。超声波接收器收到反射波后就将回波信号送到CPLD,CPLD立即停止计数。CPLD所计的时间就是超声波从传感器到被测物的往返时间。超声波在空气中的传播速度如设定为332m/s,根据计数器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=332t/2。CPLD开始
23、计数后,只要传感器收到回波,CPLD就立即停止计数,即只有最先返回的超声波才起作用,也就是说超声波测距仪总是测得离传感器最近的物体的距离2。本系统采用先进的CPLD器件,高性能、低成本地实现了距离的测定。2.3课题主要内容通过上节介绍我们知道,以单片机为核心的超声波测距系统设计简单、方便,而且测精度能达到工业要求。本课题研究的测距系统就是用单片机控制的。通过超声波发射器向某一方向发射超声波,单片机在发射时刻同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为V,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离。
24、本系统利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。接收电路的输出端接单片机的外部中断源输入口。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求执行外部中断服务子程序,读取时间差,计算距离,结果输出给LED显示。利用本测距系统测量,范围应在30cm200cm内,其最大误差控制在10cm。第3章 超声波传感器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声
25、波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的因有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两极间未外加电压,当共振板接收到超声波时,将压迫压电晶片振动,将机械能转换为电信号,这时它就成为超声波接收器了。在设计超声波测
26、距系统之前,我们首先来了解一下有关超声波传感器方面的知识。在本章里,将介绍超声波传感器的原理和特性,检测方式以及超声波传感系统的构成。 3.1超声波传感器的原理与特性3.1.1原理人们可以听到的声音频率为20Hz20kHz,即为可听声波,超出此频率范围的声音,即20Hz以下的声音称为低频声波,20kHz以上的声音称为超声波,一般说话的频率范围为100Hz8kHz。超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强,为此利用超声波的这种性质就可以制成超声波传感器。另外,超声波在空气中传播的速度较慢,约为330m/s,这就使得超声波传感器使用变得非常简单。超声波传感器有发送器和接收器,但
27、一个超声波传感器也可以具有发送和接收声波的双重作用,即为可逆元件。一般市场上出售的超声波传感器有专用型和兼用型,专用型就是发送器用作发送超声波,接收器用作接收超声波;兼用型就是发送器和接收器为一体传感器,即可发送超声波,又可接收超声波。超声波传感器的谐振频率(中心频率)有23kHz、40kHz、75kHz、200kHz、400kHz等。谐振频率变高,则检测距离变短,分解力也变高。超声波传感器是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图3-1所示,是在压电元件上施加电压,元件就变形,即称应变。若在图a所示的已极化
28、的压电陶瓷上施加如图b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向上伸长。若外部施加的极性变反,如图c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。图3-1 压电逆效应超声波传感器采用双晶振子,即把双压电陶瓷片以相反极化方向粘在一起,在长度方向上,一片伸长,另一片就缩短。在双晶振子的两面涂敷薄膜电极,其上面用引线通过金属板(振动板)接到一个电极端,下面用引线直接接到另一个电极端。双晶振子为正方形,正方形的左右两边由圆弧形凸起部分支撑着。这两处的支点就成为振子振动的节点。金属板的中心有圆锥形振
29、子。发送超声波时,圆锥形振子有较强的方向性,因而能高效率地发送超声波;接收超声波时,超声波的振动集中于振子的中心,所以,能产生高效率的高频电压。采用双晶振子的超声波传感器,若在发送器的双晶振子(谐振频率为40kHz)上施加40kHz的高频电压,压电陶瓷片就根据所加的高频电压极性伸长与缩短,于是就能发送40kHz频率的超声波。超声波以疏密波形式传播,传送给超声波接收器。超声波接收器是利用压电效应的原理,即在压电元件的特定方向上施加压力,元件就发生应变,则产生一面为正极,另一面为负极的电压。若接收到发送器发送的超声波,振子就以发送超声波的频率进行振动,于是,就产生与超声波频率相同的高频电压,当然这
30、种电压是非常小的,必须采用放大器放大。3.1.2特性现以MA40S2R接收器和MA40S2S发送器为例说明超声波传感器的各种特性,表3-1示出的就是这种超声波传感器的特性。传感器的标称频率为40kHz,这是压电元件的中心频率,实际上发送超声波时是串联谐振与并联谐振的中心频率,而接收时各自使用并联谐振频率。表3-1 超声波传感器MA40S2R/S的特性种类特性MA40S2R接收MA40S2S发送标称频率40kHz灵敏度74dB以上100dB以上带宽6kHz以上(80dB)7kHz以上(90dB)电容1600pF1600pF绝缘电阻100M以上温度特性20+60范围内灵敏度变化在10dB以内超声波
31、传感器的带宽较窄,大部分是在标称频率附近使用,为此,要采取措施扩展频带,例如,接入电感等。另外,发送超声波时输入功率较大,温度变化使谐振频率偏移是不可避免的,为此,对于压电陶瓷元件非常重要的是要进行频率调整和阻抗匹配。MA40S2R/S传感器的发送与接收的灵敏度都是以标称频率为中心逐渐降低,为此,发生超声波时要充分考虑到这一点以免逸出标称频率。图3-2表示传感器方向性的特性,这种传感器在较宽范围内具有较高的检测灵敏度,因此,适用于物体检测与防犯报警装置等。另外,对于这种传感器,一般来说温度越高,中心频率越低,为此,在宽范围环境温度下使用时,不仅在外部进行温度补偿,在传感器内部也要进行温度补偿。
32、图3-2 传感器的方向性3.2超声波传感器的检测方式1.穿透式超声波传感器的检测方式当物体在发送器与接收器之间通过时,检测超声波束衰减或遮挡的情况从而判断有无物体通过。这种方式的检测距离约1m,作为标准被检测物体使用100mm100mm的方形板。它与光电传感器不同,也可以检测透明体等。2.限定距离式超声波传感器的检测方式当发送超声波束碰到被检测物体时,仅检测电位器设定距离内物体反射波的方式,从而判断在设定距离内有无物体通过。若被检测物体的检测面为平面时,则可检测透明体。若被检测物体相对传感器的检测面为倾斜时,则有时不能检测到被测物体。若被检测物体不是平面形状,实际使用超声波传感器时一定要确认是
33、否能检测到被测物体。3.限定范围式超声波传感器的检测方式在距离设定范围内放置的反射板碰到发送的超声波束时,则被检测物体遮挡反射板的正常反射波,若检测到反射板的反射波衰减或遮挡情况,就能判断有无物体通过。另外,检测范围也可以是由距离切换开关设定的范围。4.回归反射式超声波传感器的检测方式回归反射式超声波传感器的检测方式与穿透超声波传感器的相同,主要用于发送器设置与布线困难的场合。若反射面为固定的平面物体,则可用作回归反射式超声波传感器的反射板。另外,光电传感器所用的反射板同样也可以用于这种超声波传感器。这种超声波传感器可用脉冲市制的超声波替代光电传感器的光,因此,可检测透明的物体。利用超声波的传
34、播速度比光速慢的特点,调整用门信号控制被测物体反射的超声波的检测时间,可以构成限定距离式与限定范围式超声波传感器。3.3超声波传感器系统的构成超声波传感器系统由发送器、接收器、控制部分以及电源部分构成,如图3-3所示。发送器常使用直径为15mm左右的陶瓷振子,将陶瓷振子的电振动能量转换为超声波能量并向空中辐射。除穿透式超声波传感器外,用作发送器的陶瓷振子也可用作接收器,陶瓷振子接收到超声波产生机械振动,将其变换为电能量,作为传感器接收器的输出,从而对发送的超声波进行检测。图3-3 超声波传感器系统的构成控制部分判断接收器的接收信号的大小或有无,作为超声波传感器的控制输出。对于限定范围式超声波传
35、感器,通过控制距离调整回路的门信号,可以接收到任意距离的反射波。另外,通过改变门信号的时间或宽度,可以自由改变检测物体的范围。超声波传感器的电源常由外部供电,一般为直流电压,电压范围为1224V10%,再经传感器内部稳压电路变为稳定电压供传感器工作。超声波传感器系统中关键电路是超声波发生电路和超声波接收电路。可有多种方法产生超声波,其中最简单的方法就是用直接敲击超声波振子,但这种方法需要人参与,因而是不能持久的,也是不可取的。为此,在实际中采用电路的方法产生超声波,根据使用目的的不同来选用其振荡电路3。3.4本章小结本章我们详细介绍了超声波传感器的原理及其特性,超声波发送器就是利用压电逆效应的
36、原理产生超声波的。超声波传感器有四种检测方式,分别为穿透式超声波传感器的检测方式、限定距离式超声波传感器的检测方式、限定范围式超声波传感器的检测方式和回归反射式超声波传感器的检测方式。超声波传感器系统由发送器、接收器、控制部分以及电源部分构成。第4章 AT89C51单片机简介本课题所设计的超声波测距系统是基于单片机控制的,在介绍电路设计之前,我们先来简单了解一下单片机的工作原理,由于本课题所设计的超声波测距系统是以Atmel公司的8位单片机AT89C51为核心的,所以,在本章先简单的介绍一下AT89C51的一些特性。4.1单片机基础知识单片微型计算机简称单片机,特别适用于控制领域,故又称为微控
37、制器(Microcontroller)。单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃且颇具生命力的机种。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:CPU(Central Processing Unit,中央处理器)、存储器和I/O接口电路等。因此,单片机只需要与适当的软件及外部设备相结合,便可成为一个单片机控制系统。4.1.1单片机的内部结构单片机内部结构如图4-1所示。图4-1 单片机内部结构与单片机相比,微型计算机是一种多片机系统。它是由中央处理器(CPU)芯片、ROM芯片、RAM芯片和I/O接口芯片等通过印刷电路板上总线(地址总线AB、数据总线DB
38、和控制总线CB)连成一体的完整计算机系统。其中,中央处理器(CPU)的字长长,功能强大;ROM和RAM的容量很大;I/O接口的功能也大,这是单片机无法比拟的。因此,单片机在结构上与微型计算机十分相似,是一种集微型计算机主要功能部件于同一块芯片上的微型计算机,并由此而得名。由图4-1可见,中央处理器(CPU)是通过内部总线与ROM、RAM、I/O接口以及定时器/计数器相连的,这个结构并不复杂,但并不好理解。为此,在分析单片机工作原理前,先对图4-1中各部件作一基本介绍是十分必要的。1.存储器在单片机内部,ROM和RAM存储器是分开制造的。通常,ROM存储器容量较大,RAM存储器的容量较小,这是单
39、片机用于控制的一大特点。(1)ROM ROM(Read Only Memory,只读存储器)一般为132K字节,用于存放应用程序,故又称为程序存储器。由于单片机主要在控制系统中使用,因此一旦该系统研制成功,其硬件和应用程序均已定型。为了提高系统的可靠性,应用程序通常固化在片内ROM中,根据片内ROM的结构,单片机又可分为无ROM型、ROM型和EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)型三类。近年来,又出现了EEPROM(Electrically Erasable Programmable Read Only Memory,
40、电擦除可编程只读存储器)和Flash型ROM存储器。无ROM型单片机特点是片内不集成ROM存储器,故应用程序必须固化到外接的ROM存储器芯片中,才能构成有完整功能的单片机应用系统。ROM型单片机内部,其程序存储器是采用掩膜工艺制成的,程序一旦固化进去便永远不能修改。EPROM型单片机内部的程序存储器是采用特殊FAMOS管构成的,程序一旦写入,也可以通过特殊手段加以修改。因此,EPROM型单片机是深受研制人员欢迎的。 (2)RAM通常,单片机片内RAM(Random Access Memory,随机存取存储器)容量为64256字节,最多可达48K字节。RAM主要用来存放实时数据或作为通用寄存器、
41、数据堆栈和数据缓冲器之用。2.中央处理器(CPU)中央处理器的内部结构极其复杂,要像电子线路那样画出它的全部电路原理图来加以分析介绍是根本不可能的。下面简单概述一下几个主要部分的工作原理。(1)运算器运算器用于对二进制数进行算术运算和逻辑操作;其操作顺序在控制器控制下进行。运算器由算术逻辑单元ALU、累加器A、通用寄存器R0、暂存器TMP和状态寄存器PSW等五部分组成。累加器A(Accumulator)是一个具有输入/输出能力的移位寄存器,由8个触发器组成。TR(Temporary Register,暂存器)也是一个8位寄存器,用于暂存另一操作数。ALU(Arithmetic and Logi
42、cal Unit,算术逻辑单元)主要由加法器、移位电路和判断电路等组成,用于对累加器A和暂存器TMP中两个操作数进行四则运算和逻辑操作。PSW(Program Status Word,程序状态字)也由8位触发器组成,用于存放ALU操作过程中形成的状态。(2)控制器控制器是发布操作命令的机构,是计算机的指挥中心,相当于人脑的神经中枢。控制器由指令部件、时序部件和微操作控制部件等三部分组成。指令部件是一种能对指令进行分析、处理和产生控制信号的逻辑部件,也是控制器的核心。指令是一种能供机器执行的控制代码,有操作码和地址码两部分。时序部件由时钟系统和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲
43、信号。微操作控制部件可以为ID(Instruction Decoder,指令译码器)输出信号配上节拍电位和节拍脉冲,也可与外部进来的控制信号组合,共同形成相应的微操作控制序列,以完成规定的操作。3.内部总线单片机内部总线是CPU连接片内各主要部件的纽带,是各类信息传送的公共通道。内部总线主要由三种不同性质的连线组成,它们是地址线、数据线和控制线/状态线。地址线主要用来传送存储器所需要的地址码或外部设备的设备号,通常由CPU发出并被存储器或I/O接口电路所接收。数据线用来传送CPU写入存储器或经I/O接口送到输出设备的数据,也可以传送从存储器或输入设备经I/O接口读入的数据。因此,数据线通常是双
44、向信号线。控制/状态线有两类:一类是CPU发出的控制命令,如读命令、写命令、中断响应等;另一类是存储器或外设的状态信息,如外设的中断请求、存储器忙和系统复位信号等。4.I/O接口和特殊功能部件I/O接口电路有串行和并行两种。串行I/O用于串行通信,它可以把单片机内部的并行8位数据(8位机)变成串行数据向外传送,也可以串行接收外部送来的数据并把它们变成并行数据送给CPU处理。并行I/O口电路可以使单片机和存储器或外设之间并行地传送8位数据(8位机)。4.1.2单片机的基本工作原理单片机是通过执行程序来工作的,机器执行不同程序就能完成不同的运算任务。因此,单片机执行程序的过程实际上也体现了单片机的
45、基本工作原理。为此,先从指令程序谈起。1.单片机的指令系统和程序编制前面已经介绍,指令是一种可以供机器执行的控制代码,故它又称为指令码(Instruction Code)。指令码由操作码(Operation Code)和地址码(Address Code)构成:操作码用于指示机器执行何种操作;地址码用于指示参加操作的数在哪里。其格式为:操作码地址码 指令码的二进制形式既不便于记忆,又不便于书写,故人们通常采用助记符形式来表示,表4-1所列。表4-1 指令的三种形式指令的二进制形式指令的十六进制形式指令的汇编形式01110100 data174 data1MOV A,#data1;Adata100100100 data224 data2ADD A,#data2; Adata1+data210000000 111111080 FESJMP $;停机指令的集合或指令的全体称为“指令系统”(Instruction System)。微处理器类型不同,它的指令系统也不一样。所谓程序就是采用指令系统中的指令根据题目要求排列起来的有序指令的集合。程序的编制称为“程序设计”。通常,设计人员采用指令的汇编符(即助记符)形式编程,这种程序设计称为“汇编语言程序设计”。