版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、s 作品名:数字电压表学院:电气工程学院 专业: 姓名: 学号: 指导老师:目录第一章:设计方案.3第二章:硬件电路设计.42.1主控芯片.42.2模数转换部分.42.3显示模块.6第三章:软件设计.73.1主程序设计.73.2 a/d转换子模块.8第四章:系统调试.94.1硬件调试.9 4.1.1 硬件故障.9 4.1.2硬件调试方法.94.2软件调试9 4.2.1 软件故障.9 4.2.2软件调试方法9第五章:实验数据处理.105.1实验数据.105.2实验数据分析.10第六章:结论.11附录一:作品图11附录二:程序.12第一章: 设计方案基于51单片机,以adc0804芯片实现模数转换
2、,由1602液晶屏显示,具有量程变换功能。量程转换模块adc0804模数转换模块单片机控制模块1602led显示模块上电复位串口通信adc08041602led显示电源电路at89c51 p0 p2 p1 p3第二章:硬件设计2.1主控芯片本电压表采用stc89c52为主控芯片,电路如下图所接:晶振电路和复位电路略去,端口和上面各图的接口是一致的。2.2模拟转换部分该电压表采用的adc0804,此芯片优点是并行输出,速率快,缺点是只有8位,精度不高。下来adc0804芯片图:为了方便,将数字地和模拟地都直接接到了一起,db0db7为并行输出口,cs,rd,wr为控制芯片模数转换及读取芯片数据和
3、写数据的引脚,adc0804可以自己产生时钟,只要在clkr和clkin端接入电阻(10k)和电容(理论为150pf本人接的220pf),可产生脉冲信号。vref为参考电压端,vin+和vin为电压输入端。当电压加在vin+和vin端时,在db0db7可输出八位到单片机,本处参考电压为5v,则当输入电压u时,输出数据为temp,则u/temp=5/255.在自然状态下,最多也只能测5v电压,为了扩大量程,本人加了衰减网络,见下图:接到adc芯片上面的始终是vin和地之前的电压,为了调精度,在上面加了滑动变阻器。此处r22选用的是470k欧的,首先选的10k,因为内阻过小,导致在5v以下的电压测
4、量不准确,choice和gnd两端为外加的电压,这样,有部分电压会在r20或者r21上分压,只在保证在r22两端不超过5v,就可实现多量程电压测量。2.3显示模块本处用1602液晶显示,1602优点是价格便宜,可显示基本字符,对于做电压表这样的东西已足够。电路如下:第三章:软件设计3.1主程序 主程序包括初始化部分 调用a/d转换子程序和调用显示程序,如下图所示:3.2 a/d转换子模块:返回0804地址加1 a/d转换子程序用于对adc0804八路输入模拟电压进行a/d转换,并将转换的数值存入八个相应的存储单元中,如下图: 开始启动一次转换取数据(oe=1)a/d转换结束?地址小于8第四章:
5、系统调试 基于单片机的数字电压表在组装好以后,便可进入系统的在线调试,起主要任务是排除样机硬件故障并完善其硬件结构,试运行所设计的程序,排除程序错误,优化程序结构,使系统达到预期的功能,进而固化软件。4.1硬件调试单片机应用系统的硬件和软件调试时交叉进行的,但通常是先排除样机中明显的硬件故障,尤其是电源故障,才能安全和仿真器相连,进行综合调试。4.1.1 硬件电路故障(1)错线 开路 短路;(2)元器件损坏(3)电源故障4.1.2 硬件调试方法 本设计调试中所用的调试方法是静态测试: 在样机加电之前,首先用万用表等工具,根据硬件电器原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号 规
6、格和安装是否符合要求。第二步是加电后检查各插件上引脚的点位,仔细测量各电位是否正常。第三步是在不加电的情况下,除单片机以外,插上所有的元器件,最后用仿真适配器将样机的单片机插座盒仿真器的仿真接口相连,为联机调试做准备。4.2软件调试4.2.1软件电路故障(1)当以断点或连续方式运行时,目标系统没有按规定的功能进行操作或什么结果也没有,这是由于程序转移到意外之外或在某处死循环所造成的。(2)结果不正确4.2.1软件调试方法软件调试所使用的方法有:计算程序的调试方法,i/o处理程序的调试法,综合调试法第五章:实验数据处理5.1实验数据0-5v量程为 0-50v量程次数标准值电压示值满度误差次数标准
7、值电压示值满度误差10.760.7250.70%11.341.50.52%21.111.0780.64%22.352.50.30%31.661.6270.66%34.424.70.56%41.991.9600.60%47.177.10.14%52.172.1560.28%510.610.11.00%62.462.4500.20%613.012.90.20%72.702.6860.28%714.614.40.40%82.852.8430.14%816.716.11.00%93.033.0190.22%918.217.61.20%103.153.156-0.12%1019.518.91.20%11
8、3.093.098-0.16%1121.721.21.00%123.763.764-0.08%1222.922.01.80%133.793.803-0.26%1323.923.01.80%144.454.470-0.40%1425.324.51.60%154.654.686-0.72%1525.824.91.80%1629.528.81.40%1730.429.51.80%1834.133.31.60%1936.535.61.80%2038.237.41.60%5.2实验数据分析 0-5v量程精度为0.001v, 满度误差均1.00%,为一级电压表 0-50v量程精度为0.1v,满度误差均2.
9、50%,为2.5级电压表 第六章:结论 1.输入电压易发生干扰不稳定,且驱动能力可能存在不足,需在被测信号的输入端加上一部分驱动电路,比如将量程转换电路改成放大能力的自动量程转换电路,将幅值较小的信号经适当放大后再测量,可显著提高精度; 2输出量可用平均值算法来改善,使测量准确度更高; 3.若能将测量的电压值实时保存,使用时将更方便;附录一:作品图附录二:程序主程序:#include /头文件#include /头文件#include#include#include#include#include#include#include void main()while(1)write_com(0x0
10、1);lcd_init(); display_voltage(); 1、 宏定义和定义变量:#define uchar unsigned char /宏定义#define uint unsigned intuchar table= measurement: ;uchar range5=range020v: ;uchar range50=range02a: ;uchar range500=range0100k:;uchar warning=please choice! ;/*uchar error=error!; */ uint measure10; sbit key3=p27;sbit key
11、0=p22;sbit key1=p21;sbit key2=p20;sbit lcd_rs=p23; / 定义液晶的rs端口sbit lcd_rw=p24; / 定义液晶的rw端口sbit lcd_en=p25; sbit back=p26;sbit spk=p27; / 定义液晶的en端口sbit cs=p32; / 定义ad的cs端口sbit rd=p31; /定义ad的rd端口sbit wr=p30;/sbit dula=p37;sbit intr=p37; /定义ad的wr端口uint temp,i,a1,a2,a3,a4; /定义变量 uint date;2、 延时部分:void d
12、elay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void delay_lcd()/1602指令之间延时uint x=5;while(x-);3、 ad转换和数据传送: void ad_init() /初始化adc0804cs=0;wr=1;_nop_();wr=0;_nop_();wr=1; uint ad_switch() /ad转换部分uint temp;p1=0xff;rd=1;_nop_();rd=0;_nop_();temp=p1;/将转后的原始值返给单片机p1口return temp;uint ad_smooth()/软
13、件滤波uint xx,i,temp;ad_init();for(i=0;i20;i+)measurei=ad_switch();delay(10); /每隔10us adc转换并采集一次数据,将得 /到的数据放到数组中,采集十个数据for(xx=0;xx20;xx+) /将十个数据冒泡法排序for(i=xx;imeasurei)temp=measurei;measurei=measurexx;measurexx=temp; for(i=6;i16;i+)/去掉了三个最小值和两个最大值, /取中间五个数的平均值xx+=measurei;xx=xx/10;return xx; /将滤过波后的值存入
14、单片机4、 1602子程序:void write_com(uchar com)/写指令delay(5);lcd_en=0;lcd_rs=0;lcd_rw=0;_nop_();lcd_en=1;p0=com;lcd_en=0;lcd_rs=0;void write_date(uchar date)/写数据delay(5);lcd_en=0;lcd_rs=1;lcd_rw=0;_nop_();lcd_en=1;p0=date;lcd_en=0;lcd_rs=0;void lcd_init()/初始化 back=0; delay(15); lcd_en=0; write_com(0x38); wri
15、te_com(0x38); write_com(0x38); write_com(0x06); write_com(0x0c); write_com(0x01); 5、 键盘扫描:uint keyscan()if(key0=0&key1=1&key2=1&key3=1)return 1;else if(key0=1&key1=0&key2=1&key3=1)return (2);else if(key0=1&key1=1&key2=0&key3=1)return (3);else if(key0=1&key1=1&key2=1&key3=0)return (4);else if(key0=1&
16、key1=1&key2=1&key3=1) return(5);else return (6);6、 数据整理及显示:void display5v(uint temp)/量程为5v时的显示状态uint num0,num1,num2,num3;if(temp7) temp=0;else temp=temp-7;num0=temp/51;num1=temp%51*10/51;num2=temp%51*10%51*10/51;num3=temp%51*10%51*10%51*10/51;write_com(0x80+0x40+11); write_date(num0+0x30);delay_lcd(
17、);write_com(0x80+0x40+12); write_date(.);delay_lcd();write_com(0x80+0x40+13); write_date(num1+0x30);delay_lcd();write_com(0x80+0x40+14); write_date(num2+0x30);delay_lcd();write_com(0x80+0x40+15); write_date(num3+0x30);delay_lcd();void display50v(uint temp)/量程为50v的显示状态uint num0,num1,num2,num3;/if(tem
18、p7) temp=0;/else temp=temp-7;temp=(temp+temp*4/10)*11;num0=temp/510;num1=temp%510*10/510;num2=temp%510*10%510*10/510;num3=temp%510*10%510*10%51*10/510;write_com(0x80+0x40+11); write_date(num0+0x30);delay_lcd();write_com(0x80+0x40+12); write_date(num1+0x30);delay_lcd();write_com(0x80+0x40+13); write_
19、date(.);delay_lcd();write_com(0x80+0x40+14); write_date(num2+0x30);delay_lcd();write_com(0x80+0x40+15); write_date(num3+0x30);delay_lcd();void display_voltage()uint numx,temp,temp0,temp1;/float temp;numx=keyscan();temp0=numx;for(i=0;i16;i+)write_com(0x80+i);write_date(tablei);delay_lcd(); if(numx=1|numx=4)for(i=0;i11;i+)w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三老师工作计划
- 加法运算定律说课稿
- 幼儿园6月份教育教学工作总结(35篇)
- 广东省中山市2023-2024学年高一上学期第3次段考 数学试卷含答案
- 青海省海东地区(2024年-2025年小学五年级语文)人教版综合练习(下学期)试卷及答案
- 2024年机油冷却器项目投资申请报告代可行性研究报告
- 供应链运营 教案项目四 供应链库存控制与管理
- 实验安全教育培训
- 上海市市辖区(2024年-2025年小学五年级语文)统编版综合练习((上下)学期)试卷及答案
- 深圳2020-2024年中考英语真题专题03 阅读理解之记叙文(原卷版)
- 组态王与MySQL数据库连接配置教程-20190807
- 《AP统计学讲义》课件
- 安全生产培训中的绩效激励与薪酬体系
- 一 《展示国家工程 了解工匠贡献》(教学设计)-【中职专用】高二语文精讲课堂(高教版2023·职业模块)
- 服装设计与工艺专业调研报告
- 【可行性报告】2023年年烟草行业项目可行性分析报告
- 《茶叶审评技术》课程考试复习题库(含答案)
- 血糖仪市场推广活动方案
- 《机械基础(第七版)》期末考试复习题库(含答案)
- 《非连续性文本解读》
- 儿童胫腓骨骨折课件
评论
0/150
提交评论