?? adc0809 basic.asm
字號:
LED_0 EQU 30H ;存放三個數碼管的段碼
LED_1 EQU 31H
LED_2 EQU 32H
ADC EQU 35H ;存放轉換后的數據
ST BIT P3.2
OE BIT P3.0
EOC BIT P3.1
ORG 00H
START: MOV LED_0,#00H
MOV LED_1,#00H
MOV LED_2,#00H
MOV DPTR,#TABLE ;送段碼表首地址
SETB P3.4
SETB P3.5
CLR P3.6 ;選擇ADC0808的通道3
WAIT: CLR ST
SETB ST
CLR ST ;啟動轉換
JNB EOC,$ ;等待轉換結束
SETB OE ;允許輸出
MOV ADC,P1 ;暫存轉換結果
CLR OE ;關閉輸出
MOV A,ADC ;將AD轉換結果轉換成BCD碼
MOV B,#100
DIV AB
MOV LED_2,A
MOV A,B
MOV B,#10
DIV AB
MOV LED_1,A
MOV LED_0,B
LCALL DISP ;顯示AD轉換結果
SJMP WAIT
DISP: MOV A,LED_0 ;數碼顯示子程序
MOVC A,@A+DPTR
CLR P2.3
MOV P0,A
LCALL DELAY
SETB P2.3
MOV A,LED_1
MOVC A,@A+DPTR
CLR P2.2
MOV P0,A
LCALL DELAY
SETB P2.2
MOV A,LED_2
MOVC A,@A+DPTR
CLR P2.1
MOV P0,A
LCALL DELAY
SETB P2.1
RET
DELAY: MOV R6,#10 ;延時5毫秒
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -