微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请大家帮我看看程序,刚刚接触这个不久

请大家帮我看看程序,刚刚接触这个不久

时间:10-02 整理:3721RD 点击:
程序目的是输出阶梯波,我在原程序上加了控制台阶数的按钮,目的是方便控制台阶数,但是编译始终有问题,来个大神帮我改改吧(芯片是89c51,0832为功放,最后要用于仿真)
ORG  0000H             ;在0000H单元存放转移指令
                LJMP  START       ;转移到主程序START
                ORG  0100H             ;主程序从0100H开始
START: MOV  A, #00H          ;累加器A清0
       MOV  DPTR, #7FFFH     ;0832 的地址送DPTR,假定P2.7接
       MOV  R1,TJS         
TJS:mov A,P2                  ;读取端口
    JNB   ACC.0,K_UP          ;按下K_UP键,转K_UP
K_UP:MOV A,SETCNT
     INC A,TJS                ;台阶数加1
     CJNE A,#10,LP             ;未到10,返回
     MOV TJS,01H               ;到10,变为1台阶数
     SJMP LP
LP:   MOVX  @DPTR, A        ;送数据至 0832
       LCALL  DELAY10ms      ;10ms延时
       DJNZ  R1, NEXT        ;不到 10 台阶转移
       SJMP  START           ;产生下一个周期
NEXT:  ADD  A, #10           ;台阶增幅
       SJMP  LP              ;产生下一台阶
DELAY10ms: MOV R6,#20                         ;10ms延时程序
DEL2:         MOV R7,#248
              DJNZ R7,$
              DJNZ R6,DEL2
              RET
END                                       

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top