msp430串行通信.docx

上传人:b****7 文档编号:8923427 上传时间:2023-02-02 格式:DOCX 页数:16 大小:26.74KB
下载 相关 举报
msp430串行通信.docx_第1页
第1页 / 共16页
msp430串行通信.docx_第2页
第2页 / 共16页
msp430串行通信.docx_第3页
第3页 / 共16页
msp430串行通信.docx_第4页
第4页 / 共16页
msp430串行通信.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

msp430串行通信.docx

《msp430串行通信.docx》由会员分享,可在线阅读,更多相关《msp430串行通信.docx(16页珍藏版)》请在冰豆网上搜索。

msp430串行通信.docx

msp430串行通信

USART串行异步模式

MSP430F14USART0异步方式中断控制位

特殊功能寄存器

接收中断控制位

发送中断控制位

IFG1

接收中断标志URXIFG0

发送中断标志UTXIFG0

IE1

接收中断使能URXIE0

发送中断使能UTXIE0

ME1

接收允许URXE0

接收允许UTXE0

MSP430F14USART1异步方式中断控制位

特殊功能寄存器

接收中断控制位

发送中断控制位

IFG2

接收中断标志URXIFG1

发送中断标志UTXIFG1

IE2

接收中断使能URXIE1

发送中断使能UTXIE1

ME2

接收允许URXE1

接收允许UTXE1

 

在MSP430器件中有的型号有两个通信硬件模块USART0和USART1,因此他们有两套

寄存器.请看下表:

USART0的寄存器

寄存器

缩写

读写类型

地址

初始状态

控制寄存器

U0CTL

读/写

070H

PUC后001H

发送控制寄存器

U0TCTL

读/写

71H

PUC后001H

接收控制寄存器

U0RCTL

读/写

72H

PUC后000H

波特率调整控制寄存器

U0MCTL

读/写

73H

不变

波特率控制寄存器0

U0BR0

读/写

74H

不变

波特率控制寄存器1

U0BR1

读/写

75H

不变

接收缓冲器

U0RXBUF

76H

不变

发送缓冲器

U0TXBUF

读/写

77H

不变

SFR模块使能寄存器1

ME1

读/写

004H

PUC后000H

FR模块使能寄存器1

IE1

读/写

000H

PUC后000H

FR模块使能寄存器1

IFG1

读/写

002H

PUC后082H

USART1的寄存器

寄存器

缩写

读写类型

地址

初始状态

控制寄存器

U1CTL

读/写

078H

PUC后001H

发送控制寄存器

U1TCTL

读/写

79H

PUC后001H

接收控制寄存器

U1RCTL

读/写

7AH

PUC后000H

波特率调整控制寄存器

U1MCTL

读/写

7BH

不变

波特率控制寄存器0

U1BR0

读/写

7CH

不变

波特率控制寄存器1

U1BR1

读/写

7DH

不变

接收缓冲器

U1RXBUF

7EH

不变

发送缓冲器

U1TXBUF

读/写

7FH

不变

SFR模块使能寄存器1

ME2

读/写

005H

PUC后000H

FR模块使能寄存器1

IE2

读/写

001H

PUC后000H

FR模块使能寄存器1

IFG2

读/写

003H

PUC后020H

UxCTL控制寄存器

7

6

5

4

3

2

1

0

PENA

PEV

SPB

CHAR

LISTEN

SYNC

MM

SWRST

PENA校验允许位

0校验禁止

 

1校验允许

校验允许时,发送端发送校验,接收端接收该校验,地址位多机模式中,地址

位包含校验操作.

PEV奇偶校验位,该位在校验允许时有效

0奇校验

1偶校验

SPB停止位选择.决定发送的停止位数,但接收时接收器只检测1位停止位.

01位停止位

12位停止位

CHAR字符长度

07位

18位

LISTEN反馈选择.选择是否发送数据由内部反馈给接收器

0无反馈

1有反馈,发送信号由内部反馈给接收器

SYNCUSART模块的模式选择

0UART模式[异步]

1SPI模式[同步]

MM多机模式选择位

0线路空闲多机协议

1地址位多机协议

SWRST控制位

上电时该位置位,此时USART状态机和运行标志初始化成复状态

(URXIFG=0,URXIE=0,UTXIE=0,UTXIFG=1)。

所有受影响的逻辑保持在复位状态,直至

SWRST复位。

也就是说一次系统复位后,只有对SWRST复位,USART才能重新被允许。

而接收和发送允许标志URXE和UTXE不会因SWRST而更改。

SWRST位会使URXIE、UTXIE、URXIFG、RXWAKE、TXWAKE、RXERR、BRK、PE、OE

及FE等复位。

在串行口使用设置时,这一位起重要的作用。

一次正确的USART模块初始化应

该是这样设置过程的:

先在SWRST=1时设置,设置完串口后再设置SWRST=0;最后

如需要中断,则设置相应的中断使能。

UxTCTL发送控制寄存器

7

6

5

4

3

2

1

0

未用CKPLSSEL1SSEL0URXSETXWAKE未用TXEPT

CKPL时钟极性控制位

0UCLKI信号与UCLK信号极性相同

1UCLKI信号与UCLK信号极性相反

SSEL1、SSEL0时钟源选择,此两位确定波特率发生器的时钟源

0外部时钟UCLKI;

1辅助时钟ACLK

2子系统时钟SMCLK

3子系统时钟SMCLK

URXSE接收触发沿控制位

0没有接收触发沿检测

1有接收触发沿检测

TXWAKE传输唤醒控制

0下一个要传输的字符为数据

1下一个要传输的字符是地址

 

TXEPT发送器空标志,在异步模式与同步模式时是不一样的。

0正在传输数据或者发送缓冲器(UTXBUF)有数据

1表示发送移位寄存器和UTXBUF空或者SWRST=1

 

URCTL接收控制寄存器

7

6

5

4

3

2

1

0

FE

PE

OE

BRK

URXEIE

URXWIE

RXWAKE

RXERR

FE帧错误标志位

0没有帧错误

1帧错误

PE校验错误标志位

0校验正确

1校验错误

OE溢出标志位

0无溢出

1有溢出

BRK打断检测位

0没有被打断

1被打断

URXEIE接收出错中断允许位

0不允许中断,不接收出错字符并且不改变URXIFG标志

1允许中断,出错字符接收并且能够置位URXIFG

URXWIE接收唤醒中断允许位,当接收到地址字符时,该位能够置位URXIFG,当

URXEIE=0,如果接收内容有错误,该位不能置位URXIFG。

0所有接收的字符都能够置位URXIFG

1只能接收到地址字符才能置位URXIFG

在各种条件下URXEIE和URXWIE对URXIFG的影响

URXEIE

URXWIE

字符出错

地址字符

接收字符后的标志位

URXIFG

0

X

1

X

不变

0

0

0

X

置位

0

1

0

0

不变

0

1

0

1

置位

1

0

X

X

置位(接收所有字符)

1

1

X

0

不变

1

1

X

1

置位

RXWAKE接收唤醒检测位。

在地址位多机模式,接收字符地址位置位时,该机被唤醒,在线路空闲多机模式,在接收到字符前检测到URXD线路空闲时,该机被唤起,RXWAKE置位。

0没有被唤醒,接收到的字符是数据

1唤醒,接收的字符是地址

RXERR接收错误标志位

0没有接收错误

1有接收到错误

UxBR0、UxBR1波特率选择寄存器这两个寄存器是用于存放波特率分频因子的整数部分。

UxBR0波特率选择寄存器0

7

6

5

4

3

2

1

0

27

26

25

24

23

22

21

20

UxBR1波特率选择寄存器1

7

6

5

4

3

2

1

0

 

2152142132122112102928

 

UxMCTL波特率调整控制寄存器

7

6

5

4

3

2

1

0

M7

M6

M5

M4

M3

M2

M1

M0

若波特率发生器的输入频率BRCLK不是所需波特率的整数倍,带有一小数,则

整数部分写UBR寄存器,小数部分由调整寄存器UxMCTL的内容反映。

波特率由以下

公式计算:

波特率=BRCLK/(UBR+(M7+M6+…M0)/8)

URXBUF接收数据缓存

7

6

5

4

3

2

1

0

接收缓存存放移位寄存器最后接收的字符,可由用户访问。

读接收缓存可以复

位接收时产生的各种错误标志、RXWAKE位和URXIFGx位。

如果传输7位数据,接收

缓存内容右对齐,最高位为0。

当收接和控制条件为真时,接收缓存装入当前接收到的字符。

当接收和控制条件为真时接收数据缓存结果

条件

结果

URXEIE

URXWIE

装入URXBUF

PE

FE

BRK

0

1

无差错地址字符

0

0

0

1

1

所有地址字符

X

X

X

0

0

无差错字符

0

0

0

1

0

所有字符

X

X

X

UTXBUF发送数据缓存

7

6

5

4

3

2

1

0

发送缓存内容可以传至发送移位寄存器,然后由UTXDx传输。

对发送缓存进行

写操作可以复位UTXIFGx。

如果传输出7位数据,发送缓存内容最高为0。

常用波特率及其对应设置参数与对应误差表

 

baudrate

Divideby

ACLK[32768HZ低频振荡器]

MCLK[1048576HZ高频振荡器]

 

ACLK

 

MCLK

Ux

BR

1

UxBR0

UxMCTL

Max.TXError/%

Max.RXError

/%

SynchrTXError/%

 

UxBR1

Ux

BR

0

UxMCTL

Max.TXError

/%

Max.RXError/%

75

436.

91

1398

1

1

B4

FF

-0.3/0.3

-0.3/

0.3

±2

36

9D

FF

0/0.1

±2

 

CPU的状态寄存器SR

15-9

8

7

6

5

4

3

2

1

0

保留

V

SCG1

SCG0

OscOff

CPUoff

GIE

N

Z

C

V溢出标志

SCG1SCG0时钟控制位

SCG1置位关闭SMCLK

SCG0置位关闭DCO发生器

OscOff晶体振荡控制位

置位OscOff使晶体振荡器处于停止状态,置位OscOff同时CPUoff位也置

位。

可用NMI或外部中断(系统当前中断允许)将CPU唤醒。

CPUoffCPU控制位

置位CPUoff可使CPU进入关闭模式,可以用所中断允许将CPU唤醒。

GIE全局中断标志位

控制可屏蔽中断

GIE置位CPU可响应可屏蔽中断

GIE置位CPU不响应可屏蔽中断

N负标志

Z零标志

C进位标志

特殊功能寄存器

系统中断处理

当各模块发生中断请求时并且相应的中断允许和通用中断允许位(GIE)置位时,中断服务程

序按以下顺序动作:

[1]CPU处于活动状态:

完成当前所执行的指令.

[2]CPU处于停止状态:

低功耗模式终止.

[3]指向下一条指令的PC值压入堆栈.

[4]SR压入堆栈

[5]如果在执行上条指令时已发生多个中断请求等待服务,则选择最高优先级者.

[6]单中断源标志的中断请求位自动复位,多中断源标志仍保持置位等待软件服务.

[7]通用中断允许位GIE复位;CPUoff位、OSCOff位和SCG1位置位;状态位V、N、Z和C复位;SCG0位保持不变.

[8]相应的中断向量值装入PC,程序从此地址继续执行中断处理.

ME1模块允许寄存器1

7

6

5

4

3

2

1

0

UTXE0

URXE0/USPIE0

初始状态:

PUC后为000H

UTXE0USART0发送允许位

0不允许

1可允许

URXE0USART0接收允许位

0不允许

1可允许

USPIE0USART0发送与接收允许位(在SPI模式)

 

IFG1中断标志寄存器1

7

6

5

4

3

2

1

0

UTXIFG0

URXIFG0

NMIIFG

OFIFG

WDTIFG

初始状态:

PUC后为082H

UTXIFG0USART0发送中断标志位(F14、15、16、44)

此位上电为UTXIFG0=1,表示可以向发送缓冲器写操作。

对发送缓存进行

写操作时可以复位UTXIFG0。

URXIFG0USART0接收中断标志位(F14、15、16、44)

0无接收到有效字符

1接收到有效字符,读接收缓存可以复位接收时产生的各种错误标志、

RXWAKE位和URXIFGx位。

NMIIFGNMI/RST引脚信号位

OFIFG振荡器失效时置位

0无振荡器失效

1振荡器失效,当XT扫荡器丢失大约100个振荡周期时设置TX振荡器失效

标志OSCFault。

OSCFault标志设置振荡器失效中断标志OFIFG,如果这时振荡器失

效中断允许(OFIE)置位,则将产生非屏蔽中断请求。

OFIFG标志必须由用户软件来

清除。

WDTIFG看门狗中断标志

看门狗模式时溢出或密钥不符时产生置位

IE1中断使能寄存器1

7

6

5

4

3

2

1

0

UTXIE0

URXIE0

ACCVIE

NMIIE

OFIE

WDTIE

初始状态:

PUC后为000H

UTXIE0USART发送中断允许位

0不允许

1允许

URXIE0USART0接收中断使能位允许

0不允许

1允许

ACCVIEFLASH存贮器非法访问中断允许

NMIIENMI中断允许

OFIE振荡器失效中断允许

0不允许

1允许

WDTIE看门狗允许,选看门狗模式无效

0不允许

1允许

ME2模块允许寄存器1

7

6

5

4

3

2

1

0

UTIE1

URXE1/USPIE1

初始状态:

PUC后为000H

UTXE1USART1发送允许位

0不允许

1可允许

URXE1USART1接收允许位

0不允许

1可允许

USPIE1USART0发送与接收允许位(在SPI模式)

IFG2中断标志寄存器2

7

6

5

4

3

2

1

0

UTXIFG1

URXIFG1

初始状态:

PUC后为020H

UTXIFG1USART1发送中断标志位(F14、15、16、44)

此位上电为UTXIFG0=1,表示可以向发送缓冲器写字符。

对发送缓存进行写

操作时可以复位UTXIFG0。

URXIFG1USART1接收中断标志位(F14、15、16、44)

0无接收到有效字符

1接收到有效字符,读接收缓存可以复位接收时产生的各种错误标志、

RXWAKE位和URXIFGx位。

IE2中断使能寄存器2

7

6

5

4

3

2

1

0

UTXIE1

URXIE1

初始状态:

PUC后为000H

UTXIE1USART1发送中断允许位(F14、15、16、44)

URXIE1USART1接收中断允许位(F14、15、16、44)

 

所谓异步通讯是指通信双方有共同的时钟,通信双方使用各自的时钟,并约定使用同样的通细调,通信需要有16倍于波特率的时钟。

通过寄存器UxR00和UR10粗略调整波特率,再通过UMTL0进一步,通过UCTL0设置串行通信的模式,UTCL0设置产生波特使用的时钟。

设置时注意:

设置通信模块时应该使寄存器UTCL0的SWRT位置位,以便串行通信模块处于复位状态,设置完后再复位SWRT位

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1