您好,欢迎访问三七文档
李新基学号:2012010630实验班号:23机器号:39计算机硬件技术实验报告实验6串行通信技术目录一、实验目的...................................................................................................................................2二、实验任务...................................................................................................................................21.了解MSP430G2553实验板USB转串口的通信功能,掌握串口助手的使用...........22.查询方式控制单片机通过板载USB转串口与PC机实现串行通信.............................43.利用PC机RS232通信接口与单片机完成串行通信.................................................5三.选作实验完成及思考...............................................................................................................7四.实验清单。...............................................................................................................................82(1)......................................................................................................................................83(1)......................................................................................................................................9实验6.串行通信技术一、实验目的1.了解异步串行通信原理;2.掌握MSP430异步串行通信模块及其编程方法。二、实验任务1.了解MSP430G2553实验板USB转串口的通信功能,掌握串口助手的使用参看附录AMSP430G2553单片机板原理图,板上的eZ430-FET板载仿真器主要由一片MSP430F1612单片机和一片USB转串口的控制器TUSB3410芯片组成。除完成目标单片机的程序下载和调试外,F1612单片机还将目标单片机(如G2553)以异步串行方式通信的数据传送给TUSB3410芯片,由TUSB3410将数据转换成USB传送给PC机的USB接口,在PC机侧对该接口可以用串口助手方式进行控制,图6-1是eZ-FET板载仿真器USB转串口功能示意图。eZ430-FET板载仿真器与目标实验板的J3接口信号见图6-2,支持最高9600波特率的异步串行通信。。其中BRXD、BTXD分别为板载仿真器的串行接收、发送信号,P1.1、P1.2为G2553单片机的串行接收、发送信号。用杜邦线将实验板上BRXD和BTXD连接,见图6-3,利用PC机的串口调试助手程序控制该串口,实现该串口的自发自收功能。串口调试助手程序可从网络学堂可下载。说明:将MSP430G2553的扩展板从G2553单片机板上卸下,用USB数据线将G2553单片机板与PC机相连,点击/计算机/设备管理器/端口(COM和LPT),查看eZ430-FET板载仿真器所对应的串口号,右键该串口,点击/属性/端口设置/高级/COM端口号,将端口号改到COM2上。当在串口助手中选用COM2,出现“端口被占用”时,可在设备管理器中将该串口禁用,再启用,重新在串口助手中打开该串口。思考:异步串行通信接口的收/发双方是怎样建立起通信的?思考题答案:在异步串行通信的收发双方进行通信时。在硬件上。我们需要有两条线,第一条连接A方的发送端口和B方的接收端口,第二条连接B方的发送端口和A方的接收端口。在软件上,我们需要一个通信协议,统一信号的格式。在本实验中由于是自发自收,因此A方和B方均为PC机,也就是说其实我们只需要一根线,另外由于是自发自收所以信号格式自然就是统一的。因此可以顺利实现自发自收功能。2.查询方式控制单片机通过板载USB转串口与PC机实现串行通信参看附录A实验板原理图,用跳线将G2553单片机的P1.2与BRXD相连、P1.1与BTXD相连,使单片机G2553的SCI异步串行接口与板载仿真器上串口的收发信号对接,见图94,注意不要接错了,否则无法通信成功。设置波特率9600bps、无校验、8位数据、先低后高、1个停止位,采用查询方式控制单片机串口的接收和发送,用下面方式分别编程,实现接收PC机的串口发送来的字符串,字符串以字符@结尾,单片机将接收到的字符串保存在RAM中,收到字符@后,将接收到的字符串再发给PC机。PC机侧用串口助手程序接收并显示收到的字符串。1)串口时钟选用SMCLK=1.0MHz。思考:如果在两个单片机之间进行串行通信,如何设计连线和编程?思考题答案:在两个单片机之间进行通信时,编程可继续采用本实验中所用的程序。先将其下载到其中一个单片机中,另一个单片机则编程输出一串以@结尾的字符,之后进入接收状态,初始化及寄存器的设置部分的程序不变,将一个单片机的P1.1接口与第二个单片机的P1.2接口连接,第二个单片机的P1.1也与第一个的P1.2连接,然后只需控制两个单片机同时运行程序即可完成两个单片机之间的通信。3.利用PC机RS232通信接口与单片机完成串行通信参看讲义,了解PC机串口RS-232标准特点:1)D9针型引脚信号:2-接收,3-发送,5-GND;2)负逻辑电平:-5~V-15V为逻辑1,+5V~+15V为0。TTL电平的单片机串口信号不能直接与PC机串口相连。参看附录CMSP430F1xx实验板原理图,了解MSP430F1xx实验板上RS-232电平转换信号关系,见图6-5,电路上有两路转换信号均可用,其中UTXD0、URXD0与D9连接器的2、3信号未交叉,UTXD1、URXD1与D9连接器2、3信号交叉。图6-6是MSP430F1xx实验板RS232电平转换信号引出示意图。如图6-7和图6-8路分别是MSP430G2553利用这两路转换电路与PC机串口通信的连线图,实验时采用其中任何一种均可。由于PC机的串口不受9600波特率和数据格式的限制,单片机可以采用高波特率和带校验方式与PC机进行异步串行通信。编程采用下面数据格式,完成单片机与PC机之间的字符串传送。1)波特率9600bps,奇校验,8位数据,先低后高,1个停止位;思考:设计单片机与PC机进行串行通信时,硬件设计有哪些需要注意的事项?思考题答案:设计单片机与PC机之间进行串行通信的时,首先应考虑PC机的信号可以有多种输出方式,从USB,串口,并口等不同的输出形式中选取最为合适的,之后要构建通信协议,统一规范单片机和PC机的收发信号格式,还要统一两者的逻辑电平关系,不同逻辑电平是不能直接相连的,要进行相应的转换。三.选作实验完成及思考由于时间的原因,本次没有完成选作实验。在本次的实验中可以看到串行通信技术必须要仔细思考模拟电压与数字电压之间的关系,注意两个之间的相互转化。另外在设计电路时,一个比较容易常见的错误就是将PC机与单片机的P1.1和P1.2之间的连线方式弄错。四.实验清单。2(1)#includeio430.hcharmessage[81];intmain(void){//StopwatchdogtimertopreventtimeoutresetWDTCTL=WDTPW+WDTHOLD;//设置P1.4输出SMCLK的信号,这部分不必要,只是方便实验时用示波器检测P1SEL|=BIT4;P1SEL2&=~BIT4;P1DIR|=BIT4;//MCLK设置为DCO模式BCSCTL2|=SELM_0;//设置DCO为1MHz模式if(CALBC1_1MHZ!=0xff){BCSCTL1=CALBC1_1MHZ;DCOCTL=CALDCO_1MHZ;}UCA0CTL1|=UCSWRST;P1SEL|=BIT1+BIT2;//设置P1.1,P1.2为USCI_A0的收发引脚P1SEL2|=BIT1+BIT2;UCA0CTL0|=UCPEN+UCSPB;//设置时钟源采用SMCLK,1MHz,波特率设置为9600UCA0CTL1|=UCSSEL_2;UCA0BR1=0;UCA0BR0=6;UCA0MCTL=UCBRF_8+UCBRS_0+UCOS16;UCA0CTL1&=~UCSWRST;while(1){intn=0;intm;while(message[n-1]!='@'&&n81){while((IFG2&UCA0RXIFG)==0);message[n]=UCA0RXBUF;n++;}for(m=0;mn;m++){while((IFG2&UCA0TXIFG)==0);UCA0TXBUF=message[m];}}}3(1)#includeio430.hcharmessage[81];intmain(void){//StopwatchdogtimertopreventtimeoutresetWDTCTL=WDTPW+WDTHOLD;//设置P1.4输出SMCLK的信号,这部分不必要,只是方便实验时用示波器检测P1SEL|=BIT4;P1SEL2&=~BIT4;P1DIR|=BIT4;//MCLK设置为DCO模式BCSCTL2|=SELM_0;//设置DCO为1MHz模式if(CALBC1_1MHZ!=0xff){BCSCTL1=CALBC1_1MHZ;DCOCTL=CALDCO_1MHZ;}UCA0CTL1|=UCSWRST;P1SEL|=BIT1+BIT2;//设置P1.1,P1.2为USCI_A0的收发引脚P1SEL2|=BIT1+BIT2;//设置时钟源采用SMCLK,1MHz,波特率设置为9600,奇校验UCA0CTL0|=UCPEN+UCSPB;UCA0CTL1|=UCSSEL_2;UCA0BR1=0;UCA0BR0=6;UCA0MCTL=UCBRF_8+UCBRS_0+UCOS16;UCA0CTL1&=~UCSWRST;while(1){intn=0;intm;while(message[n-1]!='@'&&n81){while((IFG2&UCA0RXIFG)==0);message[n]=UCA0RXBUF;n++;}for(m=0;mn;m++){while((IFG2&UCA0TXIFG)==0);UCA0TXBUF=message[m];}}}
本文标题:计算机硬件实验报告
链接地址:https://www.777doc.com/doc-2043549 .html