基于STC89C52和ADC0809简易数字电压表的设计

合集下载

基于89C52单片机的数字电压表设计

基于89C52单片机的数字电压表设计

摘要:在电路设计中我们时常会用到电压表,过去大部分电压表还是模拟的,虽然精度较高但模拟电压表采用用指针式,里面是磁电或电磁式结构,所以响应较慢。

为适应许多高速信号领域目前已广泛使用数字电压表。

本设计是基于Atmel51单片机开发平台和自动控制原理的基础上实现的一种数字电压表系统。

该系统采用Atmel89C52单片机作为控制核心,以ADC0809为数据采样系统,实现被测电压的数据采样;使用系列比较器检测输入电压的范围,并通过继电器阵列实现了输入量程的自动转换;使用共阴极数码管显示被测电压。

关键词:单片机、电压检测、模数转换、目录摘要 (1)第一章引言 (3)第二章开发平台Keil (4)2.1 系统概述 (4)2.2 整体架构 (5)第三章硬件设计思想和原理图 (6)3.1 系统总体设计框图 (6)3.2 单片机系统 (7)3.3 AD转换电路 (8)3.4 信号调理模块 (9)第四章软件设计与流程 (10)4.1 程序流图...................................... 错误!未定义书签。

4.2 功能介绍 (10)第五章软件仿真及测试数据 (11)5.1 仿真结果 (11)参考文献 (12)附录 (13)第一章引言电子电压表主要用于测量各种高、低频信号电压,它是电子测量中使用最广泛的仪器之一。

根据测量结果的显示方式及测量原理不同,电压测量仪器可分为两大类:模拟式电压表(AVM)和数字式电压表(DVM)。

模拟式电压表是指针式的,多用磁电式电流表作为指示器,并在表盘上刻以电压刻度。

数字式电压表首先将模拟量经模数(A/D)转换器变成数字量,然后用电子计数器计数,并以十进制数字显示被测电压值。

众所周知,模拟电压表精度较高,曾经有很广阔的市场,现在依然有不少工程师依然在使用模拟电压表。

的确模拟电压表在显示测量值方面精度校准,然而却也存在问题。

模拟电压表采用用指针式,里面是磁电或电磁式结构,所以其响应速度较慢。

基于adc0809的数字电压表课程设计

基于adc0809的数字电压表课程设计

基于ADC0809的数字电压表课程设计1. 概述数字电压表是一种用于测量电路中电压的仪器,它将电压值转换为数字信号以便显示和记录。

本课程设计将以ADC0809集成电路为基础,设计一种数字电压表,并通过实验验证其功能和性能。

2. ADC0809介绍ADC0809是一种8位的模数转换器,能够将模拟输入信号转换为对应的8位二进制数字输出。

它具有较高的精度和稳定性,被广泛应用于模拟-数字转换电路中。

3. 课程设计目标本课程设计旨在帮助学生了解数字电压表的工作原理和设计过程,培养学生的电路设计和实验能力。

具体目标包括:- 了解ADC0809的基本特性和工作原理- 设计数字电压表电路- 调试和验证数字电压表电路- 进行实际测量和性能评估4. 课程设计内容4.1 ADC0809特性分析学生将学习ADC0809的特性和工作原理,包括输入范围、精度、时序要求等。

通过理论学习和实验验证,学生将掌握ADC0809的基本参数和限制条件。

4.2 数字电压表电路设计在掌握了ADC0809的基本特性后,学生将开始设计数字电压表的电路。

设计过程将包括模拟输入和参考电压的设定、时钟信号的生成、数字显示和控制逻辑的设计等。

4.3 电路调试和验证设计完成后,学生将进行电路的调试和验证工作。

他们需要确保电路能够正常工作,并对其性能进行评估。

如果有必要,他们还可以进行一些改进和优化。

4.4 实际测量和性能评估学生将使用数字电压表进行实际测量,并对其测量精度、稳定性和速度进行评估。

他们还可以与市售数字电压表进行对比,验证自己设计的数字电压表的性能和特点。

5. 实验设备和材料为了完成这个课程设计,学生将需要以下设备和材料:- ADC0809芯片及支持器件- 电压源和参考电压源- 模拟输入信号源- 时钟脉冲发生器- 数字显示器和控制电路- 示波器和信号发生器等测试设备6. 实验步骤和过程学生将按照以下步骤完成课程设计实验:6.1 学习ADC0809的特性和工作原理6.2 进行数字电压表电路设计6.3 搭建电路并进行调试6.4 进行性能评估和实际测量7. 结果分析和总结学生将对实验结果进行分析,总结数字电压表的性能和特点,并讨论可能的改进方向和应用场景。

简易数字电压表的设计

简易数字电压表的设计

项目设计报告项目名称:简易电压表设计专业:通信工程班级学号:10304209 姓名:鹿应许任课教师:刘寅生成绩:目录1. 引言 (1)1.1. 设计意义 (1)1.2. 系统功能要求 (1)2. 方案设计 (1)3. 硬件设计 (2)4. 软件设计 (3)5. 系统调试 (5)6. 设计总结 (5)7. 附录A;源程序 (6)简易数字电压表的设计1.引言1.1. 设计意义本课题的设计是基于AT89C52单片机为控制系统,ADC0809为转换的简易数字电压表。

其意义主要有两个方面:其一,主要是检验我们对单片机原理及应用这门课的掌握程度包括硬件的组装与软件调试;其二,了解单片机的应用。

1.2. 系统功能要求简易数字电压表可以测量0-5V的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。

测量误差约为0.02V。

2.方案设计按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809.系统除能实现要求的功能外,还能方便的进行8路其他A/D转换量的测量,远程测量结果传送等拓展功能。

数字电压表系统设计方案框图如图2.1所示:图2.1 数字电压表系统设计方案框图3.硬件设计简易数字电压测量由A/D转换、数据处理及显示控制等组成,电路原理图如图3.1所示,A/D转换有集成电路ADC0809完成。

ADC0809据有8路模拟输入端口,地址线(第23-25脚)可决定对哪一路模拟输入作A/D转换。

第22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,第6脚为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D转换。

第7脚为A/D转换结束标志,当A/D转换结束时,第7脚输出高电平,第9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。

单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。

其中P1端口控制段码,P3.0~P3.3端口控制位选。

5单片机简易数字电压表设计

5单片机简易数字电压表设计

