×、 × ORG 0000H AJMP MAIN ORG 0003H AJMP WBI ORG 0030H MAIN: MOV P1,#0FH SETB IT0 SETB EX0 SETB EA SJMP $ WBI: MOV P1,#0FH MOV A,P1 SWAP A MOV P1,A RETI END 此例的执行现象是,每重置一次四个开关的开、合状态,四个发光二极管维持原来的亮、灭状态,仅当来回拔动消抖电路开关后,产生了中断,发光二极管才反映新置的开关状态。 例 89C51的P1口接一个共阴极的数码管,利用消抖开关产生中断请求信号,每来回拔动一 次开关,产生一次中断,用数码管显示中断的次数(最多不超过15次)。 ORG 0000H AJMP MAIN ORG 0013H AJMP INT1 ORG 0030H MAIN: SETB IT1 SETB EX1 SETB EA MOV R0,#0 MOV A,#3FH AL1: MOV P1,A AL2: CJNE R0,#0FH,AL1 MOV R7,#0FFH DJNZ R7,$ MOV P1,#0 ;关显示 CLR EA ;关中断 SJMP $ ;结束 INT1:INC R0 ;中断次数加1 MOV A,R0 MOV DPTR,#TAB ;DPTR指向字形码表首址 MOVC A,@A+DPTR ;查表 POP DPH POP DPL ;弹出断点 MOV DPTR,#AL1 PUSH DPL PUSH DPH ;修改中断返回点,AL1压入堆栈 RETI ;从堆栈AL1地址→PC,返主程序AL1处 TAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H ;段码表(字形码) END 上面程序每中断一次,执行一次中断服务程序INT1。在中断服务程序中,累计中断次数并 查字形表,返回到主程序AL1地址执行显示。 以上中断在AL1或AL2两指令处发生,究竟是哪一指令处中断是随机的,为保证返回到AL1显示‘F ’ ,这里采用修改中断返回点的办法, 即先从栈中弹出中断响应时压入的断点弹到DPTR中,修改DPTR为用户需要的返回点,并将其压 入堆栈,再通过执行RETI指令弹出栈中内容到PC、弹出的即为修改后的地址,从而返回到主程序中用所希望的地址执行。上例中中断次数在主程序判断,目的是使读者了解修改中断返回点的方法,如果改在中断服务程序中判断,编程简洁些,下面仅介绍和上例中的不同部分的程序。 … MOV R0, #0 ;计数初值为0 MOV P1, #3FH ;显示‘0’ MOV DPTR,#TAB ;指向字形码表 AGA: SJMP $ ;等待中断 INT1:INC R0 ;中断次数加1 MOV A, R0 MOVC A, @A+DPTR ;查字形码表 MOV P1, A ;显示 CJNE R0, #0FH, RE ;15次中断未到转RE CLR EA
您可能关注的文档
- 3独家装饰公司装修全过程施工工艺流程(附图丰富)讲解.ppt
- 3复合结构设计基础讲解.ppt
- 3复习物质构成的奥秘共61张讲解.ppt
- 60950中文讲义讲解.ppt
- 69621_30559_楼地面工程讲解.ppt
- 3回转窑链斗机料斗更换培训(适用于水泥厂、水泥企业)讲解.ppt
- 3-建筑面积计算规则讲解.ppt
- 214432_装修术语_图解装饰工艺讲解.ppt
- 3井巷通风阻力与技术管理讲解.ppt
- 3类和接口讲解.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)