📄 wint67.asm
字号:
;参考程序 A.汇编程序: WINT67.ASM
$include (c8051f020.inc)
ORG 0
AJMP main
ORG 93H ; 外部中断INT6的中断向量是0093H,.
AJMP INT6_ISR
ORG 9BH ;外部中断INT7的中断向量是009BH,.
AJMP INT7_ISR
ORG 0100H
;通用I/O口及交叉开关初始化
PORT_Init:
ORL P74OUT,#0fH ;设定P4,P5口为推挽输出
RET
;外中断6、7初始化
INT67_Init:
ORL EIE2,#30H ;允许外部中断6/7的请求,下降沿触发.
MOV P3IF,#0C0H;当检测到P3.6/P3.7引脚的下降沿时该标志位由硬件置位
RET
;外中断6中断服务程序
INT6_ISR:
ANL P3IF,#NOT(40H) ;关外部中断6标志
MOV A,P4
CPL A
MOV P4,A ;发光二极管状态改变
RETI
;外中断7中断服务程序
INT7_ISR:
ANL P3IF,#NOT(80H) ;关外部中断7标志
MOV A,P4
CPL A
MOV P4,A ;发光二极管状态改变
RETI
main: // 主程序
MOV WDTCN,#0deH ;禁止看门狗定时器
MOV WDTCN,#0adH
LCALL PORT_Init ;初始化I/O口
LCALL INT67_Init ;初始化外部中断6/7
SETB EA ;使能中断总控制位
LJMP $
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -