版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于直流数字电压表的实验研究物理与电子工程学院 电子信息科学与技术专业 2010级 指导教师 摘要:电压测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,电压的测量也最为普遍,本文是采用ATmega8这块单片机作为直流数字电压表的核心控制元件,并以Proteus7 ISIS仿真软件为平台,对外部输入的模拟电压经过ATmega8自带的AD转换为数字量,经过编译和仿真,源程序用C语言编程,通过单片机驱动1602液晶显示屏,最终在液晶屏上显示出测得的电压值。关键词:ATmega8;l602液晶屏;Proteus7 ;CodeVisionAVR;Abstract: Voltag
2、e measuring a vast electronic workers must master the means of measurement accuracy and functionality requirements are also increasing, voltage measurement is also the most common piece of paper is using ATmega8 microcontroller as the core DC digital voltmeter control elements, And Proteus7 ISIS sim
3、ulation software platform, External analog voltage input comes through ATmega8 AD converted to digital, After compilation and simulation, source code written in C programming language, Single-chip LCD driver through 1602, finally display measured voltage value on the LCD screen.Key words:ATmega8;160
4、2series of LCD screen;Proteus7;CodeVisionAVR;1 引言 随着计算机、微电子技术、信息技术高速发展,单片机显得尤为重要,目前51系列单片机以及ATmega系列单片机是主流机型,本文采用的是ATmega8设计的直流数字电压表。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表,它广泛用于电子、电工测量、自动化检测等领域。传统的指针式电压表功能单一、精度低,不能满足现代测量技术的需求而且读数也不放方便,容易产生误差,采用单片机的数字电压表,它的精度高
5、、抗干扰能力强、可靠性高、可扩展性强、重量轻、价格低、还可以与电脑之间进行实时通信等优点;在人们生活当中,相关电器都离不开电压表的使用。目前数字电压表种类也很多,按数字电压表工原理不同又分为比较式,积分式等,按用途来分为交、直流数字电压表,交直流万用表,直流数字电压表等。2 电压表总体研究2.1 研究构思现今,随着电子技术的飞速发展,很多地方都会用到数字电压表进行电压测量,如果能利用单片机为核心控制的数字电压表其对各种电路测量,将会大大提高工作的灵活性和智能化。主要构思,首先是要对直流数字电压表的外部模拟电压进行处理,如切换,降压等,所以就要在输入单片机之前要有一个自动转换及降压的电路。其次是
6、经过处理的模拟电压接入单片机的A/D通道进行模数转,然后通过编程计算出转换后的电压值。最后通过对单片机编程控制1602液晶显示屏的管脚,把经过单片机处理好的电压值显示出来。2.2 研究目的1. 实现外输入模拟电压正确测量及自动切换量程的数字电压表。2. 在这过程中还可以进一步学习ATmega8和1602液晶屏使用方法,熟悉C语言编程,及 Protel99SE电路设计软件以及仿真软件Proteus使用方法等。3. 通过这次对直流数字电压表的实验研究可以锻炼自己探索和解决问题的能力。 2.3 主要实现功能实现外输入模拟电压的正确测量并能在液晶显示屏上准确显示出来,根据待测电压的不同自动切换量程,小
7、于2V时由(02V)档位显示、大于等于2V就切换到(020V)档位显示;精度达到小数点后三位,也就是精确到千分位。3 系统概述3.1 系统总体框图3.1 电路组成框图图3-1 系统框图32 系统工作原理的简单概述系统电路框图中包括输入电路和采样衰减电路及档位切换电路;A/D转换电路是ATmega8这款单片机内部自带;主要控制器件是ATmega8这块芯片;最后一部分就是采用1602液晶作为显示。 首先是外部模拟电压的输入,进入衰减电路对模拟电压进行衰减,在经过比较器进行比较,实行自动换挡,衰减过后的模拟电压通过单片机内部A/D转换电路把模拟量转换为数字量,然后编程驱动1602液晶显示屏实现出测出
8、的电压值。4 系统硬件电路4.1 输入衰减及自动换挡电路图4-1 自动换挡及采样衰减电路工作原理,当外部模拟电压低于2V时,此时U2:A这个比较器的同相端的电压等于输入电压,然后在和反相端设定的固定的电压值(2V)进行比较,两个电压进行相减,输出端必定是一个低电平,导致NMOS管的栅极g也为低电平,只有当VGSVT(开启电压)时NMOS管才导通,一般开启电压为2V左右,所以NMOS管也就没能导通,继电器常闭开关中的线圈没有电流流过,不能将开关吸合,然后电压就不经过滑动变阻器,而是直接通过(RL1)常闭开关到达(U2:B)电压跟随器的同相端,然后再到输出端送入单片机。同样的道理,当外部模拟电压高
9、于2V时,U2:A的同相端的电压等于输入电压,然后在和反相端固定的电压值(2V)进行比较,两个电压进行相减,输出端是一个高电平, NMOS管的栅极g也为高电平, 此时VGSVT(开启电压),NMOS管导通,继电器常闭开关中的线圈就有电流通过,由于线圈产生的电磁场把开关吸合,此时继电器常闭开关断开,然后电压就不经过它,而是直接由滑动变阻器衰减十倍后送达(U2:B)电压跟随器的同相端,然后再到输出端送入单片机。14.2 系统基本电路图4-2 系统基本电路及内部A/D转换图中ATmega8自带10位6路的逐次逼近型ADC,它包括一个采样保持电路,以确保在转换过程中输入到ADC的电压保持恒定,它由AV
10、CC引脚单独提供电源。电路图中9、10脚XTAL1、XTAL2接的是外部晶振,为ATmega8提供稳定的工作频率;20脚AVCC是A/D转换器电源,不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接;21脚AREF是A/D的模拟基准电压输入引脚;C端口的1脚接了一个复位按钮,4脚接自动换挡及采样衰减电路中比较器U2:A的输出端,用来读取比较器输出端是高电平还是低电平,从而来编程实现它由哪个档位显示;其中C端口26(ADin)脚接自动换挡及采样衰减电路中电压跟随器U2:B的输出端。4.3 1602液晶显示电路与单片机接口图4-3 1602液晶显示电路与单片机接
11、口电路图中1602液晶D0到D7脚分别接单片机D端口的高四位和单片机B端口的低四位,1602液晶显示屏的Vss接地,VDD接电源,VEE是液晶驱动电压,接正电源时对比度最弱,接地时对比度较高,为了避免产生“鬼影”,所以接了一个10K的滑动变阻器到地;其中液晶显示屏RS、R/W、E对应接单片机C端口C0、C1、C2脚。RS是寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器;R/W是读/写信号,高电平读,低电平写;E是片选使能信号,不管是写指令还是写数据时,刚开始都要给它一个高电平然后再延迟一会在给它一个低电平。1602液晶显示屏能够同时显示16*2即32个字符,也就是两排内容,要在液晶上显
12、示出内容就要对它进行初始化设置,首先设置单片机与液晶相连接的端口,然后要写入指令进行显示模式设置,其次写入指令对显示开/关及其光标设置,为了让液晶屏上能正确显示我们想要的结果,防止出现乱码,然后要写入指令对液晶屏进行清屏处理,最后设置内容显示位置;第一排设置让它显示设计者及设计者的名字,当然它是不能显示汉字的,它属于字符型显示液晶,所以设计者和设计者名字用相应的英文字母代替。第二排显示的是电压值,经过单片机处理后送入液晶显示时,电压值小于2V时液晶上就显示Volt(1)及具体值,否则就显示Volt(2)档及具体电压值。要求在1602液晶屏上显示出的电压值到小数点后三位,如何显示出电压值的小数点
13、后三位要通过编程来实现,首先是把A/D对外部输入模拟电压进行采样的数据以二级制代码形式存放在ADMUX这个寄存器里面,然后用采样数据的份数乘以转换精(参考电压除210,为了减小误差,需要把5V换算成5000mv),所得乘积就是实际输入的模拟电压(由于量化误差,模拟电压与此时转换电压有较小差异),然后对这个电压值除以10000得到电压的十位数,在对这个电压值对10000求余后在除以1000取出电压的个位数,同样的道理,在对此电压值对1000求余后除以100取出电压的第一位小数,电压值对100求余后除以10取出电压的第二位小数;电压值对10求余取出电压的第三位小数。5 核心元器件介绍5.1 ATm
14、ega8简介ATmega8是ATMEL公司在2002年第一季度推出的一款新型AVR高档单片机。在AVR家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGA系列的全部性能和特点。它是一款采用低功耗CMOS工艺生产的基于AVR RISC结构的8位单片机。AVR单片机的核心是将32个工作寄存器和丰富的指令集联结在一起,所有的工作寄存器都与ALU(算术逻辑单元)直接相连;ATmega8还具有8K字节的系统内可编程Flash,512字节EEPROM,1K字节SRAM,32 个通用I/O口线,32个通用工作寄存器,三个具有比
15、较模式的灵活的定时器/计数器(T/C), 片内/外中断,可编程串行 USART,10位6路ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及五种可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU 和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;ATmega8 具有一整套的编程与系统开发工具,包
16、括:C语言编译器、汇编、程序调试器/软件仿真器及评估板。25.2 1602液晶显示屏本设计采用1602液晶屏作为被测量电压的显示,1602液晶是工业字符型液晶,能够同时显示16*2即32个字符。驱动电压为+5V/3.3V,当然每个厂家生产的都有点区别,但都是大同小异。1602液晶模块内部的字符发生存储器(CGROM)中已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文名等,每一个字符都有一个固定的代码,比如大写字母“H”对应的高位代码为0100B,低位代码为1000B,合起来就是01001000B(48H),在使用时直接编写程序按一定的时序驱动即
17、可。它的特点是显示字迹清楚,价格相对便宜,可选择背光有白光、黄绿光等。以下是1602液晶的各方面参数: 160接口定义编号符号引脚说明1VSS电源地2VDD电源正极3VL液晶显示偏压信号4RS数据/命令选择端5R/W读/写 选择端6E片选使能信号7-14D0-D7数据传输端15BLA背光灯引脚阳极16BLK背光灯引脚阴极(1)基本操作时序:读状态:输入:RS=L,RW=H,E=H。输出:D0-D7为状态字写指令:输入:RS=L,RW=L,D0-D7为指令码,E为高脉冲。输出:无读数据:输入:RS=H,RW=H,E=H。输出:D0-D7为数据。写数据:输入:RS=1,RW=0,D0-D7为数据,
18、E为高脉冲。输出:无显示模式设置:表1.1 指令的说明指令码功能00111000设置16*2显示,5*7点阵,8位数据口表1.2 显示开/关及光标设置 指令码 功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示关标B=1光标闪烁;B=0光标不显闪烁000001NSN=1当读写一个字条款后地址指针加一,且光标加一。N=0当读或写一个字符后地址指针减一,且光标减一。S=1当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。S=0当写一个字符,整屏显示不移动。表1.3 数据控制 指令码 功能80H+地址码(0-27H,40H-67H)设置数
19、据地址指针01H显示清屏:1数据指针清零 2所有显示清零02H显示回车:1数据指针清零(2)1602写操作时序:DB0-DB7R/WR/SET1T2T3T4有效数据图5-2 1602写数据时序图36 PROTEUS仿真结果6.1 下载HEX文件首先建立源程序文件,然后选择CodeVisionAVR进行源程序文件的编译。如果源程序语法有错误,编译系统会给出可能出错的地方,改正后,重新编译,一直到没有错误为止。最后打开仿真电路图,双击ATmega8把编译好产生的HEX文件下入单片机,如下图:6.1 输入电压小于2V仿真结果图 图A 外部模拟电压为0.5V时图B 外部模拟电压为1.98V时6.2 输
20、入电压大于等于2V小于20V仿真结果图图C 外部模拟电压为3V时图D 外部模拟电压为20V时7 结束语本论文是在指导老师的精心指导下完成的。最初对直流数字电压表缺乏了解,对各种设计软件也不够熟悉,也没有头绪,因此在设计过程中遇到了不少难题,但经过老师的提点和同学的帮助在经过自己不懈的努力,最终得以解决,该直流数字电压表的预期功能基本实现。经过这次的实践经历,我对直流数字电压表的有了更深的认识。对ATmega8这块单片机,程序设计软件等有了更深的认识。同时,Proteus为学习单片机提供了很好的条件平台,节约了实际制作中的成本,为学生自学提供了良好的平台。最后,衷心感谢帮助我的指导老师和同学!参
21、考文献:1 电子技术基础 康华光 编 高等教育出版社.2 AVR单片机C语言开发入门与典型实例 朱飞 杨平 编 人民邮电出版社.3 C51单片机高效入门 徐富军 徐玮 沈建良 编 机械工业出版社.4 C语言程序设计 谭浩强 编 清华大学出版社.5 单片机应用文集 何立民 编 北京航空航天大学出版社.6 单片机原理与应用技术 朱勇 陈其乐 刘浩 编 清华大学出版社7 单片机原理及应用 李建忠 编 西安电子科技大学出版社8 Ding Yuanjie, Monolithic Microcomputer Principle And ApplicationM. mechanical industry p
22、ublishing house in January, 2005 2nd edition 10th printing.附录1 系统原理图 附录2:程序代码#include #include delay.h#define uchar unsigned char#define uint unsigned int #define RS PORTC.0#define R/W PORTC.1#define E PORTC.2uchar table1=Volt( ): ; /电压(第二行) uchar table2=.; /小数点uchar table3=V; /单位/Vuchar table4=Desi
23、gn:chen T S ;uchar num2= ;uchar GearSign = 0; /档位标志,0为02V档,1为020V档 uint num;unsigned long int num1=0,H,L;void write_com(uchar com) /液晶控制子函数RS=0;PORTD=com&0xF0;PORTB=com&0x0F;delay_us(500);E=1;delay_us(500);E=0; void write_date(uchar date) /液晶控制子函数RS=1; PORTB=date&0x0F;PORTD=date&0xF0;delay_ms(1);E=1
24、;delay_ms(1);E=0;void adc_date() /模数转换子函数 num1=0; ADMUX=0X23; /设置AD模式 ADCSRA=0XE5; /启动AD转换 while(ADCSRA&0X40=1); /判断AD转换是否结束 delay_ms(1); /延时等待 H=ADCH; /模数转换的高位寄存器的值付给H H=6; /右移8位,即除以64 num1=(H|L); /求和 num1=num1*5000/1024; /算出测得的电压值 GearSign = PIND.2; if(GearSign) /标志位为1时进行档位换算衰减为10倍 num1 *= 10;num20=num1/10000; /取出电压的10数位 num21=(num1%10000)/1000; /取出电压的整数位num22=(num1%1000)/100; /取出电压的第一位小数num23=(num1%100)/10; /取出电压的第二位小数num24=num1%10; /取出电压的第三位小数void init() /初始化子函数 DDRD=0XFB; /D端口设为输出端 PORTD=0X0B; /D端口清零 DDRB=0XFF; /B端口设为输出端 PORTB=0XF0; /B端口清零 DDRC|=0x07; /C端口PC0、PC1、PC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年吉林省临江市高三数学下册期末考试模拟检测卷(满分必刷)附答案
- 2026年贵州省福泉市高三数学下册期末考试模拟试卷及参考答案(完整版)
- 2026年四川省崇州市高三数学下册期末考试模拟检测卷及答案(考点梳理)
- 2026年黑龙江省五常市高三数学下册期末考试模拟检测卷附参考答案【研优卷】
- 2026年山东省曲阜市高三数学下册期末考试模拟测试卷及参考答案【夺分金卷】
- 2026年浙江省海宁市高三数学下册期末考试模拟测试卷含答案【满分必刷】
- 2026年河北省三河市高三数学下册期末考试模拟卷(研优卷)附答案
- 2026年黑龙江省五常市高三数学下册期末考试模拟卷带答案(黄金题型)
- 2026年海南省五指山市高三数学下册期末考试模拟测试卷附答案【轻巧夺冠】
- 2026年浙江省嵊州市高三数学下册期末考试模拟卷标准卷附答案
- 《工程造价指标分类及编制指南》附录A 房屋建筑工程
- UL1977标准中文版-2019连接器UL中文版标准
- 中国食物成分表2018年(标准版)第6版
- 狼图腾读书笔记摘抄及感悟第二章(4篇)
- 敖汉旗新惠工业园区项目地质灾害危险性评估报告
- 人机工程学-第九章人与环境的界面设计
- 话剧《收信快乐》
- 地面建筑压覆煤矿互不影响论证报告
- 公司租房合同续约
- 固体废物处理与资源化课后习题答案(赵由才第三版)及期末试题库
- YC/T 438-2012烟草商业企业卷烟物流配送车辆管理规范
评论
0/150
提交评论