毕业设计(论文)-AD650在电压测量中的应用.doc

上传人:李司机 文档编号:7026256 上传时间:2024-04-18 格式:DOC 页数:35 大小:1,019.53KB
返回 下载 相关 举报
毕业设计(论文)-AD650在电压测量中的应用.doc_第1页
第1页 / 共35页
毕业设计(论文)-AD650在电压测量中的应用.doc_第2页
第2页 / 共35页
毕业设计(论文)-AD650在电压测量中的应用.doc_第3页
第3页 / 共35页
毕业设计(论文)-AD650在电压测量中的应用.doc_第4页
第4页 / 共35页
毕业设计(论文)-AD650在电压测量中的应用.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《毕业设计(论文)-AD650在电压测量中的应用.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-AD650在电压测量中的应用.doc(35页珍藏版)》请在三一办公上搜索。

1、学士学位论文 毕 业 论 文(设 计)题 目 AD650在电压测量中的应用 英文题目 The application of AD650 in the measure of voltage 院 系 电子工程学院 专 业 电子信息工程 姓 名 年 级 二零零八 指导教师 摘 要本设计主要目的是AD650在电压测量中的应用。利用AD650实现电压频率转换,将一定的输入电压信号按线性的比例关系转换成频率信号,当输入电压变化时,输出频率也响应变化。通过单片机控制将输出频率转换到电压,送到数码管显示。本电路结构简单,调试方便,非常易于实现。关键词:AD650;单片机;电压测量The application

2、 of AD650 in the measure of voltageAbstractThe main purpose of this design is to AD650 in voltage measurement of application. Use AD650 realize voltage frequency conversion, will certain input voltage signal on the linear relation converted into frequency signal, when the input voltage change, outpu

3、t frequency response also changes. Through the single-chip microcomputer control will output frequency conversion to the voltage, to digital pipe display.This circuit is simple in structure, convenient debug, very easy to realize.Key Words: AD650; Single-chip microcomputer; Voltage frequency convers

4、ion- III -学士学位论文目 录摘 要IIAbstractIII1 绪论11.1 设计课题的意义11.2 设计课题的内容11.3 设计课题的要求11.4 论文的结构12 系统设计方案32.1 总体方案的设计32.2 方案论证32.1.1 电压测量部分32.1.2 显示部分62.3 硬件设计方案确定82.4 采用的主要技术83 系统硬件电路设计93.1 单片机显示部分93.1.1 AT89S52 内部结构概述93.1.2 配置电路93.1.3 时钟电路和复位电路103.2 芯片AD650的应用113.2.1 AD650芯片概述113.2.2 AD650芯片特点113.2.3 引脚排列及功能

5、123.2.4 AD650的特性参数133.2.5 电路工作原理133.2.6 AD650电路设计153.2.7 AD650转换理论计算153.3 芯片AD650转换电路163.3.1 V/F转换电路163.3.2 F/V转换电路174 功能调试与测试194.1 单片机显示部分194.2 AD650转换部分194.3 整体调试过程194.4 调试所使用的仪器205 测得数据216 系统程序设计257 总结及展望28参 考 文 献29附录A 电路原理图30致 谢31291 绪论在电压测量电路的设计中,单片机是本电路设计的核心,其次对芯片AD650的使用也是关键。通过对相关资料的查询与卢老师曹老师

6、的指导,我利用AD650芯片实现了电压测量,将模拟电压的变化转换成频率的变化,再利用单片机读频计数,通过数码管显示相应电压。此电路满足设计指标要求,AD650芯片的非线性失真小,并且转换精度高。1.1 设计课题的意义V/F变换是实现高精度测量的一种新方法,该方法不同于A/D变换,有专业芯片实现,也可以自制相关电路实现。其中心思想是将模拟电压的变化转换成频率的变化,方便单片机实现对模拟电压的测量。本课题能够满足专业培养目标和教学基本要求,能够使学生受到全面的科研和专业基本训练,能够使学生掌握单片机及其应用电路的设计,能够使学生掌握印制电路板设计软硬件的使用。1.2 设计课题的内容设计内容:设计制

7、作一利用V/F转换的单片机模拟电压测量装置。1.3 设计课题的要求1)以单片机为核心,利用AD650制作一个高精度电压测量仪2)输出电压用LED数码管显示3)测量15伏直流电压,精度0.1%4)尽量提高测量精度1.4 论文的结构本文介绍了一种利用V/F转换的单片机模拟电压测量的设计方案,利用芯片AD650实现V/F转换,单片机读频,数码管显示。本文介绍了一种电压测量的方法,整体分为单片机部分、AD650转换、数码管显示等部分。本论文的具体内容安排如下:(1)第1章:绪论。介绍了设计课题的内容、意义及要求,介绍了本设计的研究内容和论文结构。(2)第2章:系统设计方案。针对一体思想,结合本设计的设

8、计思路,提出了AD650在电压测量中应用的软硬件设计思路,并对一些与设计相关的技术,进行了简单的描述。(3)第3章:系统硬件电路设计。讲述了系统的硬件框架,单元电路设计与实现方案。重点介绍了单片机系统、AD650转换电路、数码管显示。(4)第4章:功能调试与测试。介绍了调试所用的仪器,其过程中遇到的问题,提出了一些解决措施。(5)第5章:测得的数据。对数据进行分析。(6)第6章:系统程序设计。介绍了利用单片机控制频率电压转换的程序。(7)第7章:总结与展望。总结了设计过程的心得与体会,提出了一些设计扩展想法和思路。2 系统设计方案2.1 总体方案的设计直流稳 压电源 AD650 单 片 机 显

9、示VINFoutVout电压频率转换单片机显示部分根据一体化的设计思路,可以得出本设计利用V/F转换单片机模拟电压测量的总体结构框图如图2.1所示。主要包括V/F转换、单片机显示二大单元。图2.1 AD650在电压测量中应用的总体结构框图本方案不采用常用的基于虚拟逻辑仪的设计方法,而是以台式一体机为设计思路,将信号采集,信号处理,信号显示做成一个系统,特别是数据的显示,采用VGA接口的显示器来完成。数据处理采集部分,则由FPGA来完成。主芯片时钟由外部提供,由一片晶振提供 50 MHz 频率的时钟源 。FPGA 是整个系统的核心,通过对其编程可输出红、绿、蓝三基色信号和HS、VS行场扫描同步信

10、号。当 FPGA 接受输出的控制信号后,内部的数据选择器模块根据控制信号选择相应的图像生成模块,输出图像信号, 与行场扫描时序信号一起通过 VGA 接口电路送入显示器, 在 VGA 显示器上便可看到对应的彩色图像。 2.2 方案论证2.1.1 电压测量部分方案一:利用芯片ADC0809实现(一) 芯片简介ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(二) ADC0809的内部逻辑结构ADC0809的内部结构如图2.2所示。图2.2 ADC0809的内部结构由上图可知,ADC0809由一个8路模拟开

11、关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。(三) 引脚结构如图2.3所示:图2.3 其引脚结构ADC0809 各脚功能如下:D7-D0 : 8 位数字量输出引脚。IN0-IN7 : 8 位模拟量输入引脚。VCC : +5V 工作电压。GND :地。REF ( + ):参考电压正端。REF ( - ):参考电压负端。START : A/D 转换启动信号输入端。ALE :地址锁存允许信号输入端。

12、(以上两种信号用于启动 A/D 转换) .EOC :转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE :输出允许控制端,用以打开三态数据输出锁存器。CLK :时钟信号输入端(一般为 500KHz )。A 、 B 、 C :地址输入线。ADC0809 对输入模拟量要求:信号单极性,电压范围是 0 5V ,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线: 4 条ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁存与译码器将 A ,B , C 三条地址线的地址信号进行锁存,

