Program NewProgram;
// 本程序使用 Turbo51( https://turbo51.com/ ) 单片机 PASCAL 编译器
//
//
// 本程序测试外部中断 1
// CPU 电路图请看 实例 1
// 8051 单片机外部中断有两个: EX0 和 EX1 , 对应 IO为 P3.2 和 P3.3
// KEY1 接在 P3.3上,本实验将以低电平触发 外部中断 1
uses
Delay;
const
BEEP_ON=FALSE; // 低电平开蜂鸣
BEEP_OFF=TRUE; // 高电平关蜂鸣
var
LED:byte absolute P1 ;
FM:boolean absolute P0.7 ;
// 定义中断程序 ,中断号External1在 system 中定义
procedure OnKeypress; interrupt External1 ; using 2;
begin
LED:=NOT LED ;
end;
begin // 相当于 main
// 环境初始化
EA:=True; // 全局中断开
EX1:=True ; // 外部中断 1 开
IT1:=FALSE ; // 设置为低电平触发中断 1
LED:=$FF ; // 全不亮
FM:=BEEP_OFF ;
// 循环里的命令可以中断同步进行
while true do begin
Delayms(500);
FM:=NOT FM;
end;
end. // main end