89C51的P1口接一个共阳极的数码管,利用消抖开关产生中断请求信号,每来回拨动一次开关,产生一次中断,用数码管显示中断次数(不超过15次)

wdydq 2007-11-13 10:51:48
89C51的P1口接一个共阳极的数码管,利用消抖开关产生中断请求信号,每来回拨动一次开关,产生一次中断,用数码管显示中断次数(不超过15次)
ORG 0000H
AJMP MAIN
ORG 0013H
AJMP INT1 (这句老是提示有错?) 清高手指点这句
ORG 0030H
MAIN: SETB IT1
SETB EX1 ;允许INT1中断
SETB EA ;开中断开关
MOV R0,#0
MOV A,#0c0h
AL1: MOV P0,A
AL2: CJNE R0,#0FH,AL1
MOV R7,#0FFH
DJNZ R7,$
MOV P0,#0
CLR EA
SJMP $
INT1: INC R0 有错看看
MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
POP DPH
POP DPL
MOV DPTR,#AL1
PUSH DPL
PUSH DPH
RETI
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB 80H,90H,88H,83H,0C0H,0A1H,86H,8EH
END
...全文
646 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yestoyes 2008-04-11
  • 打赏
  • 举报
回复
INT1是保留字吧
wodexintailuangood 2007-11-16
  • 打赏
  • 举报
回复
同意楼上
lhddomain 2007-11-15
  • 打赏
  • 举报
回复
同意2楼
lhddomain 2007-11-15
  • 打赏
  • 举报
回复
INT1 不能做 标号 使用, 请改一下:KEY_INT1 .
ofourme 2007-11-15
  • 打赏
  • 举报
回复
INT0是编译器预定义的关键字,改成别的吧。

也可以在前面加上$NOMOD51,把所有默认符号去掉,
不过这样自T0、ACC等符号地址都要自己定义了,不建议这样做。
lbing7 2007-11-13
  • 打赏
  • 举报
回复
给你一个框架,希望有点帮助

初始化

A:检查标志

如果标志被置

显示(数)

清除标志

LJMP A

中断处理:

修正(数)

置标志

返回

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