亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

PIC單片機實現二進制碼與壓縮BCD碼的相互轉換

2019-11-06 07:45:30
字體:
來源:轉載
供稿:網友

編寫子程序Bin2BCD、BCD2Bin實現二進制數到壓縮BCD碼的相互轉換。待轉換的二進制數存放在w寄存器內,子程序調用完成后得到的BCD碼仍存放在w寄存器內返回。例如:

movlw .45       ; w=45call   Bin2BCD ;nop              ; w=0x45

一、實現二進制數到壓縮BCD碼的轉換

二進制數轉壓縮BCD碼的方法是將二進制碼左移8次,每次移位后都檢查低四位是否大于4,如果大于4則低四位加3,否則不加;高4位做同樣處理。

程序框圖:PIC二進制轉BCD碼

list p=16f877A ;標明所用的處理器類型#include <p16f877A.inc> ;調用頭文件 __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF;*****************變量定義*******************************************************BIN EQU 0x20 ; 存放二進制數BCD EQU 0x21 ; 存放壓縮BCD碼BCDLO EQU 0x22 ; 存放BCD碼低四位BCDHI EQU 0x23 ; 存放BCD碼高四位LOW3 EQU 0x24 ; 用于與低四位相加HIGH3 EQU 0x25 ; 用于與高四位相加COUNT EQU 0x26 ; 循環次數;******************************************************************************* ORG 0x0000 ; 復位入口地址 nop ; 兼容ICD調試工具,必須加nop goto Main ; 跳轉至Main函數;*************************Main 函數的代碼******************************Main MOVLW b'00101101' ; 二進制數00101101送BIN MOVWF BIN CLRF BCD ; BCD清零 MOVLW 0x03 ; 0x03送LOW3 MOVWF LOW3 MOVLW 0x30 ; 0x30送HIGH3 MOVWF HIGH3 MOVLW 0x07 ; 初始化循環次數 MOVWF COUNT CALL Bin2BCD ; 調用轉換程序 RLF BIN RLF BCD ; 第八次左移,結果應為0x45 nop goto $ ; 停機;**************************二進制轉壓縮BCD碼子程序 ******************** ORG 0X0100Bin2BCD RLF BIN RLF BCD ; 二進制碼從高位到低位依次送入BCD MOVLW b'00001111' ; W寄存器高四位清零 ANDWF BCD,W ; BCD高四位清零,結果存放在W寄存器中 MOVWF BCDLO ; 暫存此處,用于判斷 MOVLW 0x04 BCF STATUS,C ; 標志位清零 SUBWF BCDLO,F ; 判斷低四位是否大于4 BTFSC STATUS,C ; C位為0則跳 CALL ADDLO ; C=1,即低四位大于4,則低四位加3 nop MOVLW b'11110000' ; W寄存器低四位清零 ANDWF BCD,W ; BCD低四位清零,結果存放在W寄存器中 MOVWF BCDHI ; 暫存此處,用于判斷 MOVLW 0x40 BCF STATUS,C ; 標志位清零 SUBWF BCDHI,F ; 判斷高四位是否大于4 BTFSC STATUS,C ; C位為0則跳 CALL ADDHI ; C=1,即高四位大于4,則高四位加3 nop DECFSZ COUNT,F ; 循環 GOTO Bin2BCD RETURN;******************************************************************ADDLO ; 低四位加3 MOVF LOW3,W ADDWF BCD,F RETURNADDHI ; 高四位加3 MOVF HIGH3,W ADDWF BCD,F RETURN;*****************************************************************************END ; 程序結束

二、實現壓縮BCD碼到二進制數的轉換

因為壓縮BCD碼為十進制數,所以只要取其高四位和低四位,將高四位乘10D加上低四位即可。為了編程的方便,可以將乘10D轉化為累加10次。

程序框圖:PIC單片機BCD碼轉二進制

list p=16f877A ;標明所用的處理器類型#include <p16f877A.inc> ;調用頭文件 __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF;*****************變量定義*******************************************************BIN EQU 0x20 ; 存放二進制數BCD EQU 0x21 ; 存放壓縮BCD碼BCDLO EQU 0x22 ; 存放BCD碼低四位BCDHI EQU 0x23 ; 存放BCD碼高四位COUNT EQU 0x24 ; 高位乘10(加自身9次)循環變量;******************************************************************************* ORG 0x0000 ; 復位入口地址 nop ; 兼容ICD調試工具,必須加nop goto Main ; 跳轉至Main函數;*************************Main 函數的代碼******************************Main MOVLW b'01000101' ; BCD碼01000101送BCD MOVWF BCD MOVLW .10 ; 初始化循環次數 MOVWF COUNT CLRF BIN ; 清零 CALL BCD2Bin ; 調用轉換程序 nop goto $ ; 停機;**************************壓縮BCD碼轉二進制子程序 ******************** ORG 0X0100BCD2Bin MOVLW b'00001111' ANDWF BCD,W ; BCD高四位清零,結果存放在W寄存器中 MOVWF BCDLO ; 獲得BCD低四位 MOVLW b'11110000' ANDWF BCD,W ; BCD低四位清零,結果存放在W寄存器中 MOVWF BCDHI SWAPF BCDHI,F ; 獲得BCD高四位 MOVF BCDHI,W CALL MPY10 ; 調用MPY10,將高四位乘10 nop MOVF BCDLO,W ADDWF BIN,F ; 加低四位,完成轉換 RETURNMPY10 ADDWF BIN,F DECFSZ COUNT,F ; 高4位乘10存放于BIN,即加10次高4位 GOTO MPY10 RETURN ;*****************************************************************************END ; 程序結束
上一篇:udp socket

