模拟信号采集下位机.docVIP

  • 17
  • 0
  • 约2.42千字
  • 约 8页
  • 2016-03-09 发布于安徽
  • 举报
课程设计报告 设计课题:模拟信号采集下位机 专业班级: 学生姓名 指导教师 设计时间 模拟信号采集下位机 课程设计目的:模拟信号采集下位机。 二、课程设计题目(问题)描述和要求:对ADC0809的IN7输入信号进行采集,然后将所采集的数据经过232串行通信传送的上位机PC机上,应用串口助手显示所传送的数据,要求数据按照帧格式显示。 三、系统分析与设计 1: 系统总体设计-确定系统功能模块划分及说明; 实验中用到的器件有以下图所示: C51是在一块芯片中集成了CPU,RAM,ROM,定时器/计数器和多功能的I/O口等一台计算机所需要的基本功能部件,本实验它是主要控制AD0809采样控制。 地址锁存器,当/OE有效,使能端LE为高电平时,输出跟随输入变化,当LE 端由高电平变低时,输出端8位信息被锁存,直到LE端再次有效。 可编程逻辑器件GAL16V8 F0=/EOC F1=A15*/A14*/A13*/A12*/A11*A10*/P37 F2=A15*/A14*/A13*/A12*/A11*A10*/P36 F3=/A15+A14+A13+A12+A11+A10 F4=A15 F5=P36 F6=A13*A14*A15*/P37+A13*A14*A15*/P36 F7=A11 ADC0809用于实现模拟量向数字量的转换,带8个模拟量输入通道,有通道地址译码锁存器,输入带三态数据锁存器。 将所接受的信号发送出去。 本系统主要有两大模块:采样模块和发送模块。 采样主要有ADC0908完成。发送是由98C52和MAX3232CSA完成。 ???? 2: 系统详细设计-在总体设计基础上设计系统总体框架、系统流程图; 系统总体框架图 、 系统流程图 ???? 3: 源程序清单(每条指令都要加注释,说明其功能,入口参数,返回参数) #includeabsacc.h #includeintrins.h #includereg51.h #define LEDLen 6 #define MODE 0x03 #define CS0809 XBYTE[0xfbff] //sbit eoc=P3^2; unsigned char Read0809() { unsigned char i; unsigned char a; CS0809 = 0; /* 起动 A/D */ for (i=0; i0x20; i++) ; /* for (i=0; i1; i++) ; { for(i=0;i10;i++) ; } */ //while(eoc==1) continue; a=CS0809; /* 延时 100us */ return(a); /* 读入结果 */ } main() { float temp; TMOD=0x20; TR1=0; TH1=0xfd; TL1=0xfd; PCON=0x00; SCON=0x40; EA=1; TR1=1; TI=0; for(;;) { temp=Read0809(); temp=0xc7;//当前电压3.9V temp=temp*5.0/255; SBUF=temp; while(TI==0); TI=0; } // for(;;); } 四. 系统调试过程中出现的主要问题 ADC0809的7脚地址错误。 忽略了ADC0809的EOC端与89C51端口的连接。 ADC0809采样数据后,在发送数据连接时出现问题。 五. 系统运行报告与结论 我的实验系统是为了采集变化的电压产生的变化信号,然后对采集的数据经过232串行通信传送的上位机PC机上,应用串口助手显示所传送的数据。此实验的问题是只做了传出的系统,并无接收,不能将所发送的数据进行接受比较,因而使编程简单了许多,可以再编一个接受系统,接受发出的数据。、 六. 总结 1、设计中遇到的问题及解决过程?: 遇到问题:ADC0809的7脚地址错误。 忽略了ADC0809的EOC端与89C51端口的连接。 ADC0809采样数据后,在发送数据连接时出现问题。 解决过程: ADC0809的EOC的7脚地址错误是有老师指出之后,经重新分析改过来的。 ADC0809的EOC端与89C51端的连接起初是把实验例程里的原封COPY过来,可在运行时不好使之后检查才发现的。 起初只能发送一些乱码,不能正确得到所采样来的数据,经老师指点,知道是因为串口发送程序中的地址与ADC0809采样来的数据地址不是一个。 2、设计中产生的错误及原因分析?

文档评论(0)

1亿VIP精品文档

相关文档