【正文】
NTIR 。如果 k4 鍵已經(jīng)斷開,則返回INC R1SJMP XX 。繼續(xù)查表LJMP INTIR 。返回HANSHU: MOV DPTR,TAB1MOVC A,@A+DPTRRETTAB1: db 080h,083h,086h,089h,08ch,090h,093h,096h,099h,09ch,09fh,0a2h,0a5h,0a8h,0abh,0aeh db 0b1h,0b3h,0b6h,0b9h,0bch,0bfh,0c1h,0c4h,0c7h,0c9h,0cch,0ceh,0d1h,0d3h,0d5h,0d8h db 0dah,0dch,0deh,0e0h,0e2h,0e4h,0e6h,0e8h,0eah,0ebh,0edh,0efh,0f0h,0f1h,0f3h,0f4h db 0f5h,0f6h,0f8h,0f9h,0fah,0fah,0fbh,0fch,0fdh,0fdh,0feh,0feh,0feh,0ffh,0ffh,0ffh db 0ffh,0ffh,0ffh,0ffh,0feh,0feh,0feh,0fdh,0fdh,0fch,0fbh,0fah,0fah,0f9h,0f8h,0f6h開始查表并輸出判斷按鍵是否斷開返回是否 db 0f5h,0f4h,0f3h,0f1h,0f0h,0efh,0edh,0ebh,0eah,0e8h,0e6h,0e4h,0e2h,0e0h,0deh,0dch db 0dah,0d8h,0d5h,0d3h,0d1h,0ceh,0cch,0c9h,0c7h,0c4h,0c1h,0bfh,0bch,0b9h,0b6h,0b3h db0b1h,0aeh,0abh,0a8h,0a5h,0a2h,09fh,09ch,099h,096h,093h,090h,08ch,089h,086h,083h db 080h,07dh,07ah,077h,074h,070h,06dh,06ah,067h,064h,061h,05eh,05bh,058h,055h,052h db 04fh,04dh,04ah,047h,044h,041h,03fh,03ch,039h,037h,034h,032h,02fh,02dh,02bh,028h db 026h,024h,022h,020h,01eh,01ch,01ah,018h,016h,015h,013h,011h,010h,00fh,00dh,00ch db 00bh,00ah,008h,007h,006h,006h,005h,004h,003h,003h,002h,002h,002h,001h,001h,000h db 000h,000h,001h,001h,002h,002h,002h,003h,003h,004h,005h,006h,006h,007h,008h,00ah db 00bh,00ch,00dh,00fh,010h,011h,013h,015h,016h,018h,01ah,01ch,01eh,020h,022h,024h db 026h,028h,02bh,02dh,02fh,032h,034h,037h,039h,03ch,03fh,041h,044h,047h,04ah,04dh db 04fh,052h,055h,058h,05bh,05eh,061h,064h,067h,06ah,06dh,070h,074h,077h,07ah,07dh五、調(diào)試與仿真本次的設(shè)計(jì)主要應(yīng)用了 protues 和 keil c 軟件進(jìn)行系統(tǒng)設(shè)計(jì)和仿真,經(jīng)過仿真后,結(jié)果較好,示波器可以正確的輸出方波、正弦波、三角波、鋸齒波、梯形波。函數(shù)圖像如下圖所示:鋸齒波:梯形波:三角波:方波:正弦波:六、總結(jié)本次的設(shè)計(jì)中利用 AT89C51 和 DAC0832 以及放大器完成電路的設(shè)計(jì),用開關(guān)來控制各種波形的發(fā)生及轉(zhuǎn)換,用單片機(jī)輸出后,經(jīng)過模數(shù)轉(zhuǎn)換器生成波形,最終可以通過示波器觀察。在這次的軟件設(shè)計(jì)中,程序設(shè)計(jì)采用的是匯編語(yǔ)言。匯編語(yǔ)言具有速度快,可以直接對(duì)硬件進(jìn)行操作的優(yōu)點(diǎn),它可以極好的發(fā)揮硬件的功能。但是匯編語(yǔ)言也存在編寫的代碼非常難懂,不好維護(hù),很容易產(chǎn)生 bug,難于調(diào)試的缺點(diǎn)。因此,在大型程序的設(shè)計(jì)中,多采用 C 語(yǔ)言進(jìn)行程序編譯。C 語(yǔ)言簡(jiǎn)潔高效,是最貼近硬件的高級(jí)編程語(yǔ)言,經(jīng)過多年的發(fā)展,現(xiàn)在已成熟為專業(yè)水平的高級(jí)語(yǔ)言。而且,現(xiàn)在單片機(jī)產(chǎn)品推出時(shí)紛紛配套了 C 語(yǔ)言編譯器,應(yīng)用廣泛。不過就本次課程設(shè)計(jì)來說,匯編語(yǔ)言還是適用的。由于真正意義上的程序設(shè)計(jì)還不多,因此還不是很得心應(yīng)手,所以在設(shè)計(jì)中遇到一些問題和一些難點(diǎn)。比如:在程序設(shè)計(jì)中如何實(shí)現(xiàn)程序結(jié)構(gòu)的最優(yōu)化,以達(dá)到較高的質(zhì)量。這是以后設(shè)計(jì)中要注意的問題。 通過這次課程設(shè)計(jì),我進(jìn)一步了解了波形發(fā)生器的原理,在實(shí)際動(dòng)手操作過程中,使我接觸了許多我以前沒接觸過的元件,而且重新溫習(xí)了剛學(xué)不久的匯編語(yǔ)言,使我學(xué)得了許多知識(shí),使我獲益匪淺。這次課程設(shè)計(jì),使我的動(dòng)手能力得到了很大的提高,更使我們懂得理論知識(shí)的重要性,沒有理論的指導(dǎo)一切實(shí)際行動(dòng)都是盲目的,且實(shí)際操作是我們得到的理論知識(shí)得到驗(yàn)證,更能增加對(duì)理論知識(shí)的理解。七、參考文獻(xiàn):[1] 毅剛,彭喜元. 單片機(jī)原理與應(yīng)用設(shè)計(jì). 北京:電子工業(yè)出版社 .[2](美)Richard Blum 著;馬朝暉等譯;匯編語(yǔ)言程序設(shè)計(jì) 北京:機(jī)械工業(yè)出版社完 成 期 限: 20221224 指 導(dǎo) 教 師 簽 名 : 課程負(fù)責(zé)人簽名: 2022 年 12 月 2