1、我的毕业论文九江职业技术学院电子工程系 毕 业 论 文题 目:基于单片机的数字万用表设计英文题目:THE DESIGN OF DIGITAL MULTITESTER BASED ON MONOLITHIC INTEGRATED CIRCUI作者姓名:陆芳专业名称:电子信息工程技术班级名称:信息0602指导教师姓名、职称:徐琼燕论文答辩日期: 2009.5.13 答辩委员会主任: 评阅人: 2009年5月13日摘 要本次设计用单片机芯片AT89s52设计一个数字万用表,能够测量交、直流电压值、直流电流、直流电阻以及电容,四位数码显示。此系统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单
2、片机最小系统、显示部分、报警部分、AD转换和控制部分组成。为使系统更加稳定,使系统整体精度得以保障,本电路使用了AD0809数据转换芯片,单片机系统设计采用AT89S52单片机作为主控芯片,配以RC上电复位电路和11.0592MHZ震荡电路,显示芯片用TEC6122,驱动8位数码管显示。程序每执行周期耗时缩到最短,这样保证了系统的实时性。关键词 数字万用表 AT89S52单片机 AD转换与控制AbstractThis design is design a digital universal meter with chip AT89s52 of one-chip computer, can me
3、asure and hand in , direct current pressing value , direct current flow , the direct current is hindered, four numbers show. This system is shunted resistance, resistance of partial pressure, basic resistance, minimum system of 51 one-chip computers, shown that some , warning part , AD change and co
4、ntrol making up partly. In order to make the system more steady, make the whole precision of the system be ensured, this circuit has used AD0809 data to change the chip, the one-chip computer system is designed to adopt AT89S52 one-chip computer as the top management chip, the electricity is restore
5、d to the throne the circuit and 11.0592MHZ and shaken the circuit to match on RC, show that the chip uses TEC6122, urge 8 numbers to be in charge of showing. The every execution cycle consuming time of procedure contracts to get shortest, in this way the real-time character of the security system. K
6、eyword: Digital universal meter AT89S52 one-chip computer AD changes and controls 目 录第一章字万用表设计背景51.1数字万用表的设计目的和意义1.2 数字万用表的设计依据1.3数字万用表设计重点解决的问题第二章万用表总体设计方案2.1数字万用表的基本原理2.2 数字万用表的硬件系统设计总体框架图2.3硬件电路设计方案及选用芯片介绍2.3.1 设计方案2.3.2 芯片选择及功能简介2.4数字万用表的硬件设计2.4.1分模块详述系统各部分的实现方法2.4.2 数字万用表控制硬件整体结构图2.4.3 电路的工作过程描
7、述第三章系统软件与流程图3.1 电路功能模块3.2系统总流程图3.3物理量采集处理流程3.4电压测量过程流程图3.5电流的测量过程流程图3.6电阻的测量过程流程图3.7电容测量过程流程图结 论致 谢参考文献 引 言数字万用表亦称数字多用表,简称DMM(Digtial Multimeter)。它是采用数字化测量技术,把连续的模拟量转换成不连续的、离散的数字形式并加以显示的仪表。传统的指针式万用表功能单精度低,不能满足数字化时代的需求,采用单片的数字万用表,精度高、抗干扰能力强,可扩展尾强、集成方便,目前,由各种单片机芯片构成的数字电万用表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统
8、等智能化测量领域,显示出强大的生命力。一.万用表具有以下几点特点:1)显示清晰直观,计数准确为了提高观察的清晰度,新型的手持式数字用用表(HDMM)已普遍采用字高为26mm的大屏幕LCD(液晶显示器)。有些数字万用表还增加了背光源,以便于夜间观察读数。2)显示位数数字万用表的显示位数通常为3位半到8位半。3)准确度高准确度是测量结果中系统误差与随机误差的综合。它表示测量结果与真值的一致程度,也反映了测量误差的大小,准确度愈高,测量误差愈小。数字万用表的准确度远优于指针万用表。4)分辨力高数字万用表在最低电压量程上末位1个字所代表的电压值,称作仪表的分辨力,宏观世界反映了仪表灵敏度的高低。分辨力
9、随显示位数的增加而提高。5)测试功能强数字万用表不公可以测量直流电压(DCV)、交流电压(ACV)、直流电流(DCA)、交流电流(ACA)、电阻()、二极管正向压降(Uf)、等等。新型数字万用表大多增加了下述测试功能:读数保持(HOLD)、逻辑(LOGIC)测试等等。6)测量范围宽数字万用表可满足常规电子测量的需要。智能数字万用表的测量范围更宽。7)测量速率快数字万用表在每秒钟内对被测电压的测量次数叫测量速率,单位是“次/秒”。它主要取决于A/D转换器的转换速率。一般数字万用表的测量速率为25次/秒。有的能达到20次/秒以上,另有的一些比这个还要高得多。数字万用表可满足不同用户对测量速率的需要
10、。8)输入阻抗高数字万用表电压挡具有很高的输入阻抗,通常为1010000M,从被测电路上吸取的电流小,不会影响被测信号源的工作状态,能减小由信号源内阻引起的测量误差。9)集成度高,微功耗新型数字万用表普遍采用CMOS大规模集成电路的A/D转换器,整机功耗很低,3位半,4位半手持式数字万用表的整机功耗仅几十毫瓦,可用9V叠层电池供电。10)保护功能完善,抗干扰能力强数字万用表具有比较完善的保护电路,过载能力强,新型数字万用表还增加了高压保护器件,能防止浪涌电压。本设计就是基于这个基础设计一个基于单片机的数字万用表。该设备具有直观简单的优点。并且能深入的说明万用表的测量原理。能直观的了解万用表各个
11、部分的结构和测试原则。二万用表的用途二极管档和200M档判别三极管1将万用表开关置于二极管档,因数字万用表的二极管档有2.7V左右的电压输出,利用PN结的单向导电性,判断b极及判断NPN、PNP型三极管。 (1)假设三极管的某一极为b极,将红表笔接在假设的b极上,将黑表笔分别接另外两个极测其电阻,如果两次测得电阻均为低阻且大致相等,此时再对换表笔测其电阻是否均为高阻且相等,则红笔接的就是要找的b极,并判断是NPN型管。(2)如果红表笔接假设的b极,照上述方法测量,结果均为高阻值且相等,对换表笔测其电阻均为低阻且相等,则黑表笔所接为b极,并且为PNP管。 (3)如果上述方法测得结果一个为低阻值,
12、一个为高阻值,则原假设的b极是错的,必须假设另一脚为b极,直到满足要求。当三次测得的结果没有相等的阻值,则三极管是坏管。2将万用表开关置于电阻200M档,对于NPN型管,先假设其一极为c极,把红表笔接在假设的c极上,黑表笔接e极,或用手捏住b极和c极,但不能相碰。这样是为了在bc间接入偏置电阻给三极管的基极加上一正向电流,使三极管导通。记下此时的阻值,然后将红、黑表笔对换重测,也记下其阻值,比较两次阻值的大小,哪次阻值小,说明哪次假设是正确的,则该次红表笔所接是c极。反之,对于PNP型管,黑表笔所接是c极。注意:数字万用表与机械万用表的红、黑表笔相反。利用电容档测量电感1根据电路原理,电容的容
13、抗电感的感抗XL= 2f L 。 如果合理地利用电容容抗 电压( CXCV ) 的转换任务,可用数字万用表的电容档测量电感。 令待测电感的电抗与相应电容的容抗XC相等,即XL=XC,则有同时,待测电感与相应电容上的电压的大小相等,利用电容- 容抗- 电压( CXCV ) 转换器完成电感感抗电压( LXLV ) 的转换。在不改变任何电路的情况下,直接将待测电感L 接入数字万用表电容档的电容输入插口XC,进行电感的测量。虽然数字万用表的屏幕上显示的是电容值,但它是与被测电感电抗大小相等的容抗所对应的电容值。将此显示电容值转换为实际测量的电感值,才算真正地完成了测量电感的的工作。2电感的显示值转换为
14、被测电感值。数字万用表电容档的测量依赖于表内交流测量信号。测量各种型号的数字万用表电容档的测量信号,无论是3 位半数字万用表还是4位半的数字万用表只要电容档的最大量限为20F,其测量信号均为频率f=400Hz ,电压U=30mV(但具有大电容测量功能的数字万用表不在此列例如UT70B 电容档的最大量限40000F,测量信号采用超低频信号)。将f=400Hz 代入公式: 可以得到数字万用表电容档测量电感的显示值C与测量电感值L的转换公式 其中电容C 的单位是F,电感L的单位是H。电感的测量范围从8mH20H。测量大于20F的电容常见的数字万用表,其电容档的测量值最大为20F,现无需对数字万用表原
15、电路做任何改动,就可以用数字万用表的电容档测量大于20F的电容。此方法的测量原理是以两只电容串联公式C串C1C2/(C1+C2)为基础的。由于容量大小不同的两只电容串联后,其串联后的总容量要小于容量小的那只电容的容量,因此,如果待测电容的容量超过了20F,则只要用一只容量小于20F的电容与之串联,就可以直接在数字万用表上测量了。根据两只电容串联公式,很容易推导出C1C2C串/(C2-C串),利用此公式即可算出被测电容的容量值。下面举一测试实例,说明运用此公式的具体方法。被测元件是一只电解电容器,其标称容量为220F,设其为C1。选取一只标称值为10F的电解电容作为C2,选用数字万用表20F电容
16、档测出此电容的实际值为9.5F,将这两只电容串联后,测出C串为9.09F。将C29.5F、C串9.09F代入公式,则:C1C2C串/(C2-C串)9.5 9.09/(9.5-9.09)211(F)注意,无论C2的容量选取为多少,都要在小于20F的前提下选取容量较大的电容,且公式中的C2应代入其实测值,而非标称值,这样可减小误差。将两电容串联起来用数字万用表实测,由于电容本身的容量误差及测量误差,只要实测值与计算值相差不多即可认为待测电容C1是好的,根据测量值即可进一步推算出C1的实际容量。用电压档检测电容器漏电流数字万用表直流电压档不仅用来测电压,还可以用来检测电容器。用电压档测电容实际上是一
17、种间接测量法,此法可测量220pF1F的小容量电容器,并且能精确测出电容器漏电流的大小。1测量方法及原理。测量电路如图1所示,E为外接的1.5V干电池。将数字万用表拨到直流电压2V档,红表笔接被测电容Cx的一个电极,黑表笔接电池负极。2V档的输入电阻Ri10M。由于Ri两端的电压就是仪表输入电压VIN,所以Ri实际上还具有取样电阻的作用。设被测量电容器的漏电流为ID,仪表最后显示的稳定值为VC(单位是V),则 现举例说明:例一:被测电容器为一只0.022F/63V涤纶电容,测量方法同上。由于该电容的容量较小,测量时,VIN(t)下降很快,大约经过4秒左右,显示值就降低到0.0019V,算出漏电
18、流为: 漏电流很小,说明质量较好。2注意事项(1)测量之前应把电容器两引脚短路,进行放电,否则可能观察不到读数的变化过程。(2)在测量过程中两手不得碰触电容电极,以免仪表跳数。(3)测量过程中,VIN(t)的值是呈指数规律变化的,开始时下降很快,随着时间的延长,下降速度会越来越缓慢。当被测电容器Cx的容量小于几千皮法时,由于VIN(t)一开始下降太快,而仪表的测量速率较低,来不及反映最初的电压值,因而仪表最初的显示值要低于电池电压E。(4)当被测电容器Cx大于1F时,为了缩短测量时间,可采用电阻档进行测量。但当被测电容器的容量小于200pF时,由于读数的变化很短暂,所以很难观察得到充电过程。利
19、用蜂鸣器档直接检测交流通路一般数字万用表不能直接测量电容、功放、运放、交流通路等电路。但如果将数字万用表的压电陶瓷片的两端焊下一脚,如图2 串联接入一双孔插座A、B,并将A、B固定于电池盒盖上,双孔外露,则可给数字万用表增加许多新的功能。图2 数字万用表蜂鸣器的改装图 1测量交流通路。交流通路中直流是无法通过的,因此, 使用万用表较难直接测量和判断交流通路是否损坏,而使用改动后的万用表测量则简单多了,只须将A、B表笔接在交流通路的始端和末端,如果蜂鸣器鸣响则表示交流通畅,反之则说明电路中有断路。使用以上方法测量都须将万用表的“ +”、“”插孔短接,使用A、B 插孔测量。如需测量直流通路, 可将
20、短路线插在A、B 插孔处,按照一般的万用表测量方法测量即可。2作为信号发生器使用,可以用于检测多级放大电路故障。方法为:(1)将待测电路接通电源,使其处于工作状态;(2)将A、B 表笔任一根接地,另一根接在放大电路最后一级放大的输入端;(3)用示波器测量或扬声器看末级是否有1kHz的输出信号,如果有被放大的信号输出,则说明故障在上一级放大电路中,否则可判定故障就在本级。用数字万用表作测温仪许多万用表都没有测温档,而每次实验课都需要记录温度,在PCB制板时需要对温度进行控制,而用水银温度计又容易损坏。笔者通过外接简单的测温电路就可以测量温度。测量电路包含温度电压变换电路,高精度基准电压源。其中温
21、度电压变换电路由集成温度传感器,集成运算放大器,电阻等组成。高精度基准电压源由集成稳压器,电容和电阻器等组成。作用是补偿273.2K与0差异,实现量纲转换。通过调试使测量电路的电压灵敏度为1mv/。然后,将数字万用表转换开关置于电压200mV档,用数字万用表直接显示所测量的温度值即可。1. 数字万用表设计背景在本章中主要介绍了系统的设计原则和总体方案及系统概述等。1.1数字万用表的设计目的和意义数字万用表是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量,已被广泛应用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。随着时代科技的进步,数字万用表的功能
22、越来越强大,把电量及非电量的测量技术提高到崭新水平。1.2 数字万用表的设计依据根据数字万用表的原理,结合以下的设计要求:“设计一个数字万用表,能够测量交、直流电压值,直流电流、直流电阻,四位数码显示。实现多级量程的直流电压测量,其量程范围是200mv、2v ,20v,200v和500v.实现多级量程的交流电压测量,其量程范围是200mv、2v ,20v,200v和500v.实现多级量程的直流电流测量,其量程范围是2mA,20mA,200mA、2A和20A.实现多级量程的电阻测量,其量程范围是200、2k ,20k,200k和2M。”以及电容测量电路。由此设想出以下的解决方法,即数字万用表的系
23、统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成。为使系统更加稳定,使系统整体精度得以保障。1.3数字万用表设计重点解决的问题本设计重点要解决的问题是对不同量程的各种测量内容的转换,还有就是各部分电路组合成一个完整的数字万用表,而难点解决的问题就是程序的设计,要保正其可行性从而保证设计的正确性。2 数字万用表总体设计方案2.1数字万用表的基本原理数字万用表的最基本功能是能够测量交直流电压,交直流电流,还有能够测量电阻,数字万用表的基本组成见图2.1。图2.1数字万用表的基本组成下面我们分别介绍各个部分的组成:1)、模数(A/D)
24、转换与数字显示电路常见的物理量都是幅值(大小)连续变化的所谓模拟量(模拟信号)。指针式仪表可以直接对模拟电压、电流进行显示。而对数字式仪表,需要把模拟电信号(通常是电压信号)转换成数字信号,再进行显示和处理(如存储、传输、打印、运算等)。数字信号与模拟信号不同,其幅值(大小)是不连续的。这种情况被称为是“量化的”。若最小量化单位(量化台阶)为,则数字信号的大小一定是的整数倍,该整数可以用二进制数码表示。但为了能直观地读出信号大小的数值,需经过数码变换(译码)后由数码管或液晶屏显示出来。例如,设=0.1,我们把被测电压与比较,看是的多少倍,并把结果四舍五入取为整数 (二进制)。一般情况下,100
25、0即可满足测量精度要求(量化误差1/1000=0.1%)。最常见的数字表头的最大示数为1999,被称为三位半()数字表。对上述情况,我们把小数点定在最末位之前,显示出来的就是以mV为单位的被测电压的大小。如:是 (0.1)的1234倍,即=1234,显示结果为123.4()。这样的数字表头,再加上电压极性判别显示电路,就可以测量显示-199.9199.9的电压,显示精度为0.1。由上可见,数字测量仪表的核心是模数(A/D)转换、译码显示电路。A/D转换一般又可分为量化、编码两个步骤。2) 、多量程数字电压表原理在基准数字电压表头前面加一级分压电路(分压器),可以扩展直流电压测量的量程。如图2.
26、2所示,为电压表头的量程(如200),为其内阻(如10),、为分压电阻,为扩展后的量程。图2.2分压电路原理 图2.3多量程分压器原理由于rr2,所以分压比为扩展后的量程为多量程分压器原理电路见图2.3,5档量程的分压比分别为1、0.1、0.01、0.001和0.0001,对应的量程分别为2000、200、20、2和200。采用图3的分压电路虽然可以扩展电压表的量程,但在量程档明显降低了电压表的输入阻抗,这在实际使用中是所不希望的。所以,实际数字万用表的直流电压档电路为图2.4所示,它能在不降低输入阻抗的情况下,达到同样的分压效果。例如:其中200档的分压比为图2.4 使用分压电路其余各档的分
27、压比可同样算出。实际设计时是根据各档的分压比和总电阻来确定各分压电阻的。如先确定再计算2000档的电阻再逐档计算、。尽管上述最高量程档的理论量程是2000,但通常的数字万用表出于耐压和安全考虑,规定最高电压量限为1000。换量程时,多刀量程转换开关可以根据档位自动调整小数点的显示,使用者可方便地直读出测量结果。3)、多量程数字电流表原理测量电流的原理是:根据欧姆定律,用合适的取样电阻把待测电流转换为相应的电压,再进行测量。如图2.5,由于,取样电阻上的电压降为即被测电流 图2.5电流测量原理 图2.6多量程分流器电路若数字表头的电压量程为,欲使电流档量程为,则该档的取样电阻(也称分流电阻)为
28、方面的如=200,则=200档的分流电阻为。多量程分流器原理电路见图2.6。图2.6中的分流器在实际使用中有一个缺点,就是当换档开关接触不良时,被测电路的电压可能使数字表头过载,所以,实际数字万用表的直流电流档电路为图2.7所示。 图2.7实用分流器电路图2.7中各档分流电阻的阻值是这样计算的:先计算最大电流档的分流电阻再计算下一档的依次可计算出、和。图2.8 AC-DC变换器原理简图图中的BX是2A保险丝管,电流过大时会快速熔断,超过流保护作用。两只反向连接且与分流电阻并联的二极管D1、D2为塑封硅整流二极管,它们起双向限幅过压保护作用。正常测量时,输入电压小于硅二极管的正向导通压降,二极管
29、截止,对测量毫无影响。一旦输入电压大于0.7,二极管立即导通,两端电压被限制住(小于0.7),保护仪表不被损坏。4)、 交流电压电流测量处理原理数字万用表中交流电压,电流测量电路是在直流电压、电流测量电路的基础上,在分压器或分流器之后加入了一级交流-直流(AC-DC)变换器,图2.8为其原理简图。 该AC-DC变换器主要由集成运算放大器、整流二极管、RC滤波器等组成,还包含一个能调整输出电压高低的电位器,用来对交流电压档进行校准之用。调整该电位器可使数字表头的显示值等于被测交流电压的有效值。同直流电压档类似,出于对耐压、安全考虑,交流电压最高档的量限通常限定为700(有效值)。5)、 电阻测量
30、原理数字万用表中的电阻档采用的是比例测量法,其原理电路见图2.9。 由稳压管ZD提供测量基准电压,流过标准电阻和被测电阻的电流基本相等(数字表头的输入阻抗很高,其取用的电流可忽略不计)。所以A/D转换器的参考电压和输入电压有如下关系: 图2.9电阻测量原理即根据所用A/D转换器的特性可知,数字表显示的是与的比值,当=时显示“1000”,=0.5时显示“500”,以此类推。所以,当时,表头将显示“1000”,当时显示“500”,这称为比例读数特性。因此,我们只要选取不同的标准电阻并适当地对小数点进行定位,就能得到不同的电阻测量档。如对200档,取=100,小数点定在十位上。当=100时,表头就会
31、显示出100.0。当变化时,显示值相应变化,可以从0.1测到199.9。又如对2档,取,小数点定在千位上。当变化时,显示值相应变化,可以从0.001测到1.999。其余各档道理相同,同学们可自行推演。数字万用表多量程电阻档电路见图10。由上分析可知,图2.10电阻测量图2.10中由正温度系数(PTC)热敏电阻与晶体管组成了过压保护电路,以防误用电阻档去测高电压时损坏集成电路。当误测高电压时,晶体管发射极将击穿从而限制了输入电压的升高。同时随着电流的增加而发热,其阻值迅速增大,从而限制了电流的增加,使的击穿电流不超过允许范围。即只是处于软击穿状态,不会损坏,一旦解除误操作,和都能恢复正常。6)、
32、 电容测量原理电容测量是根据电容充电原理其充电电压与时间成一定的指数关系。根据电压和时间可以计算出电容的值。2.2 数字万用表的硬件系统设计总体框架图如下图2.11所示,本万用表由以下几部分功能组成,复位电路、震荡电路、ADC输入、被测量显示、超限报警、ADC使能控制。复位电路用来清零,进行下一次的测量;震荡电路用来消除一些外来干扰,使电路工作更加稳定;ADC输入则是将输入量进行AD转换;测量显示就是显示测量的数值;超限报警部分则是用作当测量量超出量程范围时发出警报,以便提醒用户更改大量程;ADC使能控制则用来对输入量进行控制,允许输入或者不允许。复位电路震荡电路ADC输入被测量显示超限报警A
33、DC使能控制89s52图2.11. 总体电路设计原理图2.3硬件电路设计方案及选用芯片介绍2.3.1 设计方案用单片机AT89S52与ADC0809设计一个数字万用表,配合分流电阻、分压电阻、基准电阻可以测量交、直流电压值,直流电流、直流电阻,四位数码显示。实现四级量程的直流电压测量,其量程范围是2v ,20v,200v和500v.实现四级量程的交流电压测量,其量程范围是2v ,20v,200v和500v.实现四级量程的直流电流测量,其量程范围是2mA,20mA,200mA和2A.实现四级量程的电阻测量,其量程范围是2k ,20k,200k和2M.,并且有超出量程的情况发生时,蜂鸣器发声报警。
34、2.3.2 芯片选择及功能简介1、AT89S52芯片功能特性描述AT89S52引脚框图:图2.12 AT89S52芯片引脚图AT89S52 主要性能:1、 与MCS-51 单片机产品兼容2、8K 字节在系统可编程Flash 存储器3、1000 次擦写周期4、全静态操作:0Hz33Hz 5、 三级加密程序存储器6、32 个可编程I/O 口线7、三个16 位定时器/计数器8、八个中断源9、全双工UART 串行通道10、低功耗空闲和掉电模式l 1、掉电后中断可唤醒l2、 看门狗定时器13、双数据指针l 4、掉电标识符方框图:图2.13 AT89S52内部框图功能特性描述:AT89S52是一种低功耗、
35、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz
36、静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。VCC : 电源GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1
37、口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。表2.1 P1口的第二功能P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上
38、拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
39、口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。表2.2 P3口的第二功能RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PRO
40、G)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外
41、部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。Flash 编程并行模式:AT89S52 带有用作编程的片上Flash 存储器阵列。编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方Flash 或EPROM 编程器。AT89S52 程序存储阵列采用字节式编程。编程方法:对AT89S52 编程之
42、前,需根据Flash 编程模式表和图13、图14 对地址、数据和控制信号设置。可采用下列步骤对AT89S52 编程:1在地址线上输入编程单元地址信号2在数据线上输入正确的数据3激活相应的控制信号4把EA/Vpp 升至12V 5每给Flash 写入一个字节或程序加密位时,都要给ALE/PROG 一次脉冲。字节写周期时自身定制的,典型值仅50us。改变地址、数据重复第1 步到第5 步知道全部文件结束。Data Polling AT89S52 用Data Polling 作为一个字节写周期结束的标志特征2、ADC0809介绍ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑
43、的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(1)ADC0809的内部逻辑结构 图2.14 ADC0809的内部逻辑结构上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2) 引脚结构 图2.15 ADC0809引脚结构图IN0IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行
44、放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。表2.3 地址输入线的通道选择CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下
45、跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(),VREF()为参考电压输入。 ADC0809应用说明:(1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2) 初始化时,使ST和OE信号全为低电平。 (3) 送要转换的哪一通道的地址到A,B,C端口上。 (4) 在ST端给出一个至少有100ns宽的正脉冲信号。 (5) 是否转换完毕,我们根据EOC信号来判断。 (6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 3、TEC6122简述