自制51單片機(jī)常用頭文件(中斷)
#define __CONFIG_H__
本文引用地址:http://m.butianyuan.cn/article/201611/317356.htm
/********************************/
/* "以下為系統(tǒng)配置" */
/********************************/
#include
#include
#include
/*****************************************************
函 數(shù) 名:void Clearmen(void)
功 能:系統(tǒng)初始化
說 明:對系統(tǒng)引腳變量及中斷進(jìn)行初始化
入口參數(shù):無
返 回 值:無
*****************************************************/
void Clearmen(void)
{
//***************** 中斷初始化 *****************
// 中斷允許寄存器IE
/*----------------------------------------------------
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
- - - - - - - - - - - - - - - - - - - - - - - -
| EA | | ET2 | ES | ET1 | EX1 | ET0 | EX0 |
-----------------------------------------------------*/
IE = 0x00; // "清除中斷"
EX0 = 0; // 0"外部中斷0允許"
ET0 = 1; // 1"定時器0中斷允許"
EX1 = 0; // 2"外部中斷1允許"
ET1 = 0; // 3"定時器1中斷允許"
ES = 0; // 4"串行中斷允許"
ET2 = 0; // 5"定時器2中斷允許"-52才有
EA = 1; // "中斷總允許"
// 中斷優(yōu)先級管理寄存器IP
/*----------------------------------------------------
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
- - - - - - - - - - - - - - - - - - - - - - - -
| | | PT2 | PS | PT1 | PX1 | PT0 | PX0 |
-----------------------------------------------------*/
IP = 0x00; // "清除中斷優(yōu)先級"
PS = 0; // "串行中斷優(yōu)先"
PX0 = 0; // "外部中斷0"
PT0 = 1; // "定時器中斷0"
PX1 = 0; // "外部中斷1"
PT1 = 0; // "定時器中斷1"
// 定時器控制寄存器TCON
/*----------------------------------------------------
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
- - - - - - - - - - - - - - - - - - - - - - - -
| TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
- - - - - - - - - - - - - - - - - - - - - - - -
| 用于定時器 | 用于外中斷 |
-----------------------------------------------------*/
TCON = 0x00;
IT0 = 0; // "外部中斷0觸發(fā)方式 0=電平 1=邊沿"
IE0 = 0; // "外部中斷0申請標(biāo)志"
IT1 = 0; // "外部中斷1觸發(fā)方式 0=電平 1=邊沿"
IE1 = 0; // "外部中斷1申請標(biāo)志"
TR0 = 0; // "T0運(yùn)行控制"
TF0 = 0; // "T0溢出標(biāo)志"
TR1 = 0; // "T1運(yùn)行控制"
TF1 = 0; // "T1溢出標(biāo)志"
// 定時器模式控制寄存器TMOD
/*----------------------------------------------------
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
- - - - - - - - - - - - - - - - - - - - - - - -
|GATE| C/T| M0 | M1 |GATE | C/T | M0 | M1 |
- - - - - - - - - - - - - - - - - - - - - - - -
| 高4位用于T1 | 低4位用于T0" |
-----------------------------------------------------*/
TMOD=0x01; // 定時器T0、T1為16位定時模式1
TH0=0x3C;TL0=0xB0; // 定時器0賦初值
}
#endif
評論