LCALL PUTBIT ;发控制字至BH1415
RET ;返回
;
; 将BCD码转为十六进制数,与5位控制码合成操作码,写入控制芯片
DISPUPDAT: LCALL BCDB ; 调BCD码转为十六进制数程序
LCALL CONCOMMAND ; 调与5位控制码合成操作码程序
LCALL PUTBIT ; 发控制字至BH1415
RET ;返回
;
; 将BCD码转为十六进制数程序
BCDB: MOV CONBITL,#00H ; 控制字清0
MOV CONBITH,#00H ; 控制字清0
MOV CONBITL,26H ;小数位数放入控制字低8位
MOV A,27H ;个位数乘10操作
MOV B,#10 ;
LCALL MULLOOP ;调乘法子程序
MOV A,28H ;十位数乘100操作
MOV B,#100 ;
LCALL MULLOOP ; 调乘法子程序
MOV A,29H ;
JNZ ADD3E8 ;百位数为1转ADD3E8(加1000操作)
RET ; 百位数为0退出
ADD3E8: CLR C ;清进位档标志
MOV A,#0E8H ;低8位加法
ADD A,CONBITL ;累加
MOV CONBITL,A ;放回CONBITL
MOV A,#03H ; 高8位加法
ADDC A,CONBITH ;控制字高8位处理
MOV CONBITH,A ;放回CONBITH
RET ;返回
;
;乘法及累加处理程序(将四位显示的十进制BCD码转为1个二进制数)
MULLOOP: MUL AB ;乘法
CLR C ;清进位标志
ADD A,CONBITL ;积低8位与CONBITL相加
MOV CONBITL,A ;放回CONBITL
MOV A,CONBITH ;
ADDC A,B ;积高8位与CONBITH带进位累加
MOV CONBITH,A ;放回CONBITH
RET ;返回
;
;频率控制数据与5位控制码合成BH1415控制字
CONCOMMAND: ANL CONBITH,#07H ;高四位为0
MOV A,20H ;控制字放入A
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
本文关键字:数控 51单片机,单片机-工控设备 - 51单片机