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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

proteus课程设计基于单片机的数据采集Word文档下载推荐.docx

1、“Pick Devices”可以在弹出的对话框中填写需要的元器件名称,通过这种方式,就可以找到并放置相应的器件了。我们可以看到器件的一些基本信息,如管脚数目和PCB图形样式等。根据设计任务的要求,电路原理图主要应包含数据采集电路,AD(模数)转换电路,数据显示电路三个部分。下面分三个部分对原理图的绘制进行说明。(一)数据采集电路 根据任务的要求,该部分电路需要对八路数据进行采集,然后输出到下一级电路,在这里,用八个显示不同电压值的电压源来构成,其输出端对应连接到AD 转换电路的输入端即可。(二)AD(模数)转换电路 根据任务的要求,本部分电路需要把数据采集电路采集到的模拟电压量转换成数字电压量

2、,所以在这里选用一个ADC0808芯片作为AD转换电路,本部分电路需把转换之后的数字量输出到数据显示电路即可。ADC0808是一个有8路输入的AD转换器,可以根据需要来选择使用的输入通道个数,用ABC三个端口可以控制通道的选择,这里因为需要对八路数据进行采集转换,所以,这里需要使用ADC0808所有的输入通道,通道0到7分别和电压源0到7进行连接。转换启动信号START 和地址所存信号ALE都是用51单片机的P2.7和P3.6口通过与非门后的输出来控制,允许输出信号OE由P2.7口和P3.7口通过与非门后的输出控制,通道选择端控制端ABC分别用单片机的P0.0,P0.1和P0.2三个端口来控制

3、。转换结果输出端(OUT0到OUT7)通过总线分别与51单片机的P0.7到P0.0口连接。具体连接方式如图1所示:图1 AD转换电路的连接方式(三)数据显示电路 本部分电路主要由AT89C51单片机和一个四位一体的共阴极的数码管以及电阻构成。其中,前三个数码管用来显示采集到的电压值,后一个数码管用来显示采集数据来自哪路通道。51单片机的P3.0,P3.1,P3.2,P3.3口分别用来控制数码管的开启和关闭,P2.0到P0.6以及P3.5分别与数码管的各段连接。具体链接方式如图2所示:图2 数据显示电路三流程图绘制以及说明(一)主程序流程图如图3所示:说明:程序开始执行后,首先启动ADC0808

4、,执行AD转换,接着判断转换是否结束,如果转换没有结束,则程序原地等待,如果转换结束,ADC0808允许转换后数据输出,同时将输出数据暂存起来,此时关闭输出;同时,由单片机将接收到得数字量转换成BCD码,再调用BCD码显示子程序来显示转换后的BCD码,到此,程序结束。这样,主程序就完成了一次模拟量采集,AD转换,BCD码转换,并最终显示的过程。图3 主程序流程图(二)显示子程序流程图如图4所示:子程序开始后,通过查表法来获取数码管要显示的数据并且暂存,接下来选通某位数码管,来显示数据,然后调用延时子程序,延时结束后关闭该位数码管,各位数码管的显示都是这样的流程,当需要显示的数据都显示完毕后,返

5、回主程序。图4 显示子程序流程图(三)延时子程序如图5所示: 说明:首先是初始化,即赋初值。接着判断循环是否结束,如果未结束,则继续执行,如果进行第二层循环,同样,循环未结束则继续执行,如果结束,则返回。 图6 延时子程序流程图四Proteus仿真说明图7 单片机导入程序的对话框按照要求连接好电路原理图之后,此时的电路并不能完成数据采集并且显示的功能,这是因为此时的单片机还没有导入能够使其工作的程序,所以此时的电路还不能完成任何工作,需要导入相应的程序才可以。这时候,就用到了另一种软件KEIL,我们需要把按照要求编写好的汇编程序在KEIL中编译,在编译没有错误之后,便会生成一个后缀名为.hex

6、的文件,这个文件就是单片机需要导入的文件。在完成源程序的正确编译之后,进入proteus仿真环境中,打开已经连接好的电路原理图,打开单片机导入文件的对话框,找到指定的后缀名为.hex文件,单片机导入程序之后便可以工作了。单击运行按钮就可以实现相应的功能。导入文件的对话框如图7所示,运行结果示例图如图8所示:图8 运行示例图改变电压源的输出电压,实现采集数据的变化,采集数据即电压值由ADC0808的八个通道输入,实现模拟量到数字量的转换,再由单片机实现数字量到BCD码的转换,最后由单片机控制数码管输出,这样整个数据采集到显示的过程就实现了。图中,数码管显示的数据即为数据采集后变换为BCD码的输出

7、,其中,前三位现实的是AD转换后的数据,最后一位现显示的是该时刻转换的通道号,其前面的小数点使用以区分数据输出是数字电压量还是通道号的。五体会及合理化建议为期一周的电子设计应用软件训练结束了,在这一周的时间当中,我学到了很多东西。首先我学会了proteus仿真软件极其辅助软件keil的使用方法,从开始对软件的一无所知,到渐渐地熟悉,在这个过程中对于软件的应用逐步熟练,对于各部分的功能也逐步地了解了一些, proteus可以用于单片机及外围电路的仿真,其功能是比较强大的,在用单片机设计相应功能电路的时候起到非常重要的作用,而且软件的使用也比较容易掌握。其次,由于刚刚结束单片机课程的学习,所以通过

