logo
 
首页-> 产品信息-> 8位单片机
 
入门指南
开发&工具
应用方案
客户支持
 
快速编程
一、IO口设置 二、AD设置 三、Timer定时设置 四、捕获设置
五、比较输出设置 六、PWM比较输出设置 七、时基设置 八、外部中断的设置
九、SPI的设置 十、UART的设置 十一、LVR的设置 十二、看门狗的设置
十三、STOP模式的设置 十四、HALT的设置    
警告:由于格式的原因,直接从网页上复制程序,粘贴到编译环境里面,编译时会出错。敬请直接下载word档,从word里面直接复制到编译环境里面即可。 ( word原文件下载)

外部中断的设置

1.设置外部中断0(PB4):上升沿触发 

  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
           ; IRQ0 edge trigger
 
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
           ; IRQ0 rising trigger
 
  set   P_INT_Flag0,CB_INT_IRQ0IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ0IE
           ; enable IRQ0 INT (INT1).
  cli          ; enable INT   

2.设置外部中断0(PB4):下降沿触发

  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
           ; IRQ0 edge trigger
 
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
           ; IRQ0 falling trigger
 
  set   P_INT_Flag0,CB_INT_IRQ0IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ0IE
           ; enable IRQ1 INT (INT1).
  cli          ; enable INT

3.设置外部中断0(PB4):高电平触发

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
           ; IRQ0 level trigger
 
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
  set    P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
           ; IRQ0 rising level trigger
 
  set   P_INT_Flag0,CB_INT_IRQ0IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ0IE
           ; enable IRQ1 INT (INT1).
  cli          ; enable INT

4.设置外部中断0(PB4):低电平触发

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM0
           ; IRQ0 level trigger
 
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
  clr    P_IRQ_Opt1,CB_IRQOpt1_IRQ0ES
           ; IRQ0 falling level trigger
 
  set   P_INT_Flag0,CB_INT_IRQ0IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ0IE
           ; enable IRQ1 INT (INT1).
  cli          ; enable INT

5 .设置外部中断1(PB5):上升沿触发

 clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
 clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
           ; IRQ1 edge trigger
 set   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
 set   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
           ; IRQ1 rising trigger
 set   P_INT_Flag0,CB_INT_IRQ1IF
           ; clear INT request flag
 set   P_INT_Ctrl0,CB_INT_IRQ1IE
           ; enable IRQ1 INT (INT1).
 cli          ; enable INT

6.设置外部中断1(PB5):下降沿触发

  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
           ; IRQ1 edge trigger
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
           ; IRQ1 falling trigger
  set   P_INT_Flag0,CB_INT_IRQ1IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ1IE
           ; enable IRQ1 INT (INT1).
  cli          ; enable INT

7.设置外部中断1(PB5):高电平触发  

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
           ; IRQ1 level trigger
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
           ; IRQ1 high level trigger
  set   P_INT_Flag0,CB_INT_IRQ1IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ1IE
           ; enable IRQ1 INT (INT1).
  cli          ; enable INT

8.设置外部中断1(PB5):低电平触发

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM1
           ; IRQ1 level trigger
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ1ES
           ; IRQ1 low level trigger
  set   P_INT_Flag0,CB_INT_IRQ1IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ1IE
           ; enable IRQ1 INT (INT1).
  cli          ; enable INT

9.设置外部中断2(PD0):上升沿触发

  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
           ; IRQ2 edge trigger
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
           ; IRQ2 rising trigger
  set   P_INT_Flag0,CB_INT_IRQ2IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ2IE
           ; enable IRQ2 INT (INT1).
  cli          ; enable INT

10.设置外部中断2(PD0):下降沿触发

  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
           ; IRQ2 edge trigger
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
           ; IRQ2 falling trigger
  set   P_INT_Flag0,CB_INT_IRQ2IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ2IE
           ; enable IRQ2 INT (INT1).
  cli          ; enable INT

11.设置外部中断2(PD0):高电平触发

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
           ; IRQ2 level trigger
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
           ; IRQ2 high level trigger
  set   P_INT_Flag0,CB_INT_IRQ2IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ2IE
           ; enable IRQ2 INT (INT1).
  cli          ; enable INT

12.设置外部中断2(PD0):低电平触发

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM2
           ; IRQ2 level trigger
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ2ES
           ; IRQ2 low level trigger
  set   P_INT_Flag0,CB_INT_IRQ2IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ2IE
           ; enable IRQ2 INT (INT1).
  cli          ; enable INT

13.设置外部中断3(PD1):上升沿触发

  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
           ; IRQ3 edge trigger
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
           ; IRQ3 rising trigger
  set   P_INT_Flag0,CB_INT_IRQ3IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ3IE
           ; enable IRQ3 INT (INT1).
  cli          ; enable INT

14.设置外部中断3(PD1):下降沿触发

  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
           ; IRQ3 edge trigger
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
           ; IRQ3 falling trigger
  set   P_INT_Flag0,CB_INT_IRQ3IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ3IE
           ; enable IRQ3 INT (INT1).
  cli          ; enable INT

15.设置外部中断3(PD1):高电平触发

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
           ; IRQ3 level trigger
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
           ; IRQ3 high level trigger
  set   P_INT_Flag0,CB_INT_IRQ3IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ3IE
           ; enable IRQ3 INT (INT1).
  cli          ; enable INT

16.设置外部中断3(PD1):低电平触发

  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
  set   P_IRQ_Opt1,CB_IRQOpt1_IRQM3
           ; IRQ3 level trigger
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
  clr   P_IRQ_Opt1,CB_IRQOpt1_IRQ3ES
           ; IRQ3 low level trigger
  set   P_INT_Flag0,CB_INT_IRQ3IF
           ; clear INT request flag
  set   P_INT_Ctrl0,CB_INT_IRQ3IE
           ; enable IRQ3 INT (INT1).
  cli          ; enable INT

版权所有:北京凌阳爱普科技有限公司 京ICP备05061966号 未经许可网站内容严禁复制、转载,任何人不得擅自使用
友情链接:凌阳爱普 嵌入式培训 安卓培训 凌阳大学计划 北京嵌入式培训 深圳嵌入式培训 成都嵌入式培训