13、经译码后被选中的通道的模拟量进转换器进行转换。A,B和C 为地址输入线,用于选通 IN0 IN7 上的一路模拟量输入。通道选择表如表2.1所示。表2.1 通道选择CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线: 11 条ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行 A/D 转换;在转换期间, ST 应保持低电平。 EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。 OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的

14、数据。 OE 1 ,输出转换得到的数据; OE 0 ,输出数据线呈高阻状态。 D7 D0 为数字量输出线。CLK 为时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为 500KHZ ,VREF (), VREF ()为参考电压输入。方案二:利用芯片AD650实现见后面“3.2 AD650”转换电路详解方案确定:利用集成芯片AD650设计电压/频率转换电路所用元件较少,电路相对简单,而且转换精度高,所以采用AD650设计电压/频率转换电路此方案。2.1.2 显示部分方案一:LCD液晶显示 (1)LCD1602简介工业字符型液晶,能够同时显示16x0

15、2即32个字符,其引脚排列如图2.4所示:图2.4 LCD液晶显示引脚排列(2)其引脚功能1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线 ,其功能如表2.2所示:表2.2 其引脚功能如下:引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或

16、EN)端为使能(enable)端,下降沿使能。7DB0低4位三态、 双向数据总线 0位(最低位)8DB1低4位三态、 双向数据总线 1位9DB2低4位三态、 双向数据总线 2位10DB3低4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极方案二:四位共阴数码管方案确定:考虑到利用数码管显示节约成本,实现比较简单。本系统采用方案二。2.3 硬件设计方案确定基于一体化思想

17、,将系统硬件分成AD650转换、单片机、数码管显示。组成框图如图2.5所示。AD650V/F转换AT89S52 四位体共阴数 码管显示电压图2.5 系统硬件组成框图2.4 采用的主要技术1. proteus设计平台Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。2. keil uvision4工具Keil uVision4是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比

18、,C语言在功能上、结构性、可读性、可维护性上有明显的优势。C51已被完全集成到uVision4的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision4 IDE可为它们提供单一而灵活的开发环境。3. protel 99 SEPROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件。3 系统硬件电路设计3.1 单片机显示部分3.1.1 AT89S52 内部结构概述AT89S52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Fla

19、sh只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89S52单片机在电子行业中有着广泛的应用。其引脚排列如图3.1所示。图3.1 AT89S52引脚排列3.1.2 配置电路单片机显示部分的配置电路如图3.2所示。 图3.2 配置电路原理图3.1.3 时钟电路和复位电路1、时钟电路:时钟电路如图3.3所示。 图3.3 内部振荡电路 2、复位电路:上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电

20、后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。复位电路如图3.4所示。 图3.4 系统复位3.2 芯片AD650的应用3.2.1 AD650芯片概述AD650是高精度、高频型单片集成电压频率(V/F)和频率电压(F/V)变换电路。通过光电隔离器和无线电技术在远距离传输线路上传输频率信号使其不受干扰是较为容易的。其组成原理如图 3.5所示。AD650可构成廉价高分辨率低速 A/D 转换器、远距离隔离信号传输电路、锁相环电路、调制解调路、精密步进马达速度控制电路、窄带滤波

21、电路;在 F/V模式下,可构成精密转速表等。图3.5 采用压频转换进行远距离传输的组成框图3.2.2 AD650芯片特点1)工作频率高, V/F变换工作频率可达 1MHz2)非常低的非线性度:满度输出频率为10KHz时,非线性度典型值:0.002%满度输出频率为100KHz 时,非线性度典型值:0.005%满度输出频率为1MHz时,非线性度典型值:0.07%3)输出失调可调节为零4)频率输出与 CMOS或TTL 兼容5)输入电压范围大,输出方式可以是单极性、双极性或差动输入电压6)外围电路简单,既可做 V/F变换,又可做 F/V变换7)具有独立的数字地与模拟地,很容易与标准逻辑电路或光电耦合器

