使用串行接口的数据采集系统的设计与实现

使用串行接口的数据采集系统的设计与实现

ID:853105

大小:320.03 KB

页数:16页

时间:2017-09-20

使用串行接口的数据采集系统的设计与实现_第1页
使用串行接口的数据采集系统的设计与实现_第2页
使用串行接口的数据采集系统的设计与实现_第3页
使用串行接口的数据采集系统的设计与实现_第4页
使用串行接口的数据采集系统的设计与实现_第5页
资源描述:

《使用串行接口的数据采集系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、使用串行接口的数据采集系统的设计与实现一:设计任务与要求1.连接单片机基本电路,检查电路,直到测量出晶振有振荡波形。2.连接串口芯片MAX232C,使用STC编程软件,可以测量到芯片存在。3.编写基本的串口测试实验,可以将串口数据传输到PC机。4.连接TL431,用电压表测量输出电压为2.5V,给单片机芯片作为参考电压。5.编写AD读取程序,将AD读取的测量值通过串口传输到PC机,验证其正确性。在输入端加入不同的直流电压,调节程序在屏幕上显示的正确的直流电压值。6.在AD端加入低频正弦/脉冲/三角信号,

2、在屏幕上正确的波形。7.采用合适的方法,能够准确测量输入信号的时间参数。二:系统设计单片机采用串口编程的STC5616AD单片机,根据其技术文档,做出单片机最小系统。同时焊接TL431使其输出电压为2.5V作为基准电压。再把采样的数据发送给PC。其系统框图为:单片机PC信号TL431Max2322.5V基准电压三:数据采集具体原理图:此程序由RS232串口发送程序和AD采样程序组成。AD采样采用查询方式,为了提高采样的进度,我们应用的2.5V的参考电压,但是由于此单片机没有直接的参考电压输入端,不能直接

3、输入参考电压。所以每次测量时,先测量2.5V参考电压,得到10位参考AD值ref,再采集需要测量的通道的电压值,得到另一个10位AD值Vad,那么所测电压的计算公式就是:V=2.5*(Vad/ref)。具体AD,串口发送程序:#includetypedefunsignedcharINT8U;typedefunsignedintINT16U;#defineAD_SPEED0x00//最低采样速率voiddelay(INT8Udelay_time)//延时函数{INT16Un

4、;while(delay_time--){n=6000;while(--n);}}INT16Uget_AD_result(INT8Uchannel){ADC_DATA=0;channel&=0x07;//0000,0111清0高5位ADC_CONTR=AD_SPEED;ADC_CONTR=0xE0;//1110,0000清ADC_FLAG,ADC_START位和低3位ADC_CONTR

5、=channel;//选择A/D当前通道delay(1);//使输入电压达到稳定ADC_CONTR

6、=0x08;//0

7、000,1000令ADCS=1,启动A/D转换kaishizhuanhuan,while(1)//等待A/D转换结束{if(ADC_CONTR&0x10)//0001,0000测试A/D转flag=1zhuanhuanwancheng换结束否{break;}}ADC_CONTR&=0xe7;//1110,0111清ADC_FLAG位,关闭A/D转换,qingchuFLAGreturn(ADC_DATA<<8

8、ADC_LOW2);//返回A/D10位转返回fanhui10bit换结果}voidinitia

9、te_RS232(void)//串口初始化{ES=0;//禁止串口中断TMOD=0x20;//设置T1为波特率发生器SCON=0x50;//0101,00008位数据位,无奇偶校验TH1=TL1=-(22118400/12/32/9600);//botelvgaodiweishezhiRI=0;TR1=1;ES=1;//允许串口中断}voidSend_Byte(INT8Uone_byte)//发送一个字节{TI=0;//清零串口发送中断标志SBUF=one_byte;//fasongshujuwhile

10、(!TI);TI=0;//清零串口发送中断标志}voidmain(){INT16UADC_10bit,ADC_REF;initiate_RS232();//波特率=9600botelvADC_CONTR

11、=0x80;//1000,0000打开A/DdakaiAD转换电源while(1){ADC_REF=get_AD_result(6);delay(0x1);ADC_10bit=get_AD_result(0);Send_Byte(ADC_REF>>8);Send_Byte(ADC_REF<<6);Sen

12、d_Byte(ADC_10bit>>8);Send_Byte(ADC_10bit<<6);delay(0x30);//延时}}STC12C56AD.H程序:/*sfrAUXR=0x8e;*//*sfrIPH=0xb7;*//*WatchdogTimerRegister*/sfrWDT_CONTR=0xe1;/*ISP_IAP_EEPROMRegister*/sfrISP_DATA=0xe2;sfrISP_ADDRH=0xe3;sfrISP_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。