
MSP430F149介绍文档.doc
4页1课程入门介绍MSP430 引脚介绍(芯片图参考数据手册第 3 页)58 脚 RST/NMI 为 430 单片机的复位引脚(低电平有效) 1 脚 DVCC,63 脚 DVSS 为数字电源接口64 脚 AVCC,62 脚 AVSS 为模拟电源接口注意:MSP430 系列单片机的供电电压为 1.8V~3.6V说明(在 MSP430 小系统中数字电源地与模拟电源地必须通过 0 欧电阻连接起来以防止数字电路产生的高频信号对模拟电路造成影响)32 脚 UTXD0,33 脚 URXD0 的第二功能为 MSP430F149 单片机两路串口通讯接口中的第一路 34 脚 UTXD1,35 脚 URXD1 的第二功能为 MSP430F149 单片机两路串口通讯接口中的第二路229 脚 SIMO0,30 脚 SOMI0,31 脚 UCLK0 的第二功能为 MSP430F149 单片机两路 SPI通讯接口中的第一路45 脚 SIMO1,46 脚 SOMI1,47 脚 UCLK1 的第二功能为 MSP430F149 单片机两路 SPI通讯接口中的第二路48 脚 的第二功能为 MSP430F149 单片机 MCLK(主系统时钟)的输出端49 脚 的第二功能为 MSP430F149 单片机 SCLK(子系统时钟)的输出端50 脚 的第二功能为 MSP430F149 单片机 ACLK(辅系统时钟)的输出端。
52 脚,53 脚 为外部高频时钟晶振输入端(程序中说明一般用 XT2CLK 或 HF XTAL 表示) 8 脚, 9 脚 为外部低频时钟晶振输入端(程序中说明一般用 LFXTICLK 表示) 59 脚 TA0,60 脚 TA1,61 脚 TA2,2 脚 A3,3 脚 A4,4 脚 A5,5 脚 A6,6 脚 A7 的第二功能为 8 路的内部 12 位 ADC 模拟电压输入端口54 脚 TDO/TDI,55 脚 TDI/TCLK,56 脚 TMS,57 脚 TCK 为 JTAG 接口(同时拥有仿真器和编程器的功能) ,用于下载程序并实现硬件仿真3具体引脚功能参考《MSP430 英文数据手册.pdf 》8 页I/O 口的操作P1~P6的公有寄存器位为PXSEL,PX DIR,PXOUT,P XIN其中P1,P2 相对于P3 ,P4 ,P5,P6 还多出了3个寄存器PX IE,P XIES,PXIFG ,这三个寄存器是用于设置开启P1,P2的外部触发中断使用的(其中X 可以为1,2,3,4,5 ,6)查看以上 I/O 口寄存器请参考 MSP430x1xx 系列用户使用手册.pdf 的 191 页。
以上各寄存器功能介绍(以 P3.4 为例):① P3SEL 用于功能选择,当其置 0 选择的是普通 I/O 口功能,置 1 选择的是第二功能;比如 32 脚 UTXD0 对应 P3.4,33 脚 URXD0 对应 P3.4P3SEL &= ~BIT4;// 该程序是将 P3.4 置 0,此时该引脚只具有普通 I/O 口功能P3SEL |= BIT4;// 该程序是将 P3.4 置 1,此时该引脚将具有异步串口通信功能② P3DIR 是用于设置 I/O 口输出方向的P3DIR &= ~BIT4; //该程序是将 I/O 口的方向设置为输入(一般用于读取数据时)P3DIR |= BIT4; //该程序是将 I/O 口的方向设置为输出③ P3OUT 是用于设置 I/O 口输出高低电平的P3OUT &= ~BIT4; ///该程序是使该 I/O 口输出高电平P3OUT |= BIT4; ///该程序是使该 I/O 口输出低电平④ P3IN 是用于读取外部输入到该引脚使用该寄存器前必须将 P3DIR 置 0比如设置一个变量 unsigned char A 用于存储从 P3IN 的第 4 位读取的值,程序如下P3DIR &= ~BIT4;A=P3IN;入门小程序(LED 灯闪烁):#include //引入所需头文件int i=0,j=0; //申明需使用的全局变量并初始化用于延时void Delay(); //申明子程序void main() //构建主程序{WDTCTL=WDTPW+WDTHOLD;//关闭看门狗(调试时必须关闭看门狗)P3SEL &= ~BI4; //选择 P3.4 作为普通 I/O 口功能P3DIR |= BIT4; //将 P3.4 设置为输出方向P3OUT |= BIT3; //使 P3.4 输出高电平(实验板上初始化灯的状态为熄//灭)while(1) { P3OUT ^= BIT4; //灯的状态取反Delay(); //调用延时子程序} } /*******以下是一个不精确的延时子程序 ********/void Delay(){ 4for(i=0;i<1000;i++)for(j=0;j<110;j++);}将该程序烧入 MSP430 测试,看现象。
开发板给出的源码程序通常使用以下程序作为延时程序i=50000;do(i--);while(i!=0);或i=50000;do{i--;}while(i!=0);如果一个程序只是用于流水灯,交通灯,那么延时或许不重要,但如果你需要操作外设比如液晶 LCD 或其他对时序要求比较严格的器件时,精确延时就显得尤其重要了。
