欢迎来到天天文库
浏览记录
ID:11902885
大小:400.86 KB
页数:15页
时间:2018-07-14
《串行通信技术实验报告-模拟信号转换接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微机原理与应用实验报告6实验9串行通信技术实验10A模拟信号转换接口实验报告实验九串行通信技术一、实验目的1.了解异步串行通信原理;2.掌握MSP430异步串行通信模块及其编程方法;二、实验任务1.了解MSP430G2553实验板USB转串口的通信功能,掌握串口助手的使用(1)利用PC机的串口助手程序控制串口,实现串口的自发自收功能为实现PC串口的自发自收功能,须现将实验板上的扩展板去下,并将单片机板上的BRXD和BTXD用杜邦线进行短接,连接图如下所示:由此可以实现PC串口的自收自发功能。(2)思考题:异步串行通信接口的收/发双方是怎么建立起通信的首先在异步通信中,要求接收方和发送方具有相同
2、的通信参数,即起始位、停止位、波特率等等。在满足上面条件的情况下,发送方对于每一帧数据按照起始位数据位停止位的顺序进行发送,而接收方则一直处于接受状态,当检测到起始位低电平时,看是采集接下来发送方发送过来的数据,这样一帧数据(即一个字符)传送完毕,然后进行下一帧数据的接受。这样两者之间就建立起了通信。2.查询方式控制单片机通过板载USB转串口与PC机实现串行通信(1)硬件连接图(2)C语言程序采用SMCLK=1.0MHz时,程序如下:#include"io430.h"#include"in430.h"unsignedinti,j,done,count;charstring[32];voidUS
3、CIA0_int();voidCLOCK_int();intmain(void){//StopwatchdogtimertopreventtimeoutresetWDTCTL=WDTPW+WDTHOLD;USCIA0_int();//通信设置CLOCK_int();//时钟设置while(1){done=0;count=0;for(i=0;i<32;i++){while((IFG2&UCA0RXIFG)==0);//循环等待接受缓冲器满string[i]=UCA0RXBUF;//读接受缓冲器并保存if(string[i]=='@')//检测发送完毕信号@{done=1;//接受完毕信号brea
4、k;}}count=i;if(done==1)//检测接受完毕信号{for(j=0;j<=count;j++){while((IFG2&UCA0TXIFG)==0);UCA0TXBUF=string[j];}done=0;}}}voidUSCIA0_int(){UCA0CTL1
5、=UCSWRST;P1SEL
6、=BIT1+BIT2;P1SEL2
7、=BIT1+BIT2;//端口设置UCA0CTL1
8、=UCSSEL_2+UCRXEIE;//时钟选择设置(SMCLK)UCA0BR1=0;UCA0BR0=104;UCA0MCTL=UCBRS_1;//波特率设置UCA0CTL1&=~UCSWRST;}vo
9、idCLOCK_int(){if(CALBC1_1MHZ!=0xff)//设置时钟为1MHz{BCSCTL1=CALBC1_1MHZ;//采用smclk1MHZDCOCTL=CALDCO_1MHZ;}}其中SMCLK=1MHz,波特率采用的是9600,采用低频波特方式,则N=1000000/9600=104.1666…,故UCA0BR1=0,UCA0BR0=104,UCBRS=1;当采用外部晶振时,时钟采用默认设置即可,程序如下:#include"io430.h"#include"in430.h"unsignedinti,j,done,count;charstring[32];voidUSCI
10、A0_int();intmain(void){//StopwatchdogtimertopreventtimeoutresetWDTCTL=WDTPW+WDTHOLD;USCIA0_int();//通信设置while(1){done=0;count=0;for(i=0;i<32;i++){while((IFG2&UCA0RXIFG)==0);//循环等待接受缓冲器满string[i]=UCA0RXBUF;//读接受缓冲器并保存if(string[i]=='@')//检测发送完毕信号@{done=1;//接受完毕信号break;}}count=i;if(done==1)//检测接受完毕信号{fo
11、r(j=0;j<=count;j++){while((IFG2&UCA0TXIFG)==0);UCA0TXBUF=string[j];}done=0;}}}voidUSCIA0_int(){UCA0CTL1
12、=UCSWRST;P1SEL
13、=BIT1+BIT2;P1SEL2
14、=BIT1+BIT2;//端口设置UCA0CTL1
15、=UCSSEL_1+UCRXEIE;//时钟选择设置(SMCLK)UCA0
此文档下载收益归作者所有