迅维网

标题: 旋转编码开关的最简程序 [打印本页]

作者: バ幸福De右岸    时间: 2016-9-27 10:56
标题: 旋转编码开关的最简程序
   S_A                BIT        P3.2        ;编码开关A(外中断方式,定义无意义,为了好懂)
        S_B                BIT        P1.0        ;编码开关B

        ORG        0
        AJMP        MAIN
        ORG        03H        ;外中断0入口
        AJMP        EXT0
        ORG        0BH        ;定时器0入口
        AJMP        TO_0
        ORG        1BH        ;定时器1入口
        AJMP        TO_1
;===============主程序========================
MAIN:
        MOV        IE,#10000001B        ;开通中断
        MOV        IP,#00000001B        ;优先
        MOV        TCON,#00000001B        ;脉冲触发
        MOV        SP,#70H
        ACALL INITTIME
LOOP:
     AJMP LOOP
S_A脚接外中断,中断触发就直接判断B的状态,增加TH1或者减少TH1,(本程序th1值0--250)
;================中断调节======================
EXT0:
        JB        S_B,AAA        ;状态决定加还是减(为1转移,为0顺序)
;--------增加------
        MOV         A,TH1
        CJNE        A,250,ADS0
        JMP        DDD
ADS0:
        INC        TH1
        JMP        DDD
;--------减少-----
AAA:                        
        MOV        A,TH1
        JZ        DDD
        DEC        TH1
DDD:
        RETI






欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4