• 在中断服务程序中用下面2条指令撤消中断 请求: • ANL P1,#0FEH ;是P1.0输出0 • ORLP1,#01H ;是P1.0输出1 • 这两条指令执行后,是P1.0输出一个负脉冲, 其持续时间为2个机器周期,足以使D触发 器置位,而撤消端口外部中断请求。
5.5 扩充外部中断的方法
例:在20H单元存放两位16进制数,编程将它们 分别转换成ASCII码并存入21H、22H单元。
• • • • • • • • • • • ORG 2000H MOV SP,#50H MOV DPTR,#TAB PUSH 20H ACALL HASC POP 21H MOV A,20H SWAP A PUSH ACC ACALL HASC POP 22H ORG 2200H HASC:DEC SP DEC SP POP ACC ANL A,#0FH MOVC A,@A+DPTR PUSH ACC INC SP INC SP RET TAB:DB ‘01234567’ DB ‘89ABCDEF’
2.串行口控制寄存器SCON(98H)
• RI和TI:串行口内部表示中断申请标志位。 串行口接收中断RI和发送中断TI逻辑“或” 以后作为内部的一个中断源。当串行口发 送或接收完一帧数据时,将SCON中的TI或 RI位置1,向CPU申请中断。在CPU响应串 行口的中断时,并不清零TI和RI中断标志, TI和RI必须由软件清0。 • 定时器的溢出中断TF:硬件中断、硬件清 零。
• IE1:外部中断 INT1(P3.3)请求标志位。当CPU检测 到在引脚上出现的外部中断信号(低电平或脉冲下 降沿)时,由硬件置位IE1=1,请求中断。 • IT1:外部中断请求类型(触发方式)控制位。 – IT1=0:外部中断1程控为电平触发方式 ;当 (P3.3) 输入低电平时,置位IE1=1,申请中断。 – IT1=1:外部中断1程序控制为边沿触发方式 ; CPU在每个机器周期的S5P2采样 (P3.3)输入电平。 若相继的两次采样,一个周期采样为高电平,接 着下个周期采样为低电平,置位IE1=1,表示外部 中断1正在向CPU申请中断,直到该中断被CPU响 应时,IE1由硬件自动清0。