22、接口3.2.3 引脚排列及功能AD650电路的引脚排列如图3.6所示,其功能和符号列表如表3.1所示。 图3.6 AD650引脚排列表3.1 引脚符号与功能引脚序号符号功能1Vout电压输出2+IN输入3IN输入4I失调电流5VS负电源6CI定时电容7NC空脚8FOUT频率输出9C2比较器电容10DGND数字地11AGND模拟地12VS正电源13Tr1失调调整114Tr1失调调整23.2.4 AD650的特性参数AD650电路的特性参数如表3.2所示。表3.2 AD650的特性参数参数名称测试条件若无其它规定,Vs=15V,TA=25C规范值单位最小最大输出频率范围MHz非线性度Fmax=10

23、kHz0.05%Fmax=100kHz0.02Fmax=500kHz0.05Fmax=1MHz0.1满刻度校准误差Fmax=100kHz55%Fmax=1MHz1010温度系数Fmax=10kHz7575Ppm/CFmax=100kHz150150输出电压范围1010V输入偏置电流100nA输入失调电压44mA电源电压918V功耗电流10mA3.2.5 电路工作原理 AD650电压频率转换器式作原理如图3.7所示:图3.7 AD650电路原理图AD650采用电荷平衡式原理进行V/F转换,分复位(复位电路如图3.8所示)和积分(积分电路如图3.9所示)两个阶段进行转换。正向输入电压VIN首先经过

24、RIN转换成输入电流IIN(IIN=VINRIN),然后CINT充电,积分器的输出电压Vo按斜坡下降,当Vo下降到一0.6 V(比较器阈值电压)时,比较器翻转,经单稳态触发器使模拟开关S1接通另一端,进入复位阶段。此时,恒流源电流IH对CINT进行反向充电,充电电流为(IHIIN),使Vo线性升高。如此反复进行。积分放大器输出为锯齿波,经过单稳态触发器后,输出矩形窄脉冲。CINT电压变化如图3.10所示。 图3.8 复位电路 -图3.9 积分电路图3.10 CINT电压变化示意图3.2.6 AD650电路设计由AD650构成的V/F电路如图3.11所示。图3.11 AD650的V/F转换电路3

25、.2.7 AD650转换理论计算积分电路的作用:波形的产生与变换。IIN=;U0=UC;得U0单稳态触发器的作用:脉冲整形,延时定时。单稳态触发器的定时周期为TOS :TOS COS*6.8*103Sec/F+3.0*10-7Sec;T1TOSV/F转换器的输出频率为:Fout (I0=1mA)或Fout。满刻度输出频率与输入电阻RIN和COS有关。本设计中OS1000pF,RIN100K。所以:TOS COS*6.8*103Sec/F+3.0*10-7Sec1000*1012*6.8*103+3.0*1076.8uS; Fout(1/1*10-3*6.8*10-6*100*103)VIN1.

26、47VIN(KHz)3.3 芯片AD650转换电路3.3.1 V/F转换电路由AD650构成的单极性正输入电压如图3.12所示,单极性负输入电压如图3.13所示,双极性输入电压如图3.14所示。图3.12 单极性正输入电压 图3.13 单极性负输入电压图3.14 双极性输入电压3.3.2 F/V转换电路由AD650构成的F/V转换电路如图3.15所示。图3.15 F/V电路4 功能调试与测试4.1 单片机显示部分(一)遇到的问题及解决措施:1. 单片机不工作的原因有:a:单片机没供电;b:芯片没有插好。2. 单片机通电数码管全被点亮,产生这一现象的原因是单片机芯片的31脚没有接高电平。(31脚

27、外部程序存储器选择信号,低电平有效) 3. 数码管小数点显示不正常:a:程序扫描不正常;b:转换计算不精确等引起的。(二)调试过程:1. 检查电路图,查看时钟电路、复位电路、数码管段码位码是否连接正确;2. 查看焊接情况,是否出现漏焊、虚焊、焊错;3. 单片机下载程序,在Keil软件中写C程序编译生成.hex文件,仿真,调试,修改,下载到单片机,检查单片机是否可以正常工作;4. 用函数信号发生器产生一个频率送到单片机T1计数端(即15脚),观察数码管显示情况。4.2 AD650转换部分(一)遇到的问题及解决措施:1 芯片1脚输出三角波失真的原因:a:芯片AD650中的定时电容COS 值太大改为

