ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:490.94KB ,
资源ID:24136628      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24136628.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ADC0809数字电压表的设计.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ADC0809数字电压表的设计.docx

1、ADC0809数字电压表的设计单片机原理及应用课程设计报告书题 目:简易数字电压表的设计姓 名: 学 号: 专 业:电气工程及其自动化指导老师: 设计时间:2012年11月目 录1.引言. 1.1. 设计意义 1.2. 系统功能要求 1.3. 本组成员所做的工作2.方案论证及方框图.3.单元电路设计细则.3.1. 控制电路的设计.3.2. 输入采样及转换电路.3.3. 数码管显示电路.3.4. 单路/循环及通道选择电路.3.5. 系统程序的设计.4.调试及性能分析.4.1. 调试步骤.4.2. 结果测试.4.3. 性能分析.5.系统的电路原理图.6.电子元器件清单.7.附录A: 源程序清单8.

2、附录B: 实物照片8.参考资料.9.收获. 1.引言1.1. 设计意义数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测

3、量技术提高到崭新水平。另外,本设计控制电路、采样电路、显示电路分别采用51系列单片机8位、A/D转换芯片0809以及四位一体共阳数码管,不仅在元器件耗材上节省了开支,同时也能达到理想中的效果。1.2. 系统功能要求 由于本设计采用的是8位的A/D转换芯片,且接入的最大测量电压为5V,故该简易数字电压表8路输入电压值的测量范围为05V,并且能在数码管上轮流显示或单路选择显示。另外其测量最小分辨率为0.02V。1.3. 本组成员所做的工作 本组组员都很积极,各个成员分工查询资料,比如各芯片的引脚图、接线方法等。但电路图的整体布局、程序、硬件电路的连接是大家团结一致共同完成的。2.方案论证及方框图在

4、电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。本设计按系统功能要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便的进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能。数字电压表系统设计方案框图如下所示。系统方框图3.单元电路设计细则3.1 控制电路的设计本系统采用AT89C52芯片,P0口从A/D转换后读取数字信号,P1口将读取数据处理后送到显示电路显示,P2口控制输入采样电路中ADC0809芯

5、片的工作与不工作以及是否工作完毕,P3口控制独立按键实现单路/循环以及通道选择。另外,/EA/VP端接5V电源,X1,X2接晶振电路,RESET端接复位电路。并且,由于P0口的驱动能力较弱,故可将用于从输入采样电路中读取数据,不做驱动使用,故每个引脚无需接上拉电阻,使电路设计更加节省、合理。89C52单片机引脚图3.1.1 单片机复位电路89C52单片机的复位是由外部的复位电路来实现的。最简单的上电自动复位电路,是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。 复位电路3.1.2 单片机晶振电路晶振是晶体振荡器的简称,在电气上它可以等效成一个电容

6、和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。3.5.2石英晶体振荡器与石英晶体谐振器都是提供稳定电路频率的一种电子器件。石英晶体振荡器是利用石英晶体的压电效应来起振,而石英晶体谐振器是利用石英晶体和内置IC来共同作用来工作的。振荡器直接应用于电路中,谐振器工作时一般需要提供3.3V电压来维持工作。振荡器比谐振器多了一个重要技术参数为:谐振电阻(RR),谐振器没有电阻要求。RR的大小直接影响电路的性能,也是各商家竞争的一个重要参数。本设计采用12MHz晶振,并联两个30pF电容构成晶振电路。 晶振电路 3.2

7、 输入采样及转换电路A/D转换由集成芯片ADC0809电路完成。ADC0809具有8路模拟输入端口,地址线(第2325脚)可决定对哪一路模拟输入作A/D转换。第22引脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。第6引脚为测试控制,当输入一个2us宽电平脉冲时,就开始A/D转换。第7引脚为A/D转换结束标志,当A/D转换结束时,第7引脚输出高电平。第9引脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。第10引脚为ADC0809的时钟输入端,利用单片机第30引脚的六分频晶振频率,再通过14024二分频的得到1MHz的时钟。 另外,为了当未接入输入电压时,避

8、免8通道的悬空对显示产生不稳定的波动,故通过8个10K的电阻接地将8通道拉低,即显示为0输入;而当有输入电压时,则电阻将其短路,不流入地,从而使其更稳定、精确。 输入采样及转换电路 3.3 数码管显示电路3.3.1 数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5

9、V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。3.3.2 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示

10、则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。3.3.3 本设计采用的就是数码管动态扫描的方法,通过锁存器74LS244驱动数码管8个段选,4个PNP三极管做开关作用控制其4个位选,并且由单片机实现实时控制,达到实验理论效果。 数码管显示电路3.4 单路/循环及通道选择电路 通过独立按键控制单片机I/O口电平的高低,并且结合软件的判断及编程,从而实现单路/循环的切换以及通道的选择。 单路循环及通道选择电路3.5 系统程序的设计3.5.1 主程序流程图 主程序流程图系统刚上电时,初始化程序主

