单片机
返回首页

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

2011-10-09

使用外部中断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

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • IGBT模块通过控制门极阻断过电流

  • 比较常见的功率整流器和滤波电路

  • 基于M66T旋律发​​生器的电路图解析

  • 基于CA3193的热电偶放大器电路

    相关电子头条文章