微控制器實驗 A D和D A轉換

2021-08-13 08:33:32 字數 2914 閱讀 9794

org     0000h 

datar0 equ 50h ;定義儲存採集現場資料單元

ljmp main

org 000bh ;定義定時/計數器 t0 中斷入口位址

ljmp t0p

org 0100h

main : mov sp , #60h ;設定中斷指標

mov tmod,#01h ;設定定時/計數器 t0 為工作方式 1、定時

mov tl0 ,#0d0h ;設定定時常數

mov th0 ,#80h

setb tr0 ;開啟定時/計數器 t0

setb et0 ;開啟定時/計數器 t0 中斷允許開關

setb ea ;開啟總開關

mov dptr,#3000h ;設定第三通道位址

movx @dptr,a ;啟動第三通道轉換

loop: lcall data1

lcall display

sjmp loop

t0p:

mov tl0,#0d0h ;重新設定定時常數

mov th0,#80h

mov dptr,#3000h ;將第三通道位址送 dptr

movx a,@dptr ;讀取轉換值

mov datar0,a ;保留轉換值

movx @dptr,a ;重啟第三通道轉換

reti

data1: ;顯示格式轉換子程式

mov79h,#03h

mov7ah,#11h

mov a,datar0

anl a,#0f0h

swap a

mov7bh,a

mov a,datar0

anl a,#0fh

mov7ch,a

retdisplay:

movr0,#79h ;顯示緩衝區首位址送 r0

movr3,#01h ;字位碼送 r3 儲存

mov a,r3

ld0:

mov p2,a ;字位碼送位碼埠 p2,點亮該位

mov a,@r0

;取出一位要顯示的資料

mov dptr,#tab1 ;表首位址送 dptr

movc a,@a+dptr ;查表獲取該資料的字型碼

dir1:

mov p0,a ;字型碼送段碼埠 p0

acall dl11 ;呼叫延時子程式

incr0

;緩衝區位址+1

mov a,r3

;取出位碼

jb acc.5,ld1 ;判斷 6 位數碼管顯示完嗎?顯示完轉 ld1

rl a ;未完,左移一位

movr3,a ;儲存位碼

ajmp ld0

ld1:

ret;子程式返回

微控制器實驗彙編 A D轉換實驗

一.實驗要求 利用實驗板上的adc0809做a d轉換器,利用實驗板上的電位器w1提供模擬量輸入。編制程式,將模擬量轉換成二進位制數字量,用發光二極體顯示。二.實驗目的 1 掌握a d轉換與微控制器的介面方法。2 了解a d晶元adc0809轉換效能及程式設計。3 通過實驗了解微控制器如何進行資料採...

微控制器第七次實驗課 A D 和 D A 實驗

1 完成 a d 介面設計,採用查詢方式和中斷方式編寫程式。2 實現 d a 介面設計,編寫程式輸出方波 鋸齒波 正弦波,使用示波器觀察波形。實驗室裡只用做第二個 鋸齒波彙編 此處沒設延時,如果設延時則一定不要設太大,不然波形會變形 org 0000h mov a,00h back mov dptr...

51微控制器複習 DA轉換

dac轉換器的原理 t型電阻網路dac轉換器 運放兩個輸入端為 虛地 所以電位都約為零。從右往左看,第乙個電阻2r和第二個電阻2r併聯等效為乙個電阻為r的電阻 與上方的電阻r串聯為2r,然後繼續重複前面的操作,最後總電阻值等效為r 總電流為i u r,分電流也就很好算了,那各支路電壓不就更好算了嗎 ...