原理图和中文开发手册获取方法
TI官方MSP430F5529开发板原理图和中文开发手册,点击这个链接,跳转到git仓库。如果没有账号自行注册。
点击之后,会有一个下载,点击下载即可获取资料
点亮LED1
分析电路图
首先我们先查看LED的原理图,按ctrl+f查找——>输入LED1,即可找到LED部分的原理图。User LEDs是LED的电路图,User Buttons是按键的电路图(按键这个先不管)。
我们知道必须有电压差,才会有电流,我们看到原理图的LED是接地的,所以输入P1.0为高电平LED1亮,低电平LED1灭;P4.7为高电平,LED2亮,低电平LED2灭。
写程序,点亮LED1
现在我们需要点亮LED1,需要把P1.0为高电平。
1,首先我们需要告诉单片机,P1.0是输入还是输出
我们查看中文参考手册(位置是第八章,操作数字IO,输入/输出方向寄存器 PxDIR)可以知道当PxDIR(此处是x表示是哪一个引脚,P1引脚就是P1DIR,P2引脚就是P2DIR)为高电平是输出,低电平为输入。因为我们需要驱动LED1,所以P1是输出,P1DIR=0x01(此处意思是P1.0为输出,P1其他脚为输入。0x01= 0000 00001)。
2,配置电平
我们看手册介绍
(1)她说如果IO为输出,0为低电平,1为高电平。
(2)如果IO是输入,0表示下拉电平,1表示上拉电平。
此处我们的IO为输出,所以只需要看输出部分。即P1=0x01(此处表示P1.0是输出高电平,P1其他引脚为下拉输入,因为上面P1DIR=0x01,所以其他脚是输入)
3,实操
我们写入如下代码,此代码表示LED1亮
#include <msp430.h> /** * main.c */ int main(void) { WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer //P1.0为输出 P1DIR=0x01; //0x01=0000 0001,查看数据手册可知,P1.0为输出,P1其他脚为输入 //P1.0输出高电平 P1OUT=0x01; //0x01=0000 0001,查看数据手册可知,P1.0为输出高电平,P1其他脚为下拉输入 return 0; }
烧录程序
按照如下步骤烧录
注意,可能你下载过程与我的可能有些许偏差,但是影响不大,可能是你电脑窗口关闭过快,所以你认为没有弹出两个窗口。
两个窗口关闭之后弹出这个界面,点击运行程序
之后我们就可以看到LED1亮了
点亮LED2
程序
同理,我们可以尝试点亮LED2
#include <msp430.h> /** * main.c */ int main(void) { WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer //P4.7为输出 P4DIR=0x80; //0x80=1000 0000,查看数据手册可知,P4.7为输出,P4其他脚为输入 //P4.7输出高电平 P4OUT=0x80; //0x80=1000 0000,查看数据手册可知,P4.7为输出高电平,P4其他脚为下拉输入 return 0; }
结果
总结
1,输出电平我们只需要配置PxDIR和PxOUT。
2,PxDIR用于配置IO是输入还是输出
3,PxOUT,如果IO是输出,配置输出电平。如果IO为输入,配置IO为上拉还是下拉电平。