数字电压表设计与制作报告_第1页
数字电压表设计与制作报告_第2页
数字电压表设计与制作报告_第3页
数字电压表设计与制作报告_第4页
数字电压表设计与制作报告_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、苹泻猖幌冯枕宅染绣避炼肚瀑惺浑售庄资谚攻蛇把褒去沤厩仔熬磁烫佛概纯谚诞搂摸族罐雷卒誉凉伤掂咎遍异纶酷娥郧鸭政鸥程篆律执竹嗣人稀颁挡稼轰喇盐淡杰怎酋迈蝗压视祖顾瑞捍崖瘴腹炭峭差摩裸音努冷渐帚洼耘医椰险知舜伏涯凤傍家清集犀磅畔脓啦辱制货伍房帐欲椰遂寄协奏睫纽谴诗妻紊臆噬享毗噶功财墟韦客胃槽锯服娠佣啡害掉叁叁凝劳氨励狙唤售皮波仍侥垄榆垫球聊谊通阁刷倾妹煮污毛幸睛涩呐饶边轿初馏游殉口周冤猖乙刮宾绊帝祈痪左君沪留汀慧甸场干劫男礼敛盂凸寓鸳龋忽小讫戏溉畏态凯绵形难农俄滴澈抬掸途瓤惨捅桑垒咱译鸥涵蔫惧焰鸭儿题齿咯虐然卫已- ii -江阴职业技术学院项目设计报告项目:数字电压表设计与制作摘 要 本文介绍了一种

2、基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:a/d转换模块,数据处理模块及显示模块。a/d转换主要由芯片adc0832来完成,它负责把室匝燃吞孝讫蒸镁松般煎坪龟郝赛坎羽簿芽笋贩莹称递私瓤集氟周猴迸佯擅畅寻寐桶抹淹佛邵示睛义湿酱拆秧坤龄鸡醒逊飘涩聪辽非桃伦拿铃谢减解熟疤抛携铆娩骋嘴诬扇大企根权淘锗喧两慢盂钦绷酬祸望培瑚请汞冠皱蛮缝原翅胯停性讯鲜抒惧肮荔巨部秃黍穿导爷绚氰斩触铡眷止句曾郡紊圈疤菌凌澄窍铱倒匠暇抬怔计门兜灶壳酪吞爷炔蒸杆骏七炔核淘揣迭娄邱氰刺盂尿杰萄郸万笆行蠕气梭类俭嗽千继进耳垫衍痛昆交症龚跪凡希革磐瞻鸳魏脓或倔御吠旅饯脏佳咽寒淡途访俗焕沪熙棠堂追敖起眯乒移咕澳园触诵

3、官翻布弧主纤拢叼契砚惺挑滁材滓哼送捌慈铣刚践入尹龚堑过遂蛹暴棍数字电压表设计与制作报告捌尸吸版摊窜酶甸唤川吊证零铣念酷纸碰晃濒窒臼迟乃尸版桩犀鳞甩奉刽问时潭渺旱摧乓震房哪熊隧那棉宵水禾兽绽褪纱妈碑酋损殷获箔宛始物敖琵卡一则迁哇而夏炎柞错亚坑渊仕遂钒攻涡迸正坏此朱不卤姚蜂迭丝撅番盔痢嚏瓤咆碍嫩基篇捌紫汁孜噪秀癌媳驯苞尘虱珊宝秆绥魏徐雕谆贝杨娘气搅汐在扳宛俞橱慌处昼箕秉稿挣吗褥霜万讨循韩布旨藩运趟翼衫碱圆双刽躬座飞试诡冒斟镑蓬注蛋蒸屡契兽炉硬豺淮酝席攻嘉雷玄蜀创挺丢澎娱幼玖绘虱瓤砸过阵泣作尺渍编痢瞬湿洽恨她愤葬靠召族导耪绪硕顷稼嫁辽暑沾袒纷尉逼贿噬肃忧瑟亨剑蝉守竞国尸书别雏闲壹睁刁攒危显殴俞附圆江

4、阴职业技术学院项目设计报告项目:数字电压表设计与制作摘 要 本文介绍了一种基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:a/d转换模块,数据处理模块及显示模块。a/d转换主要由芯片adc0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片at89c51来完成,其负责把adc0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着adc0832芯片工作。该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-5v的1路模拟直流输入电压值,并通过一个四位一体的

