高性能高精度数字电压表毕业设计.doc_第1页
高性能高精度数字电压表毕业设计.doc_第2页
高性能高精度数字电压表毕业设计.doc_第3页
高性能高精度数字电压表毕业设计.doc_第4页
高性能高精度数字电压表毕业设计.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要:本文介绍的是数字电压表的发展背景和利用单片机,a/d转换芯片结合的方法设计一个直流数字电压表。它的具体功能是:最高量程为200v,分三个档位量程,即2v,20v,200v,可以通过调档开关来实现各个档位。当测得电压的数值小于1v时,系统会自动的将电压数值转换为以mv为电压单位的电压值。并且通过按键的方法能够测得后五秒的平均电压值。单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(cpu)。随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术已成为一个国家现代化科技水平的重要标志。单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。本毕业设计的课题是“简易数字电压表的设计”。主要考核我们对单片机技术,编程能力等方面的情况。观察独立分析、设计单片机的能力,以及实际编程技能。本课题主要解决a/d转换、数据处理及显示控制等三个模块。控制系统采用at89c52单片机,a/d转换采用adc0809。 关键字介绍:单片机,at89c52,a/d转换,adc0809,数据处理。0abstractchip processor is a kind of chip of integrated circuit, adopt to exceed large-scale technology have data handling ability( such as arithmetic manipulation, logic is operational , data deliver and suspend handling) tiny processor ( cpu ). along with chip processor technology develop fast, various chip processor come in great numbers, chip processor technology has become a important sign of the national modern level of science and technology.chip processor can complete modern industrial control alone the intelligent control function that will beg, this is the feature of biggest chip processor. when chip processor control system can replace, using the control system that complex electronic line or digital circuit forms can software control come to realize, and can realize intelligence to melt. now, chip processor control category is omnipresent , for instance communicate product, electric home appliances, intelligent instrument appearance, course control and the control equipment for special purpose and so on, the application field of chip processor is more and more extensive. graduate the program of design is ;the design of simple digital volmeter ;. check on our condition for the aspects such as chip processor technology and programming ability mainly. observe actual programming ability as well as the ability of independent analysis and design chip processor. this program solves the data handling and conversion of a/d mainly and shows the 3 modulars such as control. control system adopts at89c52 only flat machine, the conversion of a/d adopts adc0809.keyword introduction: chip processor, at89c52, a/d chandata handle.目 录摘 要iabstractii目 录iii第一章 数字电压表简介4第二章 数字电压设计两种方案简介62.1由数字电路及芯片构建62.2由单片机系统及a/d转换芯片构建6第三章 单片机简介及本设计单片机的选择83.1常用单片机的特点比较及本设计单片机的选择83.2本设计使用的单片机的简介9第四章 各种显示器件的介绍和选择104.1常用显示器件简介104.2 1602液晶的参数资料11第五章 模数(a/d)转换芯片的选择145.1常用的a/d芯片简介145.2 模数(a/d)芯片tlc2543的资料14第六章 总体设计176.1技术要求176.2设计方案17第七章 硬件电路系统模块的设计187.1单片机系统187.2输入电路197.3a/d芯片与单片机的连接207.4 1602液晶与单片机的连接217.5键盘与单片机的连接21第八章 系统软件的设计238.1汇编语言和c语言的特点及选择238.2主程序设计23第九章 系统的调试359.1硬件调试359.2软件调试35第十章 总结与展望37参考文献38附录1 xxxxxx39附录2 bbbbb40第一章 绪论-数字电压表简介 数字电压表出现在50年代初,60年代末发起来的电压测量仪表,简称dvm,它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。这种电子测量的仪表之所以出现,一方面是由于电子计算机的应用逐渐推广到系统的自动控制信实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测理仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦锁和陈旧方式也催促了它的飞速发展,如今,它又成为向智能化仪表发展的必要桥梁。如今,数字电压表已绝大部分已取代了传统的模拟指针式电压表。因为传统的模拟指针式电压表功能单一,精度低,读数的时候也非常不方便,很容易出错。而采用单片机的数字电压表由于测量精度高,速度快,读数时也非常的方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量,工业自动化仪表,自动测试系统等智能化测量领域。显示出强大的生命力。数字电压表最初是伺服步进电子管比较式,其优点是准确度比较高,但是采样速度慢,重量达几十公斤,体积大。继之出现了斜波式电压表,它的速度方面稍有提高,但是准确度低,稳定性差,再后来出现了比较式仪表改进逐次渐近式结构,它不仅保持了比较式准确度高的优点,而且速度也有了很大的提高,但它有一缺点是抗干扰能力差,很容易受到外界各种因素的影响。随后,在斜波式的基础上双引伸出阶梯波式,它的唯一的进步是成本降低了,可是准确宽,速以及抗干扰能力都未能提高。而现在,数字电压表的发展已经是非常的成熟,就原理来讲,它从原来的一,二种已发展到多种,在功能上讲,则从测单一参数发展到能测多种参数;从制作元件来看,发展到了集成电路,准确度已经有了很大的提高,精度高达1nv;读数每秒几万次,而相对以前,它的价格也有了降低了很多。目前实现电压数字化测量的方法仍然模-数(a/d)转换的方法。而数字电压表种类繁多,型号新异,目前国际仍未有统一的分类方法。而常用的分类方法有如下几种:1 按用途来分:有直流数字电压表,交、直流数字电压表,交直流万用表等。2 按显示位数来分:有4位,5位,6位,7位,8位等。3 按测量速度来分:有低准确度,中准确度,高准确度等。4 按测量速度来分:有低速,中速,高速,超高速等。但在日常生活中,数字电压表一般是按照原理不同进行分类的,目前大致分为以下几类:比较式,电压时间变换式,积分式等。在电量的测量中,电压、电流和频率是最基本的三个被测量。其中,电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受用户青睐,数字式电压表就是基于这种需求而发展起来的,是一种必不可少的电子测量仪表。第二章 数字电压设计两种方案简介设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。下面介绍两种数字电压表的设计方案。21 由数字电路及芯片构建这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器、a/d转换器和基准电压源;数字部分包括计数器、译码器、逻辑控制器、振荡器和显示器。其中,a/d转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将a/d转换器中个组模拟开关接通或断开,保证a/d转换正常进行。a/d转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。此方案设计其优点是,设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路。很难将其在原有的基础上进行扩展。22由单片机系统及a/d转换芯片构建这种方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(a/d)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(a/d)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅能够继承上一种方案的各种优点,还能改进上一种设计方案设计不灵活,难与在原基础上进行功能扩展等不足。第三章 单片机简介及本设计单片机的选择31常用单片机的特点比较及本设计单片机的选择综合上一章提到的两种设计方案的各方面优点及其在现在的所设计电压表的实用性,我们选择第二种电压表设计方案,即由单片机系统及数字芯片构建的方法来我们本次设计。在这一设计中,我们涉及到了一个关键系统模块单片机系统模块,而目前单片机的种类是很繁多的,主要有主流的8位单片机和高性能的32位单片机,结合本设计各方面因素,8位单片机对于本设计已经是绰绰有余了,但将用哪一种类8的单片机呢。在这里,不得不先简单的介绍一下几种常用的8单片机。单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机所需要的大部分部件:cpu,内存,总线系统等。而目前常用的单片机的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系列单片机。32本设计使用的单片机的简介本设计中选用是51系列的at89c52,它是低电压、低功耗、高性能的cmos8位单片机,片内含8kb的可反复擦写的只读程序存储器和256b的随机存取数据存储器,32个i/o口线,3个16位定时/计数器,片内振荡器及时钟电路,并与mcs-51系列单片机兼容。在设计中,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将a/d转换器、显示器和语音芯片等通过i/o口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现册电压的功能。第四章 各种显示器件的介绍和选择41 常用显示器件简介本次设计中有显示模块,而常用的显示器件比较多,有数码管,led点阵,1602液晶,12864液晶等。数码管是最常用的一种显示器件,它是由几个发光二极管组成的8字段显示器件,其特点是价格非常的便宜,使用也非常的方便,显示效果非常的清楚。小电流下可以驱动每光,发光响应时间极短,体积小,重量轻,抗冲击性能好,寿命长。但数码管只能是显示09的数据。不能够显示字符。这也是数码管的不足之处。led点阵显示器件是由好多个发光二极管组成的。具有高亮度,功耗低,视角大,寿命长,耐湿,冷,热等特点,led点阵显示器件可以显示数字,英文字符,中文字符等。但用led点阵显示的软件程序设计比较麻烦。1602液晶是工业字符型液晶,能够同时显示16*2即32个字符。1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。使用时直接编写软件程序按一定的时序驱动即可。它的特点是显示字迹清楚,价格相对便宜。12864液晶也是一种工业字符型液晶,它不仅能够显示1602液晶所可以显示的字符,数字等信息,而且还可以显示8*4个中文汉字和一些简单的图片,显示信息也非常的清楚。使用时也直接编写软件程序按一定的时序驱动即可。不过它的价格比1602液晶贵了很多。在本设计中,我们只需要显示最后电压的数字值和电压的单位,综合上面各种显示器件的特点:数码管只能显示数字,不能显示单位字符,不符合本设计的要求。而点阵显示器件驱动显示软件程序编写麻烦,占用的引脚相对也较多。也不是理解的显示器件。所以在本设计中,我们考虑用液晶显示器件,虽然12864液晶比1602液晶的功能强,不过在价格方面却贵了好多。而1602液晶也足够满足本设计的需要。因此,在本设计实验我们选择1602液晶显示器件。42 1602液晶的参数资料我们选择了1602液晶做为本设计的显示模块的显示器件。以下是1602液晶的各方面参数:1接口信号说明:编号符号引脚说明1vss电源地2vdd电源正极3vl液晶显示偏压信号4rs数据/命令选择端5r/w读/写选择端6e使能信号8-14d0-d7data i/o15bla背光源正极16blk背光源负极2基本操作时序:1. 读状态:输入:rs=0,rw=1,e=1。输出:d0-d7为状态字2. 写状态:输入:rs=0,rw=0,d0-d7为指令码,e为高脉冲。输出:无3. 读数据:输入:rs=1,rw=1,e=1。输出:d0-d7为数据。4. 写数据:输入:rs=1,rw=0,d0-d7为数据,e为高脉冲。输出:无3状态字说明sta7sta6sta5sta4sta3sta2sta1sta0sta0-6当前数据地址指针的数值sta7读写操作使能1:禁止 0:允许 4指令的说明。 显示模式设置 指令码 功能00111000设置16*2显示,5*7点阵,8位数据口 显示开/关及光标设置 指令码 功能00001dcbd=1开显示;d=0关显示c=1显示光标;c=0不显示关标b=1光标闪烁;b=0光标不显闪烁000001nsn=1当读写一个字条款后地址指针加一,且光标加一。n=0当读或写一个字符后地址指针减一,且光标减一。s=1当写一个安条款,整屏显示左移(n=1)或右移(n=0),以得到光标不移动而屏幕移动的效果。s=0当写一个字符,整屏显示不移动。数据控制: 指令码 功能80h+地址码(0-27h,40h-67h)设置数据地址指针01h显示清屏:1,数据指针清0 2,所有显示清002h显示回车:数据指针清0第五章 模数(a/d)转换芯片的选择在本设计中,模数(a/d)转换模块是一个重要的模块,它关系到最后数电压表电压值的精确度。所以,a/d芯片的选择是设计过程中一个很重要的环节。51 常用的a/d芯片简介常用的a/d芯片有ad0809,ad0832,tlc2543c等几种。下面简单介绍一下这三种芯片。ad0809是8位逐次逼近型a/d转换器,它是由一个8路的模拟开关、一个地址锁存译码器、一个a/d 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用a/d 转换器进行转换。些a/d转换器是的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。ad0832也是8位逐次逼近型a/d转换器,可支持致命伤个单端输入通道和一个差分输入通道。它易于和微处理器接口或独立使用;可满量程工作;可用地址逻辑多路器选通各输入通道。tlc2543c是12位开关电容逐次逼近a/d转换,每个器件有三个控制输入端,片选,输入/输出时钟以及地址输入端。它可以从主机高速传输转换数据。它有高速的转换,通用的控制能力,具有简化比率转换,刻度以及模拟电路与逻辑电路和电源噪声隔离,耐高温等特点。综合上述几种a/d转换芯片的特点,前两种芯片的性能和精度都不如第三种芯片。在本设计中,我们的目标是设计高精度的电压表,因此在此,我们选择精度为12位的tlc2543芯片。52 模数(a/d)芯片tlc2543的资料综合本设计的各方面考虑,我们选了tlc2543模数转换芯片。下面就介绍此芯片的各方面资料。tlc2543芯片的封装引脚图和引脚说明如下: 引脚说明:引脚号名称i/o说明1-9,11,12ain0-ain10i模拟输入端。15csi片选端。17data inputi串行数据输入端。16data outo用于a/d转换结果输也的3态串行输出端19eoco转换结束端10gnd接地端18i/o clki输入/输出时钟端14ref+i正基准电压端13ref-i负基准电压端20vcc正电压端各引脚的使用详细介绍。1 ain0-ain10这11个模拟信号输入由内部多路选器选择。对4.1mhz的i/o clk,驱动源阻抗必须小于或等于50欧并且能够将模拟电压由60pf的电容来限制其斜率。2 在cs端的一个由高低低变化将复位内部计数器并控制使能data out,data input和i/o clk。一个由低至高的变化将在一个设置时间内禁止data input和i/o clk.3 串行数据输入端data input是一个4位的串行地址选择下一个即将被转换的所需的模拟输入或测试电压。串行数据以msb为前导并在i/o clk的前4个上升沿被移入。在4个地址位被读入地址寄存器后,i/o clk 将剩下的几位依次输入。4 data out在cs为高时处于高阻抗状态,而当cs为低时处于激活状态。cs一旦有效,按照前一次转换结果的msb/lsb值将data out从高阻抗状态转变成相应的逻辑电平,i/o clk 的下一个下降沿将根据下一个msb/lsb将data out驱动成相应的逻辑电平,剩下的各位依次移出。5 eoc在最后的i/o clk 下降沿之后,从高电平变为低电平并保持低直到转换完成及数据准备传输。6 gnd端是内部电路的地回路端,除加有说明外,所有电压测量都相对于gnd7 i/o clk端串行输入并完成以下四个功能:第一,在i/o clk的前8个上升沿,它将8个输入数据信键入输入数据寄存器。在第4个上升沿之后为多路器的地址。第二,在i/o clk的第4个下降沿,在选定的多路器的输入端上的模拟输入电压开始和电容器充电并继续到i/o clk的最后一个下降沿。第三,它将前一次转换的数据的其余11位移出data out端。在i/o clk的下降沿时数据变化。第四,在i/o clk的最后一个下降沿它将转换的控制信号传送到内部的状态控制位。8 ref+端通常接vcc,最大输入电压范围取决于加于本端与加于ref-端的电压差。9 ref-端通常接地。第六章 总体设计61 技术要求1) 最高量程为:200v。2) 分为三档量程:2v,20v,200v。可以通过调档开关实现各档位。最高精度为0.01mv。3) 被测电压的电压值小于1v时,有自动换以mv为单位显示。4) 通过按键可以显示5秒的平均电压的电压值。62 设计方案根据上述,我们选择单片机与a/d转换芯片结合的方法实现本设计。使用的基本元器件是:at89c51单片机,tlc2543模数转换芯片,1602液晶显示器,开关,按键,电容,电阻,晶振,标准电源等等。设计的基本框图如下:单片机系统模块1602液晶显示模块a/d转换模块输入电路模块按键模块第七章 硬件电路系统模块的设计根据上述选择的各元器件,各电路模块的电路图如下描述。71 单片机系统单片机最小系统包括晶振电路,复位电路,电源。其原理图如下: 此模块中,单片机的晶振是12mhz,c1和c2的电容是10uf,c3可选1-10uf。r1电阻为1k。72 输入电路由于输入电路的电压比基准电压(2v)高很多,因此在输入电路必须加电压衰减器。衰减电路可由开关来选择不同的衰减率,从而切换档位。则完整输入电路如下: 通过计算,可知设计衰减器用的电阻r2,r3和r4分别为:9m,900k,100k控制档位的开关是双开关的,目地是能够使单片机cpu自动识别档位,即可用相应的档位的数据转换的算法计算出正确的电压值。被测电压输入端、整理过的模拟电压输入端,开关与单片机的连接如图所示。73 a/d转换芯片与单片机的连接此设计中选择的是a/d转换芯片的通道0,a/d芯片的数据输入口连接单片机的p1.3口,数据输出口连接单片机的p1.4口,芯片使能端连接单片机的p1.5口,脉冲端连接单片机的p1.6口。模块连接如下图所示。74 1602液晶与单片机连接此模块液晶的rs,rw和e端分别连接单片机的p1.2,p1.1和p1.0口;液晶的数据各端口连接单片机的p0口。具体如下图所示。7.5 键盘与单片机的连接如下此键盘的一端与单片机的p2.0口连接,另一端接地。原理图如下所示。该键盘的功能:当键盘被按下时,即可计算后5秒的平均电压值。第八章 系统软件的设计81 汇编语言和c语言的特点及选择本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和c语言。汇编语言的特点是占用内存单元少,执行效率高。执行速度快。但它依赖于计算机硬件,程序可读性和可移植性比较差。而c语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。由于现在单片机的发展已经达到了很高的水平,内部的各种资源相当的丰富,cpu的处理速度非常的快。用c语言来控制单片机无疑是一个理想的选择。所以在本设计中采用c语言编写软件程序。82 主程序设计主程序设计包括以下方面:按照硬件电路对单片机位定义。编写延时模块程序。编写驱动1602液晶显示模块程序。编写驱动a/d转换模块程序。编写键盘扫描模块程序。主程序的总体流程如下图: 开始对液晶,定时器初始化a/d转换数据转换显示瞬时电压值键盘判断显示5秒的平均电压值3秒后清屏全部软件程序如下:#include#define uchar unsigned char#define uint unsigned int#define key_state0 0 /键盘扫描的各个状态#define key_state1 1#define key_state2 2#define key_state3 3sbit rs=p12;/1602液晶写命令/数据标志,0时写命令sbit rw=p11;/1602液晶写入/读出标志,0时写入数据sbit ep=p10;sbit input=p14;sbit output=p13;sbit cs=p15;sbit clk=p16;sbit key=p20;sbit flag_1=p21;/定义电压表档位相关标志sbit flag_2=p22;sbit flag_3=p23;sbit flag_4=p24;uchar code tab0=v ; /显示的单位及有关的字符uchar code tab1=mv;uchar code tab2=power:;uchar code tab3=aver_v:;/平均电压值标志符uchar t;void delay(int z)/延时函数int x,y;for(x=z;x0;x-)for(y=10;y0;y-);void write_com(uchar com)/往1602液晶写命令函数rs=0;p0=com;delay(5);ep=1;delay(5);ep=0;void write_dat(uchar dat)/往1602液晶写数据函数rs=1;p0=dat;delay(5);ep=1;delay(5);ep=0;void init_1602()/对1602液晶的初始化函数rs=0;rw=0;write_com(0x38);delay(1);write_com(0x0c);delay(1);write_com(0x06);delay(1);write_com(0x01);delay(1);void init_timer0()/定时计数器0初值化函数,tmod=0x01;/方式一th0=(65536-50000)/256;/每50ms中断一次tl0=(65536-50000)%256;ie=0x82;/打开中断tr0=0;/定时器首先不可工作void display(uchar x,uchar y,uint dat)/显示电压值的函数,x行y列开始显示uint add;uchar i,a5;switch(x)case 0:add=0x80;break;case 1:add=0x80+0x40;break; add=add+y; write_com(add); for(i=0;i5;i+)ai=dat%10;dat=dat/10; write_dat(a4+0x30); write_dat(a3+0x30); write_dat(a2+0x30); write_dat(.); write_dat(a1+0x30); write_dat(a0+0x30);void display_zifu(uchar x,uchar y,uchar *str)/显示字符函数,x行y列开始显示uint add;switch(x)case 0:add=0x80;break;case 1:add=0x80+0x40;break; add=add+y;write_com(add);while(*str!=0)write_dat(*str);str+;uint read_ad(uchar con_way)/读取ad转换值操作函数uint dat=0;uchar i;cs=0;clk=0;con_way=4;for(i=0;i12;i+)con_way=1;/*选择0通道,在输入该控制数据的同时输出前一次ad转结果*/ input=cy;dat=100)/当电压值大于1v时,用v显示,否则用mv显示display_zifu(0,1,tab2);display(0,7,dat);display_zifu(0,13,tab0);elsedisplay_zifu(0,1,tab2);display(0,7,dat*1000);display_zifu(0,13,tab1); read_key(); /当键盘按下时,计算后五秒的平均电压值if(t=20)t=0;flag+;if(flag=1)dat1=dat;if(flag=2)dat2=dat;if(flag=3)dat3=dat;if(flag=4)dat4=dat;if(flag=5)dat5=dat;dat_aver=(dat1+dat2+dat3+dat4+dat5)/5;display(1,7,dat_aver);display_zifu(1,13,tab0);dat_aver=0; if(flag=8)flag=0;write_com(0x01);tr0=0; void timer0() interrupt 1/定时器中断函数th0=(65536-50000)/256;/重新放入初始值tl0=(65536-50000)%256;t+;第九章 系统的调试完成了系统的硬件设计,制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。调试分了硬件和软件调试。9.1 硬件调试 硬件调试的主要任务是排除硬件故障,其中包括设计的错误和工艺性故障等。1) 检查所设计的硬件电路板所有的器件和引脚是否正确,尤其是电源的连接是否正确;检查各总线是否有短路的故障。检查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论