《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > PIC單片機的BIN碼轉BCD碼

PIC單片機的BIN碼轉BCD碼

2009-01-16
關鍵詞: PIC 源代碼

PIC單片機的BIN碼轉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      16
temp   equ      17
;
H_byte  equ     10
L_byte  equ     11
R0      equ     12              ; RAM Assignments
R1      equ     13
R2      equ     14
;
 include         "picreg.h"
;
B2_BCD  bcf     STATUS,0                ; clear the carry bit
 movlw   .16
 movwf   count
 clrf    R0
 clrf    R1
 clrf    R2
loop16  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
;
;********************************************************************
;               Test Program
;*********************************************************************
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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲国产成人精品无码区在线观看 | 久久免费动漫品精老司机| 欧美夫妇交换俱乐部在线观看| 人妻少妇乱子伦无码专区| 精品精品国产高清a级毛片 | sihu国产精品永久免费| 成人国产精品视频频| 久久99精品久久久久久噜噜| 日韩三级免费看| 九色视频在线观看| 欧美40老熟妇| 亚洲国产第一页| 欧美日韩你懂的| 亚洲爆乳无码专区www| 香港国产特级一级毛片| 国产欧美日韩综合精品一区二区 | 一区二区中文字幕在线观看| 成人福利网址永久在线观看| 久久一本色系列综合色| 日本又粗又长一进一出抽搐| 久久精品丝袜高跟鞋| 日韩精品久久一区二区三区| 二级毛片在线播放| 欧洲国产成人精品91铁牛tv| 亚洲午夜久久久精品电影院| 欧美日韩一区二区三区麻豆| 亚洲欧美成人永久第一网站| 永久免费无码日韩视频| 亚洲码欧美码一区二区三区| 波多野结衣女上司| 亚洲色成人网一二三区| 激情射精爆插热吻无码视频| 人人鲁人人莫人人爱精品| 玩弄丰满少妇人妻视频| 人人爽人人澡人人高潮| 狂野黑人性猛交xxxxxx| 人人妻人人妻人人片色av| 热99re久久精品精品免费| 人人妻人人澡人人爽欧美一区| 特级毛片www| 亚洲精品日韩专区silk|