標題: A/D 0809轉換實驗 [打印本頁]
作者: yuanzhou 時間: 2020-6-5 10:16
標題: A/D 0809轉換實驗
一、實驗目的
(1)掌握A/D轉換與單片機接口的方法;
(2)了解A/D芯片0809轉換性能及編程方法;
(3)通過實驗了解單片機如何進行數據采集。
二、實驗內容
利用實驗系統上的0809做A/D轉換器,實驗系統上的電位器提供模擬量輸入,編制程序,將模擬量轉換成數字,通過數碼管顯示出來。
三、實驗原理圖
四、實驗程序框圖
file:///C:/Users/yuan/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
五、實驗步驟
硬件電路設計由4個部分組成; A/D轉換電路,STC89C51單片機、LED顯示系統、以及測量電壓輸入電路。硬件電路設計框圖如圖所示。
file:///C:/Users/yuan/AppData/Local/Temp/msohtmlclip1/01/clip_image003.jpg
數字電壓表總體設計方框圖
六、程序清單
- OE BIT P3.0 ;ADC0809的OE端
- EOC BIT P3.1 ;ADC0809的EOC端
- CLOCK BIT P2.6
- ST BIT P3.2 ;ADC0809的START和ALE端
- LED_0 DATA 30H ;顯示緩沖區
- LED_1 DATA 31H
- LED_2 DATA 32H
- LED_3 DATA 33H
- ADC DATA 34H ;存放轉換后的數據
-
- ;//////主程序開始////////
-
- ORG 0000H
- AJMP START
- ORG 000BH
- LJMP TT0
- ORG 0030H
- ;------初始化-----------
-
- START:
- MOV SP,#60H ;設置堆棧
- MOV LED_0,#00H ;清空顯示緩沖區
- MOV LED_1,#00H
- MOV LED_2,#00H
- MOV LED_3,#00H
- MOV DPTR,#TABLE ;送字型碼表首地
-
- MOVTMOD,#02H ;將02H送到TMOD寄存器,這里是設定定時器模式
- MOV TH0,#01H
- MOV TL0,#01H
- MOVIE,#82H ;130
- SETB TR0
-
- ;------ADC0809轉換---------
-
- WAIT:
- CLR ST
- SETB ST
- CLR ST ;啟動轉換
- JNB EOC,$ ;等待轉換結束
- SETB OE ;允許輸出
- MOV ADC,P1 ;暫存轉換結果
-
- ;------數據處理,已備顯示----------
-
- MOV A,ADC ;將AD轉換結果轉換成BCD碼
- MOV B,#028H ;乘以40MV
- MUL AB
- MOV R7,A
MOV R6,B
- HB2:
- CLR A ;BCD碼初始化
- CLR C
- 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
- MOV A,R5
- SWAP A
- ANL A,#0FH
- MOV LED_0,A
- MOV A,R4
- ANL A,#0FH
- MOV LED_1,A
- MOV A,R4
- SWAP A
- ANL A,#0FH
- MOV LED_2,A
- MOV A,R3
- ANL A,#0FH
- MOV LED_3,A
- LCALL DISP ;調用顯示子程序
- AJMP 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
- SETB P0.7 ;小數點
- LCALL DELAY
- SETB P2.1
- MOV A,LED_3
- MOVC A,@A+DPTR
- CLR P2.0
- MOV P0,A
- LCALL DELAY
- SETB P2.0
- RET
-
- ;//////延時子程序///////////
-
- DELAY: MOV R6,#02H ;循環整個延時程序10次,延時5毫秒
- D1: MOV R7,#0EEH ;循環下一條程序250次
- DJNZ R7,$ ;DJNZ循環轉移指令,將第一個數減1,是否為0,不為0則轉移
- ;到指定地點,為0則往下執行
- DJNZ R6,D1
- RET
-
- ;//////數碼管字形碼表///////////
-
- TABLE:
- DB 3FH,06H,5BH,4FH,66H
- DB 6DH,7DH,07H,7FH,6FH
-
- ORG 0100H
- TT0:
- CPL CLOCK ;產生ADC0808/0809時鐘脈沖信號
- RETI
- END
-
111.png
(102.17 KB, 下載次數: 48)
下載附件
2020-6-5 10:15 上傳
作者: hkxabb 時間: 2020-12-3 15:57
為什么運行之后數碼管不對呢
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
亚洲成人www
|
成人区精品一区二区婷婷
|
91精品亚洲
|
一区二区在线免费观看
|
国产高清一区
|
精品久久久久久亚洲精品
|
国产精品色
|
久久的色|
国产成人一区二区三区
|
亚洲精品二区
|
中文字幕av网址
|
国产精品久久久久久妇女6080
|
操网站|
日本激情一区二区
|
亚洲成年在线
|
中文字幕精品一区二区三区精品
|
福利网站导航
|
成人免费视频观看视频
|
国产一区二区三区精品久久久
|
欧美一区二区免费
|
久久亚洲综合
|
成人小视频在线观看
|
中文字幕av网
|
亚洲精品大片
|
久久丝袜
|
www视频在线观看
|
日一区二区
|
久久草在线视频
|
国产精品永久在线观看
|
精品产国自在拍
|
欧美日韩视频一区二区
|
国产免费一二三区
|
91视频一88av
|
国产羞羞视频在线观看
|
日韩精品久久一区二区三区
|
韩三级在线观看
|
国产精品久久一区
|
成人午夜免费在线视频
|
aacc678成免费人电影网站
|
精品国产伦一区二区三区观看方式
|
狠狠干av|