⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16位二进制转化为5位bcd的pic子程序.txt

📁 在PIC单片机上实现将16位二进制转化为5位BCD码的汇编程序
💻 TXT
字号:
;              16位二进制数转化为5 BCD码子程序;********************************************************************;                  Binary To BCD Conversion Routine;      This routine converts a 16 Bit binary Number to a 5 Digit; BCD Number. This routine is useful since PIC16C55 & PIC16C57; have  two 8 bit ports and one 4 bit port ( total of 5 BCD digits);;       The 16 bit binary number is input in locations H_byte and; L_byte with the high byte in H_byte.;       The 5 digit BCD number is returned in R0, R1 and R2 with R0; containing the MSD in its right most nibble.;;   Performance :;               Program Memory  :       35;               Clock Cycles    :       885;;*******************************************************************;;count  equ      16temp   equ      17;H_byte  equ     10L_byte  equ     11R0      equ     12              ; RAM AssignmentsR1      equ     13R2      equ     14;;其它寄存器自己定义;B2_BCD  bcf     STATUS,0                ; clear the carry bit	movlw   D'16'	movwf   count	clrf    R0	clrf    R1	clrf    R2loop16  rlf     L_byte	rlf     H_byte	rlf     R2	rlf     R1	rlf     R0;	decfsz  count	goto    adjDEC	RETLW   0;adjDEC  movlw   R2	movwf   FSR	call    adjBCD;	movlw   R1	movwf   FSR	call    adjBCD;	movlw   R0	movwf   FSR	call    adjBCD;	goto    loop16;adjBCD  movlw   3	addwf   0,W	movwf   temp	btfsc   temp,3          ; test if result > 7	movwf   0	movlw   30	addwf   0,W	movwf   temp	btfsc   temp,7          ; test if result > 7	movwf   0               ; save as MSD	RETLW   0;;********************************************************************; 测试程序(注意用法,16位BIN放在H_byte,L_byte;结果放在R0,R1,R2);*********************************************************************main    movlw   0FF	movwf   H_byte	movwf   L_byte          ; The 16 bit binary number = FFFF	call    B2_BCD          ; After conversion the Decimal Number;                               ; in R0,R1,R2 = 06,55,35;self    goto    self        ;如果不是测试程序,本句无用;	org     1FF	goto    main;	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -