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

2021-09-25 06:12:27 字數 2922 閱讀 2657

(1)完成 a/d 介面設計,採用查詢方式和中斷方式編寫程式。

(2)實現 d/a 介面設計,編寫程式輸出方波、鋸齒波、正弦波,使用示波器觀察波形。

實驗室裡只用做第二個

鋸齒波彙編:

(此處沒設延時,如果設延時則一定不要設太大,不然波形會變形)

org 0000h

mov a,#00h

back:

mov dptr,#8140h

movx @dptr,a

mov dptr,#81c0h

movx @dptr,a

inc a

sjmp back

end

鋸齒波c語言:

#include#includeunsigned char a=0;

main()

}

方波彙編:

org 0000h

mov a,#00h

back:

mov dptr,#8140h

movx @dptr,a

mov dptr,#81c0h

movx @dptr,a

cpl a

call delay

sjmp back

delay:

mov r7,#17h

dl1:

mov r6,#98h

dl0:

mov r5,#46h

djnz r5,$

djnz r6,dl0

djnz r7,dl1

retend

方波c語言:

#include#includeunsigned char a=0;

void delay500ms(void)

main()

}

正弦波彙編(查表):

mov 0000h

ng1:mov r0,#00h

ng2:mov a,r0

mov dptr,#tab1

movc a,@a+dptr

mov dptr,#8140h

movx @dptr,a

mov dptr,#81c0h

movx @dptr,a

inc r0

acall dalay

ajmp ng2

tab1:db 80h,83h,86h,89h,8dh,90h,93h,96h,99h,9ch,9fh,0a2h,0a5h,0a8h,0abh,0aeh

tab2:db 0b1h,0b4h,0b7h,0bah,0bch,0bfh,0c2h,0c5h,0c7h,0cah,0cch,0cfh,0d1h,0d4h,0d6h,0d8h

tab3:db 0dah,0ddh,0dfh,0e1h,0e3h,0e5h,0e7h,0e9h,0eah,0ech,0eeh,0efh,0f1h,0f2h,0f4h,0f5h

tab4:db 0f6h,0f7h,0f8h,0f9h,0fah,0fbh,0fch,0fdh,0fdh,0feh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

tab5:db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0feh,0fdh,0fdh,0fch,0fbh,0fah,0f9h,0f8h,0f7h,0f6h

tab6:db 0f5h,0f4h,0f2h,0f1h,0efh,0eeh,0ech,0eah,0e9h,0e7h,0e5h,0e3h,0e1h,0dfh,0ddh,0dah

tab7:db 0d8h,0d6h,0d4h,0d1h,0cfh,0cch,0cah,0c7h,0c5h,0c2h,0bfh,0bdh,0bah,0b7h,0b4h,0b1h

tab8:db 0aeh,0abh,0a8h,0a5h,0a2h,9fh,9ch,99h,96h,93h,90h,8dh,89h,86h,83h,80h

tab9:db 80h,7ch,79h,76h,72h,6fh,6ch,69h,66h,63h,60h,5dh,5ah,57h,55h,51h

tab10:db 4eh,4ch,48h,45h,43h,40h,3dh,3ah,38h,35h,33h,30h,2eh,2bh,29h,27h

tab11:db 25h,22h,20h,1eh,1ch,1ah,18h,16h,15h,13h,11h,10h,0eh,0dh,0bh,0ah

tab12:db 09h,08h,07h,06h,05h,04h,03h,02h,02h,01h,00h,00h,00h,00h,00h,00h

tab13:db 00h,00h,00h,00h,00h,00h,01h,02h,02h,03h,04h,05h,06h,07h,08h,09h

tab14:db 0ah,0bh,0dh,0eh,10h,11h,13h,15h,16h,18h,1ah,1ch,1eh,20h,22h,25h

tab15:db 27h,29h,2bh,2eh,30h,33h,35h,38h,3ah,3dh,40h,43h,45h,48h,4ch,4eh

tab16:db 51h,55h,57h,5ah,5dh,60h,63h,66h,69h,6ch,6fh,72h,76h,79h,7ch,7eh

dalay:mov r1,#10h

dalay1:djnz r1,$

retend

正弦波c語言:

#include#include#include#define pi acos(-1)

main()

}

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

org 0000h datar0 equ 50h 定義儲存採集現場資料單元 ljmp main org 000bh 定義定時 計數器 t0 中斷入口位址 ljmp t0p org 0100h main mov sp 60h 設定中斷指標 mov tmod,01h 設定定時 計數器 t0 為工作方式 ...

C 第七次實驗 素數和回文

一 上機目的 掌握函式的應用 二 問題及 編制2個返回值為int型的函式,用於判斷引數是否為素數和回文,呼叫函式回答以下問題 1 輸出300以內的所有素數。2 輸出300以內的所有回文數。3 輸出300以內的所有回文素數。4 若乙個素數的反序數仍為素數,則稱它為可逆素數。求300以內的所有可逆素數。...

第七次C 實驗 素數和回文

檔名稱 素數和回文 作 者 石宇建 完成日期 2016年 6月 4 日 版 本 號 v1.0 對任務及求解方法的描述部分 編制2個返回值為int型的函式,用於判斷引數是否為素數和回文,呼叫函式回答以下問題 請包括在乙個main 函式中完成,輸出時,用明顯的提示語,說明正在完成哪個任務。輸入描述 問題...