《单片机系统设计》实验报告(DOC)_第1页
《单片机系统设计》实验报告(DOC)_第2页
《单片机系统设计》实验报告(DOC)_第3页
《单片机系统设计》实验报告(DOC)_第4页
《单片机系统设计》实验报告(DOC)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、短学期实验报告(单片机系统设计)题目专业:指导教师:学生姓名:学号:完成时间:成绩: 基于单片机的交流电压表设计目录TOC o 1-5 h z1系统的设计要求22系统的硬件要求2 HYPERLINK l bookmark14 o Current Document 真有效值转换电路的分析2 HYPERLINK l bookmark16 o Current Document 放大电路的设计3 HYPERLINK l bookmark18 o Current Document A/D转换电路的设计3单片机电路的分析4 HYPERLINK l bookmark24 o Current Document

2、 显示电路4 HYPERLINK l bookmark26 o Current Document 3软件设计5 HYPERLINK l bookmark28 o Current Document 3.1软件的总流程图53.2初始化定义与定时器初始化流程图5A/D转换流程图6 HYPERLINK l bookmark44 o Current Document 数据处理流程图6 HYPERLINK l bookmark46 o Current Document 3.5数据显示流程图7 HYPERLINK l bookmark48 o Current Document 4调试7 HYPERLINK

3、l bookmark50 o Current Document 调试准备7 HYPERLINK l bookmark52 o Current Document 关键点调试74.3测试结果8 HYPERLINK l bookmark56 o Current Document 误差分析8 HYPERLINK l bookmark58 o Current Document 5结束语8 HYPERLINK l bookmark60 o Current Document 5.1总结9 HYPERLINK l bookmark62 o Current Document 5.2展望9 HYPERLINK l

4、 bookmark66 o Current Document 附录1总原理图10附录2程序10附录3实物图14基于单片机的交流电压表设计*学院*专业姓名扌旨导老师:*1设计要求运用单片机实现真有效值的检测和显示。数据采集使用中断方式,显示内容为有效值与峰值交替进行。2硬件设计本系统是完成一个真有效值的测量和显示,利用AD737将交流电转换成交流电压的有效值,用ADC0804实现模数转换,再通过单片机用数码管来显示。系统原理框图如图2-1所示。系统框图由真有效值转换电路、放大电路、A/D转换电路、单片机电路、数码管显示电路五部分。交流_Z转换放大信号戶电路0电路A/D匚二转换单片机匚二电路显示匚

5、二电路图2-1原理框图2.1真有效值转换电路真有效值转换电路主要是利用AD737芯片来实现真有效值直流变换的,即将输入的交流信号转换成直流信号的有效值,其原理图如图2-2所示。-VS图2-2真有效值转换电路由于AD737最大输入电压为200mV,所以需要接两个二极管来限制输入电压,起到限幅的作用。如图中D1、D2,由IN4148构成,电容C6是耦合电容,电阻R1是限流电阻。2.2放大电路设计放大电路主要是利用运放uA741来进行放大,电路原理图如图2-3所示。由于AD737可接受的信号有效值为0200mV。而ADC0804、单片机的电源电压都需要05V,因此需要一个放大电路,将AD737输出的

6、200mV的电压提升至5V,所以放大电路的放大倍数最低需要25倍。该放大电路采用集成芯片uA741,连接成一个同相比例运放,输入电阻采用3.3K,反馈电阻用100K的滑动变阻器,当滑动变阻器处于最大值时,放大倍数处于最大,为AV=(1+R3/R2)31.3。放大倍数可以根据滑动变阻器的滑动而改变。2.3A/D转换电路A/D转换电路采用ADC0804实现,其原理图如图2-4所示。图2-4A/D转换电路原理图此电路考虑到做单片机系统时,需数据采集,而数据采集能通过I/O口扩展接口电路得到,但51单片机大多不带A/D转换器,所以模拟量的采集必须靠A/D实现。所谓A/D转换就是将输入的模拟信号转换成数