8、这次实训,我对于单片机知识的了解又更加深刻了,对于单片机的应用领域也有了更进一步的了解,我了解到单片机的应用领域是非常广泛的,从非常简单的小规模电路到比较复杂的大型电路,有很多方面都会用到单片机。这让我对于单片机学习的兴趣又浓厚了许多。虽然对于该软件的使用还显得稚嫩,但对于我以后的工作或者学习都会有很大的帮助。同时,我希望老师可以多给同学们一些这样的实训机会,让同学们更多的接触这些电子设计应用软件,我觉得这样的机会很难得,并且这些应用软件对于同学对于相应课程的学习会起到促进理解的作用,同时让同学们的动手能力得到加强,也培养了同学们的自主创新能力。这些能力对于大家在以后的学习和工作中会起到非常重

9、要的作用,可以让同学们在步入社会后更加有竞争力。参考文献1张毅刚,刘杰.MCS-51单片机原理及应用.M哈尔滨工艺大学出版社,2004年.第102-112页2周润景,张丽娜.基于PROTUSE的电路及单片机系统设计与仿真.M北京航空航天大学出版社,2006年.第20-39页3林志琦,郎建军,李会杰,佟大鹏.基于PROTUSE的单片机可视化软硬件仿真.M北京航空航天大学出版社,2006年.第5-29页4周润景,袁伟亭. 基于PROTUSE的ARM虚拟开发技术.M 北京航空航天大学出版设,2007年。第32-39页5张靖武,周灵杉.单片机系统的PROTUSE设计与仿真.M电子工业出版社,2007年

10、。第81-100页6 张伟.单片机原理及应用,M北京:机械工业出版社,2005年3月.216218.7 薛栋梁.单片机原理及应用,M北京:中国水利水电出版社.2001年.35-29.附录 电路原理图图9 电路原理图附录 源程序#ifndef _ABSACC_H_#define _ABSACC_H_#define CBYTE (unsigned char volatile code *) 0)#define DBYTE (unsigned char volatile data *) 0)#define PBYTE (unsigned char volatile pdata *) 0)#defin

11、e XBYTE (unsigned char volatile xdata *) 0)#define CWORD (unsigned int volatile code *) 0)#define DWORD (unsigned int volatile data *) 0)#define PWORD (unsigned int volatile pdata *) 0)#define XWORD (unsigned int volatile xdata *) 0)#ifdef _CX51_#define FVAR(object, addr) (*(object volatile far *) (

12、addr)#define FARRAY(object, base) (object volatile far *) (base)#define FCVAR(object, addr) (*(object const far *) (addr)#define FCARRAY(object, base) (object const far *) (base)#else#define FVAR(object, addr) (*(object volatile far *) (addr)+0x10000L)#define FCVAR(object, addr) (*(object const far

13、*) (addr)+0x810000L)#define FARRAY(object, base) (object volatile far *) (base)+0x10000L)#define FCARRAY(object, base) (object const far *) (base)+0x810000L)#endif#include adc0809.c#define LED_Data P2#define A 10#define U 11sbit LED1=P30;sbit LED2=P31;sbit LED3=P32;sbit LED4=P33;sbit dp=P35;#define

14、LED_slect P3static uchar dispdata4;void decodenum(float adv,uchar chn) uint temp; temp=(uint)(adv*100); dispdata0=temp/100; dispdata1=temp/10%10; dispdata2=temp%10; dispdata3=chn;void select(uchar LED) switch(LED) case 0:LED1=0;break; case 1:LED2=0; case 2:LED3=0; case 3:LED4=0; default: LED_slect=0

15、xff; void dispone(uchar LED,bit ifpoint,uchar number) /,number 0-9 select(LED); if(ifpoint) dp=1; else dp=0; LED_Data=numnumber|0x80;delayus(200); void disp() uchar i; bit point; for(i=0;i4;i+) if(i=1) point=0; point=1; dispone(i,point,dispdatai);#include #includenumcode.h#define uchar unsigned char

16、#define uint unsigned int#define adin XBYTE0x7fffvoid delayus(uint us) while(us-);uchar ad_action(uchar chn) uchar read_data; adin=chn; delayus(6); read_data=adin; return read_data;#ifndef _REG51_H_#define _REG51_H_/* BYTE Register */sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;sfr PSW =

17、0xD0;sfr ACC = 0xE0;sfr B = 0xF0;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr IE = 0xA8;sfr IP = 0xB8;sfr SCON = 0x98;sfr SBUF = 0x99;/* BIT Register */* PSW */sbit CY = 0xD7;sbit AC = 0xD6

18、;sbit F0 = 0xD5;sbit RS1 = 0xD4;sbit RS0 = 0xD3;sbit OV = 0xD2;sbit P = 0xD0;/* TCON */sbit TF1 = 0x8F;sbit TR1 = 0x8E;sbit TF0 = 0x8D;sbit TR0 = 0x8C;sbit IE1 = 0x8B;sbit IT1 = 0x8A;sbit IE0 = 0x89;sbit IT0 = 0x88;/* IE */sbit EA = 0xAF;sbit ES = 0xAC;sbit ET1 = 0xAB;sbit EX1 = 0xAA;sbit ET0 = 0xA9

19、;sbit EX0 = 0xA8;/* IP */ sbit PS = 0xBC;sbit PT1 = 0xBB;sbit PX1 = 0xBA;sbit PT0 = 0xB9;sbit PX0 = 0xB8;/* P3 */sbit RD = 0xB7;sbit WR = 0xB6;sbit T1 = 0xB5;sbit T0 = 0xB4;sbit INT1 = 0xB3;sbit INT0 = 0xB2;sbit TXD = 0xB1;sbit RXD = 0xB0;/* SCON */sbit SM0 = 0x9F;sbit SM1 = 0x9E;sbit SM2 = 0x9D;sbit REN = 0x9C;sbit TB8 = 0x9B;sbit RB8 = 0x9A;sbit TI = 0x99;sbit RI = 0x98;#endif unsigned char code num=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x3e;

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

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