封面作者:PanHongliang仅供个人学习基于stc89c52单片机地数字电压表班级:智能电网111学生:喻卫湖南铁道职业技术学院电气工程系1控制要求2设计目地意义3系统原理框图489C52单片机5ADC0809地工作原理6系统原理图和PCB图 7程序流程图8 C语言程序9数字电压表工作原理10设计体会1控制要求利用STC89C52单片机和ADC0809设计一个数字电压表,能够测量0 —5V之间地直流电压值,四位数码管显示,使用地元器件数目较少•外界电压模拟量输入到A/D转换部分地输入端, 通过ADC0809转换变为数字信号,输送给单片机•然后由单片机给数码管数字信号,控制其发光,从而显示数字. 2设计目地意义1.通过亲身地设计应用电路,将所用地理论知识应用到实践中,增强实践动手能力,进而促进理论知识地强化.2•通过数字电压表地设计系统掌握51单片机地应用•掌握A/D转换地原理及软件编程及硬件设计地方法,掌握根据课题地要求,提岀选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入STC89C52单片机并进行调试等.3系统原理框图系统原理框图4 89C52引脚资料89C51引脚图总线型DIP40引脚封装电源引脚(2个)VCC:接+5V电源.GND:接地端.外接晶体引脚(2个)XTAL1:外接晶振输入端(采用外部振荡器时,此引脚接地).XTAL2:外接晶振输入端(采用外部振荡器时,此引脚作为外部振荡信号输入端).并行输入/输岀引脚(32个)P0.0~P0.7:通用I/O 引脚.P1.0~P1.7:通用I/O 引脚.P2.0~P2.7:通用I/O引脚或数据低8位地址总线复用引脚.P3.0~P3.7:通用I/O引脚或第二功能引脚(RXD、TXD、INTO、INTTrT0、F、WR、RD).控制引脚(4个)RST/V PD:复位信号输入引脚/备用电源输入引脚.ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚.EVVpp:内、外存储器选择引脚/片内EPROM(或Flatiron)编程电压输入引脚.PSEN:片外程序存储器读选通信号输出引脚.5 ADC0809地工作原理1. IN0-IN7: 8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是0 — 5V,若信号太小,必须进行放大;输入地模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路.地址输入和控制线:4条・ALE为地址锁存允许输入线,高电平有效.当ALE线为高电平时,地址锁存与译码器将A, B,C三条地址线地地址信号进行锁存,经译码后被选中地通道地模拟量进转换器进行转换・A,B和C为地址输入线, 用于选通IN0-IN7上地一路模拟量输入•通道选择表如图所示:2 •数字量输岀及控制线:11条ST为转换启动信号•当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平・E0C为转换结束信号•当E0C为高电平时,表明转换结束;否则,表明正在进行A/D转换・0E为输出允许信号,用于控制三条输出锁存器向单片机输岀转换得到地数据.OE=1,输岀转换得到地数据;0E = 0,输出数据线呈高阻状态.D7 —D0为数字量输出线.CLK为时钟输入信号线.因ADC0809地内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为 500KHZ, VREF ( + ) ,VREF (一)为参考电压输入.3. ADC0809应用说明①ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连.②初始化时,使ST和0E信号全为低电平.③送要转换地哪一通道地地址到A, B,C端口上.④在ST端给出一个至少有100ns宽地正脉冲信号.⑤是否转换完毕,我们根据E0C信号来判断.⑥当E0C变为高电平时,这时给0E为高电平,转换地数据就输出给单片机了.AD0809地启动方式为脉冲启动方式,启动信号START启动后开始转换,E0C信号在START地下降沿10us后才变为无效地低电平•这要求查询程序待EOC无效后再开始查询,转换完成后,EOC输出高电平,再由0E变为高电平来输出转换数据•我们在设计程序时可以利用EOC信号来通知单片机(查询法或中断法)读入已转换地数据,也可以在启动AD0809后经适当地延时再读入已转换地数据.AT89S51地输出频为晶振频地1/6 (2MHZ) , AT89S1与SUN7474连接经与 7474地ST脚提供AD0809地工作时钟.AD0809地工作频范围为10KHZ-1280KHZ,当频率范围为500KHZ时,其转换速度为128us.6系统原理图和PCB图7程序流程图8 C语言程序#include〈reg51. h>typedef unsigned char ucharotypedef unsigned int uintocode unsignedchar SEGMENT[10] = {OxCO, 0xF9, 0xA4, OxBO, 0x99, 0x92, 0x82, 0xF8, 0x80,0x90}。

简易数字电压表的设计(ADC0809)

简易数字电压表的设计(ADC0809)

简易数字电压表的设计(4人)一、设计目的进一步加深理解模拟电子技术、数字电子技术、单片机原理与应用等课程的基础知识,掌握一些小型电子系统的设计方法和制作过程的能力;培养学生们的科学性、系统性、及全面性的设计素质;开拓学生的设计思路,增强他们把理论知识与实践相结合的能力;为毕业后从事电子设备控制电路设计、调试、维修奠定基础。

二、设计要求1.功能要求设计并制作一个简易数字电压表,可以测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示,其中1位为显示通道号。

其测量最小分辨率为0.02V。

2.设计内容(1)根据设计功能要求,确定CPU的选型与硬件接口配置。

(2)进行硬件设计,主要是整个系统电路原理图的绘制和对应的PCB板的布线设计。

(3)进行软件设计,根据控制要求编写控制系统的控制程序。

(4)控制系统调试。

(5)源程序。

三、主要元器件ADC0809、数码管、三极管、发光二极管、总线驱动器、电位器、按键、电阻、电容、导线、万能板等四、设计报告要求1、方案论证及方框图。

2、单元电路设计细则。

3、调试及性能分析。

4、系统的电原理图。

5、电子元器件清单。

6、源程序清单。

7、参考资料。

8、收获。

五、教材及参考书[1] 潘永雄. 新编单片机原理与应用(第二版). 西安:西安电子科技大学出版社,2007年[2] 余永权.单片机应用系统的功率接口技术. 北京:北京航空航天大学出版社,1992[3] 孙涵芳.MCS-51/96系列单片机原理与应用. 北京:北京航空航天大学出版社,1996[4] 丘关源编.电路分析基础.高等教育出版社. 1999年[5] 童诗白编.模拟电子技术基础.高等教育出版社.1999年[6]阎石编.数字电子技术基础.高等教育出版社.1997年[7] [8]刘文涛编.MCS-51单片机培训教程 C51版.电子工业出版社.2006年六、课程设计进度安排注:设计说明书使用课程设计报告本书写,每人一份,独立完成。

基于单片机实现简易数字电压表的设计.

基于单片机实现简易数字电压表的设计.

基于单片机实现简易数字电压表的设计任务的功能要求:1. 可以选择8路0~5V的输入电压值;2. 可以轮流显示或是单路选择显示;3. 测量显示的最小分辨率为0.01V,测量误差正负0.02V;4. 具有电压过低、过高的声光报警功能。

在此我们选择的单片机为STC89C52芯片、ADC0809数模转换器(因仿真软件没有,故选用ADC0808替代,其实差不多的,就是输出管脚的排序问题)、LCD1602液晶屏(接线相对与数码管简单多了)。

在protel软件中的仿真电路图如下:P2.7的开关的选择是选择显示1,2,3,4路或是5,6,7,8路。

下面的单片机的C程序长是长了点,但确实运行有效,主要花费在8路的数据实现上了,另外其中的报警设置也是思路中有一路需要报警也即报警的。

关于各个芯片及液晶的资料自己去网上找就好了。

