资源描述:
《串行通信技术.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验10.串行通信技术一、实验目的1.了解异步串行通信原理;2.掌握MSP430异步串行通信模块及其编程方法。二、实验任务1.PC机上的串行通信接口及其控制程序的使用参看讲义,了解PC机的标准异步串行接口协议,从网络学堂下载“串口调试助手程序”,用D型9针孔•孔交叉线连接两台PC机的串口,利用“串口调试助手程序”控制PC机串口,实现两台PC机Z间字符串的传送。2.掌握单片机与PC机串行通信的硬件连接参看附录A实验板原理图,了解MSP430F1XX串口模块相关引脚和实验板串口接线(插座S3:P3.4-UTXD0,P3.5-URXD
2、0,P3.6-UTXD1,P3.7-URXD1),及其经RS-232电平转换后的信号(插针P7:TXDO,RXD0)。思考:设计单片机与PC机进行串行通信时,硬件设计有哪些需要注意的事项?应注意串口0和串口1的区别。串口1可以右.接与PC机连接,串口0通信线输入输出引脚接线应该交叉,所以需要通过另一根通信线与PC机相连。3・查询方式控制串行通信的收发采用查询方式控制单片机串口的接收和发送,在实验板上设计接线,编程实现接收PC机的串口发送来的字符串,字符串以字符@结尾,MCU将接收到的字符串保存在RAM屮,收到字符@后,MCU开始
3、将收到的字符串发给PC机,PC机侧用串口助手稈序接收并显示收到的字符串。(建议单片机串口时钟选择ACLK=32.768KHz,波特率9600bps)。程序清单如下:#include"msp430.h"NAMEmainPUBLICmainORGOFFFEhDC16initRSEGDATA16_NbufferDS32RSEGCSTACKRSEGCODEinit:MOV#SFE(CSTACK),SPmain:NOPMOV.W#WDTPW+WDTHOLD,&WDTCTLCALL#USARTO_INITMOV#0,R5Rchk:BIT.b
4、#URXIFGO,&IFG1JZRchkCMP.B#40h,&UORXBUFJZTstartMOV.b&UORXBIJF,buffer(R5)INCR5JMPRchkTstart:INCR5MOV#0,R6Tchk:BIT.B#UTXTFGO,&TFG1JZTchkMOV.Bbuffer(R6),&U0TXBUFINCR6DECR5JNZTchkJMPinitUSARTOIN1T:BIS.b#SWRST,&UOCTLBIS.b#BIT4+BIT5,&P3SELBIS.B#PENA+PEV+SPB+CHAR,&UOCTLMOV.B
5、#SSELO,&UOTCTLBIS.b#URXEIE,&UORCTLMOV.B#03h,&UOBROMOV.B#0,&U0BR1MOV.B#10010010b,&UOMCTLBIS.B#UTXEO+URXEO,&ME1BIC.B#SWRST,&UOCTLRETEND思考:1)如果采用单片机的串口1完成,如何设计实验连线,程序该如何修改?与PC机连接的通信线由串口1直接相连,对应程序改为:USART1JNIT:BlS.b#SWRST,&U1CTLBIS.b#B1T4+B1T5,&P3SELBIS.B#PENA+PEV+SPB+CH
6、AR,&U1CTLMOV.B#SSELO,&U1TCTLBlS.b#URXEIE,&U1RCTLMOV.B#03h,&U1BR0MOV.B#O,&U1BR1MOV.B#10010010b,&IJ1MCTLBIS.B#UTXE1+URXE1,&ME2B1C.B#SWRST,&U1CTLRETEND2)如果两个单片机进行串行通信,如何设计连线和编程?将两个单片机对应串口通过通信线连接,编程对M相丿应的串口同上。3)如果波特率改为2400bps,如何编稈完成?波特率改为38400bps呢波特率改为2400bps,对应程序改为MOV.B
7、#ODh,&UOBROMOV.B#0,&U0BRlMOV.B#10101011b,&UOMCTL波特率改为38400bps,对应程序改为MOV.B#0,&UOBROMOV.B#0,&U0BR1MOV.B#11011011b,&U0MCTL三、已完成的选做任务4.(选做)屮断方式控制串行通信的收发编程:采用屮断方式接收和发送完成任务3的内容。稈序清单如下:#include"msp430・h"NAMEmainPUBLICmainORGOFFFEhDC16initORG0FFE0h+9*2DC16UORX_ISRRSEGDATA16_
8、NbufferDS32RSEGCSTACKRSEGCODEinit:MOV#SFE(CSTACK),SPmain:NOPMOV.WtfWDTPW+WDTHOLD,&WDTCTLCALL#USARTO1N1TMOV#0,R5BIS.B#URXIEO,&IE1E1N