1、12位A/D转换器,内部参考电压,采用保持电路。16位定时器 A, 3个捕获/比较寄存器。16 位定时器 B, 7 个捕获 /比较寄存器。4个通用串口: USCI_A0 和 USCI_A1、 USCI_B0 和 USCI_B1(I2C、 SPI)。 60kB+256B的flash程序存储器,2kB的RAM数据存储器。64引脚QFP封装。MSP430F249单片机的芯片封装形式如图2.1所示,各引脚的功能描述如表 2-1 所列。2.1.2 MSP430F249单片机的基本结构MSP430F24x系列单片机功能结构示意图如图 2.2所示。(1)CPU简介MSP430单片机的CPU为16位RISC精
2、简指令集的处理器,只有27条正交 汇编指令和 7 种寻址方式。 RISC 处理器基本上是为高级语言所设计的,编译程 序对正交指令系统很容易做到最优化,利于产生高效紧凑的代码。 MSP430CPU 中集成了 16个16位通用寄存器R0R15,其中R0R3分别复用为程序指针PC、 堆栈指针SP、状态寄存器SR和常数发生器CG1/CG2。这些寄存器之间的操作 只需要一个 CPU 周期。1)程序计数器(PC指针)也就是CPU专用寄存器R0, PC指针是一个16 位寄存器,可以寻址64kB的空间。MSP430单片机的指令长度以字(16位)为 最小单位,而程序存储器单元以字节(8位)为单位,所以PC的值总
3、是偶数。Jmstg.sdHo./9.9dInoMA空 Hinoe 二匕 sd-nMxSEavoa总 = 廉AG 爰OOEJOEJtJQOOEJtJOOOLJO63 Q 59 50 57 56 55 54 53 52 &1 50 492.1 MSP430F249单片机引脚图RSTNMI图2.2 MSP430F24x系列单片机功能结构示意图表2-1MSP430F249单片机引脚描述引脚名称引脚号说明AVCC64模拟电源正端,仅用于 ADC12模块AVSS62模拟电源负端,仅用于 ADC12模块DVCC1电源正端,1.83.6VDVSS63电源负端P1.0/TACLK/CAOUT12通用数字I/O/
4、定时器_A时钟信号输入/比较器A输岀P1.1/TA013通用数字I/O/定时器_A比较out0输出或捕获CCI0A输入/BSLP1.2/TA114通用数字I/O/定时器_A比较out1输出或捕获CCI1A输入P1.3/TA215通用数字I/O/定时器_A比较out2输出或捕获CCI2A输入P1.4/SMCLK16通用数字I/O/SMCLK输出P1.5/TA017通用数字I/O/定时器_A比较out0输出P1.6/TA118通用数字I/O/定时器_A比较out1输出P1.7/TA219通用数字I/O/定时器_A比较out2输出P2.0/ACLK/CA220通用数字I/O/ACLK输出/比较器A输
5、入P2.1/TAINCLK/CA321通用数字I/O/定时器A时钟信号INCLK/比较器A输入P2.2/CAOUT/TA0/CA422通用数字I/O/定时器A捕获CCI0B输入/比较器A输出/BSL接收/比较器A输入P2.3/CA0/TA123通用数字I/O/比较器A输入/定时器A比较out1输出P2.4/CA1/TA224通用数字I/O/比较器A输入/定时器A比较out2输出P2.5/ROSE/CA525通用数字I/O/DCO外部电阻输入/比较器A输入P2.6/ADC12CLK/CA626通用数字I/O/ADC12转换时钟/比较器A输入P2.7/TA0/CA727通用数字I/O/定时器A比较
6、out0输出/比较器A输入P3.0/UCB0STE/UCA0CLK28通用数字I/O/USCI B0从模式传输允许/USCI A0时钟P3.1/UCB0SIMO/UCB0SDA29通用数字l/O/USCI B0从模式输入/主模式输出SDAP3.2/UCB0SOMI/UCB0SCL30通用数字I/O/ USCI B0从模式输出/主模式输入SPIP3.3/UCB0CLK/UCA0STE31通用数字I/O/USCI B0时钟/USCI A0从模式传输允许P3.4UCA0TXD/UCA0SIMO32通用数字I/O/UART模式USCI A0 数据输出/SPI模式SIMOP3.5/UCA0RXD/UCA
7、0S0MI33通用数字I/O/P3.6/UCA1TXD/UCA1SIMO34通用数字I/O/ UART模式USCI A1数据输出/SPI模式SIMOP3.7/UCA1RXD/UCA1SOMI35通用数字I/O/ UART模式USCI A1数据输入/SPI模式SOMIP4.0/TB036通用数字I/O/定时器 B比较out0输出或捕获CCI0A/B输入P4.1/TB137通用数字I/O/定时器 B比较out1输出或捕获CCI1A/B输入P4.2/TB238通用数字I/O/定时器 B比较out2输出或捕获CCI2A/B输入P4.3/TB339通用数字I/O/定时器 B比较out3输出或捕获CCI3
8、A/B输入P4.4/TB440通用数字I/O/定时器 B比较out4输出或捕获CCI4A/B输入P4.5/TB541通用数字I/O/定时器 B比较out5输出或捕获CCI5A/B输入P4.6/TB642通用数字I/O/定时器 B比较out6输出或捕获CCI6A/B输入P4.7/TBCLK43通用数字I/O/定时器B时钟输入P5.0/UCB1STE/UCA1CLK44通用数字I/O/USCI B1从模式传输允许/USCI A1时钟P5.1/UCB1SIMO/UCB1SDA45通用数字I/O/USCI B1 SPI模式SIMO/I2C模式SDAP5.2/UCB1SOMI/UCA1SCL46通用数字
9、I/O/ USCI B1 SPI模式SOMI/I2C模式SCLP5.3/UCB1CLK/UCA1STE47通用数字I/O/USCI B1时钟/USCI A1从模式传输允许P5.4/MCLK48通用数字I/O/MCLK输出P5.5/SMCLK49P5.6/ACLK50通用数字I/O/ACLK输出P5.7/TBOUTH/SVSOUT51通用数字I/O/定时器TB0TB6PWM输出高阻态选择位/SVS比较器输出P6.0/A059通用数字I/O/模拟量输入A0P6.1/A160通用数字I/O/模拟量输入A1P6.2/A261通用数字I/O/模拟量输入A2P6.3/A32通用数字I/O/模拟量输入A3P
10、6.4/A43通用数字I/O/模拟量输入A4P6.5/A54通用数字I/O/模拟量输入A5P6.6/A65通用数字I/O/模拟量输入A6P6.7/A7/SVSIN6通用数字I/O/模拟量输入A7/SVS输入XT2OUT52晶振XT2XT2IN53RST/NMI58复位输入/非屏蔽中断输入TCK57JTAG 口测试时钟TDI/TCLK55JTAG 口测试数据输入/测试时钟输入TDO/TDI54JTAG 口测试数据输出TMS56JTAG 口测试模式选择VEREF+10外部参考电压输入VREF+7ADC12参考电压正端输岀VREF-/VEREF-11参考电源负端XIN8晶振XT1XOUT92)堆栈指
11、针SP为CPU专用寄存器R1, SP指针为16为寄存器,也总是偶 数的。堆栈是在片内RAM中实现的,通常将堆栈指针设置为片内 RAM的最高 地址加一。使用C语言编程时,集成编译软件IAR会自动设置堆栈指针初始值。 对程序员来说无需关心细节,编译结束后在信息窗提示的编译结果会给出 RAM使用量的大小,只要不超过 RAM区实际容量并稍留余量给堆栈用即可。使用 汇编语言编程时必须注意堆栈指针的正确设置,否则堆栈可能会覆盖你的变量 区,导致程序出错。3)状态寄存器SR和常数发生器CG1、CG2 (见数据手册) 状态寄存器SR159保留V:SCG1:SCG0OSCOFFCPUOFFGIENZCV 溢出标志,当算术运算结果超出有符号数范围时置位。SCG1 系统时钟控制位1,该位置位时关闭SMCLKSCG0 系统时钟控制位0,如果DCO未用作MCLK或SMCLK时,该 位置位关闭DCO。OSCOFF 晶振控制位,如果 LFXT1未用作MCLK或SMCLK时,该位置 位关闭LFXT1 0CPUOFF CPU控制位,该位置位时关闭 CPU。GIE 总中断允许位,该位置位时允许可屏蔽中断;复位时禁止所有的可屏蔽中断。N 负数标志位,当运算结果为负时置位;否则复位。Z 零标志位,当运算结果为零时置位;C 进位标
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1