另外P0端口必须接上拉电阻!lcd1602的3脚管必须接可调电阻!单片机的C程序清单:#include <reg52.h>#include <intrins.h>#include<string.h>#define dat_port P0#define uchar unsigned char #define uint unsigned int#define delay4us() {_nop_();_nop_();_nop_();_nop_();}sbit AB1=P3^2;sbit AB2=P3^1;sbit AB3=P3^0;sbit AB5=P3^3;sbit AB4=P2^7;sbit RS=P2^0;//RS=1 数据 RS=0 命令sbit RW=P2^1;//RW=1 读取 RW=0 写入sbit E=P2^2;//E 使能信号sbit EOC=P2^4;sbit OE=P2^5;sbit START=P2^3;sbit CLOCK=P2^6;uchar X[4]={"0000"};void Refresh_show();void delay50us(uint m){uint n,k;for(n=m;n>0;n--)for(k=25;k>0;k--);}void Write_LCD_Command(uchar cmd);//向LCD写入命令void Write_LCD_Data(uchar dat); //向LCD写入一个字节的数据函数 void Initialize_LCD1602(); //液晶初始化函数void LCD_Display(uchar *str);//在LCD上显示字符串//---------------忙检查-------------------//uchar LCD_Busy_Check(){uchar LCD_Status;RS = 0;RW = 1;E = 1;delay50us(4);LCD_Status = P0;E = 0;return LCD_Status;}//--------------向LCD写入命令--------------------//void Write_LCD_Command(uchar cmd){while((LCD_Busy_Check()& 0x80)==0x80); //忙等待RS = 0;RW = 0;E = 0;P0 = cmd;delay4us();E = 1;delay4us();E = 0;}//-----------向LCD写入一个字节的数据函数-----------------*/void Write_LCD_Data(uchar dat){while((LCD_Busy_Check()&0x80)==0x80);RS = 1;RW = 0;E = 0;P0 = dat;delay4us();E = 1;delay4us();E = 0;}//-----------LCD初始化-----------------*/void Initialize_LCD1602() //液晶初始化函数{Write_LCD_Command(0x38);delay50us(10); //功能设置,数据长度为8位,双行显示,5×7点阵字体Write_LCD_Command(0x0C);delay50us(10); // 显示开,关光标Write_LCD_Command(0x06);delay50us(10); //字符进入模式:屏幕不动,字符后移Write_LCD_Command(0x01); delay50us(10);//清屏}//-----------在LCD上显示字符串-----------------*/void LCD_Display(uchar *str){uchar i;for(i=0;i<strlen(str);i++){Write_LCD_Data(str[i]);delay50us(100);}}unsigned long dat_adc0808;uchar display_buffer[][16]={{"DC1=0.00DC2=0.00"}, {"DC3=0.00DC4=0.00"}};uchar display1_buffer[][16]={{"DC5=0.00DC6=0.00"}, {"DC7=0.00DC8=0.00"}};uint adc0808_init() // AD初始化{START=0;OE=0;START=1;START=0;while(EOC==0);OE=1;dat_adc0808=P1;OE=0;return dat_adc0808;}void Refresh_show0() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[0]=1;elseX[0]=0;display_buffer[0][4] = t/100+'0'; //整数位display_buffer[0][6] = t/10%10+'0'; //两个小数位 display_buffer[0][7] = t%10+'0'; }void Refresh_show1() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[1]=1;elseX[1]=0;display_buffer[0][12] = t/100+'0'; //整数位display_buffer[0][14] = t/10%10+'0'; //两个小数位 display_buffer[0][15] = t%10+'0'; }void Refresh_show2() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[2]=1;elseX[2]=0;display_buffer[1][4] = t/100+'0'; //整数位display_buffer[1][6] = t/10%10+'0'; //两个小数位 display_buffer[1][7] = t%10+'0'; }void Refresh_show3() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[3]=1;elseX[3]=0;display_buffer[1][12] = t/100+'0'; //整数位display_buffer[1][14] = t/10%10+'0'; //两个小数位 display_buffer[1][15] = t%10+'0';}void Refresh1_show0() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[0]=1;elseX[0]=0;display1_buffer[0][4] = t/100+'0'; //整数位display1_buffer[0][6] = t/10%10+'0'; //两个小数位 display1_buffer[0][7] = t%10+'0';}void Refresh1_show1() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[1]=1;elseX[1]=0;display1_buffer[0][12] = t/100+'0'; //整数位display1_buffer[0][14] = t/10%10+'0'; //两个小数位 display1_buffer[0][15] = t%10+'0'; }void Refresh1_show2() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[2]=1;elseX[2]=0;display1_buffer[1][4] = t/100+'0'; //整数位display1_buffer[1][6] = t/10%10+'0'; //两个小数位 display1_buffer[1][7] = t%10+'0';}void Refresh1_show3() //刷新显示{uint t=dat_adc0808*500.0/255; //if(t>400||t<100)X[2]=1;elseX[2]=0;display1_buffer[1][12] = t/100+'0'; //整数位display1_buffer[1][14] = t/10%10+'0'; //两个小数位 display1_buffer[1][15] = t%10+'0'; }void main(){TMOD=0x02;TH0=0x14;TL0=0x00;IE=0x82;TR0=1;Initialize_LCD1602();delay50us(10);while(1){if(AB4==1){AB1=0;AB2=0;AB3=0;adc0808_init();Refresh_show3();Write_LCD_Command(0x80);//设置显示的初始位置LCD_Display(display_buffer[0]); //显示测得的数据AB1=0;AB2=0;AB3=1;adc0808_init();Refresh_show0();Write_LCD_Command(0x80);//设置显示的初始位置LCD_Display(display_buffer[0]); //显示测得的数据 AB1=0;AB2=1;AB3=0;adc0808_init();Refresh_show1();Write_LCD_Command(0xC0);//设置显示的初始位置LCD_Display(display_buffer[1]); //显示测得的数据 AB1=0;AB2=1;AB3=1;adc0808_init();Refresh_show2();Write_LCD_Command(0xC0);//设置显示的初始位置LCD_Display(display_buffer[1]); //显示测得的数据 if(X[0]||X[1]||X[1]||X[2]==1) AB5=1;elseAB5=0;}else{AB1=1;AB2=0;AB3=0;adc0808_init();Refresh1_show3();Write_LCD_Command(0x80);//设置显示的初始位置LCD_Display(display1_buffer[0]); //显示测得的数据 AB1=1;AB2=0;AB3=1; adc0808_init();Refresh1_show0();Write_LCD_Command(0x80);//设置显示的初始位置LCD_Display(display1_buffer[0]); //显示测得的数据 AB1=1;AB2=1;AB3=0; adc0808_init();Refresh1_show1();Write_LCD_Command(0xC0);//设置显示的初始位置LCD_Display(display1_buffer[1]); //显示测得的数据 AB1=1;AB2=1;AB3=1; adc0808_init();Refresh1_show2();Write_LCD_Command(0xC0);//设置显示的初始位置LCD_Display(display1_buffer[1]); //显示测得的数据 if(X[0]||X[1]||X[1]||X[2]==1) AB5=1;elseAB5=0;}}}void Timer0_INT() interrupt 1 {CLOCK=!CLOCK; }。

基于STC89C52单片机的数字电压表的设计

基于STC89C52单片机的数字电压表的设计

基于STC89C52单片机的数字电压表的设计作者:刘家兴王李亨男王衍震来源:《中国科技博览》2018年第11期[摘要]本文主要采用STC89C52单片机和ADC0831 芯片制作的简易数字电压表,可以采集0~5V的模拟直流电压进行测量,其测量结果在液晶LCD1602上显示。

该设计硬件电路主要有三个模块成:A/D转换模块、数据处理模块及输出显示模块。

程序设计上有各模块初始化操作、电压档位选择和LCD1602液晶显示程序等。

[关键词]数字电压表;LCD1602;ADC0831;单片机中图分类号:TM933.22;TP368.1 文献标识码:A 文章编号:1009-914X(2018)11-0115-011 引言数字电压表主要采用单片机和模/数转换模块,这样不仅提高了测量速度,而且抗干扰能力强、使用便捷、可扩展性强、测量准确。

本文利用stc89c52单片机实现了直流电压的测量,其测量结果在液晶LCD1602上显示。

2 系统硬件设计以 89C52单片机为关键部件,制作一个简易的数字电压表。

总体设计电路有以下几部分组成:STC89C52单片机、A/D转换电路、液晶LCD显示电路、时钟电路、复位电路、被测电压输入电路及量程选择。

2.1 STC89C52控制器STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

硬件为直插封装的STC89C52。

2.2 A/D转换模块按照不同的A/D转换芯片的转换原理可把其分为逐次逼近行、双积分型等。

其中双积分式A/D转换器抗干扰能力强、转换精度高、价格便宜。

但与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,它们可以与单片机系统连接,将数字量送入单片机进行分析和显示。

基于STC89C52单片机的简易数字电压表设计【毕业设计】

基于STC89C52单片机的简易数字电压表设计【毕业设计】

基于STC89C52单片机的简易数字电压表设计【毕业设计】存档编号华北水利水电大学North China University of Water Resources and Electric Power 毕业设计题目基于单片机的数字电压表设计学院信息工程学院专业通信工程姓名学号200912303指导教师完成时间2013年5月20日教务处制目录摘要 (I)Abstract (I)绪论 ...................................................................................................................... I I 一设计背景 .. (III)二设计意义 (IV)第一章数字电压表 (5)1.1 数字电压表的优点 (5)1.2 数字电压表发展趋势 (6)1.3 设计平台 (6)1.3.1 KEIL C51开发平台 (6)1.3.2 Proteus 7 Professional设计软件 (7)第二章总体设计方案 (8)2.1数字电压设计的两种方案 (8)2.1.1 由数字电路及芯片构建 (9)2.1.2 由单片机系统及A/D 转换芯片构建 (9)2.2 设计要求 (9)2.3 技术要求 (10)2.4 设计方案 (10)第三章硬件简介 (11)3.1 本设计单片机的选择 (11)3.1.1常用单片机的特点比较 (11)3.1.2 单片机的选择 (12)3.1.3 STC89C52单片机介绍 (13)3.2 本设计显示器件选择 (18)3.2.1 常用显示器件简介 (18)3.2.2 显示器件的选择 (19)3.2.3 1602字符型LCD简介 (19)3.3A/D芯片 (24)3.3.1常用的A/D芯片 (24)3.3.2 ADC0809芯片 (25)第四章接口电路 (28)4.1 显示电路 (28)4.2 ADC0809与单片机接口电路 (29)第五章硬件电路系统模块设计 (30)5.1 总电路模块 (30)5.2 硬件系统电路简介 (30)第六章系统软件设计 (31)6.1 主程序 (31)6.2 A/D转换子程序 (32)6.3 显示子程序 (32)第七章调试及性能分析 (33)7.1 调试与测试 (33)7.2 性能分析 (34)总结 (35)参考文献 (36)致谢 (38)附录 (39)附录I(外文翻译) (39)外文译文 (49)附录II(任务书) (57)附录III(开题报告) (59)附录IV(图表) (62)I Proteus仿真图 (62)II 硬件总电路图 (63)III 实物图 (64)附录V(程序清单) (66)摘要随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。

基于STC89C52的数字电压表设计报告

基于STC89C52的数字电压表设计报告

荆楚理工学院单片机课程设计成果学院: 电子信息工程学院班级: 13电气2班学生姓名: xxx 学号: xxxxxxxxxxxxxxxx设计地点(单位)单片机实验室D1302 设计题目:数字电压表完成日期:2015年7月3日指导教师评语: _________________________________成绩(五级记分制):教师签名:摘要电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。

本系统以STC89C52单片机为核心,以逐次逼近式A/D转换器ADC0809、数码管显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压。

该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下:1、单片机部分。

使用常见的STC89C52单片机,同时根据需要设计单片机电路。

2、测量部分。

该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上。

根据需要本设计采用逐次逼近型A ∕D转换器ADC0809进行模数转换。

3、数码管显示部分。

其中一位为整数部分,其余位小数部分。

关键词:STC89C52 模数转换数码管显示目录1.方案设计与论证 (4)1.1方案设计 (4)1.2方案论证 (4)2.系统硬件电路设计 (4)2.1系统原理框图 (4)2.2 A/D转换电路 (5)2.3单片机主控电路 (5)2.4电压显示电路 (7)2.5总体电路设计 (8)3.系统测试 (10)3.1测试方法与结果 (10)3.2测试结论 (11)3.3误差分析 (11)4.设计总结 (11)参考文献 (13)附录 (14)1.方案设计与论证数字电压表(Digital Voltmeter)简称DVM,目前采用单片机设计的数字电压表,由于精度高、抗干扰能力强、可扩展性强、集成方便,还可以与PC进行实时通信,所以以下方案均采用单片机设计。

1.1方案设计方案一:使用AT89C51单片机作为核心控制芯片,并用TLC549串行芯片作模数采样芯片。

基于STC89C52的数字电压表设计报告

基于STC89C52的数字电压表设计报告

荆楚理工学院单片机课程设计成果学院: 电子信息工程学院班级: 13电气2班学生: xxx 学号: xxxxxxxxxxxxxxxx设计地点(单位)单片机实验室D1302设计题目:数字电压表完成日期: 2015年 7月 3日指导教师评语: _________________________________成绩(五级记分制):教师签名:摘要电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。

本系统以STC89C52单片机为核心,以逐次逼近式A/D转换器ADC0809、数码管显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压。

该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下:1、单片机部分。

使用常见的STC89C52单片机,同时根据需要设计单片机电路。

2、测量部分。

该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上。

根据需要本设计采用逐次逼近型A ∕D转换器ADC0809进行模数转换。

