(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 函式中完成,輸出時,用明顯的提示語,說明正在完成哪個任務。輸入描述 問題...