7、字信号输出。改该电路采用ADC0804芯片,其最快转换时间为lOOus,时钟频率f=l/(C5*R9),可对05V之间的电压进行转换;输入基准电压为实际基准电压的1/2;若输入基准电压为2.56V,其输入模拟电压为(DATA/256)*2DATA为转换数字量。转换结束信号输出到单片机外中断1,如图2-4所示。/RD为外部读取转换结果的控制输出信号。/RD为HI时,DBODB7为高阻抗;/RD为LO时,数据才输出。/WR用来启动转换控制输入,相当于ADC转换开始(/CS=O时),当/WR由HI变为LO时,转换器被清除;当/WR为HI时开始转换。CLKIN,CLKR:接振荡电路,振荡频率为1/(1

8、.1RC),如图中R9、C6,ADC0804的最大输入电压为5V,输出转换值为0255,R5、R11组成分压电路,为VRe提供基准电压。根据ADC0804原理图,将输入模拟值转换成数字值后由P0口输出。2.4单片机电路单片机电路主要是单片机的最小系统,其原理图如图2-5所示。89S51llY1C450pF12M1.*丄30pFKRST*3C3c/.RST,iiL1OLR2CIFICkK图2-5单片机电路原理图该部分电路主要由89S51、晶振和复位电路组成其原理图如2-6所示。采用12M的晶振,机器周期为O.lus;上电复位;信号输入到外中断0,在中断中启动AD转换;AD转换结束标志作为外中断1

9、的中断源,在中断1中读取数据并保存;P1口为数码管提供断码;P0.0P0.7分别为AD的启动信号、AD的读取信号和数码管的扫描信号。2.5显示电路显示电路采用数码管来显示。如图2-6所示。SC1EmgOi5mgl2winger5mg/aEfflgOl51TLgl25tIlgZ3Emgtrsmg/aS2S03smgOiZAEmg12har_JhEmgJ-4.i1Emg45i1:Emg&7Ems/3LpSSLA_CS3loSU_CS2+3图2-6显示电路原理图该部分电路米用3位数码管来交替显示所测电压的有效值和峰值,同时数码管米用动态显示,每1ms刷新一位,用3个8550的PNP型三极管来片选。图

10、中smgOsmg7与单片机P0口相连接,三极管的集电极分别与共阳数码管9脚相连接,基极分别与单片机的P2.1P2.3相连接。3软件设计3.1总软件流程总软件流程图如图3-1所示:图3-1总软件流程图3.2初始化程序初始化程序主要是定义主程序中要用的变量和定时器的初始化。变量定义如下:unchardat;/AD采样数据变量unchartab3;显示数据各个位存储数组定时器初始化流程图如图3-2所示:-A置TOMD选择定时器方式定时器初值设-A定时器o有效开定时器-A开总中断图3-2定时器初始化流程图3.3AD采样程序AD采样主要是根据ADC0804的时序进行对外部数据的采用读取。其中包括AD初始

11、化时序和AD数据读取程序。AD时序图3-3所示:图3-3AD时序图根据3-3图所示时序,写出AD程序流程图,如图3-4所示图3-4AD程序流程图3.4数据处理程序对AD采样的数据必须进行处理才能正常地显示。首先的要把十六进制数的AD值转换成十进制数,然后进行值处理,求出有效值,峰值,接着分别求出数据中的各个位上的数字,以便显示。其程序流程图如图3-7所示。图3-7数据处理程序流程图3.5数据显示程序数据显示主要是用数码管动态扫描的方法。其程序流程图如土3-8所示图3-8数据显示程序流程图4调试4.1调试准备调试所用到的仪器有万用表、直流稳压电源、示波器、信号发生器。运用万用表来测量电阻、电压,

12、直流稳压电源接正负Vs和地,信号发生器产生信号,示波器显示输出波形和峰值。4.2关键点调试(1)、放大电路调试前要先进行调零,即将运放的2个输入端(同相输入端和反向输入端)对地短路,用万用表测输出电压,调节滑动变阻器R1,使输出电压为0,如果不进行调零,则会导致输出电压有偏差。、注意输入A/D的基准电压为l/2vef,同时最合适的基准电压为2.56V,以便计算时方便。4.2.1放大波形(1)、理论波形inlinecLevel卜Fo书ChannelD(2)、实际波形4.2.2显示电路4.3测试结果输入Vpp输入信号有效值测量值(有效值)1.040.3030.3031.0621.0541.4131

13、.40nx4.681.631.66tA1.20.5200.5242.301.141.162.811.361.35iv42.092.121.040.280.27h口20.5630.560zr2.520.770.56i4.681.331.354.4误差分析(1)放大电路的放大倍数会因输入电阻,反馈电阻与理论值有偏差而存在一定的误差,放大倍数过大会波形互失真;(2)当ADC0804的基准电压为2.56V时,其最小分辨率为20mv,因此测量值会有土20mv的偏差;(3)输入信号存在干扰和波动;(4)偏置电压引起的误差。5结束语5.1总结通过本次短学期的实验,使我对很多芯片有了一定的了解和巩固,对它们的

