打印
[其它应用]

指令什么时候执行

[复制链接]
326|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songqian17|  楼主 | 2023-5-16 19:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG 0000H
JMP RESET
RTNI
RTNI
RTNI
JMP PORT_ISP ORT 中断服务程序入口地址
;*******************************************
; 子程序: PORT 中断服务程序
;*******************************************
PORT_ISP:
STA AC_BAK,00H ;备份AC 值
LDI IRQ,00H ;清中断请求标志
PORT_ISP_END:
LDA AC_BAK,00H ;取出AC 值
RTNI ;返回
;*******************************************
; 上电程序
;*******************************************
RESET:
NOP
;--------------------------------------
; 清用户寄存器
POWER_RESET:
LDI DPL,00H
LDI DPM,02H
LDI DPH,00H ;从$20 开始
POWER_RESET_1:
LDI INX,00H
ADIM DPL,01H
LDI TMP,00H
ADCM DPM,00H
BA3 POWER_RESET_2
JMP POWER_RESET_3
POWER_RESET_2:
ADIM DPH,01H
POWER_RESET_3:
SBI DPH,02H ;到$16F 结束
BNZ POWER_RESET_1
SBI DPM,07H
BNZ POWER_RESET_1
;--------------------------------------
; 初始化系统寄存器
SYSTEM_INITIAL:
;初始化I/O 口
78
LDI PORTB,00H
LDI PBCR,00H ;设置PORTB 口作为输入口
LDI PORTD,00H
LDI PDCR,0FH ;设置PORTD 口作为输出口, 输出低电平
;************************************************
; 主程序
MAIN:
;**************************************
; 模块: PORT 中断设置
;**************************************
PORT_INT_SET:
LDI SETTING,1100B ;端口上拉电阻使能, PORT 中断设置为下降沿中断
LDI PORTB,0FH ;打开PORTB 口上拉电阻
LDI PORTC,0FH ;打开PORTC 口上拉电阻
NOP ;等待稳定
NOP
NOP
LDI IRQ,00H ;清中断请求标志
LDI IE,0001B ;打开PORT 中断
HALT ;进入HALT 模式
NOP ;单片机从HALT 模式被PORT 中断唤醒
NOP
;**************************************
; 检测按键状态
KEY_CK:
LDA PORTB,00H ;读PORTB 口状态
STA TMP,00H ;暂存于临时寄存器
SBI TMP,0FH
BAZ PORT_INT_SET ;全为高电平, 则为干扰, 回到HALT 模式
CALL DELAY ;调用延时子程序延时40ms 以去抖动
LDA PORTB,00H ;再读PORTB 口
SUB TMP,00H ;比较前后两次电平状态
BNZ PORT_INT_SET ;不相等则为按键抖动, 回到HALT 模式
;确认有按键按下
EORIM TMP,0FH ;将读到的值取反, 得到正逻辑的键值
STA KEY_ST,00H ;把键值送给按键状态寄存器
KEY_CK_END:
;---------------------------------
; 显示按键状态
DISP:
LDA KEY_ST,00H
STA PORTD,00H ;将按键状态送到PORTD 口, 通过LED 进行显示
DISP_END:
;**************************************
JMP MAIN ;返回主程序
;**************************************
; 子程序: 延时大约40ms
;**************************************
DELAY:
LDI CT1,09H
LDI CT0,0EH
SBIM CT0,01H
BC $-1
SBIM CT1,01H
BC $-4
RTNI
79
;************************************************
END
上面那个程序中JMP PORT_ISP 这条指令什么时候执行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

463

主题

5749

帖子

1

粉丝