您当前的位置:五五电子网电子知识单片机-工控设备51单片机数控调频台汇编程序 正文
数控调频台汇编程序

数控调频台汇编程序

点击数:7282 次   录入时间:03-04 11:33:32   整理:http://www.55dianzi.com   51单片机
             RET                           ;16次到,退出
;
KEYOK:       MOV    A,R7               ;查表次数入A(即键号值)
             MOV    B,A               ;放入B
             RL        A                   ;左移
         ADD    A,B               ;相加(键号乘3处理JMP 3字节指令)
         MOV    DPTR,#KEYFUNTAB    ;取键功能散转表首址
         JMP    @A+DPTR           ;查表
KEYFUNTAB:   LJMP   KEYFUN00           ; 键功能散转表。跳至0号键功能程序
         LJMP   KEYFUN01           ; 跳至01号键功能程序
             LJMP   KEYFUN02           ; 跳至02号键功能程序
         LJMP   KEYFUN03
             LJMP   KEYFUN04
         LJMP   KEYFUN05
             LJMP   KEYFUN06
         LJMP   KEYFUN07
             LJMP   KEYFUN08
         LJMP   KEYFUN09
             LJMP   KEYFUN10
         LJMP   KEYFUN11
             LJMP   KEYFUN12
         LJMP   KEYFUN13
             LJMP   KEYFUN14
         LJMP   KEYFUN15           ; 跳至15号键功能程序
             RET                       ;散转出错返回
;
;键号对应P1口数值表(同时按下两键为无效操作)
KEYTAB:      DB     0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH
             DB    0EBH,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,0FFH,0FFH
;
;0号键功能程序
KEYFUN00:    INC    29H              ;百位数加1
             MOV    A,29H            ;入A
             CLR    C                 ;清进位标志
             CJNE   A,#02H,FUN00     ;
FUN00:       JC     FUN00OUT         ;百位小于2转FUNOO0UT
             MOV    29H,#00H         ;大于等于2清为0(百位只能是0或1)
FUN00OUT:    MOV    A,29H               ; 判断百位是0还是1
             XRL    A,#01H            ;
             JNZ     F00OUT1            ;若百位为0转FOOOUT1
             MOV    28H,#00H            ;若百位为1,十位为0
             AJMP   F00OUT            ;
F00OUT1:     MOV    28H,#08H            ;若百位为0,十位数改为8
F00OUT:      LCALL  DISPUPDAT       ;写入控制芯片(修改发射频率)
             RET                        ;返回
;
;01号键功能程序
KEYFUN01:    INC    28H                ;十位数加1
             MOV    A,28H            ;入A
             CLR    C                ;清进位标志
             CJNE   A,#0AH,FUN01        ;判断是否小于10
FUN01:       JC     FUN01OUT            ;十位数小于10转FUN01OUT
             MOV    28H,#00H            ;十位数大于或等于10清为0

上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页


本文关键字:数控  51单片机单片机-工控设备 - 51单片机

《数控调频台汇编程序》相关文章>>>