MSP430教程15:MSP430单片机串行通讯模块

发布者:CrystalSparkle最新更新时间:2016-08-16 来源: eefocus关键字:MSP430  单片机  串行通讯 手机看文章 扫描二维码
随时随地手机看文章
串行异步通讯模块

   在MSP430系列产品中,每一款型号都能实现串行通讯的功能,在MSP430F1X11系列中,可以用定时器A和软件编程结合实现串行通讯功能。而在其它系列产品中都带有硬件的串行通讯模块USART;另外,MSP430F14X系列产品中还带了两个串行通讯模块。而在MSP430F15X,F16X系列中USART0还可以实现IIC总线通讯。在UART模块中带有UART串行异步通讯和SPI同步通讯硬件资源。

MSP430教程15:MSP430单片机串行通讯模块 - zhangxun0712 - zhangxun0712的个人主页

   图是USART模块结构图,从下图可以看出USART模块分别由波特率部分:波特率发生器,串行通讯接收/发送控制寄存器。

接收部分,发送部分,端口IO部分。

   

  串行异步通讯的特点:

    1-异步通讯模式,包括线路空闲/地址位通信协议。

    2-有两个单独的移位寄存器,输入/输出移位寄存器(如下图)。

    3-传输7位或8位数据,可采用奇偶或无校验。

    4-可编程实现波特率调整。

    5-分别发,收单独中断。

    6-有效地检测到起始位实现从低功耗唤醒。

    7-状态标志检测错误或者地址位。

   串行同步通讯(SPI)的特点: 

    1-动持3线/4线的SPI通讯。

    2-支持主机模式与从机模式。

    3-收发有单独的缓冲器,移位寄存器。

    4-收发有单独的中断。

    5-时钟极性和相位可编程。

    6-主机模式的时钟频率可编程。

    7-7位/8位字符长度。

有关USART的详细应有原理,建议初学者参考清华大学出版社的<>

串行异步通讯应用例程

//*******************************************

//MSP430F149串口行实验程序

//P3.4为发送,P3.5为接收

//晶体使32768HZ.

//程序描述:利用串口调试软件;向串口发送一个字符,MSP430单片机接收到后从低功耗中唤醒.并将收接缓冲区的字符再发送到//电脑上的调试软件中.单片机发送完后又进入低功耗状态.

//*******************************************

#include

void main(void)

{

 WDTCTL = WDTPW + WDTHOLD; // 停止WDT

 UCTL0 = CHAR;             // 设串口控制寄存器,设为8位字符格式

 UTCTL0 = SSEL0;           // 设串口控制寄存器所使用的时钟,选择UCLK = ACLK

 UBR00 = 0x0D;             // 波特率设置32k/2400 - 13.65

 UBR10 = 0x00;            

 

 UMCTL0 = 0x6D;            // 波特率调整器设置

 ME1 |= UTXE0 + URXE0;     // 模块允许寄存器设置,使能USART0 TXD/RXD

 IE1 |= URXIE0;            // 中断允许寄存器设置,接收中断允许

 P3SEL |= 0x30;            // 将P3.4,5使用外围模块 = USART0 TXD/RXD

 P3DIR |= 0x10;            // 将P3.4设为输出(发),P3.5默认为输入(收)

 _EINT();                  // 全局中断使能

// Mainloop

for (;;)

{

 LPM3;                           // 进入LPM3模式,等待字符接收.

 while ((IFG1 & UTXIFG0) == 0);  // USART0发送UTXIFG0=1,表示UTXBUF准备好发送一下字符

 TXBUF0 = RXBUF0;                // 将收到缓冲区字符送发送区

 }

}

//串口接收中断,退出LPM3模式.

#pragma vector=USART0RX_VECTOR

__interrupt void usart0_rx (void)

{

  LPM3_EXIT;

}

//*****************************************

//例程结束

关键字:MSP430  单片机  串行通讯 引用地址:MSP430教程15:MSP430单片机串行通讯模块

上一篇:MSP430教程16:MSP430单片机开发总结
下一篇:MSP430教程11:MSP430单片机低功耗结构

推荐阅读最新更新时间:2024-03-16 15:05

单片机智能灯光系统程序
智能过道照明系统主要功能 ⑴系统设有2个按键功能按键(模式切换键和开关键),和一个单片机复位按键; ⑵系统设有1个电源指示灯和5个状态指示灯,分别为:光照检测信号指示灯(光线暗时指示灯亮),红外热释电传感器信号指示灯(检测到人体信号指示灯亮),自动模式继电器工作状态指示灯(自动模式下,继电器接通,指示灯亮),模式指示灯(手动模式时指示灯亮),手动模式继电器工作状态指示灯(手动模式下,继电器接通,指示灯亮); ⑶系统设置了两种工作模式:自动工作模式和手动工作模式,开机默认为自动模式,可通过“模式切换键”来实现模式切换; ⑷在自动模式下,继电器接通时间是延迟变量来控制的,延迟变量 0,继电器接通,延迟变量=0,继电器断开。延迟变量由检
[单片机]
<font color='red'>单片机</font>智能灯光系统程序
MSP430F149程序移植——0.96OLED(ssd1306驱动)
一、引脚说明 1.1 接口定义 1.2 硬件连接 1.3 总线协议 IO口软件模拟SPI 1.4 软件控制流程 ①IO初始化。 ②根据时序初始化LCD。 ③显示。 二、移植文件 将 oled.c 、 oled.h 、bmp.h文件加入到工程文件夹下 2.1 oled.c #include oled.h #include oledfont.h //向SSD1306写入一个字节。 //dat:要写入的数据/命令 //cmd:数据/命令标志 0,表示命令;1,表示数据; void OLED_WR_Byte(u8 dat, u8 cmd) { u8 i; if (cmd) OLED_DC_S
[单片机]
<font color='red'>MSP430</font>F149程序移植——0.96OLED(ssd1306驱动)
基于单片机的智能循迹小车的硬件设计
O 引言 智能车辆作为智能交通系统的关键技术之一,是许多高新技术综合集成的载体。它体现了车辆工程、人工智能、自动控制及计算机技术于一体的综合技术,是未来汽车发展的趋势。本自动循迹小车系统采用数字摄像头0V6620来采集路面信息,核心控制器MC9S12XSl28则可分析和处理图像数据,识别道路中央黑色引导线。另外,控制器还可根据道路前方黑色引导线距车体中心线之间的偏差送出控制信号给转向舵机和电机驱动模块MC33886,进而控制小车,以实现快速稳定的循迹行驶。 1 系统硬件总体架构 整个系统可以构成一速度闭环控制系统,其总体框图如图1所示。 图中,RS232模块用于向PC机上传图像采集数据,车速检测采用欧姆龙公司的E6A
[单片机]
基于<font color='red'>单片机</font>的智能循迹小车的硬件设计
详解指纹识别在嵌入式IoT系统中的实现及设计要点
在系统实现上面,智能手机本身拥有强大的计算能力和丰富的内存资源,实现指纹识别并不困难,但在嵌入式系统中特别是基于MCU的应用场合,其运算能力、内存资源等都受到限制,本文介绍了一种基于单片机系统的指纹识别方案和设计要点。 随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合中得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景中也逐渐普及开来。在系统实现上面,智能手机本身拥有强大的计算能力和丰富的内存资源,实现指纹识别并不困难,但在嵌入式系统中特别是基于MCU的应用场合,其运算能力、内存资源等都受到限制,本文介绍了一种基于单片机系统的指纹识别方案和设计要点。 如上图所示,这是一个WiFi指纹识别前端的
[安防电子]
详解指纹识别在嵌入式IoT系统中的实现及设计要点
「51单片机」红外接收、发射模块代码
一、简介 红外发射模块:电源3.3V或5V,通过发射管发射38KHz的红外信号,高电平驱动 红外接收模块:电源3.3V或5V,可接收红外信号,并解调成逻辑电平,低电平有效 二、电路图 红外发射电路图 红外接收电路图 三、红外发射模块代码 #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int //管脚定义 sbit key = P2^0; sbit out = P2^1; //函数声明 void delay
[单片机]
「51<font color='red'>单片机</font>」红外接收、发射模块代码
关于AVR单片机如何入门以及学习单片机的一些建议
学习单片机对于我来说是一个痛苦的过程因为第一次接触单片机是大一的时候,那时候还没有学习数字电路和模拟电路这两本基础课,所以第一次接触连高低电平都没看懂,我第一次想把那几个数码管驱动起来又不知道译码器,因为还没学74系列的器件,还记得大一第一个寒假我借来了很多书其实那会儿也不知道怎么学,图书馆单片机的书很多但让一个什么都没学的人去看那本比较好更本就是空话,我把AVR,51,PIC都借来了,那时也没想到在网上看教学视频,其实后来才知道很多东西网上资料非常丰富,那都是后来才发现的了,我真正学懂单片机是大二上学期,虽然我刚开始时从51开始学的但后来因为一些原因我学习了AVR所以说从入门到真正理解单片机我是从AVR开始的。
[单片机]
ESP8266与单片机之间通过SPI进行双向数据传输的一种方案
背景: 在我的毕业设计中需要单片机将采集到的数据上传到服务器,同时需要接收来自服务器的一些天气信息,我的单片机的型号是 Stm32F407; ESP8266 刷入了 micropython 的固件,使用python进行开发; 协议是 SPI协议 ESP8266 主机 Stm32F4作为 从机 单片机侧使用的是 Stm32F407 的硬件 SPI + DMA 接收发送。 ESP8266 侧使用的也是硬件SPI1 ; 通讯速度应该可以跑满 单片机这一侧的极限速度(42MHz),但是我在测试时候发现数据在40M 就很不稳定了(逻辑分析仪测试,可能是导线有点长) 最终就选择了4MHz.。 整体的这个实现的机制就是在单片机里面设
[单片机]
ESP8266与<font color='red'>单片机</font>之间通过SPI进行双向数据传输的一种方案
ST发布低成本8位/32位微控制器通用开发工具
意法半导体日前推出一套成本低廉的微控制器应用开发工具RLink,这套工具能够在ST的8位到32位全系列微控制器平台上编写并调试应用程序。这套多功能的专业开发工具由Raisonance公司开发,支持ST7、基于8051的μPSD和基于ARM的STR7微控制器。 对于SRT7和μPSD系统,Rlink通过一个标准的JTAG接口连接目标应用或评估板,对于ST7系统,Rlink通过一个ICC(ST的内部电路通信协议)接口连接目标应用或评估板。工具套件中包括用于这三个系列的10、14和20针适配器,该工具通过其与PC主机相连的USB线供电,无需另连接电源。 这个硬件开发具采用Raisonance的集成开发环境(RIDE),通过图形用户界
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved