您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 测控电路大作业(Proteus-ADC0809)
测控电路大作业说明书专业:学号:姓名:设计要求:利用传感器输出电压(0~5mv),放大电路,滤波电路,ADC电路,单片机,LED显示压力值(电压值)课题的具体要求如下:1、方案总体设计与论证2、系统硬件电路设计:简易数字电压表测量电路由A/D转换、数据处理及显示控制等组成,A/D转换由集成电路0808完成,显示采用四位数码管3、系统流程图设计,汇编程序编写:包括初始化程序、主程序、显示子程序、模/数转换测量子程序等4、调试及性能分析:采用KELL编译器进行源程序编译及仿真测试,同时进行硬件电路的设计制作,在Proteus软件里进行硬件仿真,最后进行端口电压的对比测试设计思路根据设计要求,选择AT89C52单片机作为核心控制器件。A/D转换采用ADC0808实现。与单片机的接口为P0和P3端口。电压显示采用4位一体的LED数码管LED数码管的段码输入,由并行端口P1产生;位码输入,由并行端口P2低四位产生5'ADC0809对模拟量输入信号进行转换,通过判断EOC(P3.1引脚)来确定转换是否完成,若EOC为0,则继续等待;若EOC为1,则把OE置位,将转换完成的数据存储到P1中电路图:程序如下:#includereg52.hunsignedcharcodedispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedchardispbuf[4];unsignedinti;unsignedintj;unsignedchargetdata;unsignedinttemp;unsignedinttemp1;unsignedcharcount;unsignedchard;sbitST=P3^0;sbitOE=P3^1;sbitEOC=P3^2;sbitCLK=P3^3;sbitP34=P3^4;sbitP35=P3^5;sbitP36=P3^6;sbitP20=P2^0;sbitP21=P2^1;sbitP22=P2^2;sbitP23=P2^3;sbitP17=P1^7;voidTimeInitial();voidDelay(unsignedinti);voidTimeInitial(){TMOD=0x10;TH1=(65536-200)/256;TL1=(65536-200)%256;EA=1;ET1=1;TR1=1;}voidDelay(unsignedinti){unsignedintj;for(;i0;i--)for(j=0;j125;j++);}voidDisplay(){P1=dispbitcode[dispbuf[3]];P20=0;P21=1;P22=1;P23=1;Delay(10);P1=0x00;P1=dispbitcode[dispbuf[2]];P17=1;P20=1;P21=0;P22=1;P23=1;Delay(10);P1=0x00;P1=dispbitcode[dispbuf[1]];P20=1;P21=1;P22=0;P23=1;Delay(10);P1=0x00;P1=dispbitcode[dispbuf[0]];P20=1;P21=1;P22=1;P23=0;Delay(10);P1=0x00;}voidmain(){TimeInitial();while(1){P34=0;P35=0;P36=0;ST=0;while(EOC==1);//查询转换结束{OE=1;getdata=P0;OE=0;temp=getdata*1.0/255*500;dispbuf[0]=temp%10;dispbuf[1]=temp/10%10;dispbuf[2]=temp/100%10;dispbuf[3]=temp/1000;Display();ST=0;OE=0;ST=1;}}}voidt1(void)interrupt3using0{TH1=(65536-200)/256;TL1=(65536-200)%256;CLK=~CLK;}6系统仿真及调试首先采用KeiluVision3编译器进行源程序编译及仿真调试,调试好程序后将目标文件导入Proteus进行软件调试。调试的主要任务是排查错误,错误主要包括逻辑错误和功能错误,这些错误有些事显性的,而有些事隐形的。可以通过仿真开发系统来发现并逐步改正。在ProteusISIS编辑窗口中单击开始仿真按钮,4位LED数码管显示相应的电压值。当开始调试,滑动变阻器RV1的阻值调至最小位置时,LED显示0.000,正确显示数值;把RV1调至中间位置时,LED显示2.476,同样正确读出数据;当把RV1阻值调至最大位置时,LED显示4.972,正确读出数据。证明该简易数字电压表合格。感想:这是由程老师任教的《测控电路》课程的大作业,我的设计题目——简易数字电压表。经过一个星期的努力,我们基本上按要求完成了该次任务。在设计过程中,我们以实现系统的电路简单,功能完善,使用快捷为目的进行设计。但是由于一些方面条件的限制,所设计的方案仍然存在一些不足(题目中要求使用ADC0809转换器在Proteus里面不能进行仿真,我们最后选择了ADC0808型转换器)),亟待改进。因为第一次接触单片机类的设计,在设计过程中叶出现了一些问题,之前自己学习的专业知识掌握的不够好,对电路的理解不是很透彻,设计的电路布局布线不是非常合理,理论联系实际的能力还有待加强。由于ADC0809在Proteus里面不能进行仿真,在转换器的选用时因为不熟悉元件我们走了很多弯路,耽误了整个设计的进程。还有其他一些方面的不足,都有待在以后的学习设计中进行改进。通过实践,我对C语言和单片机有了更进一步的认识和理解,并且学会了Proteus和Keil软件的基本使用,掌握了从器件的需求、功能模块的划分、原理图的设计和绘制、电路图仿真、程序设计及其仿真调试的流程,积累了硬件设计的经验。在此还要衷心感谢各位老师的指导及同学和组员给予的帮助,我会继续努力!
本文标题:测控电路大作业(Proteus-ADC0809)
链接地址:https://www.777doc.com/doc-6054733 .html