3、数码管显示部分。

其中一位为整数部分,其余位小数部分。

关键词:STC89C52 模数转换数码管显示目录1.方案设计与论证 (4)1.1方案设计 (4)1.2方案论证 (4)2.系统硬件电路设计 (4)2.1系统原理框图 (4)2.2 A/D转换电路 (5)2.3单片机主控电路 (5)2.4电压显示电路 (7)2.5总体电路设计 (8)3.系统测试 (10)3.1测试方法与结果 (10)3.2测试结论 (11)3.3误差分析 (11)4.设计总结 (11)参考文献 (13)附录 (14)1.方案设计与论证数字电压表(Digital Voltmeter)简称DVM,目前采用单片机设计的数字电压表,由于精度高、抗干扰能力强、可扩展性强、集成方便,还可以与PC进行实时通信,所以以下方案均采用单片机设计。

1.1方案设计方案一:使用AT89C51单片机作为核心控制芯片,并用TLC549串行芯片作模数采样芯片。

基于STC89C52单片机的简易数字电压表设计【毕业设计

基于STC89C52单片机的简易数字电压表设计【毕业设计

存档编号华北水利水电大学North China University of Water Resources and Electric Power 毕业设计题目基于单片机的数字电压表设计学院信息工程学院专业通信工程姓名学号 200912303指导教师完成时间 2013年5月20日教务处制目录摘要 (I)Abstract (II)绪论...................................................................................................................... I II 一设计背景................................................................................................ I II 二设计意义. (V)第一章数字电压表 (1)1.1 数字电压表的优点 (1)1.2 数字电压表发展趋势 (1)1.3 设计平台 (2)1.3.1 KEIL C51开发平台 (2)1.3.2 Proteus 7 Professional设计软件 (2)第二章总体设计方案 (4)2.1数字电压设计的两种方案 (4)2.1.1 由数字电路及芯片构建 (4)2.1.2 由单片机系统及A/D 转换芯片构建 (4)2.2 设计要求 (5)2.3 技术要求 (5)2.4 设计方案 (5)第三章硬件简介 (7)3.1 本设计单片机的选择 (7)3.1.1常用单片机的特点比较 (7)3.1.2 单片机的选择 (7)3.1.3 STC89C52单片机介绍 (8)3.2 本设计显示器件选择 (13)3.2.1 常用显示器件简介 (13)3.2.2 显示器件的选择 (14)3.2.3 1602字符型LCD简介 (14)3.3A/D芯片 (19)3.3.1常用的A/D芯片 (19)3.3.2 ADC0809芯片 (20)第四章接口电路 (23)4.1 显示电路 (23)4.2 ADC0809与单片机接口电路 (23)第五章硬件电路系统模块设计 (25)5.1 总电路模块 (25)5.2 硬件系统电路简介 (25)第六章系统软件设计 (26)6.1 主程序 (26)6.2 A/D转换子程序 (26)6.3 显示子程序 (27)第七章调试及性能分析 (28)7.1 调试与测试 (28)7.2 性能分析 (28)总结 (30)参考文献 (31)致谢 (33)附录 (34)附录I(外文翻译) (34)外文译文 (44)附录II(任务书) (52)附录III(开题报告) (54)附录IV(图表) (57)I Proteus仿真图 (57)II 硬件总电路图 (58)III 实物图 (59)附录V(程序清单) (60)摘要随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。

基于ADC0809的数字电压表

基于ADC0809的数字电压表

南京信息工程大学单片机课程设计题目:基于ADC0809的数字电压表****: ***学号: ***********所在学院: 电子与信息工程学院_专业: 电子信息工程指导老师:***二0一一年十二月十九日目录摘要关键词 (3)前言 (3)硬件电路设计 (3)软件设计 (8)调试过程 (8)实物图 (9)结束语 (10)附系统程序 (11)基于ADC0809的数字电压表南京信息工程大学电子与信息工程学院乔冬春南京210044摘要:本文主要介绍了一个基于STC89C52单片机的数字电压表,描述了利用ADC089进行电压采集转换,同时通过1602液晶显示的过程。

关键词:STC89C52;ADC089;1602;电压表;单片机一、前言随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,同时各种电子器件技术的发展,为我们的生产生活带来了许许多多的便利,从最初的数码管到如今的液晶,人们的视觉体验得到了极大的提高。

同时AD转换技术发展,将人类从模拟时代带入了数字时代,极大地简化了人类的工作量,对生产力的发展起到了巨大的推动作用。

二、硬件电路设计单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。

系统方框图2.电路各模块分析2.1 STC89C52特性分析STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

使用STC公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,2个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

ADC0809数字电压表报告

ADC0809数字电压表报告

摘要数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。

较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。

A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。

数据处理则由芯片STC89C52来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外它还控制着ADC0809芯片工作。

此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。

关键字:STC89C52、ADC0809、数字电压表、A/D转换一、设计任务与要求1.1 设计任务基于单片机制作一个简易数字电压表,利用ADC0809芯片将电位器102的电阻值转换为电压值显示在数码管上。

1.2 设计要求(1)以STC89C52系列单片机为核心器件组成一个简单的直流数字电压表;(2)采用1路模拟量输入,能够测量0-5V之间的直流电压;(3)电压显示用4位一体的共阴级LED数码管显示,至少能够显示两位小数;(4)A/D转换采用ADC0809实现,与单片机的接口为P1口和P3口部分引脚。

LED数码管的段码输入由并行端口P0产生,位码输入用并行端口P2高四位产生。

二、方案设计2.1 硬件设计2.1.1单片机模块设计单片机控制模块的作用是为控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。

STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器,其引脚如下图所示:STC89C52引脚图2.1.2 P0口上拉电阻一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。

数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻排阻消除高阻状态。

基于ADC0809的数字电压表

基于ADC0809的数字电压表

基于ADC0809的数字电压表作者:兰图来源:《科技资讯》 2011年第27期兰图(厦门大学嘉庚学院机电工程系福建漳州 363105)摘要:本设计用ADC0809来进行电压的采集及模数转换,用AT89S52单片机来做控制单元,进行电压的测量和显示。

该数字电压表具有电路简单,成本低等优点,可以方便地进8路A/D转换量的测量,并可选择在数码管上滚动显示或单路显示的不同工作模式。

关键词:ADC0809 A/D转换单片机中图分类号:TM5 文献标识码:A 文章编号:1672-3791(2011)09(c)-0064-01本设计待测的输入电压为8路,电压范围为0~5v,使用目前广泛使用的AT89S52来做控制系统,用ADC0809来进行模拟电压的采集及模数转换,实现采集8路数据,并将结果在四位一体数码管上进行滚动显示或单独显示的功能,测量的最小分辨率为0.019v。

2 硬件设计2.1 系统构成该系统主要包括几大模块:数据采集模块、A/D转换模块、控制模块、显示模块、按键模块等。