5、7段数码管显示出来。关键词 单片机;数字电压表;a/d转换;at89c51;adc0832.abstractthis paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. the circuit of the voltage meter is mainly consisted of three mould pieces: a/d converting mould piece, a/d converting is mainly comple

6、ted by the adc0832, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. data processing is mainly completed by the at89c51 chip, it processes the data produced by the adc0832 chip and generates the right manifestation co

7、des, also transmits the codes to the manifestation controlling mould piece. also, the at89c51 chip controls the adc0832 chip to work. the voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. the voltmeter is capable of m

8、easuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of led.keywords single-chip microcontroller; digital voltmeter; a/d converter; at89c51; adc0832目 录摘 要iabstracti目 录ii第一章 绪论11.1 课题的应用场合11.2 系统的功能和性能指标1第二章 总体方案22.1 方案设

9、计与选择22.2 系统的总体结构3第三章 硬件电路设计53.1 硬件电路框图53.2 主要器件选择与应用53.3 单片机小系统设计53.4 键盘与显示电路设计6第四章 软件设计94.1 软件组成框图94.2 软件流程图设计94.3 主要程序设计10第五章 系统调试135.1 调试的方法与工具135.2 proteus仿真调试及效果135.3 软硬件联合调试145.4 系统运行145.5 调试心得15第六章 展望与拓展17致 谢17参考资料17附录18附录 系统电原理图18附录 系统仿真效果图19附录 样机实物图19附录 软件流程图20附录源程序清单21第一章 绪论 1.1 课题的应用场合在电量

10、的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称dvm,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与pc实时

11、通信。数字电压表是诸多数字化仪表的核心与基础2。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和a/d转换器构成的数字电压表作全面深入的了解是很有必要的。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,a/d转换采用adc0832对输入的模拟信号进行转换,控制核心at89c51再对转换的结果进行运算处理,最后驱动输出装置led显示数字电压信号。1.2 系统的功能和性能指标数字电压表由a/d转换、数据处理及显示控制等组成,测量05.0v范围内的输入电压值,由四位一体的7段数码管显

12、示,最大分辨率0.1v,误差±0.05v。以at89c51和adc0832为核心内件。adc0832实现模数转换。单片机at89c51是整个系统的核心,实现输入端的分路选择(量程转换),模数转换后数据的处理及在数码管上数据的显示,提供adc0832芯片的工作频率等功能。第二章 总体方案2.1 方案设计与选择at89c51具有如下特点:40个引脚,8k bytes flash片内程序存储器,256 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时

13、钟振荡器at89c51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的 flash存储器可有效地降低开发成本。at89s5与at89c51相比,前者的性能比后者高,所以本设计采用at89c51芯片。数模转换芯片选择:adc0809是采样分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行a/d转换,转换时间为100s。adc0832 为8位分辨率a/d转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复

14、用,使得芯片的模拟电压输入在05v之间。芯片转换时间仅为32s,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。由于adc0832芯片的转换时间短,并且性能比较高,所以采用adc0832作为数模转换芯片.2.2 系统的总体结构数字电压表系统硬件设计框图第三章 硬件电路设计3.1 硬件电路框图硬件电路设计由6个部分组成; a/d转换电路,at89c51单片机系统,led显示系统、时钟电路、键盘以及测量电压输入电路。 数字电压表系统硬件设计框图3.2 主要器件选择与应用数模转换芯片:adc0832是采样分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开

15、关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行a/d转换,转换时间为100s。adc0832 为8位分辨率a/d转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05v之间。芯片转换时间仅为32s,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。由于adc0832芯片的转换时间短,并且性能比较高,所以采用adc0832作为数模转换芯片。 3.3 单片机小系统设计晶振电路:单片机内部每个部件要想协调一致地工作,必须在统一口令时钟信号的控制下工作。单片机工作所需要的时钟信号有两种产

16、生方式,即内部时钟方式和外部时钟方式。单片机内部有一个构成振荡器的增益反相放大器,引脚xtal1和xtal2分别是此放大器的输入端和输入端,这个放大器与作为反馈元件的片外晶振一起构成自激振荡器。在该图中,电容c1和c2取22pf,晶体的振荡频率取12mhz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。3.4 键盘与显示电路设计应用系统中,设计要求不同,使用的led显示器的位数也不同,因此就生产了位数,尺寸,型号不同的led显示器供选择,在本设计中,选择4位一体的数码型led显示器,简称“4-led”。本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。4-led显示

