热卖开发板:
  • 51单片机开发板
  • USB开发板
  • AVR单片机开发板
  • 【小雨的成长】外部中断的简单应用

      中断是学过,但是好久没写过这方面的程序了。。。。

      今天,就试着写了个。。。但是写的过程中发现了好多问题!!。。
         也算是大家以后写中断时要注意的地方吧1!!

      题目:将P0口的LED做左移右移。中断时(INT1)让P0口的LED闪烁5次。。

         虽然功能简单,用查表写更容易实现但是有时候用中断写也是很有乐趣的一件事啊!!
            嘻嘻。。

      下面是仿真图,就当电路图用啦。。。

       

      恩。。汇编程序如下:

                      ORG 00H
                     AJMP START
                     ORG 0013H
                     AJMP LOOP

                    ORG 0030H
      START:   SETB EA
                     SETB EX1
                    MOV TCON,#00H   
                    MOV SP,#40H
      LOOP4:  MOV R4,#8
                    MOV A,#0FFH
                   CLR C
      LOOP1:   RLC A
                   MOV P0,A
                    ACALL DELAY
                    DJNZ R4,LOOP1
                    MOV R5,#7
      LOOP3:  RRC A
                    MOV P0,A
                   ACALL DELAY
                  DJNZ R5,LOOP3
                  AJMP LOOP4
         
      DELAY:   MOV R0,#20
      D1:         MOV R3,#20
      D2:         MOV R1,#248
                    DJNZ R1,$
                    DJNZ R3,D2
                    DJNZ R0,D1
                       RET
         
      LOOP:    PUSH ACC
                    PUSH PSW        
                    MOV R7,#5
      LOOP2:   MOV A,#00H
                    MOV P0,A
                   ACALL DELAY
                    MOV A,#0FFH
                    MOV P0,A
                   ACALL DELAY
                    DJNZ R7,LOOP2      
                    POP PSW
                   POP ACC
                      RETI
         
                     END  


      下面,我说点我写这个时候的体会。。
        总的来说,程序比较简单。就是一个流水灯再加上一个中断服务程序。
      但是新手写的时候一个不注意就会出错。。。(当然我也是新手,这个程序也改了几遍,这个程序现在还有点小问题)
         要注意的地方:

      1    用到中断就涉及到TMOD,TCON ,IP,IE几个都要设定,新手们不要怕,想学好怕的话,那就什么都学不会了。
      2   就是因为要用到中断所以就有个现场保护的问题。大家要注意,单片机执行中断的过程,在中断相应阶段首先将PC的值压栈,然后又硬件产生一条LCALL addr16指令,将中断入口地址送入PC(也就是这里的0013H)然后执行0013H后的跳转指令。
      3   这里面跳转指令挺多的,大家写程序的时候要仔细点,如要跳入死循环。。

    声明:CEPARK已尽力确保内容的准确性,但因业务发展和技术服务的需要,有关内容可能会根据实际情况随时更新或者修改,恕不另行通知,不便之处敬请谅解!
      商城推荐
      社区指南
    CEPARK电子园-电子工程师自己的网络家园!
      迷你博客,轻松完成日志发布,管理相册;展示个性自我
      兴趣小组,热点话题,加入您感兴趣的话题讨论小组,一起交流吧
      最新资讯,热门话题与好友一起分享信息,他评论感兴趣的话题
      实名认证,真实交友,还可以轻松快捷的了解好友动态
      邀请您身边的好友,朋友,同事一起加入欢乐圈