第一章 单片机原理及C语言
参考书籍:《基于MSP430单片机的控制系统设计》 陈中 清华大学出版社 2017年1版
常见I/O相关寄存器操作:
- PxDIR:方向控制寄存器 (1为输出)
- PxIN:输入寄存器 (读引脚电平)
- PxOUT: 输出寄存器(1上拉电阻)
- PxSEL:功能选择 (1为外围功能)
- PxIE:中断允许寄存器
- PxIES:中断沿选择
- PxIFG:中断编制位寄存器
中断服务函数:
#prama vector = 中断源
void 函数名字
例如:
#prama vector=TIMERA0_VECTOR
_interrupt void Timer_A(void)
{
}
注意:中断函数尽量短,且不再调用其他函数,为了运行更快,防止产生新中断
常用I/O端口操作的C语言描述
将P1.0口定义成输出且高电平:
P1DIR|=BIT0;
P1OUT|=BIT0;
或者
P1DIR|=0x01;
P1OUT|=0x01;
将P1.7口定义为输入且低电平:
P1DIR&=~BIT7;
P1OUT&=~BIT7;
或者
P1DIR|=0x7F;
P1OUT|=0x7F;
举一反三:
P1DIR&=~(BIT7+BIT1); P1OUT^=BIT0;
是什么意思?
判断寄存器某位是否为1:
if(P1IN&BIT0)
自制头文件
在同一文件夹中,创建delay.h
然后在主程序中添加一行代码
#include "delay.h"
即可使用delay.h
中的函数。
#include "delay.h"
和#include <delay.h>
是一回事。