第一章 單片機(jī)原理及C語言
參考書籍:《基于MSP430單片機(jī)的控制系統(tǒng)設(shè)計(jì)》 陳中 清華大學(xué)出版社 2017年1版
常見I/O相關(guān)寄存器操作:
- PxDIR:方向控制寄存器 (1為輸出)
- PxIN:輸入寄存器 (讀引腳電平)
- PxOUT: 輸出寄存器(1上拉電阻)
- PxSEL:功能選擇 (1為外圍功能)
- PxIE:中斷允許寄存器
- PxIES:中斷沿選擇
- PxIFG:中斷編制位寄存器
中斷服務(wù)函數(shù):
#prama vector = 中斷源
void 函數(shù)名字
例如:
#prama vector=TIMERA0_VECTOR
_interrupt void Timer_A(void)
{
}
注意:中斷函數(shù)盡量短廊酣,且不再調(diào)用其他函數(shù)预吆,為了運(yùn)行更快造锅,防止產(chǎn)生新中斷
常用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)
自制頭文件
在同一文件夾中咖耘,創(chuàng)建delay.h
然后在主程序中添加一行代碼
#include "delay.h"
即可使用delay.h
中的函數(shù)暇咆。
#include "delay.h"
和#include <delay.h>
是一回事陨溅。