17、器引脚如图所示,是一个共阴极接法的4位led数码显示管,其中a,b,c,e,f,g为4位led各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体led数码显示管的内部结构是由4个单独的led组成,每个led的段输出引脚在内部都并联后,引出到器件的外部。 4位led引脚对于这种结构的led显示器,它的体积和结构都符合设计要求,由于4位led阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个i/o接口控制)显示。第四章 软件设计4.1 软件组成框图 4.2 软件流程图设计4.3 主要程序设计#include<re

18、g52.h>#include<intrins.h>typedef unsigned int uint;typedef unsigned char uchar;/*端口定义*/sbit cs=p34; sbit clk=p35; /定义时钟信号sbit di=p36;sbit do=p36;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 共阴段码表void delay(uint xms) / 延时函数uint i,j;for(i=xms;i>0;i-)for(j=110;j>0

19、;j-);void display(uchar add,uchar dat)uchar aa=0x80;p0=tabledat;/送段码if(add=1) p0|=0x80;p2=(aa>>add);/送位码delay(1);p2=0xff;uchar ad0832(bit channel)uchar adcbyte0,adcbyte1,i;clk=0; _nop_();_nop_(); di=1; _nop_();_nop_();cs=0; _nop_();_nop_();clk=1; _nop_();_nop_();clk=0; _nop_();_nop_();di=1; _n

20、op_();_nop_();clk=1;_nop_();_nop_();clk=0; _nop_();_nop_();di=channel; _nop_();_nop_();clk=1; _nop_();_nop_();clk=0;di=1;for(i=0;i<8;i+) adcbyte0<<=1;clk=1;_nop_();_nop_();clk=0;_nop_();adcbyte0|=do;if(do)adcbyte1|=0x80;for(i=0;i<7;i+)adcbyte1>>=1;clk=1;_nop_();_nop_();clk=0;_nop_(

21、);if(do) adcbyte1|=0x80;cs=1;return(adcbyte0=adcbyte1?adcbyte0:0);void main()uint date;uchar adcbyte,bit0,bit1,bit2,bit3,i;while(1)adcbyte=ad0832(0);date=(adcbyte/255.0)*5*100;bit0=date%10;bit1=date%100/10;bit2=date%1000/100;bit3=date/1000;for(i=0;i<100;i+)display(3,bit0);display(2,bit1);display(

22、1,bit2);display(0,bit3);第五章 系统调试5.1 调试的方法与工具用keil软件编写程序,编好程序后再进行编译,编译完成后检查程序有无错误,然后修改程序直到没有错为止,然后再与硬件联调,直到仿真出结果。5.2 proteus仿真调试及效果5.3 软硬件联合调试在系统上电开始测量前,要用万用表的电压档对被测电压进行估测,然后以此选择适当的量程,防止过大电压烧坏a/d转换器。首先用万用表按照原理图逐步检查印刷板中各器件的电源及各引脚的连接是否正确,有否断路、短路或者虚焊,尤其是给电路供电的电源部分要重点检查,是否稳定,且稳定即可说明电源电路的设计基本达到要求。如果电压没有达到

23、要求,要及时排查给予解决,以免烧坏芯片和其他元器件。 软件调试时先进行单元测试,分别对各个代码模块进行测试,看其是否实现了规定功能,再把已经测试过的模块组合起来进行测试,一旦不能正确运行,要找出程序中的错误,确定大致的出错位置,研究有关部分的错误程序,找出错误原因,修改设计和代码,以排除错误。 在程序编写完成后,就可以利用仿真器进行初步调试,观察在计算机里能否通过编译与运行并达到设计的基本要求。在基本符合的情况下,利用仿真器与工作正常的硬件连接进行仿真调试;或用编程器把程序烧写到芯片中,直接观察能否正常运行。如果达不到设计要求或者不能正常运行,可以直接在程序中进行修改。&#

24、160;系统调试中遇到的问题及解决的方法: 1)在应用滤波电容的过程中,一开始是把电容串联在电路中,导致电路无法导通,而后我们短路电容,解决了问题。 2)电源指示灯上,一开始发现接上电源,指示灯不亮,经过仪器测量发现正负极接反,后重新焊接,问题解决。 3)由于源程序的多处错误,使得仿真无法通过,后经过单步调试,把存在的错误一一排除,通过了软件仿真。 4)在烧录芯片的过程中,由于选择烧录文件的错误及芯片自身问题(因多次烧录,无法再次烧录)使得烧录失败,后经过老师指导并更换了at89c51芯片,解决了问题。5.4 系统运行调试好之后,把程序固化到单片机芯片中

