MSP430G2553的UART与SPI应用.doc
文本预览下载声明
MSP430G2553的UART与SPI编程
MSP430的不同型号,其串行通讯工作模式是一样的。以MSP430G2553为例进行说明。MSP430G2553是20个引脚的16位单片机。具有内置的16位定时器、16k的FLASH和512B的RAM,以及一个通用型模拟比较器以及采用通用串行通信接口的内置通信能力。此外还具有一个10位的模数(A/D)转换器。其引脚排布如图1.1所示。其功能表如表1.1所示。
表1.1 MSP430G2553引脚功能表 引脚号 引脚名 引脚功能描述 1 DVCC 接电源 2 DVSS 接地 3 P1.0 通用I/O口、ADC10模拟输入A0(1) 、Comparator_A+,CA0输入、TIMER _A时钟信号TACLK输入、ACLK信号输出 4 P1.1/RXD 通用I/O 口、Timer0_A,捕捉:CCI0A输入,比较:Out0输出/ BSL发送、UART模式中USCI_A0接收数据输入、SPI模式中USCI_A0受控器数据输出/主控器输入、ADC10模拟输入A1 、Comparator_A+,CA1输入 5 P1.2/TXD 通用I/O 口、Timer0_A,捕获:CCI1A输入,比较:Out1输出、UART模式中USCI_A0发送数据输出、SPI 模式中USCI_A0受控器数据输入/主控器输出、ADC10模拟输入A2、Comparator_A+,CA2输入 6 P1.3 通用I/O 口、ADC10,转换时钟输出(1)、ADC10模拟输入A3、ADC10负基准电压、Comparator_A+,CA3输入、Comparator_A+,输出 7 P1.5 通用I/O 口、Timer0_A,比较:Out0输出/ BSL接收、USCI_B0时钟输入/输出、USCI_A0受控器发送使能、ADC10模拟输入A5、Comparator_A+,CA5输入、JTAG测试模式选择输入终端 8 P2.0 通用I/O 口、Timer1_A,捕获:CCI0A输入,比较:Out0输出 9 P2.1 通用I/O 口、Timer1_A,捕获:CCI1A输入,比较:Out1输出 10 P2.2 通用I/O 口、Timer1_A,捕获:CCI1B输入,比较:Out1输出 11 P2.3 通用I/O 口、Timer1_A,捕获:CCI0B输入,比较:Out0输出 12 P2.4 通用I/O 口、Timer1_A,捕获:CCI2A输入,比较:Out2输出 13 P2.5 通用I/O 口、Timer1_A,捕获:CCI2B输入,比较:Out2输出 14 P1.6 通用I/O 口、Timer0_A,比较:Out1输出、、ADC10模拟输入A6、Comparator_A+,CA6输入、SPI模式中USCI_B0受控器输出/主控器输入、I2C 模式中的USCI_B0SCLI2C 时钟、JTAG测试数据输入或测试时钟输入 15 P1.7 通用I/O 口、ADC10模拟输入A7、Comparator_A+,CA7输入、Comparator_A+,输出、SPI模式中的USCI_B0受控器输入/主控器输出、I2C 模式中的USCI_B0SDAI2C 数据输入、JTAG测试数据输出终端或测试数据输入 16 RST 复位、不可屏蔽中断输入、编程及测试期间的两线制(Spy-Bi-Wire) 测试数据输入/输出 17 TEST 为端口1上JTAG引脚选择测试模式、器件保护熔丝连接至TEST、编程及测试期间的Spy-Bi-Wire测试时钟输入 18 P2.6/XOUT 晶体振荡器的输出终端、通用I/O 口 19 P2.7/XIN 晶体振荡器的输入终端、通用I/O 口、Timer0_A,比较:Out1输出 20 DVSS 接地
串行通讯模块主要由三个部分组成:波特率生成部分、发送控制器以及接收控制器。如图1.2所示。
图1.2 串行通讯模块内部结构图
一、UART模式
在异步模式下,接收器自身实现帧的同步,外部的通讯设备并不使用这一时钟。波特率的产生是在本地完成的。异步帧格式由1个起始位、7或8个数据位、校验位(奇/偶/无)、1个地址位、和1或2个停止位。一般最小帧为9个位,最大为13位。
(一)UART的初始化
单片机工作的时钟源来自内部三个时钟或者外部输入时钟,由SSEL1、SSEL0,以决定最终进入模块的时钟信号BRCLK的频率。所以配置串行通讯的第一步就是选择时钟。
通过选择时钟源和波特率寄存器的数据来确定位周期。所以波特率的配置是串行通讯中最重要的一部分。波特率设置用三个寄存器实现:UxBR0(选择控制器0):波特率发生器分频系数低8位。UxBR1(选择控制器1):波特率发生器分频
显示全部