|
一個(gè)特別好的AD轉(zhuǎn)換程序,同時(shí)教你如何進(jìn)行顯示。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機(jī)匯編源程序如下:
- LED_0 EQU 30H ;存放三個(gè)數(shù)碼管的段碼
- LED_1 EQU 31H
- LED_2 EQU 32H
- ADC EQU 35H ;存放轉(zhuǎn)換后的數(shù)據(jù)
- 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 ;啟動(dòng)轉(zhuǎn)換
- JNB EOC,[ DISCUZ_CODE_6 ]nbsp; ;等待轉(zhuǎn)換結(jié)束
- SETB OE ;允許輸出
- MOV ADC,P1 ;暫存轉(zhuǎn)換結(jié)果
- CLR OE ;關(guān)閉輸出
- MOV A,ADC ;將AD轉(zhuǎn)換結(jié)果轉(zhuǎn)換成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轉(zhuǎn)換結(jié)果
- SJMP WAIT
- DISP: MOV A,LED_0 ;數(shù)碼顯示子程序
- 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 ;延時(shí)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
復(fù)制代碼
全部資料51hei下載地址:
ADC0808采樣并顯示.zip
(14.92 KB, 下載次數(shù): 36)
2019-4-27 00:46 上傳
點(diǎn)擊文件名下載附件
AD采樣并顯示仿真圖及程序
|
評(píng)分
-
查看全部評(píng)分
|