14、功能有了一定的熟悉和掌握。如AD737,该芯片可以用来将交流电转换成真有效值的直流电,如ADC0804芯片可实现数模转换,同时对真有效值的转换、放大等电路的设计有了进一步的理解和掌握。在电路设计中必须注意电路中各元件值的选择会影响电路最终的结果。当在设计放大电路时,输入电阻、反馈电阻的不同就会使放大倍数有所不同,根据题目要求和芯片的资料,必须保证最低放大倍数25,因此如放大倍数太小则不能满足要求,而太大则会导致输出波形的失真。因此,要合理选择各元件的值。在电路调试时,应该分模块进行调试,及时发现问题解决问题,等所有模块都调试成功再进行总体的调试。最后要根据自己所测的结果,进行分析,尤其对测试出

15、的结果与理论结果进行比较,是否有误差,并分析形成误差的原因,如何减少误差。5.2展望虽然该电路已经基本能实现对真有效值的测量和显示,但测量结果还存在着较大的误差,电路设计还有待于进一步的完善,各部分电路的稳定性也有待于进一步的提高,希望通过更进一步的研究和学习,实现用更少的元件,设计出更加合理、更高效的电路。附录:1总原理图2皿a远二3anr5a:ELOK-丄iH-!V-C1X1CJ-KMVM-TN-AGKDV=F2WJtDGKDKIR.J(S3二“134DJ3DEL=c.a104CjsCCMdPtvs.OUT-ViCAVLaDSCI-5s3L32i2=J込LiDE-ESQLHBL2D323D

16、334DB45X.D35L.jM.4M.jPL.TK.iTt-Ti的-玖aPJ.lTDPJJKTdPJ.J.KTLK.7M*P3.J.TLP2.JK.4的vTTih7:CTaU!KJXTaILMLGKD牝7S2程序清单主程序模块#include#include#includeadc0804.h#includesmgdis.h#defineuncharunsignedchar#defineunintunsignedintuncharcount=0;uncharID=O;/任务ID,时间片分配ID#definea0.5staticunchary;statictime_init()TM0D=0 x0

17、1;/*定时器TO方式1(16位计数器)*/*公式为:x=65536-fosc/12*t65536-50000=15536其中x为定时初值,fosc为晶振频率,t为定时时间*/TH0=15536/256;/*定时器高位*/TL0=15536%256;/*定时器低位,定时时间为50ms,20次为1s*/ET0=1;/*允许定时器T0中断*/TR0=1;/*开定时器T0*/EA=1;/*开总中断*/voidmain()unchardat;unchartab3;time_init();while(1)dat二get_adc_value();value_done(dat,tab,ID);led_dis

18、play(tab0,tab1,tab2);voidtimer0()interrupt1TR0=0;TH0=15536/256;TL0=15536%256;/*重装初值*/count+;/*计数,累加中断次数*/if(count=20)/*判断是否到10次,卩0.5s*/count=0;ID+;/*转换下一个显示*/if(ID=3)ID=0;TRO=1;A/D转换模块:(头文件)#ifndef_ADC0804_H_#define_ADC0804_H_#ifndefunchar#defineuncharunsignedchar#endif#ifndefunint#defineunintunsign

19、edint#endif#defineadc_databusPl/thedatabusofADCsbitcs_adc=P2A0;sbitwr=P3A6;sbitrd=P3A7;/tochoosethechipADC0804wr#signal/rd#signalvoidvalue_done(uninttvdata,uncharled,uncharID)uninttemp;temp=(unint)(tvdata*1.0/255*500);temp=(unint)(tvdata*2);switch(ID)case0:有效值break;case1:峰值temp*=sqrt(2);break;defaul

20、t:其他情况break;led0=(temp/100)%10;最高位led1=(temp/10)%10;led2=temp%10;最低位if(led010llled0v0)led0=11;if(led110llled1v0)led0=11;if(led210llled2v0)led0=11;uncharget_adc_value(void)unchark;uninttvdata;/adc0804start/cs_adc=O;k=k;/nopwr=0;k=k;wr=l;k=k;cs_adc=1;k=k;k=k;k=k;/readvalueofadc0804/adc_databus=Oxff;cs_adc=0;k=k;rd=0;k=k;tvdata=adc_databus;rd=1;k=k;cs_adc=1

温馨提示

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

评论

0/150

提交评论