下一篇:ubuntu 學習資料整理

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人春色激情网| 久久精品国产久精国产思思| 国产精品久久久久久久久久久不卡| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲国产一区二区三区在线观看| 久久人人97超碰精品888| 国产成人高清激情视频在线观看| 国产日产欧美精品| 国产剧情久久久久久| 国产一区二区三区久久精品| 久久精品亚洲国产| 亚洲二区中文字幕| 中文字幕亚洲欧美日韩在线不卡| 欧美老少做受xxxx高潮| 亚洲欧美国产精品久久久久久久| 国产精品久久久久久久久粉嫩av| 色无极影院亚洲| 亚洲偷熟乱区亚洲香蕉av| 中文字幕亚洲一区二区三区五十路| 久久久久久国产免费| 91视频国产精品| 国产免费一区二区三区香蕉精| 国产成人精品av在线| 88国产精品欧美一区二区三区| 欧美老女人bb| 69久久夜色精品国产69| 亚洲精品久久久久中文字幕二区| 久久久亚洲国产| 日本人成精品视频在线| 国产激情久久久久| 国产欧美日韩免费| 国内精品久久久久久中文字幕| 国产成人精品在线观看| 在线免费看av不卡| 久久久欧美一区二区| 亚洲自拍欧美色图| 欧美一区二区大胆人体摄影专业网站| 成人黄色免费网站在线观看| 欧美一区第一页| 欧美性xxxxxx| 懂色aⅴ精品一区二区三区蜜月| 欧洲亚洲在线视频| 国产+成+人+亚洲欧洲| 精品久久久久久久久国产字幕| 亚洲free性xxxx护士白浆| 国语自产精品视频在线看一大j8| 欧美性猛交xxxx乱大交蜜桃| 久久亚洲春色中文字幕| 成人性生交大片免费看视频直播| 欧美电影免费在线观看| 久久久久久久久综合| 欧美国产日韩精品| 97视频在线播放| 精品国产依人香蕉在线精品| 国产精品天天狠天天看| 亚洲成人精品视频在线观看| 日韩在线播放一区| 成人激情在线观看| 伊人亚洲福利一区二区三区| 午夜剧场成人观在线视频免费观看| 欧美激情一区二区三区在线视频观看| 国产精品黄页免费高清在线观看| 亚洲国语精品自产拍在线观看| 国产日韩换脸av一区在线观看| 久久久久中文字幕2018| 精品女厕一区二区三区| 日韩av综合中文字幕| 国产精品三级美女白浆呻吟| 日韩精品中文字幕在线| 日本精品一区二区三区在线播放视频| 国产日韩欧美中文在线播放| 黑人极品videos精品欧美裸| 97久久精品人人澡人人爽缅北| 欧美激情二区三区| 久热精品视频在线观看一区| 欧美巨大黑人极品精男| 欧美日韩在线观看视频小说| 亚洲欧洲xxxx| 亚洲精品久久久久久久久| 亚洲美女自拍视频| 欧美另类69精品久久久久9999| 日韩av在线网站| 精品视频中文字幕| 亚洲国产精品专区久久| 中文精品99久久国产香蕉| 欧美二区乱c黑人| 久久国内精品一国内精品| 欧美猛交ⅹxxx乱大交视频| 日本精品va在线观看| 日韩精品在线观看一区二区| 亚洲国产精品嫩草影院久久| 国产精品久久久久久久久久久久| 日韩精品中文在线观看| 成人国产在线激情| 日韩久久午夜影院| 国产精品永久在线| 在线激情影院一区| 日韩亚洲第一页| 91精品国产自产在线老师啪| 欧美激情视频在线| 欧洲成人在线视频| 中文字幕欧美视频在线| 久久久久五月天| 国产精品6699| 国产精品视频免费在线观看| 77777少妇光屁股久久一区| 久热精品视频在线观看一区| 97视频免费看| 日韩精品999| 日韩在线观看免费网站| 97香蕉超级碰碰久久免费软件| 欧美极品少妇全裸体| 欧美视频在线观看免费| 欧美日韩一区二区三区在线免费观看| 欧美成aaa人片在线观看蜜臀| 欧美午夜视频在线观看| 91久久精品国产91性色| 日韩中文字幕国产精品| 国产精品网站大全| 国产亚洲精品久久久久久| www国产精品视频| 精品久久久久久久久久久久久| 91国产美女在线观看| 国产成人精品优优av| 欧美性一区二区三区| 91中文字幕在线| 57pao精品| 久久色在线播放| 国产91热爆ts人妖在线| 日韩av123| 亚洲精品一区二区三区不| 亚洲电影天堂av| 日韩乱码在线视频| 精品偷拍各种wc美女嘘嘘| 中文字幕日韩在线播放| www.久久色.com| 精品国产一区二区三区久久久狼| 一区二区三区 在线观看视| 国产精品专区一| 色狠狠久久aa北条麻妃| www高清在线视频日韩欧美| 亚洲自拍偷拍色图| 亚洲国产高清高潮精品美女| 亚洲欧美中文日韩在线| 大胆欧美人体视频| 亚洲国产私拍精品国模在线观看| 一个人看的www欧美| 国产欧美最新羞羞视频在线观看| 日韩成人激情视频| 久久久久国产一区二区三区| 日韩在线中文视频| 国产精品情侣自拍| 97**国产露脸精品国产| 成人午夜激情网| 国外视频精品毛片| 一区二区欧美亚洲| 青青草原一区二区| 久久人人爽人人| 成人免费在线网址| 91精品成人久久| 国产色婷婷国产综合在线理论片a| 日韩电影网在线| 日韩在线观看av| 成人啪啪免费看|