头文件
/********************************* 山东交通学院 ****************************************
* 实 验 名 :中断模板
* 实验平台 :Proteus
* 时 间:2022年5月12日10:40:11
* 作 者 :Color Stripes QQ :1401724065
****************************************************************************************/
#include<reg51.h>
#include<intrins.h>
延迟函数及时钟定义
#define FOSC 11059200L //晶振设置,默认使用11.0592M Hz
//#define FOSC 12000000L //晶振设置,使用12M Hz
//#define FOSC 24000000L //晶振设置,使用24M Hz
void Delayms(unsigned int ms) //延迟函数
{
unsigned int i,j;
for(i=0;i<ms;i++)
#if FOSC == 11059200L
for(j=0;j<114;j++);
#elif FOSC == 12000000L
for(j=0;j<123;j++);
#elif FOSC == 24000000L
for(j=0;j<249;j++);
#else
for(j=0;j<114;j++);
#endif
}
中断模板
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*
++++IE++++
定时器计数器控制位 | 中断控制位 操作位 | 作用
____________________________|_____________________________ —————————|———————————————————————————————————————
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 EA | 总中断开关位
———————|——————|——————|——————|——————|——————|——————|———————— —————————|———————————————————————————————————————
EA | -- | -- | ES | ET1 | EX1 | ET0 | EX0 ES | 串口中断允许位
———————|——————|——————|——————|——————|——————|——————|———————— —————————|———————————————————————————————————————
ET | 定时计数器中断允许位
—————————|———————————————————————————————————————
EX | 外部中断允许位
—————————|———————————————————————————————————————
*/
#define IE_EA 0
#define IE_ES 0
#define IE_ET1 0
#define IE_EX1 0
#define IE_ET0 0
#