11、要执行70H77H内存单元清0和P2口置0等准备工作 。在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间在1S左右。主程序在调用显示子程序与测试子程序之间循环。3.5.2 A/D转换测试子程序流程图 A/D转换测试子程序流程图A/D转换测量子程序用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H77H内存单元。3.5.3 设计思想1.首先写好各子程序,如:初始化程序、显示子程序、操作ADC0809子程序独立按键控制子程序等;2.通过单片机内部定时器T0精确定时2S(不能使用T1定时器,因为P

12、3.5口已做控制口使用),并当定时到时,设置一个标志位自加一次,当自加到为8时清零,该标志位即为通道;3.最后在主程序中判断该标志位即通道,当为“0”通道时,开通ADC0809的“0”输入,当为“1”通道时,开通ADC0809的“1”输入,依次类推。4.调试及性能分析4.1 调试步骤 1.在全组的努力下做好硬件的连接,待确认无误后,即可编写程序进行调试; 2.部分调试 首先可将其硬件电路分成几个模块进行调试:(1) 控制电路的调试,即单片机最小的系统的调试。如果在示波器的条件下,可待电路通电后,直接测其30引脚ALE是否有方波产生,且其频率是否为2MHZ(因为该电路所用晶振频率为12MHZ);

13、若在无示波器的条件下,我们可写一个非常简单的程序,比如将P1口全置为低电平,带通电后用万用表检测是否与理论中一致。(2) 显示电路的调试。首先应准确判断好数码管的位选、段选,可借助于上网搜查的方法,也可采用提供电压自己检测,然后,借助于软件看是否能使数码管达到完全控制。(3) A/D转换电路的调试。在硬件电路确认完全无误的情况下,借助于软件编程实现对A/D芯片的控制,可先定义一个通道,看是否能精确地读取电压。(4) 单路/循环以及通道选择电路的调试。可先写一个简单的程序看独立按键电路是否能实现完全控制。2.整机联调 待各部分硬件电路以及软件电路都能实现独立工作时,可进行整机联调。4.2 结果测

14、试 带整机联调确认硬件电路和程序都无误后,可进行端口电压的对比测试。测试对比表如下所示。 简易数字万用表与“标准”数字电压表对比测试表标准电压值/V0.000.100.301.602.403.704.104.80电压表测得值/V0.000.000.311.672.433.674.034.72绝对误差/V0.00-0.10-0.01+0.07+0.03-0.03-0.07-0.084.3 性能分析 由于采用供电电源的精度只能达到0.1V,故使用该数字电压表测得的数据只能精确到0.1V,并不能达到理论上的0.02V。而通过上述对比测试表可看出,所有的误差都在允许的范围内,因此,该数字电压表在理论上

15、以及一般的应用场合可完全满足要求,综上,设计成功。5.系统的电路原理图6.电子元器件清单数字电压表电子元器件清单序号器件名称型号、规格单位数量单价1单片机AT89S52片1132IC座40脚片20.43芯片ADC0809片184IC座28脚片10.35芯片74LS244片126IC座20脚片10.27芯片14024片12.58IC座14脚片10.294联体数码管共阳个1410晶振12M个1111电容30pf个20.112电解电容10uf个10.213按键个20.214电阻10K个20.0515电阻510个80.0516电阻8.2K个10.0517电阻4,.7K个40.0518三极管9012个4

16、0.119插针个100.0520导线0.4米60.521焊锡米50.822标签纸片10.0123帽钉个40.124万能印刷电路板中号快1207.附录A:源程序清单#include#include#define uint unsigned int#define uchar unsigned charsbit wei1=P33;sbit wei2=P32;sbit wei3=P31;sbit wei4=P30;sbit s1=P35;sbit s2=P36;sbit eoc=P37;sbit oe=P25;sbit start=P24;sbit ale=P23;sbit cc=P22;sbit b

17、b=P21;sbit aa=P20;uint count=0,num,ch,flag,bai,shi,ge,t;uchar temp;uchar code table10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;uchar code table_d10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;void display();void delay(uint del) uint x,y; for(x=0;xdel;x+) for(y=0;y50;y+);void delay1(ui

18、nt m) uint i; for(i=0;i=m;i+) display(); void init() TMOD=0x01; TH0=0x4c; TL0=0x00; EA=1; ET0=1; TR0=1; P3=0xff; P0=0xff; P2=0x00;void time0() interrupt 1 TH0=0x4c; TL0=0x00; count+; if(count=40) count=0; ch+; if(ch=8) ch=0; void ad0809() ale=1; _nop_();_nop_(); ale=0; start=1; _nop_();_nop_(); star

19、t=0; _nop_();_nop_();_nop_();_nop_(); while(eoc=0); oe=1; temp=P0;void display() num=temp; bai=num/51; t=num%51; t=t*10; shi=t/51; t=shi%51; t=t*10; ge=t/51; P1=0xff; wei4=1; wei1=0; P1=tablech%10; delay(1); P1=0xff; wei1=1; wei2=0; P1=table_dbai; delay(1); P1=0xff; wei2=1; wei3=0; P1=tableshi; dela

20、y(1); P1=0xff; wei3=1; wei4=0; P1=tablege; delay(1);void keyscan() if(s1=0)|(s2=0) delay1(5); if(flag=0)|(flag=2) if(s1=0) flag+; while(!s1) display(); if(flag=2) if(s2=0) ch+; if(ch=8) ch=0; while(!s2) display(); void main() init(); while(1) keyscan(); switch(ch) case 0:cc=0;bb=0;aa=0;break; case 1

21、:cc=0;bb=0;aa=1;break; case 2:cc=0;bb=1;aa=0;break; case 3:cc=0;bb=1;aa=1;break; case 4:cc=4;bb=0;aa=0;break; case 5:cc=1;bb=0;aa=1;break; case 6:cc=1;bb=1;aa=0;break; case 7:cc=1;bb=1;aa=1;break; ad0809(); display(); if(flag=3) TH0=0x4c; TL0=0x00; count=0; TR0=1; flag=0; ch=0; if(flag=1) TR0=0; ch=

22、0; flag=2; 8.附录B:实物照片9.参考资料1新编MCS-51单片机应用设计张毅刚编著哈尔滨哈尔滨工业大学出版社2008.32电子技术基础 模拟部分康华光主编北京高等教育出版社2006.13电子技术基础 数字部分 康华光主编 北京 高等教育出版社 2006.14PROTEL DXP电路设计与实例精解黎文模,段晓峰编著北京人民邮电出版社20065 李科杰 新编传感器技术手册M 北京 国防工业出版社,19956 PROTEL DXP电子电路设计精彩范例林庭双等编著北京机械工业出版社2005.67 微型计算机原理及应用 郑学坚,周斌编著 北京 清华大学出版社20018 电路 邱关源编著 北

23、京 高等教育出版社 199910.收获光阴似箭,日月如梭,通过指导老师的辛勤指导以及我们组全体成员的努力,我们终于完成了单片机课程设计,即对简易数字电压表的制作。由于刚开始,我们已对指导资料进行分析、讨论后,故对该设计已有了一个初步的了解,所以当我们组开始分工制作时,并没有较大的难度,但是,也遇到了不少的问题,通过我们全体成员的调试后,也一一解决了,从而感觉收获甚大,主要有以下几点:1. 硬件电路的连接与调试时要细心,应遵从先部分调试,后整机联调的原则。比如,首先我们只连接了该设计电路中的显示部分和控制部分,然后给其上电压,并借助于简单的程序进行调试,刚开始并未出现理想中的效果,待再分部分调试

24、,最后判断是其控制电路未工作,在我们组全体成员的努力下,终于找到了问题的所在,是由于单片机晶振电路连接错误。因此,只有细心调试才能发现问题,只有通过理论判断,才能找准问题所在,最终才能解决问题。2. 程序的编写与调试时一定要先弄清楚设计的功能要求,并且,应先写好主程序,待主程序工作无误后,可分别写出其子程序,使其能完成独立工作,再联合在一起。比如,在该设计中通过对显示电路、采样转换电路、通道选择电路程序的编写使我对单片机的应用又有了更深的理解,另外,通过对ADC0809芯片的操作,使首次接触采用单片机控制A/D、D/A芯片的我增长了见识,拓宽了视野,很有收获。3. 待一个设计完成后一定要检验其稳定性,测量其精确性。比如,为了当未接入输入电压时,避免8通道的悬空对显示产生不稳定的波动,我们通过不断调试验证后使用8个10K的电阻接地将8通道拉低,即当无电压输入时,显示为0输入,而当有输入电压时,则电阻将其短路,不流入地,使该设计更稳定、精确,从而为我们以后的设计奠下了坚实的理论基础。4. 团结就是力量,理论源自于实践。通过我们组全体成员的努力,我们终于圆满完成了此次设计,并且深深地感受到了实践的重要性。 最后,感谢上级领导对我们的辛勤培育,为我们提供了良好的学习环境,以及指导老师的辛勤指导和全体组员的努力。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1