简易数字电压表

上传人:沈*** 文档编号:85640058 上传时间:2022-05-06 格式:DOC 页数:16 大小:380KB
收藏 版权申诉 举报 下载
简易数字电压表_第1页
第1页 / 共16页
简易数字电压表_第2页
第2页 / 共16页
简易数字电压表_第3页
第3页 / 共16页
资源描述:

《简易数字电压表》由会员分享,可在线阅读,更多相关《简易数字电压表(16页珍藏版)》请在装配图网上搜索。

1、1目录前言 . 2一、总体设计 . 2二、硬件设计 . 31、A/D 转换电路 . 32、晶振电路 . . 43、复位电路 . . 54、AT89C52 单片机介绍. 65、显示电路 . . 7三、软件设计 . 81、主程序流程图 . . 82、 A/D 转换子程序流程图 . 8四、.调试说明9五、.使用说明10六、结论 . 11参考文献 . 11附录 . 12I、系统电路图. 12U、程序清单. 122、尸、 亠前言本课程设计实现电压数字化测量的方法是模一数(A/D)转换,本设计将用 AD转换芯片 ADC0808 对模拟信号进行转换,AD 转换芯片 ADC0808 勺基准电压端, 被测量电压

2、输入端分别输入基准电压和被测电压。AD 转换芯片 ADC0808 将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号。 然后再通过对单 片机AT89SC524行软件编程,使单片机按规定的时序采集这些数字信号,通过 一定的算法计算算出被测量电压值,最后驱动数码管进行电压显示。简易数字电压表可以测量范围 0 至 5 伏范围内的 8 路输入电压值,并在 4 位LED 数码管上轮流显示或选择显示。其测量最小分辨率为0.02V。本系统主要包括四大模块:数据采集模块、控制模块、显示模块、 A/D 转换模块。一、总体设计因 ADC0809S Protues 中无法进行仿真,因此选用 ADC0808

3、 弋替 ADC0809 然后选用单片机 AT89C52 和 A/D 转换芯片 ADC0808 实现电压的转换和控制,用四 位数码管显示出最后的转换电压结果。将数据采集接口电路输入电压传入 ADC080 数模转换元件,经转换后通过 OUT1 至OUT8 与单片机 P0 口连接, 把转换完的模拟信号以数字信号的信号的形式传给 单片机,信号经过单片机处理从 LED 数码显示管显示。P3 实现通道选择,P2 口 接数码管位选,P1 接数码管,实现数据的动态显示。3、硬件设计1、A/D 转换电路A/D 转换的作用是进行模数转换,把接收到的模拟信号转换成数字信号输 出。在选择 A/D 转换时,先要确定 A

4、/D 转换精度、转换速度以及转换位数等, A/D 转换的位数确定与整个测量控制系统所需测量控制的范围和精度有关,在 数字电压表设计中采用了 8 位 A/D 转换器 ADC0808。U2ADCO8O0图 1 ADC0808ADC0808 是采样分辨率为 8 位的,以逐次逼近原理进行模/数转换的器件。 其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 A/D 转换。ADC0808 是 ADC0809 勺简化版本,功 能基本相同。一般在硬件仿真时采用 ADC0808S行 A/D 转换, 实际使用时采用 ADC0809S行 A/D 转换。引脚功能

