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

发布者:EtherealGaze最新更新时间:2020-03-25 来源: eefocus关键字:MSP430  单片机  串行通讯模块 手机看文章 扫描二维码
随时随地手机看文章

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

 


图是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单片机串行通讯模块

上一篇:基于CCS工程MSP430串口升级(一)
下一篇:MSP430教程10:MSP430单片机WDT看门狗定时器

推荐阅读最新更新时间:2024-11-11 07:27

单片机波形发生器源码
程序源码 #include reg51.h #include intrins.h #include math.h #define uchar unsigned char #define uint unsigned int unsigned long Result,i; sbit SDA=P1^1; //PCF8591 接口 sbit SCL=P1^0; unsigned int a=0; // 波形采样点值 unsigned int b=0; unsigned int c=0; unsigned int bx_chang=0; unsigned int n=40; // 频率计算值 unsigned c
[单片机]
<font color='red'>单片机</font>波形发生器源码
【51单片机】STC89C52流水灯实验,含C代码(3)
1.参考教程: 清翔51单片机教程 2.基本原理 : 移位和延迟 3.程序 : #include reg52.h #include intrins.h //标准库函数 #define uint unsigned int #define uchar unsigned char uchar temp; //LED灯相关变量 //毫秒级延时函数定义 void delay(uint z) { uint x,y; for(x = z; x 0; x--) for(y = 114; y 0; y--); } void main() { temp = 0xfe; P1 = temp; //1111
[单片机]
基于GM管和单片机实现环境γ剂量率测量仪的设计
此仪器为测量环境中γ放射性剂量率浓度的测量仪表,分成探头和主机两大部分:其中探头由高低量程GM计数管、计数单元和通讯单元组成;主机由通讯、处理单元、键盘、和显示部分组成。 1 探头原理 1.1 盖革-弥勒计数管原理 GM管原理见图1。盖革-弥勒计数管(GM管)也称气体放电计数器。一个密封玻璃管,中间是阳极用钨丝材料制作,玻璃管内壁涂一层导电物质,或是一个金属圆管作阴极,内部抽空充惰性气体(氖、氦)、卤族气体。特点是工作电压低。 当射线进入计数管后气体被电离,负离子由阳极吸引移向阳极时,离子又与其他气体分子碰撞后产生多个次级电子,快到阳极时次极电子急剧倍增产生雪崩现象。雪崩引起阳极整条线上雪崩,发生放电,放电后空间电子又被
[测试测量]
基于GM管和<font color='red'>单片机</font>实现环境γ剂量率测量仪的设计
PIC单片机驱动LCD段驱动器的设计
4×4小键盘的典型数字接口使用8个数字I/O引脚。但使用8个引脚作为数字I/O会占用可用于连接LCD的段驱动器引脚的数量。 通过使用2个数字I/O引脚和2个模拟输入引脚,可以向PIC单片机添加一个4×4小键盘,而无需牺牲它的任何LCD段驱动器引脚。 下图中显示了小键盘连接示意图。示例中使用的是PIC18F8490,但该技术可以用于任意LCDPIC MCU。 图中使用的两个数字I/O引脚是RBO和RB5,也可以使用任意两个其他的数字I/O引脚。所使用的两个模拟引脚是ANO和AN1。 要读取小键盘,请遵循以下步骤: 1.首先,将RBO设计为输出高电平,将RB5设为输入(呈高阻抗)。 2.执行两次连续的A/D转换,先转换
[单片机]
PIC<font color='red'>单片机</font>驱动LCD段驱动器的设计
51单片机时钟精度误差的解决
前几天用STC89C52单片机制作了一个电子时钟,经过一段时间的实验,发现时间精度存在误差,一分钟慢4秒左右。 这可了不得,十分钟就要慢40秒,一天下来不得慢半96分钟!!! 这个单片机晶振频率为11.0592mhz,和大部分时钟的晶振频率相同,应该没有问题。 后天考虑到源代码: 在定时器中断函数里: void t0(void) interrupt 1 using 0 { tcount++; if(tcount==4000) {tcount=0; second++; if(second==60) {second=0; minute++; if(minut
[单片机]
单片机执行指令过程详解
单片机执行指令过程详解 单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。 计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。 一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们
[单片机]
<font color='red'>单片机</font>执行指令过程详解
51单片机实现矩阵键盘的单个触发
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: Matrix-KEY ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200508 ---- @ModifiedTime: 20200513
[单片机]
51<font color='red'>单片机</font>实现矩阵键盘的单个触发
工业级MCU的翘楚:集丰富模拟功能与片上资源于一身
Renesas(瑞萨电子)针对工业领域微控制器应用推出了RL78系列新产品R5F117BCGFP。该微控制器为16位MCU,采用CISC架构,具有三级流水线的,最高运行频率可达24MHz,结合其内部集成的丰富模拟功能和数字功能,以及一流的低功耗表现,在工业控制领域具有广泛的应用。目前,该产品已可通过世强订购。 模拟功能丰富 R5F117BCGFP集成了丰富的模拟功能,包括运算放大器、比较器、模数转换器等。该产品内部集成多达4路运算放大器,在高速运行模式下,其操作稳定等待时间仅为13us,完全满足一般模拟信号处理对速度的要求,外部配合简单的电阻、电容,即可完成对信号的放大、滤波等处理,节约了设计面积。R5F117BCGFP内
[工业控制]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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