串口编程介绍.pdf

上传人:韩长文 文档编号:5017821 上传时间:2020-01-28 格式:PDF 页数:4 大小:167.81KB
返回 下载 相关 举报
串口编程介绍.pdf_第1页
第1页 / 共4页
串口编程介绍.pdf_第2页
第2页 / 共4页
串口编程介绍.pdf_第3页
第3页 / 共4页
串口编程介绍.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《串口编程介绍.pdf》由会员分享,可在线阅读,更多相关《串口编程介绍.pdf(4页珍藏版)》请在三一文库上搜索。

1、http:/www.M 微控设计网 基于模拟前端信号处理与控制技术的专业论坛、网站. MSP430 单片机入门应用系列例程单片机入门应用系列例程 MSP430 的的 RS232 与与 RS485 范例程序范例程序 策划:微控设计网DC 最近在微控技术论坛上有较多的初学者发出较多的 RS485 例程求助,总想找到一个很 符合自己的 RS485 通讯例子程序。所以我今晚特此简单地写调了一个 MSP430 的 RS232 与 RS485 接口程序出来供给初学者参考。以简单的程序图文形式表达出来,希望对微控论坛 初学者有一定的入门帮助。 关于 RS232、RS485 的协议或更多的系统应用,请参考相关

2、的技术文章。同时,也可 以到微控技术论坛上的器件通讯专区查看有关的器件接口通讯文章。 描述:描述:本范例由 MSP430 单片机作为 RS485 总线上的从机,PC 为主机。功能是由 PC 主机 发送一个字符到从机, 从机接收后再发回主机的一个收发过程。 另外, 此程可以改为 RS232 接收方式,除了硬件电路不同外,其就是在软件和控制上有所差别。采用 RS485 时,单片 机的引脚要比 RS232 多了一个引脚,主要用来控制接收与发送之用;在软件中只需多加了 一个 IO 的方向控制,在此要注意方向。 本程序已在我的开发工具上调试运行通过;如果你是一位初学者,你可以参考以下程 序创建项目来验证

3、你的硬件是否问题。当然本程序当然还有一些不足之处,这就需要改进 你的改正了。 下图是实验室图片 http:/www.M 微控设计网 基于模拟前端信号处理与控制技术的专业论坛、网站. RS232 接口电平转换电路图,本次实验未采用的是 MAX232 芯片,MSP430 的 RXD 端 可用电阻分压以作最简单的电平转换,可以参考本文的 RS485 电路。 RS485 接口电平转换电路图,注意 RXD 端为电阻式电平转换。而 TXD 不需要,因为 SN75176B 能接收 3.3V 的高电平输入。 本次纯属是实验,并没有用到全 3V 工作的器件,请读者明白。 http:/www.M 微控设计网 基于

4、模拟前端信号处理与控制技术的专业论坛、网站. MSP430 电路简图如下: 在上次机采用了,一个串口常用调试软件作串口调试。各位读者如要下载此工具软件可到 微控论坛上下。软件如下图: 程序:程序: / ACLK = UCLK0 = LFXT1 = 32768, MCLK = SMCLK = DCO 800k / 波特率在32768hz XTAL 9600 = 32768Hz/9600 = 3.41 (0003h 4Ah ) / 软件:IAR Embedded Workbench Version: 3.4A #include void delay (void); /串口时,无此延时 void m

5、ain(void) WDTCTL = WDTPW + WDTHOLD; / 停止看门 P5DIR |= 0x80; / P5.7 为输出,RS485 控制端 P5OUT / 使 SN75176B 为接收状态 http:/www.M 微控设计网 基于模拟前端信号处理与控制技术的专业论坛、网站. P1DIR |= 0x02; / 设 LED 指示 P1OUT /以下是串口设置 P3SEL |= 0x30; / P3.4,5 = USART0 TXD/RXD ME1 |= UTXE0 + URXE0; / 使能 USART0 模块 TXD/RXD UCTL0 |= CHAR; / 8 位字符格式 U

6、TCTL0 |= SSEL0; / 串口模块时时钟 UCLK = ACLK UBR00 = 0x03; / 设置波特率控制寄存器 UBR10 = 0x00; / 32k/9600 - 3.41(ACLK) UMCTL0 = 0x4A; / 波特率调整寄存器设置 UCTL0 / 初始化 USART 状态机 IE1 |= URXIE0; / 使能 USART0 接收中断 / Mainloop for (;) _BIS_SR(LPM3_bits + GIE); / 进入 LPM3 模式/允许总中断 while (!(IFG1 / USART0 发送缓冲器是否准备? P5OUT |= 0x80; /

7、使 SN75176B 为发送 TXBUF0 = RXBUF0; / 从接收缓冲器写入发送缓冲器 delay (); P5OUT / 使 SN75176B 为接收 P1OUT = 0x02; /LED / UART0 接收中断将从 LPM3 模式退出 #pragma vector=UART0RX_VECTOR _interrupt void usart0_rx (void) _BIC_SR_IRQ(LPM3_bits); / 退出 LPM3 void delay (void) unsigned i=180; while(i!=0) i- - ; 参考文献参考文献 1 Texas Instruments Incorporated MSP430F14X C code Example 2 Texas Instruments Incorporated MSP430x1xx Family slau049e.pdf 3 Texas Instruments Incorporated MSP430F149 Datasheet 4 沈建华 杨艳琴 骁曙 清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1