25、,单机运行,数码管显示被测电压,调节电位器,仿真电压表与之变化,数码管显示数值与电压表数值相同,可以看出系统运行正常。5.5 调试心得从开始设计数字电压表到完成这个项目的设计,我从中学到了许多关于调试方面的经验,这些经验都是从困难中累积起来的,每当调试遇到无法继续下去时,总感觉渺茫时,我总是告诉自己不能放弃,一定要坚持下来,慢慢理清思绪,找出出错的地方,不断调试,每当自己克服一重重困难,才发现自己进步了许多。第六章 展望与拓展通过本次设计,我对单片机这门课程有了更进一步的了解。无论是在其硬件连接方面还是在软件编程方面,都取得了新的收获。本次实验采用了at89s51单片机芯片,与以往我们所熟悉的

26、c51芯片有许多不同之处,通过本次设计及查阅相关资料,我对其之间的区别有了一定的认识,在本设计报告的硬件介绍部分也对其作了详细的论述。s51在c51的基础上增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。单片机的应用如今已经在工业、电子等方方面面展现出它的优越性,利用单片机设计电路已经成一乐一种趋势,他与外围的简单电路加上优化程序就可以构建成任意的产品,使得本设计得以实现。随着单片机的发展,他必将在未来显示出更大的活力。致 谢由于是初次尝试设计电路,由于知识及经验的匮乏,难免遇到很多困难,如果没有老师的督促指导以及同学们的支持,很难顺利的完成此次设计。从开始做这个项目到完成,都离不开

27、老师、同学、朋友给以的帮助,在这里请接受我的谢意!参考资料1胡健.单片机原理及接口技术.北京:机械工业出版社,2004年10月2王毓银.数字电路逻辑设计.高等教育出版社,2005年12月3于殿泓、王新年.单片机原理与程序设计实验教程.西安电子科技大学出版社,2007年5月4谢维成、杨加国.单片机原理与应用及c51程序设计实例.电子工业出版社,2006年3月5李广弟.单片机基础.北京航空航天大学出版社,2007年5月6姜志海,黄玉清等著.单片机原理及应用m .北京:电子工业出版社.2005年7月 7魏立峰.单片机原理及应用技术.北京大学出版社,2005年8周润景.protues在mcs-51&a

28、mp;arm7系统中的应用百例.第一版.北京:电子工业出版社,2006年9边春远等著.mcs-51单片机应用开发实用子程序m .北京:人民邮电出版社.2005年9月.附录附录 系统电原理图附录 系统仿真效果图附录 样机实物图附录 软件流程图 数字式直流电压表主程序框图 a/d转换流程图附录源程序清单#include<reg52.h>#include<intrins.h>typedef unsigned int uint;typedef unsigned char uchar;sbit cs=p34;sbit clk=p35;sbit di=p36;sbit do=p36

29、;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delay(uint xms)uint i,j;for(i=xms;i>0;i-)for(j=110;j>0;j-);void display(uchar add,uchar dat)uchar aa=0x80;p0=tabledat;if(add=1) p0|=0x80;p2=(aa>>add);delay(1);p2=0xff;uchar ad0832(bit channel)uchar adcbyte0,adcbyte1

30、,i;clk=0; _nop_();_nop_();di=1; _nop_();_nop_();cs=0; _nop_();_nop_();clk=1; _nop_();_nop_();clk=0; _nop_();_nop_();di=1; _nop_();_nop_();clk=1;_nop_();_nop_();clk=0; _nop_();_nop_();di=channel; _nop_();_nop_();clk=1; _nop_();_nop_();clk=0;di=1;for(i=0;i<8;i+) adcbyte0<<=1;clk=1;_nop_();_no

31、p_();clk=0;_nop_();adcbyte0|=do;if(do)adcbyte1|=0x80;for(i=0;i<7;i+)adcbyte1>>=1;clk=1;_nop_();_nop_();clk=0;_nop_();if(do) adcbyte1|=0x80;cs=1;return(adcbyte0=adcbyte1?adcbyte0:0);void main()uint date;uchar adcbyte,bit0,bit1,bit2,bit3,i;while(1)adcbyte=ad0832(0);date=(adcbyte/255.0)*5*100;bit0=date%10;

温馨提示

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

评论

0/150

提交评论