首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
中断系统的应用举例 (含源程序)
来源:本站整理  作者:佚名  2010-02-26 23:05:06



中断系统的应用举例 (含源程序)

6.4.1  外部中断举例
【例6-3】使用外部中断0,当每次响应中断时,P1口依次输出高电
平,使8个发光二极管依次循环熄灭闪烁。
1)  电路设计

 ORG 0000H          
 LJMP MAIN ;转主程序
 ORG 0003H ;外部中断0入口地址
 LJMP EXTER ;转中断程序
 ORG 1000H           
MAIN: SETB IT0 ;外部中断0下降沿有效
 SETB EX0 ;外部中断0允许
 SETB EA ;总中断允许
LOOP: AJMP LOOP ;等待中断
 ORG 1050H ;中断程序入口
EXTER: MOV R2, #0FFH ;置循环次数
 MOV A,  #01H ;灯亮初值FLASH: RR A ;右移一位
 MOV R7,  #0FFH ;定时
LOOP1: MOV R6,  #0FFH 
LOOP2: NOP  
 NOP  
 DJNZ R6,  LOOP2 
 DJNZ R7,  LOOP1 
 MOV P1,  A ;控制灯的亮灭
 DJNZ R2,  FLASH ;循环
 RETI  ;中断返回
 END

定时器举例
 
通过定时器1来产生中断,控制P1.0线上的脉冲输出,并经三极管驱动扬声器,发出音调信号。
1) 电路设计

 ORG 0000H 
 LJMP MAIN 
 ORG 001BH ;中断入口地址
 CPL P1.0 
 RETI  
 ORG 1000H 
MAIN: MOV R1,  #00H 
 MOV R0,  #23H 
 MOV TMOD,  #20H ;定时器1工作方式2
 MOV IE,  #88H ;定时器1允许中断
L1: MOV DPTR,  #3FFFH 
 MOV A,  R0 ;取数
 INC R0 ;修改指针
 MOVC A, @A+PC ;查表
 JZ MAIN 
 MOV R1,  A ;计算计数初值
 MOV A,  #0FFH 
 CLR C 
 SUBB A,  R1 
 RL A 
 MOV TH1,  A ;置计数初值
 SETB TR1 ;开始计数
L2: CLR C 
 MOV A,  DPL ;延时
 SUBB A,  #01H 
 MOV DPL,  A 
 MOV A,  DPH 
 SUBB A,   #00H 
 MOV DPH,  A 
 ORL A,  DPL 
 JNZ L2 
 CLR TR1 
 SJMP L1 
 END  
 ORG 1031H ;歌曲“送别”编码
DB   33H,33H,3DH,33H,26H
DB   26H, 26H, 26H,2DH,2DH
DB   26H,2DH,33H,33H,33H
DB   33H, 33H,33H,4DH,45H
DB   45H, 45H45H, 45H, 45H
DB   45H, 45H,33H,33H,3DH
DB   33H,26H,26H,26H, 28H
DB    2DH, 2DH, 26H,26H,33H
DB    33H,33H,33H,45H,3DH

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:166,980.50000 毫秒