采用AT89S52作为控制模块,A/DC0809作为A/D转换模块的核心,ADC0809本身具有8路模拟量输入端口,通过C、B、A,3位地址输入端,能从8路中选择一路进行转换。

如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。

LED数码管的显示采用软件译码动态显示,通过按键模块的操作可以选择8路循环显示,也可以选择某条单路显示。

2.2 数据采集电路数据采集电路是系统的主要组成部分,ADC0809具有8路模拟量输入通道IN0~IN7,通过3位地址输入端C、B、A(引脚23~25)进行选择。

引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部锁存器中,经内部译码电路译码选中相应的模拟通道。

引脚6为启动转换控制端START,当输入一个2μs宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。

课程设计---基于ADC0809的数字电压表设计

课程设计---基于ADC0809的数字电压表设计

课程设计---基于ADC0809的数字电压表设计课程设计报告课题名称:基于ADC0809的数字电压表设计姓名: 黄光凤班级: 测量10301班学号: 10015339院系: 电子信息工程学院指导老师: 李军、李琼、胡广夏、阮燕、杨少春老师日期: 2012年5月31日基于ADC0809的数字电压表设计摘要本电路以ADC0809和AT89S51为核心,该系统有四个模块:数据采集模块、控制模块、显示模块、A/D转换模块,设计中采用ADC0809进行摸数转换,利用MCS-51单片机进行数据的处理,显示模块采用LCD1602液晶显示器显示,采用独立式按键选择单路显示或者8路轮流显示。

能够测量0,5V之间的直流电压值。

读数据准确,测量方便。

误差范围在-0.02~+0.02之间最小分辨率位0.019。

硬件设计应用电子设计自动化工具,软件设计采用模块化编程方法。

关键词:简易数字电压表; AT89S51;ADC0809;LCD1602;数据处理。

目录第1章系统方案的选择与论证 (1)1.1 设计任务及要求 ...................................................1 1.1.1 任务 (1)1.2 简易数字电压表基本方案 (1)1.2.1 模块方案选择与论证 (1)1.2.2 单片机方案选择和论证 (1)1.2.3 A/D模数转换方案的选取 (1)1.2.4 显示方案 ............................................................3 1.2.5 输入方案 (3)1.2.6 电源提供方案 .....................................................3 1.2.7 系统组成 ............................................................4 第2章系统硬件设计与实现 . (5)2.1 简易数字电压表基本组成部分 (5)2.2.1 电源电路 .............................................................5 2.2.2 复位电路 . (5)2.2.3 时钟电路 .............................................................6 2.2.4 按键控制 . (6)2.2.5LCD1602 (8)2.2 电路原理图 ............................................................10 第3章软件的设计 ......................................................11 3.1 程序流程图 (11)3.1.1主总流程图 ..........................................................11 3.1.2 主要子程序程序流程图 .. (12)第4章仿真及调试 ........................................................18 4(1KEILC51简介 (18)4.2PROTEUS ISIS简介 (18)4.3测试结果分析 ..........................................................21 第5章总结 (22)致谢 ..................................................................... ..........23 参考文献 ..................................................................... ...24 附录 ..................................................................... ........25 附录1 实物图 ............................................................25 附录2 元件清单 (26)附录3 主要程序 (27)第1章系统方案的选择与论证1.1 设计任务及要求, 查阅相关的资料~了解电压表的的原理与应用,研究一个比较合理的设计方案~并对其进行理论分析及方案论证。

毕业设计(论文)-基于adc0809液晶显示的数字电压表设计[管理资料]

毕业设计(论文)-基于adc0809液晶显示的数字电压表设计[管理资料]

目录摘要 (I)前言............................................................... I I 1主要元器件的介绍和本系统的选择 (1) (1)LCD1602使用说明 (4)常用的A/D芯片简介 (7)ADC0809引脚结构功能说明 (7)2 总体设计及硬件电路模块功能简介 (8)技术要求: (8)设计方案: (8)系统硬件电路的设计 (9)单片机系统 (9)数模转换系统 (9)时钟电路 (9)复位电路 (9)2..8 显示电路设计 (9)3电压表系统电路的制做 (10)绘制电路板 (10)铜板的转印、腐蚀、钻孔、焊接 (10)焊接好后的电压表系统 (11)动手制作心得 (12)4 系统的调试 (12)硬件调试 (13)软件件调试 (13)软硬联调 (13)5 数据结果分析 (13)系统调试和校准 (13)测试数据 (13)总结 (15)致谢 (16)参考文献 (17)附件一(系统电路原理图) (18)附件二(电压表系统程序) (19)基于ADC0809液晶显示的数字电压表设计XXX摘要单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(的微处理器(CPU)。

随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术已成为一个国家现代化科技水平的重要标志。

单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。

单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。

现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。

本毕业设计的课题是“数字电压表的设计”。

主要考核我们对单片机技术,编程能力等方面的情况。

观察独立分析、设计单片机的能力,以及实际编程技能。

本课题主要解决A/D转换、数据处理及显示控制等三个模块。

基于STC89C52和ADC0809简易数字电压表的设计

基于STC89C52和ADC0809简易数字电压表的设计

基于stc89c52单片机的数字电压表设计报告专业:智能电网学生:喻卫湖南铁道职业技术学院电气工程系设计报告一、设计题目二、设计内容与要求三、设计目的意义四、系统硬件电路图五、程序流程图与源程序六、系统功能分析与说明七、设计体会八、参考文献基于STC89C52的简易数字电压表的设计摘要:本课题是利用单片机设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。

外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。

然后由单片机给数码管数字信号,控制其发光,从而显示数字。

此外,本文还讨论了设计过程中的所用的软件硬件环境,调试所出现的问题等。

关键词:单片机; STC89C52;数字电压表; ADC0809,四位数码管Abstract: This topic is the use of microcontroller design a digital voltmeter, capable of measuring between 0-5V DC voltage, four digital display, the use of fewer components. External analog voltage input to the A / D conversion part of the input of the conversion into a digital signal through the ADC0809, transmission to the microcontroller. And then by the microcontroller to the digital control digital signal, control the light, so the displayed number. In addition, the article also discusses the design process of software used in the hardware environment, debuggingthe problems and so on.Key words: SCM; STC89C52; digital voltmeter; ADC0809, four digital [一、设计题目基于STC89C52的简易数字电压表的设计。

基于89C52的8通道循环显示数字电压表电路的设计与制作

基于89C52的8通道循环显示数字电压表电路的设计与制作

摘要本文设计了一个数字电压表, 数字电压测量电路主要由A/D转换、数据处理及显示控制等组成。

数字电压表可以测量0到5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。

其测量最小分辨率为0.019V,最大分辨率为0.0196V(5/255)。

A/D转换由集成电路ADC0809完成0809具有8路模拟输入端口地址线(23~25脚)可决定对哪一路模拟输入作A/D 转换单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。

P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。

P0端口作A/D转换数据读入用,P2端口用作0809A/D转换控制,每隔一段时间一次轮流改变3位地址输入端的地址,从而一次对8路输出电压进行测量。

显示子程序采用动态扫描法实现4位数码管的数值显示。

关键词:AT89C52;ADC0809;LED数码显示管 ;循环显示AbstractThis paper introduces the design of a digital voltage meter, digital voltagemeasuring circuit is mainly composed of A/D conversion, data processing and display control. Digital voltage meter can measure the range of 5V0to the8 input voltage value, and 4 digital tube LED alternately shows or choose to display a single road. The measurement of the minimum resolution is 0.019V, the maximum resolution of 0.0196V (5/255). A/D conversion by integrated circuit ADC0809finished 0809with8 analog input port address line (23~25) can decide on which way the analog input for the A/D conversion chip P1, P3.0~P3.3 port as four LED digital tube display control. The P3.5port is used as a single display / circulation display conversion button, P3.6port is used as a single display channel selection. P0port for A/D conversion data read, P2port is used as the 0809A/D conversion control, every once in a while alternately changing3 bits of the address input address, and a8output voltage measurement. Display subroutine using dynamic scanning method to achieve4 digital tube numerical display.Key words:AT89C52; ADC0809; LED; Loop display目录第一章绪论 (1)1.1 引言 (1)1.2 选题背景与意义 (2)1.3 研究现状 (2)1.4 论文主要研究内容 (4)1.5 主要章节安排 (5)第二章 Protel99se概述 (6)2.1 Protel的产生与发展 (6)2.2 Protel99se的系统构成 (7)2.2.1 电路工程设计部分 (7)2.2.2 电路仿真与PLD部分 (8)2.3电路板设计的基本步骤 (8)2.4 Protel99se常用快捷键大全 (9)第三章基本理论和方案论证 (12)3.1基本理论 (12)3.2方案论证 (12)3.2.1系统设计任务 (12)3.2.2设计方案 (12)3.2.3软硬件开发环境 (13)第四章硬件电路原理和设计 (14)4.1 单片机模块 (14)4.1.1 复位电路 (14)4.1.2 晶振电路 (16)4.2 AD转换电路模块 (17)4.3 数码管显示电路模块 (19)4.4 按键电路模块 (20)第五章软件设计 (21)5.1 主程序设计 (21)5.1.1 工作流程 (21)5.1.2 存储空间定义安排 (22)5.2 模块程序设计 (23)5.2.1 AD转换测量程序 (23)5.2.2 显示程序 (25)第六章系统调试和总结 (26)6.1 系统调试 (26)6.2 结论及进一步设想 (27)6.3 调试问题及解决方案 (27)6.4 系统进一步改进方案 (28)第七章总结与展望........................................................................... ..29 致谢.. (32)元件清单 (33)参考文献 (34)附录A 电路原理图 (35)附录B 程序 (36)第一章绪论1.1 引言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

基于STC89C52单片机的数字电压表设计

基于STC89C52单片机的数字电压表设计

基于STC89C52单片机的数字电压表设计陈磊;琚泽立;何昭帅;蒲路【期刊名称】《电子质量》【年(卷),期】2017(0)12【摘要】在如今的各个行业,各个领域我们都会看到数字电压表的身影,大到汽车,电厂,超市,小到手表,电脑,手机等等.可以说我们的日常生活,衣食住行都离不开数字电压表.顾名思义,数字电压表是通过模拟数字转换技术,将模拟电压采集成离散的数字变量,然后通过主控芯片,显示在相关的显示设备上,诸如数码管,LCD液晶屏等等.这种高度集成的以及高度可扩展的嵌入式系统满足了如今各行各业变化多样的需求.该文设计的数字电压表是基于STC89C52单片机的硬件设计及软件设计方法.在设计中,充分利用了STC89C52单片机内部的高速计数器和以MAX197组成的A/D 转换器的优良特性[1],使整个设计达到了比较满意的效果[2].【总页数】3页(P38-39,43)【作者】陈磊;琚泽立;何昭帅;蒲路【作者单位】国网陕西省电力公司,陕西西安710048;国网陕西省电力公司,陕西西安710048;国网陕西省电力公司,陕西西安710048;国网陕西省电力公司,陕西西安710048【正文语种】中文【中图分类】TM933.22【相关文献】1.基于网络教学平台的混合式教学设计——以\"简易数字电压表的设计制作\"为例[J], 陈峰2.基于STC89C52单片机智能教室灯光控制系统设计 [J], 张伟楠;孔维宾3.基于STC89C52单片机的智能晾衣架控制系统设计 [J], 林关成4.基于STC89C52单片机的液位控制系统设计 [J], 李学亮;王峰5.基于STC89C52单片机的智能电子称设计 [J], 彭茗;王凌志;时慧慧因版权原因,仅展示原文概要,查看原文内容请购买。

基于STC89C52的数字电压表

基于STC89C52的数字电压表

1 引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

本文设计了一种基于单片机的简易数字电压表。

该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。

A/D转换主要由芯片ADC0804来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。

数据处理则由芯片STC89C52来完成,其负责把ADC0804传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0804芯片工作。

该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。

此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过7段数码管显示出来。

2 设计总体方案2.1设计要求⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。

⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。

⑶电压显示用LED数码管显示,至少能够显示两位小数。

⑷尽量使用较少的元器件。

2.2设计思路⑴根据设计要求,选择STC89C52单片机为核心控制器件。

⑵A/D转换采用ADC0804实现,与单片机的P1口相连接。

⑶电压显示采用三个7段LED数码管显示,另外三位数码管显示A/D转换的数字量的值。

⑷LED数码的段选码和位选码均由单片机P0口经过两片74HC573锁存器输入。

2.3设计方案硬件电路设计由6个部分组成; A/D转换电路,STC89C52单片机系统,LED 显示系统、时钟电路、复位电路以及测量电压输入电路。

硬件电路设计框图如图1所示。

图2-1 数字电压表系统硬件设计框图3 硬件电路设计3.1单片机系统本次课设选择的单片机是STC89C52,之所以选择这块芯片,是因为该芯片的各项功能均符合本次课设的指标要求,并且该芯片有很多成熟的资料供我们学习,使用用起来很方便,也有专门的下载程序平台,方便现场调试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于stc89c52单片机的数字电压表设计报告专业:智能电网学生:喻卫湖南铁道职业技术学院电气工程系设计报告一、设计题目二、设计内容与要求三、设计目的意义四、系统硬件电路图五、程序流程图与源程序六、系统功能分析与说明七、设计体会八、参考文献基于STC89C52的简易数字电压表的设计摘要:本课题是利用单片机设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。

外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。

然后由单片机给数码管数字信号,控制其发光,从而显示数字。

此外,本文还讨论了设计过程中的所用的软件硬件环境,调试所出现的问题等。

关键词:单片机; STC89C52;数字电压表; ADC0809,四位数码管Abstract: This topic is the use of microcontroller design a digital voltmeter, capable of measuring between 0-5V DC voltage, four digital display, the use of fewer components. External analog voltage input to the A / D conversion part of the input of the conversioninto a digital signal through the ADC0809, transmission to the microcontroller. And then by the microcontroller to the digital control digital signal, control the light, so the displayed number. In addition, the article also discusses the design process of software used in the hardware environment, debugging the problems and so on.Key words: SCM; STC89C52; digital voltmeter; ADC0809, four digital一、设计题目基于STC89C52的简易数字电压表的设计。

二、设计内容与要求用STC89C52单片机和ADC0809组成一个数字电压表,要求能够测量0~5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。

三、设计目的意义1.通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。

2.通过数字电压表的设计系统掌握51单片机的应用。

掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入EPROM并进行调试等。

四、系统硬件电路图4.1 系统原理框图选择STC89C52作为单片机芯片,选用四位8段共阳极LED数码管实现电压显示,利用ADC0809作为数模转换芯片。

将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P1口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。

P2口接数码管位选,P0接数码管段选,实现数据的动态显示,如图4.1所示。

图4.1 系统原理框图4.2 STC89C52的结构在本次课题设计中我们选择了STC89C52芯片。

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。

该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

4.2.1 STC89C52内部结构概述主要功能特性引脚图4.2.2 CPU 结构CPU 是单片机的核心部件。

它由运算器和控制器等部件组成。

1. 运算器运算器以完成二进制的算术/逻辑运算部件ALU 为核心。

它可以对半字节(4)、单字节等数据进行操作。

例如,能完成加、减、乘、除、加1、减1、BCD 码十进制调整、比较等算术运算,完成与、或、异或、求反、循环等逻操作,操作结果的状态信息送至状态寄存器。

运算器还包含有一个布尔处理器,用以处理位操作。

它以进位标志位C 为累加器,可执行置位、复位、取反、位判断转移,可在进位标志位与其他可位寻址的位之间进行位数据传诵等操作,还可以完成进位标志位与其他可位寻址的位之间进行逻辑与、或操作。

2.程序计数器PCPC 是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为64kB ,PC 有自动加1功能,即完成了一条指令的执行后,其内容自动加1。

3.指令寄存器指令寄存器用于存放指令代码。

CPU 执行指令时,由程序存储器中读取的指令代码送如指令寄存器,经指令译码器译码后由定时有控制电路发出相应的控制信号,完成指令功能。

4.2.3 存储器和特殊功能寄存器1. 存储器(Memory )是计算机系统中的记忆设备,用来存放程序和数据。

计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。

它根据控制器指定的位置存入和取出信息。

2.特殊功能寄存器特殊功能寄存器(SFR )的地址范围为80H ~FFH 。

在MCS -51中,除程序计数器PC 和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR 块中。

其中5个是双字节寄存器,它们共占用了26个字节。

各特殊功能寄存器的符号和地址见附表2。

其中带*号的可位寻址。

特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。

用图4.2 单片机(AT89S51)引脚及外观于CPU PSW便是典型一例。

这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。

与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。

MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。

其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等的功能前已提及。

4.2.4 P0-P3口结构P0口功能:P0口具有两种功能:第一,P0口可以作为通用I/O接口使用,P0.7—P0.0用于传送CPU的输入/输出数据。

输出数据时可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲。

第二,P0.7—P0.0在CPU访问片外存储器时用于传送片外存储器de低8位地址,然后传送CPU对片外存储器的读写P1口功能:P1口的功能和P0口de第一功能相同,仅用于传递I/O输入/输出数据。

P2口的功能:P2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O使用。

它的第二功能和P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。

P3口功能:P3口有两个功能:第一功能与其余三个端口的第一功能相同;第二功能作控制用,每个引脚都不同。

表4.1 P3口第二功能4.2.5 时钟电路和复位电路1.时钟电路单片机的时钟一般需要多相时钟,所以时钟电路由振荡器和分频器组成。

MCS-51内部有一个用于构成振荡器的可控高增益反向放大器。

两个引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

在片外跨接一晶振和两个匹配电容C1、C2如图2.5所示。

就构成一个自激振荡器。

振荡频率根据实际要求的工作速度,从几百千赫至24MHz可适当选取某一频率。

匹配电容C1、C2要根据石英晶体振荡器的要求选取。

当晶振频率为12MHz时,C1C2一般选30pF左右。

图2.5中PD是电源控制寄存器PCON.1的掉电方式位,正常工作方式PD=0。

当PD=1时单片机进入掉电工作方式,是一种节能工作方式。

上述电路是靠MCS-51单片机内部电路产生振荡的。

也可以由外部振荡器或时钟直接驱动MCS-51。

图4.3 复位电路的内部及外部方式2.复位电路复位是单片机的初始化操作。

其功能主要是将程序计数器(PC)初始化为0000H,使单片机从0000H单元开始执行程序,并将特殊功能寄存器赋一些特定值。

复位是使单片机退出低功耗工作方式而进入正常状态一种操作。

复位是上电的第一个操作,然后程序从0000H开始执行。

在运行中,外界干扰等因素可能会使单片机的程序陷入死循环状态或“跑飞”。

要使其进入正常状态,唯一办法是将单片机复位,以重新启动。

复位后,程序计数器(PC)及各特殊功能寄存器(SFR)的值如表4.2所示。

表4.2 程序计数器及各特殊功能寄存器的复位值RST 引脚是复位端,高电平有效。

在该引脚输入至少连续两个机器周期以上的高电平,单片机复位。

RST 引脚内部有一个斯密特ST 触发器(图2.10)以对输入信号整形,保证内部复位电路的可靠,所以外部输入信号不一定要求是数字波形。

使用时,一般在此引脚与VSS 引脚之间接一个8.2k Ω的下拉电阻,与VCC 引脚之间接一个约10μF 的电解电容,即可保证上电自动复位。

上电或手动复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。

上电后,由于电容C3的充电和反相门的作用,使RST 持续一段时间的高电平。

当单片机已在运行当中时,按下复位键K 后松开,也能使RST 为一段时间的高电平,从而实现上电或手动复位的操作。

4.3器件的比较与选择4.3.1显示器图4.4自动和手动复位电路图本次设计中有显示模块,而常用的显示器件比较多,有数码管,LED点阵,1602液晶,12864液晶等。

1. 数码管是最常用的一种显示器件,它是由几个发光二极管组成的8字段显示器件,其特点是价格非常的便宜,使用也非常的方便,显示效果非常的清楚。

小电流下可以驱动每光,发光响应时间极短,体积小,重量轻,抗冲击性能好,寿命长。

但数码管只能是显示0——9的数据。

不能够显示字符。

这也是数码管的不足之处。

2. LED点阵显示器件是由好多个发光二极管组成的。

具有高亮度,功耗低,视角大,寿命长,耐湿,冷,热等特点,LED点阵显示器件可以显示数字,英文字符,中文字符等。

3. 1602液晶是工业字符型液晶,能够同时显示16*2即32个字符。

1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。

相关文档
最新文档