【正文】
p again1 pop cx retndelay endp 。speaker proc 。啟動揚(yáng)聲器子程序 push ax mov al,0b6h 。初始化8253 out 43h,al pop ax out 42h,al 。用計數(shù)器2,初始化計數(shù)初值 mov al,ah out 42h,al retspeaker endp 。 speakon proc 。發(fā)聲子程序 push ax mov dx,potrb 。判斷PB0和PB1是否打開 in al,dx or al,03h out dx,al pop ax retspeakon endp 。speakoff proc 。關(guān)閉揚(yáng)聲器子程序 push ax mov dx,potrb in al,dx and al,0fch out dx,al pop ax ret speakoff endp end start 7 總結(jié) 本次課程設(shè)計的題目為電子報警器,就是當(dāng)按下鍵盤的數(shù)字鍵的時候會發(fā)生報警,LED燈閃爍和揚(yáng)聲器發(fā)聲,還在屏幕上顯示報警的信息W。故在開始時要先觸動鍵盤的數(shù)字鍵,否則不發(fā)生報警。 對于本程序的報警信息,利用了FD8088系統(tǒng)的int 14h中斷,對字符進(jìn)行輸入和輸出。 對于本程序的LED燈閃爍,用的是8255芯片進(jìn)行控制,所用的端口是A端口。 對于本程序的揚(yáng)聲器發(fā)聲控制,用的是8253芯片進(jìn)行控制,而其輸入頻率是其內(nèi)置8MHz,并用分頻器對其分頻。 這次課程設(shè)計是對上學(xué)期微機(jī)原理的書本知識的檢驗,雖然平時也寫過很多小程序,但是這次課程設(shè)計還需要和硬件相聯(lián)系,故其難度很大,并且運(yùn)行的環(huán)境也不一樣,還有實驗室的機(jī)子有的時候有的時候不能用,所以在檢查沒用實現(xiàn)相應(yīng)功能的時候,要檢查很多的東西。這次多虧了老師和同學(xué)們的幫助才完成了這次課程設(shè)計。最后還需要指明的是,本次課程設(shè)計還有部分功能沒能實現(xiàn),例如,當(dāng)按下Ctrl+C的時候退出,由于自己的能力有限,沒能實現(xiàn)。9