28、1000pF;b:输入电阻太大改为10K。2 输出端频率不稳定:a:输出端插针接触不良;b:数字地和模拟地应该接一起。3 芯片AD650不工作,烧坏的原因的是电压15V输入接法不正确。(二)调试过程:1. 检查分析电路,看设计是否合理,计算单稳态触发器的定时周期,得出输出频率与电压的转换关系;2. 给芯片通电,用数字示波器检查没有计数脉冲输出,再检查1脚发现三角波失真,调小定时电容COS,再检查尝试得出数字地与模拟地接一起能够得到很好的计数。4.3 整体调试过程1. 按图接好电路,通过芯片AD650产生计数脉冲输入到单片机,数码管显示不正常(不停的闪烁),分析:AD650部分工作正常,检查程序

29、,修改、重试,数码管可以稳定显示;2. 改变输入电压,数码管显示与电源值相差较大,改进:在电压输入端增加一个5K的微调电阻,从而减小了误差,提高了精度。4.4 调试所使用的仪器稳压电源、万用表、函数信号发生器、数字示波器等。5 测得数据测得的数据如表5.1所示.误差值=(数码管-万用表)/万用表*100%;表5.1 测得的数据稳压电源万用表数码管误差0.00 0.009 0.007 -22.22%0.10 0.101 0.009 -91.09%0.20 0.201 0.199 -1.00%0.30 0.302 0.295 -2.32%精确到了千分位0.40 0.396 0.395 -0.25%

30、0.50 0.503 0.502 -0.20%0.60 0.603 0.601 -0.33%0.70 0.704 0.703 -0.14%0.80 0.798 0.796 -0.25%0.90 0.902 0.901 -0.11%1.00 1.005 1.003 -0.20%1.10 1.107 1.106 -0.09%1.20 1.203 1.201 -0.17%1.30 1.307 1.306 -0.08%1.40 1.403 1.404 0.07%1.50 1.503 1.503 0.00%1.60 1.601 1.601 0.00%1.70 1.705 1.706 0.06%1.80

31、1.805 1.806 0.06%1.90 1.907 1.906 -0.05%精确到了千分之一2.00 1.990 2.007 0.85%2.10 2.100 2.122 1.05%2.20 2.200 2.224 1.09%2.30 2.330 2.353 0.99%2.40 2.410 2.426 0.66%2.50 2.510 2.530 0.80%2.60 2.630 2.648 0.68%2.70 2.710 2.738 1.03%2.80 2.820 2.847 0.96%2.90 2.910 2.932 0.76%3.00 3.020 3.047 0.89%3.10 3.130

32、 3.153 0.73%3.20 3.220 3.246 0.81%3.30 3.340 3.366 0.78%3.40 3.410 3.435 0.73%3.50 3.540 3.564 0.68%3.60 3.620 3.647 0.75%3.70 3.730 3.758 0.75%3.80 3.820 3.835 0.39%3.90 3.920 3.945 0.64%4.00 4.020 4.044 0.60%4.10 4.140 4.146 0.14%4.20 4.220 4.242 0.52%4.30 4.340 4.370 0.69%4.40 4.430 4.458 0.63%4.

33、50 4.540 4.568 0.62%4.60 4.660 4.687 0.58%4.70 4.730 4.755 0.53%4.80 4.850 4.881 0.64%4.90 4.940 4.966 0.53%5.00 5.030 5.058 0.56%5.10 5.160 5.191 0.60%5.20 5.250 5.289 0.74%5.30 5.370 5.404 0.63%5.40 5.420 5.457 0.68%5.50 5.570 5.602 0.57%5.60 5.650 5.690 0.71%5.70 5.760 5.790 0.52%5.80 5.850 5.893

