新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)adc轉(zhuǎn)換并顯示

PIC單片機(jī)adc轉(zhuǎn)換并顯示

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
#INCLUDE"P16F877.inc"
W_TEMP EQU 20H ; 實(shí)際上20H、A0H、120H和1A0H
STATUS_TEMP EQU 21H ;在體0中建立保護(hù)單元
PCLATH_TEMP EQU 22H ;在體0中建立保護(hù)單元
ORG 000H
GOTO A1
ORG 004H;定時(shí)中斷入口地址
GOTO ZD01;
ORG 0CH
;********************************************
; 數(shù)據(jù)表
;********************************************
Q1 ADDWF PCL,1
RETLW 00C0H ;0
RETLW 00F9H ;1
RETLW 00A4H ;2
RETLW 00B0H ;3
RETLW 0099H ;4
RETLW 0092H ;5
RETLW 0082H ;6
RETLW 00F8H ;7
RETLW 0080H ;8
RETLW 0090H ;9
RETLW 0088H ;A
RETLW 0083H ;B
RETLW 00C6H ;C
RETLW 00A1H ;D
RETLW 0086H ;E
RETLW 008EH ;F
A1
MOVLW 5;顯示位數(shù)
MOVWF 40H;
MOVLW B00000001;位碼
MOVWF 41H;
MOVLW 5AH;
MOVWF FSR ;間接尋址
BSF STATUS,RP0;選擇體1
BCF STATUS,RP1;
MOVLW 00H;1:2TMRO比例
MOVWF OPTION_REG;分頻1/2
BCF STATUS,RP0;體0
BCF STATUS,RP1;
MOVLW 0FFH;
MOVFW TMR0;初值
BCF INTCON,T0IF;清定時(shí)中斷標(biāo)志
BSF INTCON,T0IE;開(kāi)定時(shí)中斷
BSF INTCON,GIE;開(kāi)總中斷
A2
CALL ADC1
CALL CL0;將16進(jìn)制數(shù)調(diào)整為5位10進(jìn)制數(shù)
MOVFW 54H
MOVWF 5AH
MOVFW 53H
MOVWF 5BH
MOVFW 52H
MOVWF 5CH
MOVFW 51H
MOVWF 5DH
MOVFW 50H
MOVWF 5EH
CALL M001
GOTO A2
CL0 ; MOVLW 0H ;要顯示16進(jìn)制數(shù)低位
; MOVWF 50H;
; MOVLW 00H;
; MOVWF 51H;要顯示16進(jìn)制數(shù)高位
CALL CL1
MOVLW B00001111
ANDWF 54H,0
MOVWF 50H
MOVLW B11110000
ANDWF 54H,1
SWAPF 54H,0
MOVWF 51H
MOVFW 52H
MOVWF 54H
MOVLW B00001111
ANDWF 53H,0
MOVWF 52H
MOVLW B11110000
ANDWF 53H,1
SWAPF 53H,1
RETURN
CL1
MOVLW 0;
MOVWF 52H;萬(wàn)位
MOVWF 53H;百千位
MOVWF 54H;個(gè)十位
MOVWF 55H;進(jìn)位標(biāo)志
MOVLW 10H;
MOVWF 56H;循環(huán)次數(shù)
CLRF 57H;
CL2 BCF STATUS,C;清C
RLF 51H,1;循環(huán)左移
RLF 50H,1;循環(huán)左移
BTFSC STATUS,C;判斷C位是否為高
BSF 55H,0;是置1
MOVFW 54H;
ADDWF 55H,0;PIC沒(méi)有ADDC指令只能判斷C來(lái)加1
ADDWF 54H,0;與自身相加
BTFSC STATUS,C;判斷是否有進(jìn)位
BSF 57H,7;有則置標(biāo)志
BTFSC STATUS,DC;判斷是否有進(jìn)位
BSF 57H,3;有則置標(biāo)志
CALL DA1;調(diào)用十進(jìn)制調(diào)整子程序
MOVWF 54H;存回54H
CLRF 55H;清進(jìn)位標(biāo)志
BTFSC STATUS,C;判斷C位是否為高
BSF 55H,0;是置1
MOVFW 53H;
ADDWF 55H,0;PIC沒(méi)有ADDC指令只能判斷C來(lái)加1
ADDWF 53H,0;與自身相加
BTFSC STATUS,C;
BSF 57H,6;
BTFSC STATUS,DC;判斷是否有進(jìn)位
BSF 57H,2;有則置標(biāo)志
CALL DA1;
MOVWF 53H;
CLRF 55H ;
BTFSC STATUS,C;
BSF 55H,0;
MOVFW 52H;
ADDWF 55H,0;
ADDWF 52H,0;
BTFSC STATUS,C;
BSF 57H,5;
BTFSC STATUS,C;判斷是否有進(jìn)位
BSF 57H,1;有則置標(biāo)志
CALL DA1;
MOVWF 52H;
CLRF 55H;
BTFSS 57H,7;判斷標(biāo)志是否有進(jìn)位
GOTO CL03;否
INCF 53H,1;是進(jìn)位
MOVLW 60H;
ADDWF 54H,1;自身加60H
CL03 BTFSS 57H,3;判斷標(biāo)志是否有進(jìn)位
GOTO CL3;否
MOVLW 6H;
ADDWF 54H,1;自身加6H
CL3 BTFSS 57H,6;判斷標(biāo)志是否有進(jìn)位
GOTO CL04;
INCF 52H,1;是進(jìn)位
MOVLW 60H;
ADDWF 53H,1;自身加60H
上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: PIC單片機(jī)adc轉(zhuǎn)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