久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機的PD控溫程序

51單片機的PD控溫程序

作者: 時間:2012-10-12 來源:網絡 收藏

;(21)標號: BH2 功能:雙字節BCD碼成雙字節十六進制整數

;入口條件:待轉換的雙字節BCD碼整數在R2、R3中。
;出口信息:轉換后的雙字節十六進制整數仍在R2、R3中。
;影響資源:PSW、A、B、R2、R3、R4 堆棧需求: 4字節
BH2: MOV A,R3; ;將低字節轉換成十六進制
LCALL BCDH
MOV R3,A
MOV A,R2; ;將高字節轉換成十六進制
LCALL BCDH
MOV B,#100; ;擴大一百倍
MUL AB
ADD A,R3; ;和低字節按十六進制相加
MOV R3,A
CLR A
ADDC A,B
MOV R2,A
RET

;(20)標號:BCDH 功能:單字節BCD碼成單字節十六進制整數

;入口條件:待轉換的單字節BCD碼整數在累加器A中。
;出口信息:轉換后的單字節十六進制整數仍在累加器A中。
;影響資源:PSW、A、B、R4 堆棧需求: 2字節
BCDH: MOV B,#10H ; ;分離十位和個位
DIV AB
MOV R4,B ; ;暫存個位
MOV B,#10 ; ;將十位轉換成十六進制
MUL AB
ADD A,R4 ; ;按十六進制加上個位
RET


;(17) 標號: HB2 功能:雙字節十六進制成雙字節BCD碼整數

;入口條件:待轉換的雙字節十六進制整數在R6、R7中。
;出口信息:轉換后的三字節BCD碼整數在R3、R4、R5中。
;影響資源:PSW、A、R2~R7 堆棧需求: 2字節
HB2: CLR A ; ;BCD碼初始化
MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,#10H ; ;轉換雙字節十六進制整數
HB3: MOV A,R7 ; ;從高端移出待轉換數的一位到CY中
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5 ; ;BCD碼帶進位自身相加,相當于乘2
ADDC A,R5
DA A ; ;十進制調整
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
MOV R3,A ; ;雙字節十六進制數的萬位數不超過6,不用調整
DJNZ R2,HB3 ; ;處理完16bit
RET

;(5) 標號: MULD 功能:雙字節二進制無符號數乘法
;
;入口條件:被乘數在R2、R3中,乘數在R6、R7中。
;出口信息:乘積在R2、R3、R4、R5中。
;影響資源:PSW、A、B、R2~R7 堆棧需求: 2字節
MULD: MOV A,R3 ; ;計算R3乘R7
MOV B,R7
MUL AB
MOV R4,B ; ;暫存部分積
MOV R5,A
MOV A,R3 ; ;計算R3乘R6
MOV B,R6
MUL AB
ADD A,R4 ; ;累加部分積
MOV R4,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R2 ; ;計算R2乘R7
MOV B,R7
MUL AB
ADD A,R4 ; ;累加部分積
MOV R4,A
MOV A,R3
ADDC A,B
MOV R3,A
CLR A
RLC A
XCH A,R2 ; ;計算R2乘R6
MOV B,R6
MUL AB
ADD A,R3 ; ;累加部分積
MOV R3,A
MOV A,R2
ADDC A,B
MOV R2,A
RET


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