5、(外部特性)ADC0808 芯片有 28 条引脚,采用双列直插式封装,如右图所示。各引脚功 能如下:15 和 2628 (IN0IN7) : 8 路模拟量输入端。8、14、15 和 1721: 8 位数字量输出端。OEVREF(-VREF(+1&121415820囂席UT4UTUT4UT3 3ALEAODCADD &ADDA222325fi10*EOCSTART CLOCKIN7IN6IN5iNiIN3IN2IN1IND二i28422 (ALE):地址锁存允许信号,输入,高电平有效。A, B 和 C 为地址输入线,用于选通 INO IN7 上的一路模拟量输入。6(START: A/D 转换启动

6、脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动 A/D 转换)7( EOC:A/ D 转换结束信号,输出,当 A/D 转换结束时,此端输出一个高电平(转换期间一直为低电平)。9(OE:数据输出允许信号,输入,高电平有效。当 A/D 转换结束时,此 端输入一个高电平,才能打开输出三态门,输出数字量。10 (CLK:时钟脉冲输入端。要求时钟频率不高于 640KHZ11 (Vcc):主电源输入端。12 (VREF( +)和 16 (VREF(-):参考电压输入端13 (GND:地。2325 (ADDA ADDB ADD) 3 位地址输入线,用于选

7、通 8 路模拟输入中的一路.ADC0808 应用说明(1) .ADC0808 内部带有输出锁存器,可以与 AT89S5 仲片机直接相连。(2) .初始化时,使 ST 和 OE 信号全为低电平。(3) .送要转换的哪一通道的地址到 A,B,C 端口上。(4) .在 ST 端给出一个至少有 100ns 宽的正脉冲信号。(5) .是否转换完毕,我们根据 EOC 言号来判断。(6) .当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单 片机了。2、晶振电路图 2 晶振电路5电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳 定性和抗外界干扰的能力,所以,石英晶体震荡

8、器是用来产生基准频率的。 通过 基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。晶振电路用于产生单片机工作所需的时钟信号,使用晶体震荡器时,c1,c2取值 2040PF,使用陶瓷震荡器时 c1,c2 取值 3050PFXTAL1 接外部晶体的一个引脚,XTAL2 接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMO 单片机,该引脚接外部振。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的 机械变形,而这种机械振动又会产生交变电场, 上述物理现象称为压电效应。 一 般情况下,无论是机械振动的振幅,还是交变电场的

9、振幅都非常小。但是,当交 变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这 一特定频率就是石英晶体的固有频率,也称谐振频率。石英晶振起振后要能在 XTAL2 线上输出一个 3V左右的正弦波, 以便使 MCS-52 片内的 OSC 电路按石英晶 振相同频率自激振荡。 通常,OSC 的输出时钟频率 fOSC 为 0.5MHz-16MHz 典型 值为 12MHz 或者 11.0592MHz 电容 C1 和 C2 可以帮助起振,典型值为 30pF,调 节它们可以达到微调 fOSC 的目的。3、复位电路复位电路的主要功能是使单片机进行初始化,在初始化的过程中需要在复 位引脚上加大于

10、 2 个机器周期的高电平。复位后的单片机地址初始化为 0000H,然后继续从0000H 单元开始执行程序。在复位电路中提供复位信号,等 到系统电源稳定后,再撤销复位信号。但是为了在复位按键稳定的前提下,电6源稳定后还要经一定的延时才撤销复位信号,以防在按键过程中引起的抖动而 影响复位。其中,R1 选择 1k,C3 选择 22pF。4、AT89C52 单片机介绍AT89C52 是一种低电压、高性能 CMOS 8 位单片机,片内含有 8KB 的可反复 写的只读程序存储器和 256KB 的随机存取数据存储器(RAM,器件采用 ATMEL 公 司高密度、非易失性存储器技术制造兼容 MCS-51 产品指

11、令系统。片上 Flash 允 许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和 Flash 存储单元,使得 AT89C52 为众多嵌入式控制应用系统提供高灵活、 超有效的解决方案。a. 主电源引脚Vss-(20 脚):地线Vcc-(40 脚):+5V 电源b. 外接晶振或外部振荡器引脚XTAL1-(19 脚):当采用芯片内部时钟信号时,接外部晶振的一个引脚;当采 用外部时钟信号时,此脚应接地。XTAL2-(18 脚):当采用芯片内部时钟信号时,接外部晶振的一个引脚;当采 用外部时钟信号时,外部信号由此脚输入。c. 控制、选通或电源复用引脚 XtALIPO

12、1傀傀HftST円型心円型心HJfAOe旳和晒旳和晒円如円如!1G*PIcmP2&M94P2皿眄皿眄P3 1/DPi 2 P1.3Pl .4PI 5P3訝訝ii畸畸P3MMTTHT b1j tiWHR 7图 4 AT89C52金圭聿宝星圭7RST-(9 脚):复位信号输入;Vcc 掉电后,此脚可接上备用电源,在低功耗 条件下保持 内部 RAM 中的数据。ALE -(30 脚):ALE 即允许地址锁存信号输出,当单片机访问外部存储器时 该脚的输出信号用于锁存 P0 的低 8 位地址,其输出的频率为时钟振荡频率的 1/6。PRO功编程脉冲输入端,当选用 8751 单片机时,由此脚输入编程脉冲。PS

13、EN-(29 脚):访问外部程序存储器选通信号,低电平有效,用于实现外部 程序存储器的读操作。EA -(31 脚):EA 为访问内部或外部程序存储器选择信号,EA=0 单片机只访问外部程序存储器,故对 8031 此脚只能接地;E 心 1,单片机访问内部程序存 储器,固对 8051 和 8751 此脚应接高电平,但若程序指针 PC 值超过 4KBQFFFH)范围,单片机将自动访问外部程序存储器。d.多功能 I/O 引脚P0 口-(3239 脚):P0 数据/地址复用总线端口。P1 口 -(18 脚):P1 静态通用端口。P2 口 -(2128 脚):P2 动态端口。P3 口 -(1017 脚):

14、P3 双功能静态端口。除作 I/O 端口外,它还提供特殊 的第二功能,其具体含义为:P3.0-(10 脚)RXD 串行数据接收端。P3.1-(11 脚)TXD:串行数据发送端。P3.2-(12 脚)INT0 :外部中断 0 请求端,低电平有效。P3.3-(13 脚)INT1 :外部中断 1 请求端,低电平有效。5、显示电路*=CCDEFG OP13*8图 5 显示电路数码管有共阴极和共阳极两种结构规格,。电阻为外接。共阴极数码管的发 光二极管阴极共地,当某发光二极管的阳极为高电平时, 二极管点亮;共阳极数 码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低 电平即可。三、软

15、件设计1、主程序流程图主程序一般包括:主程序的起始地址,中断服务程序的起始地址、有关内存 单元及相关部件的初始化和一些子程序调用等。图 6 主程序流程图92、A/D 转换子程序流程图f开始-t开始数模转 换取得转换结 果显示转化结 果结束图 7 A/D 转换流程图系统设置好后,单片机扫描转换结束管脚 P2.6 的输入电平状态,当输入为 高电平则转换完成,将装换的数值转换并显示输出。若输入为低电平,则继续 扫描。A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。 当四、调试说明软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误 有些是显性的,而有些是隐形的,可以通过

16、仿真开发系统发现逐步改正。Proteus 软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真, 用户甚至可10以实时采用诸如 LED/LCD 键盘、RS232 终端等动态外设模型来对设计进行交互仿真。Proteus 支持的微处理芯片包括 8051 系列、AVR 系列、PIC 系列、HC11 系列及 Z80 等等。Proteus 可以完成单片机系统原理图电路绘制、PCB 设计,更为显著点的特点是可以与 u Visions3IDE 工具软件结合进行编程仿真调试调试时,首先在 keil 中编译程序,若程序没有错误,则生成 hex 文件,用 于后续将 hex 文件加载入 AT89C52 中进行

17、仿真。仿真结果:五、使用说明基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实 际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了课题的预期 要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。 我的设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图U211的设计、电路图的仿真再到软件的调试。由于单片机 AT89C5 伪 8 位处理器,当输入电压为 5.00V 时,ADC0808 俞出 数据值为 255 (FFH,因此单片机最高的数值分辨率为 0.0196V(5/255)。这就决 定了电压表的最高分辨率只能到 0.0196V 。简易

18、数字电压表测得的值基本上比 标准电压值偏大 0-0.01V,这可以通过校正 ADC0808 勺基准电压来解决。因为该 电压表设计时直接用 5V 的供电电源作为电压,所以电压可能有偏差。当要测量 大于 5V 的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数 进行调整就可以了。六、结论本设计能够通过 A/D 转换模块对输入的模拟直流电压转换为数字信号, 并进 行进行测量,然后通过 LED 数码管进行显示。参考文献1张迎新单片微型计算机原理、应用及接口技术(第 2 版)M 北京: 国防工业出版社, 20042 伟福.LAB6000 系列单片机仿真实验系统使用说明书3 阎石数字电路技术基

19、础(第五版) 北京:高等教育出版社, 20064 王松武.于鑫.电子创新设计与实践 .国防工业出版 2005,112-1145 陈益飞.孙干超.单片机原理及应用技术 .国防工业出版 2011谢维成.单片机原理与应用及 C51 程序设计.清华大学出版社 200712附录:I、系统电路图H、程序清单#in clude#defi ne uint un sig ned int#defi ne uchar un sig ned charuchar code table=0 xc0,0 xf9,0 xa4,0 xb0.0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;uchar di

20、sp4;/定义数组变量sbit ST=P3A0;/定义 START 引脚sbit OE=P3A1;/定义 OE 引脚sbit EOC=P3A2;/定义 EOC 引脚sbit CLK=P3A3;/定义 CLOCK 引脚sbit p17=P1A7; intgetdata,temp; voiddelay( uint z); voiddisplay。; void in itial();void mai n() intgetdata=0;/定义数码管小数点13in itial();调用初始化函数14while(1)OE=0;ST=0;ST=1;ST=0;while(EOC=1)OE=1;getdata=

21、P0;OE=0;temp=getdata*1.0/255*5000;disp0=temp%10;disp1=temp/10%10;disp2=temp/100%10;disp3=temp/1000; display();void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void initial()TMOD=0 x01;TH0=(65536-20)/256;TL0=(65536-20)%256;EA=1;ET0=1;TR0=1;void timer0()interrupt 1TH0=(65536-20)/256;TL0=(6553

22、6-20)%256;CLK=CLK;void display()/刚开始禁止将转换结果输出/ 启动 A/D 转换开始/等待转换结束/允许转换结果输出 /将转换结果赋值给变量 getdata /禁止转换结果输出/将得到的数据进行处理/取得个位数/取得十位数/取得百位数/取得千位数/调用显示子程序/中断服务程序初始化/给 ADC0808 提供 25kHZ 的时钟脉冲/将显示结果在数码管上显示P2=0 xfe;P1=tabledisp0;delay(1);1516P2=0 xfd;P1=tabledisp1;delay(1);P2=0 xfb;P1=tabledisp2;delay(1);P2=0 xf7;P1=tabledisp3;delay(1);p17=0;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!