34、 0.74%5.90 5.940 5.983 0.72%6.00 6.070 6.109 0.64%6.10 6.170 6.205 0.57%6.20 6.270 6.309 0.62%6.30 6.370 6.413 0.68%6.40 6.470 6.511 0.63%6.50 6.570 6.603 0.50%6.60 6.660 6.704 0.66%6.70 6.770 6.817 0.69%6.80 6.870 6.909 0.57%6.90 6.970 7.014 0.63%7.00 7.090 7.129 0.55%7.10 7.160 7.203 0.60%7.20 7.2

35、50 7.291 0.57%7.30 7.360 7.395 0.48%7.40 7.460 7.501 0.55%7.50 7.570 7.635 0.86%7.60 7.670 7.701 0.40%7.70 7.790 7.835 0.58%7.80 7.870 7.918 0.61%7.90 7.960 8.002 0.53%8.00 8.080 8.125 0.56%8.10 8.180 8.225 0.55%8.20 8.270 8.317 0.57%8.30 8.380 8.427 0.56%8.40 8.480 8.527 0.55%8.50 8.570 8.625 0.64%

36、8.60 8.690 8.740 0.58%8.70 8.790 8.837 0.53%8.80 8.880 8.925 0.51%8.90 8.980 9.022 0.47%9.00 9.060 9.116 0.62%9.10 9.190 9.248 0.63%9.20 9.280 9.330 0.54%9.30 9.390 9.443 0.56%9.40 9.490 9.537 0.50%9.50 9.560 9.616 0.59%9.60 9.690 9.733 0.44%9.70 9.790 9.833 0.44%9.80 9.890 9.932 0.42%精确到了千分之五数据分析:1

37、) 前面4 个数据即稳压电源0.000.30V,虽然误差大,但是差值只有约0.002V,精度高。2) 稳压电源值0.401.90V,误差很小不到0.1%,精确到了千分之一。精度高的原因:万用表拨到2V档读数精确。3) 稳压电源值2.009.80V,误差有点大,但精确到了千分之五,精度高。误差大的原因有:a:万用表拨到20V档读数误差较大;b:芯片AD650本身误差;c:电路与程序也有误差等。得出结论:在电压测量中,02V误差小精度高,2V10V误差较大精度一般。总体上来说,本设计电路基本上能达到课题要求。6 系统程序设计#include #include Unsigned char code

38、dispbit=0xef,0xdf,0xbf,0x7f; /0x7f,0xbf,0xdf,0xef,0xf7,0xfb ,0xfd,0xfeunsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40;unsigned char code dispcodeDot=0xBf,0x86,0xDb,0xCf,0xE6, 0xEd,0xFd,0x87,0xFf,0xEf,0x80,0xC0; /加小数点unsigned char dispbuf4=0,0,0,0;unsigned cha

39、r dispcount=0;unsigned char T0count;unsigned char timecnt,timecount;bit flag;unsigned char count;/计数值unsigned long x=0 ;sbit P07 = P07;void Convert();void Display(); void Delay1ms(void)unsigned char i,j;for(i=5;i0;i-)for(j=98;j0;j-);void main(void)TMOD=0x51;TH1=0;TL1=0;TH0=0xf1;TL0=0x99;TR1=1;TR0=1;

40、ET0=1;ET1=1;EA=1;while(1)if(flag=1)flag=0;x=T0count*65536+TH1*256+TL1;Convert();timecount=0;T0count=0;TH1=0;TL1=0;TR1=1;Display(); void Convert()unsigned char i;unsigned ex = 68*x/100;for(i=0;i4;i+)/提取4位数dispbufi=ex%10;ex=ex/10;void Display()P2 = 0xff;if(dispcount=3) /有小数点P0=dispcodeDotdispbufdispcount; else P0=dispcodedispbufdispcount; P2=dispbitdispcount; /显示void t1(void) interrupt 3T0count+;void t0(void) interrupt 1 TH0=0xf1;TL0=0x99;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号