




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北科技学院毕业设计(论文)目 录设计总说明1design general information21 绪论41.1 课题的背景及意义41.2 数字电压表的简介42 系统的方案设计与论证52.1 数字电压表原理52.2 数字电压表设计要求53 系统硬件结构设计53.1 电源电路63.2 单片机芯片选择73.2.1 at89c51主要特性83.2.2 管脚说明93.2.3内部单元103.2.4 中断133.2.5 芯片擦除153.2.6 结构特点153.3 a/d转换电路163.3.1 tlc2543的特点163.3.2 tlc2543的引脚说明173.3.3 tlc2543控制字183.3.4 tlc2543接口时序203.4 显示电路223.5 复位电路243.6 晶振电路244 系统软件设计264.1 主程序流程图264.2 中断程序流程图274.3 源程序28总 结35参考文献36致 谢37附录a38数字电压表电路原理图38附录b39元件清单列表39第39页 共42 页基于单片机的数字电压表的设计设计总说明在当今的数字时代,大到空间雷达,地球卫星定位系统,移动通信,计算机,医用断层扫描设备,小到家用计算机,数码影像设备,数字录音笔,数码微波炉等设备中,数字技术与数字电路组成的数字系统已经成为这些现代电子系统的重要组成部分。数字电压表正进入一个蓬勃发展的新时期,一方面它开拓了电子测量领域的先河,另一方面它本身正朝着高准确度、智能化、低成本的方向发展。此外,数字电压表在安装工艺、外观设计、安全性、可靠性等方面也在不断改进,日臻完善。数字电压表(digital voltmeter)简称dvm,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。现代数字电压表按测量功能可分为直流数字电压表和交流数字电压表。数字电压表一般由模拟部分和数字部分组成,模拟部分主要功能是获取电压并将其转换为相应的数字量,数字部分完成逻辑控制、译码和显示等功能。数字电压表的核心是a/d转换器,由a/d转换器工作原理的不同,数字电压表又可分为逐次比较型和双积分型。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求。采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与pc进行实时通信。目前,由各种单片a/d 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由dvm扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。数字电压表作为数字技术的成功应用,发展相当快。数字电压表以其功能齐全、精度高、灵敏度高、显示直观等突出优点深受用户欢迎。特别是以ad转换器为代表的集成电路为支柱,使dvm向着多功能化、小型化、智能化方向发展。dvm应用单片机控制,组成智能仪表;与计算机接口,组成自动测试系统。本设计主要是以at89c51单片机为核心,包含数据采集模块、数据处理模块和输入/输出模块,能实现0-5v直流电压测量、数字显示、小数点显示等。能对电压值较小的线路进行电压值的测量,具有较高的测量精度,能满足一般电子系统电压测量要求,留有可扩展的接口,便于依据实际情况增加其他功能。关键词:数字电压表;a/d 转换器;电压测量microcontroller-based digital voltmeterdesign general informationin todays digital age, space radar, global satellite positioning systems, mobile communications, computer, medical tomography device as small as home computers, digital imaging equipment, digital voice recorder, digital microwave ovens and other equipment, digital technology and digital circuit consisting of digital systems has become an important part of modern electronic systems. the digital voltmeter is entering a vibrant new period of development, on the one hand, it opened up the first of its kind in the field of electronic measuring the other hand, it in itself is moving in the direction of high accuracy, intelligent, low-cost development. in addition, the digital voltmeter in the installation process, design, safety, reliability is also continuous improvement, and improving.digital voltage meter (digital voltmeter) referred to as dvm, it is the use of digital measuring technology, the continuous analog (dc input voltage) into a non-continuous, discrete digital form and to display the instrument. modern digital voltmeter measurement functions can be divided into a dc digital voltmeter and ac digital voltmeter. the digital voltmeter is generally by the analog part and digital part and analog part of the main function is to obtain the voltage and converts it to digital and digital part of the complete logic control, decode and display. the digital voltmeter is the core of the a / d converter, the device works is different from the digital voltmeter can be divided into successive comparison type and a double integral a / d converter. analog voltage meter features a traditional single, low accuracy, can not meet the digital age, using the single chip digital voltage meter, from the high precision, anti-interference ability, scalability, integrated convenience, and pc can communicate in real time. at present, by a variety of single a / d converter consisting of digital voltage meter, has been widely used in electronic and electrical measurement, industrial automation, instrumentation, automated test systems, intelligent measurement, showing strong vitality. at the same time, the dvm extension to the various general and specific digital instruments, but also the power and non-power measurement up to a new level. this chapter focuses on single-chip a / d converter, and they form by the microcontroller-based digital voltmeter works. digital voltmeter as the successful application of digital technology, the development is quite fast. digital voltmeter with a full-featured, high precision, high sensitivity, and intuitive display outstanding advantages welcomed by users. in particular, the a / d converter is represented by ic pillar, dvm toward multifunction, miniaturization, intelligent direction. dvm application mcu control, composed of intelligent instrument; computer interface, composed of the automatic test system. this design is mainly based on 51 series microcontroller core contains the data acquisition module, data processing module and input / output modules, digital display, measuring dc voltage, decimal point display and over-range display. measurement of the voltage value of the smaller line voltage, higher measurement accuracy can meet the general electronic system voltage measurement requirements, leaving the scalable interface, easy to add other functions based on the actual situation.keywords: digital voltmeter; a / d converter; voltage measurement 1 绪论1.1 课题的背景及意义数字电压表是在上世纪50年代初,60年代末发展起来的电压测量仪表,简称dvm,它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理然后通过显示器件显示。这种电子仪表之所以出现,一方面是由于电子计算机的应用推广到系统的自动控制信号领域,提出了各种被观测量或被控制量转换成数字量的要求,即为了实时控制和数据处理的要求,另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的发展,为数字化仪表的出现提供了条件。所以,数字化测量仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦琐与陈旧方式也促进了它的飞速发展,它又成为向智能化仪表发展的必要桥梁。如今,数字电压表已经绝大部分取代了传统的模拟指针式电压表,因为传统的模拟指针式电压表功能单一,精度低,读数的时候非常不方便还经常出错,而采用单片机的数字电压表由于测量精度高,速度快,读数时也非常方便,抗干扰能力强,可扩展性强等优点已被广泛应用与电子和电工测量,工业自动化仪表,自动测量系统等领域。显示出强大的生命力。众所周知,在当今的社会中电已成为人们日常生活、生产中必不可缺的因素。电的发现和应用极大的节省了人类的体力劳动和脑力劳动,使人类的力量长上了翅膀,使人类的信息触角不断延伸。而在这其中,电压、电流已成为描述电的一些重要参数。在电气测量中,电压是一个很重要的参数。如何准确地测量模拟信号的电压值,一直是电测仪器研究的内容之一。数字电压表是通用仪器中使用较广泛的一种测量仪器,很多电量或非电量经变换后都可用数字电压表完成测试。1.2 数字电压表的简介在由单片机构成的数字电压表中包含三个模块:数据采集模块、数据处理模块和输入/输出模块。在数据采集保持模块中,基本结构大部分都一样,主要是对电压信号采样前,用放大器进行预处理,然后通过保持器保持采样。在数据处理模块中其中a/d转换器的性能成为评定数字电压表好坏的一个重要标准。本次设计中采用12位a/d转换器tlc2543,tlc2543是ti公司的12位串行模数转换器,使用开关电容逐次逼近级数完成a/d转换过程。由于是串行输入结构,能够节省51系列单片机i/o资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。在输入/输出模块中,显示部分可用三个8段数码管构成,其中分别显示个位、十分位、百分位的大小。2 系统的方案设计与论证2.1 数字电压表原理现代数字电压表按测量功能可分为直流数字电压表和交流数字电压表。数字电压表一般由模拟部分和数字部分组成,模拟部分主要功能是获取电压并将其转换为相应的数字量,数字部分完成逻辑控制、译码和显示等功能。数字电压表的核心是a/d转换器,由a/d转换器工作原理的不同,数字电压表又可分为逐次比较型和双积分型。传统模拟式电压表具有电路简单、成本低、测量方便等特点,但测量精度较差,特别是受表头精度的限制,即使采用0.5级的高灵敏度表头,读测时的分辨力也只能达到半格。再者,模拟式电压表的输入阻抗不高,测高内阻源时精度明显下降。2.2 数字电压表设计要求(1)以单片机为核心器件,组成一个数字式电压表。(2)测量电压范围分为两档:dc 05v和dc 050v,最小测量电压误差50mv。(3)采用3位led数码管进行电压显示,2位整数,1位小数。(4)给出全部电路和源程序。(5)扩展功能自行发挥。3 系统硬件结构设计本次设计选用89c51单片机作为核心,tlc2543作为a/d转换芯片,数码管作为显示器,7805稳压器为主的直流稳压电路做为电源,配合采集,转换,显示程序共同实现可测量0-5v直流电压的数字式电压表。系统总设计框图见图3-1。数据采集端tlc2543 a/d转换芯片 单片机直流稳压电源数码管图3-1 系统框图3.1 电源电路 本设计选择三端集成稳压器7805及变压器,整流桥,滤波电容构成直流稳压电路。c1,c2,c3用来实现频率补偿,防止稳压器产生高频自激振荡和意志电路引入高频干扰,c4是电解电容,以减小稳压电源输出端由输入电源引入的低频干扰。d是保护二极管,当输入端短路时,给输出电容器c4一个放电通路,防止c4两端电压作用于稳压器,造成击穿而损坏。变压器采用220v-9v变压器,整流桥和保护二极管采用in4001。电源电路见下图3-2。图3-2 直流稳压电源电路3.2 单片机芯片选择在这一设计中,我们涉及到了一个关键系统模块单片机系统模块,而目前单片机的种类是很繁多的,主要有主流的8位单片机和高性能的32位单片机,结合本设计各方面因素,8位单片机对于本设计已经是绰绰有余了,但选用哪一种类8位的单片机呢。在这里,不得不先简单的介绍一下几种常用的8位单片机。单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机系统的有51 系列单片机,avr单片机,pic单片机。应用最广的8位单片机还是intel的51系列单片机。51系列单片机的特点是:硬件结构合理,指令系统规范,加之生产历史悠久,世界有许多芯片公司都买了51的芯片核心专利技术,并在其基础上扩充其性能,使得芯片的运行速度变得更快,性价比更高。 avr 单片机是atmel公司推出较新的单片机,它的显著特点是:高性能,低功耗,高速度,指令单周期为主,但价格方面比51单片机要高。有专门的i/o方向寄存器。虽然有较强的驱动电压,但i/o口使用不比51单片机方便。pic单片机系列是美国微芯公司的产品,也是市面上增长最快的单片机之一,属精简指令集单片机,其特点是:高速度,高性能,但在价格方面比51单片机要高,也有专门的,i/o方向寄存器,i/o 口使用不比 51单片机方便。综合以上各种单片机的基本性能及本设计的满足需要,我们将选择 51 系列单片机. 本设计中选用是51系列的at89c51,它是低电压,低功耗,高性能的cmos 8位单片机,片内含8kb的可反复擦写的只读程序存储器和256b的随机存取数据存储器,2个i/o口线, 3个16位定时/计数器,片内振荡器及时钟电路,并与 mcs-51系列单片机兼容。在设计中,单片机起着连接硬件电路、程序运行及存储数据的任务,一方面,它将a/d转换器、显示器和语音芯片等通过i/o口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现测电压的功能。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本系统采用p0与p2口与显示器连接,p1口与a/d的数据及控制端连接。/vp端接5v电源,x1,x2接晶振电路,reset端接复位电路,其余int1,int0,t1,t0,rxd,txd,ale,psen端悬空。由于p0口的驱动能力较弱,故每个引脚接4.7k的上拉电阻,以增强驱动显示器的能力。单片机引脚见下图3-3。图3-3 at89c51单片机引脚图3.2.1 at89c51主要特性 (1)与mcs-51 兼容 (2)4k字节可编程闪烁存储器(3)1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0hz-24hz (6)三级程序存储器锁定(7)128*8位内部ram (8)32可编程i/o线(9)两个16位定时器/计数器(10)5个中断源 (11)可编程串行通道(12)低功耗的闲置和掉电模式(13)片内振荡器和时钟电路 。3.2.2 管脚说明 vcc:供电电压。gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p0口的管脚第一次写“1”时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在flash编程时,p0 口作为原码输入口,当flash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收,输出4个ttl门电流。p1口管脚写入“1”后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出ttl电流这是由于上拉的缘故。 p3口也可作为at89c51的一些特殊功能口,如下所示: 管脚 备选功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 (外部中断0) p3.3 (外部中断1) p3.4 t0(记时器0外部输入) p3.5 t1(记时器1外部输入) p3.6 (外部数据存储器写选通)p3.7 (外部数据存储器读选通) p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令时ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。 /vpp:当保持低电平时,则在此期间外部程序存储器为(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为reset;当端保持高电平时,此间内部程序存储器(0000h-ffffh)。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 振荡器特性:xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 3.2.3内部单元(1)运算器: 算术逻辑部件alu:用以完成+、-、*、/ 的算术运算及布尔代数的逻辑运算,并通过运算结果影响程序状态寄存器psw的某些位,从而为判断、转移、十进制修正和出错等提供依据。 累加器a:在算术逻辑运算中存放一个操作数或结果,在与外部存储器和i/o接口打交道时,进行数据传送都要经过a来完成。 寄存器b:在 *、/ 运算中要使用寄存器b 。乘法时,b用来存放乘数以及积的高字节;除法时,b用来存放除数及余数。不作乘除时,b可作通用寄存器使用。 程序状态标志寄存器psw:用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。【psw】 (d0h) d7 d6 d5 d4 d3 d2 d1 d0cy ac f0 rs1 rs0 ov pcy:进位标志。有进位或借位,则cy1,否则cy0 ;在布尔运算时,cy(简称c)作为布尔处理器。ac:辅助进位标志位。f0:用户标志位:用户可用软件对f0置位“1”或清“0”,以决定程序的流向。ov:溢出标志位:当运算结果溢出时,ov为“1”,否则为“0”。d.1:未定义。p:奇偶校验位:当累加器a中的“1”的个数为奇数时,p置“1”,否则p置“0”。rs1、rs0:工作寄存区选择位。片内工作寄存器组:rs1、rs0与片内工作寄存器组的对应关系rs1 rs0 寄存器区 片内ram地址 通用寄存器名称0 0 0 00h07h r0r70 1 1 08h0fh r0r71 0 2 10h17h r0r71 1 3 18h1fh r0r7(2)控制器: 指令寄存器ir和指令译码器。 程序计数器:存放cpu执行下一条指令的地址。是一个16位寄存器,可寻址64kb 。 堆栈指针sp:用于子程序调用和中断处理。(机器复位后,sp#07h ,因此压栈的第一个数据在08h单元中)。数据指针寄存器dptr:16位的寄存器,也可以作为两个8位寄存器dph和dpl 。dptr主要作外部数据指针,可对64kb外部ram进行间接寻址。mcs-51由包括pc在内的22个特殊功能寄存器,它们除有各自的名称外,还有唯一的地址,离散的分布在片内ram中的80hffh共128个存储单元中。在这128个储存单元构成的sfr块中,未被占用的单元不可使用!(3)21个特殊功能寄存器sfr:特殊功能寄存器 功能名称 地址 复位后状态b * 寄存器 f0h 00ha * 累加器 e0h 00hpsw * 程序状态标志寄存器 d0h 00hip * 中断优先级控制器 b8h xxx00000bp3 * p3口数据寄存器 b0h ffhie * 中断允许控制寄存器 a8h 0xx00000bp2 * p2口数据寄存器 a0h ffhsbuf 串行口发送接收缓冲器 99h 不定scon * 串行口控制寄存器 98h 00hp1 * p1口数据寄存器 90h ffhtl1 t1计数器低8位 8bh 00htl0 t0计数器低8位 8ah 00hth1 t1计数器高8位 8dh 00hth0 t0计数器高8位 8ch 00htmod 定时器计数器方式控制寄存器 89h 00htcon * 定时器控制寄存器 88h 00hpcon 电源控制寄存器 87h 00hdpl 地址寄存器低8位 82h 00hdph 地址寄存器高8位 83h 00hsp 堆栈指针寄存器 81h 07hp0 * p0口数据寄存器 80h ffhpc 程序计数器 无地址 0000h注:“*”表示可位寻址。sp赋值方法:(其中#50h为寄存器50h,不可直接写为50h,否则sp指向寄存器00h)mov sp,#50h(4)ser块中具有位寻址功能寄存器的位地址:地址 hsb 位地址名称:即可用地址,也可用()内的名称 lsb 寄存器f0h f7 f6 f5 f4 f3 f2 f1 f0 be0h e7 e6 e5 e4 e3 e2 e1 e0 ad0h d7 d6 d5 d4 d3 d2 d1 d0 pswb8h bc(ps) bb(pt1) ba(px1) b9(pt0) b8(px0) ipb0h b7 b6 b5 b4 b3 b2 b1 b0 p3a8h af(ea) ac(es) ab(et1) aa(ex1) a9(et0) a8(ex0) iea0h a7 a6 a5 a4 a3 a2 a1 a0 p298h 9f(sm0) 9e(sm1) 9d(sm2) 9c(ren) 9b(tb8) 9a(rb8) 99(ti) 98(ri) scon90h 97 96 95 94 93 92 91 90 p188h 8f(tf1) 8e(tr1) 8d(tf0) 8c(tr0) 8b(ie1) 8a(it1) 89(ie0) 88(it0) tcon80h 87 86 85 84 83 82 81 80 p03.2.4 中断外部中断int0和 int1可根据寄存器tcon中的it0和it1位状态分别设置为电平或者边沿触发,实际产生的中断标志是tcon中的位ie0 和ie1,当产生外部中断时如果是边沿触发进入中断服务程序后由硬件清除中断标志位。如果中断是电平触发由外部请求源而不是由片内硬件控制请求标志,定时器0和定时器1中断由tf0和tf1产生 ,当产生定时器中断时,进入中断服务程序后由片内硬件清除标志位。 串口中断由ri和ti产生,进入中断服务程序后这些标志均不能被硬件清除,实际上中断服务程序通常需要确定是由ri还是ti产生的中断,然后由软件清除中断标志。所以这些产生中断的位都可通过软件置位或清零,与通过硬件置位或清零的效果相同。简而言之中断可由软件产生推迟或取消,每个中断源可通过置位或清零寄存器 ie 中的相应位分别使能或禁止ie中还包含一个全局禁止位。ea可以立即禁止所有的中断。 (1)中断优先级结构每个中断源都可通过编程中断优先级寄存器ip和iph单独设置优先级,一个中断服务程序可响应更高级的中断,但不能响应同优先级或低级中断,最高级中断服务程序不响应其它任何中断。如果两个不同中断优先级的中断源同时申请中断时,响应较高优先级的中断申请,如果2个同优先级的中断源同时申请中断,内部查询顺序将确定首先响应哪一个中断请求。 查询顺序如下所示: 中断源 同级优先级 ie0 外部中断 0 最高 tf0 定时器 0 ie1 外部中断 1 tf1 定时器 1 ri+ti uart tf2,exf2 定时器 2 最低 注:同级优先级只用来处理相同优先级别中断源同时申请中断的情况。 ip和iph寄存器中包含了一些无效位,由于这些位可能用于其它 80c51 系列产品中,用户软件不应将这些位写入 1。 (2)中断的处理 中断标志在每个机器周期的s5p2时采样,在下一个机器周期查询该采样。如果在 s5p2 周期时有一个标志置位,查询周期将发现它,然后中断系统产生一个lcall调用对应的服务程序,由硬件产生的 lcall在下面任意一种情况下都会推迟执行。 同级或更高级的中断已在处理中 当前的周期不是正在执行指令的最后一个周期 正在处理的指令是 reti 或任何写 ie 或 ip 寄存器的指令 。条件2确保正在处理的指令在进入任何中断服务程序前可以执行完毕,条件3确保了如果正在处理的指令是 reti 或任何访问ie或ip寄存器的指令,那么在进入任何中断服务程序之前至少再执行一条指令 。 查询周期在每个机器周期都会重复,所查询的值是在前一个机器周期的s5p2出现的值。需要注意的是如果一个中断标志位有效但仍然没有被响应,是因为出现上面所述的情况,如果当阻碍的条件撤除时中断标志不再有效,中断将不再响应。换句话说,实际上如果中断标志有效时没有响应中断,之后将不再被记忆,每次查询周期都会更新中断标志。(3)外部中断 外部中断源可配置为电平触发或边沿触发,通过将寄存器tcon中的位it1或it0置位或清零实现。如果itx=0,外部中断x通过intx脚的低电平触发;如果itx=1,外部中断x为边沿触发,该模式下对intx脚连续采样。如果在一个周期为高电平而下一个周期为低电平,中断请求标志 iex将置位,然后通过iex请求中断。 由于外部中断脚每个机器周期采样一次,输入高或低应当保持至少12个振荡周期,以确保能够采样到。如果外部中断为边沿触发,外部中断源应当将中断脚至少保持1个机器周期高电平,然后至少保持 1个机器周期低电平,这样就确保了边沿能够被检测到,以使 iex 置位。当调用中断服务程序后,cpu自动将iex 清零。如果外部中断为电平触发,外部中断源必须一直保持请求有效,直到产生所请求的中断,然后在中断程序结束之前撤除请求,否则将产生另一次中断。 (4)响应时间 int0和int1电平在每个机器周期的 s5p2 取反并锁存到ie0和ie1,在下个周期之前该值不会被电路查询。如果请求有效且应答的条件正确,下个执行的指令就是硬件子程序调用请求中断。call指令本身占用两个周期,因此从中断请求有效到开始执行中断服务程序的第一条指令需要至少3个完整的机器周期。3.2.5 芯片擦除整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 3.2.6 结构特点(1)8位cpu(2)片内振荡器和时钟电路(3)32根i/o线(4)外部存贮器寻址范围rom、ram64k(5)2个16位的定时器/计数器(6)5个中断源,两个中断优先级(7)全双工串行口(8)布尔处理器。3.3 a/d转换电路电压是模拟量,而数码管显示需要的是数字量,故需要采用a/d转换模拟信号为数字信号供数码管显示出来,可供选择的芯片有adc0809,adc574和tlc2543等等。由于要求测量精度在1%,因此须选用12位精度的a/d转换器,且可直接驱动led显示器工作,0809为8位精度,故不能采用,而综合性价比,tlc2543就成为了本次设计的首选。被测量模拟量变为数字量之后,并不能通过数码管直接显示出来,而需要单片机加以处理形成段码才能显示出来。而且,a/d电路的时钟与输入输出都需要单片机与其对接予以控制。故选择含有内部闪存的89c51完成此工作。该芯片无论从性能还是价格上都是非常合适的。数字信号转换为段码并显示出来需要有程序和其它接口电路配合。在程序上,a/d采集程序采用多次取值并求和求平均的方法得出双字节数据,然后通过双字节转换bcd码子程序得出bcd码。硬件显示上选用动态扫描法,即数码管位选端连入单片机的某一组i/o口,片选端连入另一组i/o口,配合显示子程序实现显示。此外,主程序和其它程序用中断方式进行组合。由于单片机各个i/o口的驱动能力有限,故应设计驱动电路。本设计中的驱动电路主要与显示部分有关。数码管的片选端需要连接上拉电阻和三极管以增强驱动能力,位选端也选择连接上拉电阻以增强驱动能力。tlc2543是ti公司的12位串行模数转换器,使用开关电容逐次逼近级数完成a/d转换过程。由于是串行输入结构,能够节省51系列单片机i/o资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。3.3.1 tlc2543的特点(1)12位分辩率a/d转换器(2)在工作温度范围内10s转换时间(3)11个模拟输入通道(4)3路内置自测试方式(5)采样率为66kbps(6)线性误差1lsbmax(7)有转换结束输出eoc(8)具有单、双极性输出(9)可编程的msb或lsb前导(10)可编程的输出数据长度3.3.2 tlc2543的引脚说明 tlc2543的引脚见下图3-4图3-4 tlc2543 a/d转换芯片引脚图tlc2543引脚功能见下表3-1表3-1 tlc2543引脚功能表引脚号名称i/o说明19,11,12ain0ain10i模拟量输入端。11路输入信号由内部多路器选通。对于4.1mhz的i/oclock,驱动源阻抗必须小于或等于50,而且用60pf电容来限制模拟输入电压的斜率15i片选端。在端由高变低时,内部计数器复位。由低变高时,在设定时间内禁止datainput和i/o clock17datainputi串行数据输入端。由4位的串行地址输入来选择模拟量输入通道16data outoa/d转换结果的三态串行输出端。为高时处于高阻抗状态,为低时处于激活状态19eoco转换结束端。在最后的i/oclock下降沿之后,eoc从高电平变为低电平并保持到转换完成和数据准备传输为止10gnd地。gnd是内部电路的地回路端。除另有说明外,所有电压测量都相对gnd而言18i/o clocki输入/输出时钟端。i/oclock接收串行输入信号并完成以下四个功能:(1)在i/o clock的前8个上升沿,8位输入数据存入输入数据寄存器。(2)在i/oclock的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到i/oclock的最后一个下降沿为止。(3)将前一次转换数据的其余11位输出到data out端,在i/oclock的下降沿时数据开始变化。(4)i/oclock的最后一个下降沿,将转换的控制信号传送到内部状态控制位14ref+i正基准电压端。基准电压的正端(通常为vcc)被加到ref+,最大的输入电压范围由加于本端与ref-端的电压差决定13ref-i负基准电压端。基准电压的低端(通常为地)被加到ref-20vcc电源本设计中,tlc2543的ain0引脚接测量降压电路,ain1-ain10置空,gnd接地,ref+接+5v电压,ref-接地,端接p1.4口,tdo端接p1.2口,tdi端接p1.3口,tck端接p1.1口,eoc端接p1.0口。3.3.3 tlc2543控制字tlc2543的工作过程如下:首先在8、12或16时钟周期里向片内控制寄存器写入8位的控制字,控制字中的2位决定时钟长度,在最后一个时钟周期的下降沿启动ad转换过程,经过一段转换时间,在随后的8、12或16个时钟周期里,从data out脚读出数据。控制字的定义见下表3-2表3-2 tlc2543控制字的定义表功能控制字地址l1l2lsbfbipd7d6d5d4d3d2d1d0ain00000ain10001ain20010ain30011ain40100ain50101ain60110ain70111ain81000ain91001ain101010(vnef+-vnef-)/21100vnef-1101vnef+1110软件断电模式11118 bits0112 bitsx016 bits11高位在前0低位在前1无极性输出0有极性输出1控制字的前4位(d7-d4)代表11个模拟通道的地址;当其为1100-1110时,选择片内检测电压;当其为1111时,为软件选择的断电模式,此时,ad转换器的工作电流只有25ua.控制字的第3位和第4位(d3一d2)决定输出数据的长度,01表示输出数据长度为8位;11表示输出数据长度为16位;x1表示输出数据长度为12位,x可以为1或0。控制字的第2位(d1)决定输出数据的格式,0表示高位在前,1表示低位在前。控制字的第1位(d0)决定转换结果输出的格式。当其为0时,为无极性输出(无符号二进制数),即模拟电压为vnef+,时,转换的结果为0fffh;模拟电压为vnef-时,转换的结果为0000h。当其为1时,为有极性输出(有符号二进制数),即模拟电压高于(vnef+-vnef-)/2时符号位为0;模拟电压低于(vnef+-vnef-)/2时符号位为1;模拟电压为vnef+时,转换的结果为03ffh;模拟电压为vnef-时,转换的结果为0800h。模拟电压为(vnef+-vnef-)/2时,转换的结果为0000h。3.3.4 tlc2543接口时序可以用四种方式使tlc2543实现全12位分辨率,每次转换和数据传递可以使用12或16个时钟周期。一个片选()脉冲要插到每次转换的开始处,或是在转换时序的开始处变化一次后保持为低,直到时序结束。开始时,片选为高,i/o clock、data input被禁止,data out呈高阻状态,eoc为高。片选变低,i/o clock、data input能用,data out脱离高阻状态。12个时钟信号从i/o clock端依次加入,随着时钟信号的加入,控制字从data input一位一位地在时钟信号的上升沿时被送入tlc2543(高位先送入),同时上一周期转换的a/d数据。tlc2543收到第4个时钟信号后,通道号也已收到,因此,此时tlc2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿。在第12个时钟下降沿,eoc变低,开始对本次采样的模拟量进行a/d转换,转换时间约需10s,转转完成eoc变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。此后,可以进行新的工作周期。以msb为前导, 用cs进行12个时钟传送的工作时序如下图3-5。图3-5 tlc2543工作时序图(1)上电时,eoc=“1”,cs=“1”(2)使cs下降,前次转换结果的msb即a11位数据输出到data out供读数。(3)将输入控制字的msb位即c7送到din,在cs之后t su=1.425us后,使clk上升,将din上的数据移入输入寄存器。(4)clk下降,转换结果的a10位输出到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园开学安全知识培训课件
- 工会相关试题及答案
- 三体培训试题及答案
- gcp考试题及答案
- 物品分类试题及答案
- 煤田地质试题及答案
- 居家客服面试题及答案
- 溢达集团面试题及答案
- 弯曲力学考试题及答案
- 公寓管理考试题及答案
- 骨科植入物简介演示
- 2024近场电商行业白皮书-凯度x淘宝买菜-202401
- 医院感染控制标准执行案例分析及改进
- 班主任微创意:59招让班级管理脑洞大开
- 机械基础 第三版 教案 模块二 机械零件的材料
- 呼吸科利用PDCA循环提高肺功能检查结果达标率品管圈QCC成果汇报
- 业务员代理协议合同
- 电机可靠性与寿命评估
- 安全监理工作流程图监理
- 二甲基乙酰胺MSDS化学品安全技术说明书
- 07FK02防空地下室通风设备安装图集
评论
0/150
提交评论