版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微機原理課程設(shè)計波形發(fā)生器基本要求:(1) 通過按鍵選擇波形,波形選擇(方波、三角波)。8255 A 和0832(2) 通過按鍵設(shè)定波形的頻率,同時波形頻率在數(shù)碼管上顯示。8255A(3) 頻率設(shè)定后,通過8253精確計時來設(shè)置波形寬度大小,比如方波的占空比。(4) 8259A產(chǎn)生中斷,用示波器顯示輸出波形。附加要求:(1) 通過按鍵可以增大或者降低頻率;(2) 顯示正弦波。 目 錄一 理論部分1.1 課程設(shè)計的目的 21.2 課程設(shè)計要求與內(nèi)容 21.3 總體設(shè)計方案 2(1)設(shè)計思想及方案論證2(2)總體設(shè)計方案框圖31.4 系統(tǒng)硬件設(shè)計 41.5 系統(tǒng)軟件設(shè)計 5二 實踐部分2.1 系統(tǒng)
2、硬件原理簡介 62.2 程序調(diào)試 92.3 軟件系統(tǒng)的使用說明 9三 課程設(shè)計結(jié)果分析3.1 實驗結(jié)果 103.2 結(jié)果分析 11四 課程設(shè)計總結(jié) 11五 附錄5.1源程序及說明 12波形發(fā)生器一 理論部分1.1 課程設(shè)計的目的 (1)綜合模擬電子線路、數(shù)字電子技術(shù)和微機原理等多門專業(yè)基礎(chǔ)課程的知識,使學(xué)生對以計算機為核心的通信、測量或控制系統(tǒng)有個全面了解和實踐的過程。(2)掌握常規(guī)芯片的使用方法、掌握簡單微型計算機應(yīng)用系統(tǒng)軟硬的設(shè)計方法,進一步鍛煉同學(xué)們在微型計算機應(yīng)用方面的實際工作能力,強化本學(xué)科內(nèi)容并擴展知識面。(3)體驗分析問題、提出解決方案、通過編程等手段實現(xiàn)解決方案、不斷調(diào)試最終達
3、到設(shè)計要求的全過程。(4)培養(yǎng)學(xué)生的創(chuàng)造力和對專業(yè)的適應(yīng)性。1.2 課程設(shè)計的內(nèi)容和要求1、通過按鍵選擇波形,波形選擇(方波、三角波、正弦波)。8255 A 和08322、通過按鍵設(shè)定波形的頻率,同時波形頻率在數(shù)碼管上顯示。8255A3、頻率設(shè)定后,通過8253精確計時來設(shè)置波形寬度大小,比如方波的占空比。4、8259A產(chǎn)生中斷,用示波器顯示輸出波形。5、通過按鍵可以增大或者降低頻率;6、畫出電路原理圖,說明工作原理,編寫程序及程序流程圖。1.3 總體設(shè)計方案(1)設(shè)計思想及方案論證由于要求達到模擬信號波形發(fā)生,因此要由D/A轉(zhuǎn)換芯片0832來來完成此項任務(wù),由8253形成波形的主要做法是:先
4、輸出一個下限電平,將其保持t然后輸出一個稍高的電平,在保持t,然后重復(fù)此過程,因此需要延長0832輸入數(shù)據(jù)的時間間隔來改變頻率。如圖1信號發(fā)生波形圖所示。0832輸入的數(shù)據(jù)的延時可以通過軟件完成,也可以通過硬件完成。由于實驗要求輸出的波的頻率可以改變,且精確,所以選用硬件延時+5V0V圖1 信號發(fā)生波形圖 硬件延時主要由計時器8253和中斷控制器8259來實現(xiàn)。由8253輸出的方波的高低電平,來觸發(fā)8259的IR0端,8259給CPU中斷信號,CPU中斷來執(zhí)行相應(yīng)的中斷子程序,中斷子程序為向0832輸出數(shù)據(jù)的程序,通過選擇此程序可以產(chǎn)生鋸齒波,方波,正弦波。由于0832產(chǎn)生的方波的頻率可以控制
5、,所以每次中斷執(zhí)行波形發(fā)生程序的時間間隔可以精確控制。以此來控制輸出的波形頻率。最后通過8255驅(qū)動LED數(shù)碼顯示管,實現(xiàn)對輸入的頻率的顯示,由鍵盤直接輸入波形頻率,通過LED數(shù)碼顯示管顯示。(2)總體設(shè)計方案框圖總體設(shè)計就是先由8255驅(qū)動LED顯示輸入的頻率,再通過8253定時中斷,中斷的子程序來執(zhí)行輸出,輸出的信號經(jīng)過信號發(fā)生器形成波形。圖2 硬件簡圖CLK(1.8432MHZ)Intel8253Intel8259ACPU8086DAC0832Intel8255A示波器LED數(shù)碼顯示管1.4系統(tǒng)硬件設(shè)計硬件設(shè)計電路圖圖3 硬件設(shè)計電路圖XD7XD6XD5XD4XD3XD2XD1XD0D7
6、D6D5D4D3D2D1D0WRRDCSA0INTXIOWXIORIOY0XA2INTRXD7XD6XD5XD4XD3XD2XD1XD0XIOWXIORIOY1XA3XA2D7D6D5D4D3D2D1D0WRRDCSA1A0IR0OUT0CLK0GATE01.8432MHZ+5V82548259AXD7XD6XD5XD4XD3XD2XD1XD0XD7XD6XD5XD4XD3XD2XD1XD0XIOWXIORIOY3XA3XA2D7D6D5D4D3D2D1D0WRRDCSA1A0D7D6D5D4D3D2D1D0WRCSXIOWIOY2OUT示波器PB0PB1PB2PB3PB4PB5PB6PB7P
7、A0PA1PA2PA3PA4PA5ABCDEFGDPX1X2X3X4X5X6LED顯示器8255ADAC0832系 統(tǒng) 總 線系 統(tǒng) 總 線系 統(tǒng) 總 線系 統(tǒng) 總 線1.5系統(tǒng)軟件設(shè)計軟件設(shè)計流圖初始化8259、8255、8253、0832 輸入頻率并將計算所得計數(shù)初值寫入相應(yīng)的8253控制字主程序(無限循環(huán)程序)有中斷關(guān)電源,退出系統(tǒng) 響應(yīng)中斷,保護斷點進入中斷程序,向0832輸出波結(jié)束中斷開始 NY圖4 軟件設(shè)計流圖二 實踐部分2.1系統(tǒng)硬件原理簡介(一)可編程并行I/O接口芯片8255A8255A可編程并行I/O接口芯片,為40個引腳的雙列直插芯片8255A具有3個相互獨立的輸入/輸出
8、通道端口,三種工作方式。方式0基本輸入輸出方式;方式1選通輸入/出方式;方式2雙向選通輸入/輸出方式;圖5 8255A引腳圖引腳功能:RESET:復(fù)位信號,高電平有效,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。RD:讀命令信號輸入,低電平有效,用來控制數(shù)據(jù)由8255A讀WR:寫命令信號輸入,地點平有效,用來控制寫到8255ACS:片選信號輸入,通過譯碼器與地址總線相連D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。(二)可編程定時/計數(shù)器Intel8253Intel8253是一種能夠完成定時
9、和計數(shù)的芯片,8253內(nèi)部有3個16位計數(shù)器通道,通過對他們編程,每個計數(shù)器可以按照6種工作方式工作,并且都可以按2或10進制格式進行計數(shù),最高頻率為2HZ。8253還可以用于許多其他場合,比如可作編程方波發(fā)生器,分頻器等。圖6 8253引腳圖引腳功能:1、數(shù)據(jù)緩沖總線數(shù)據(jù)總線緩沖器是8253與系統(tǒng)總線相連時使用的接口電路,它由8位雙相三態(tài)緩沖器構(gòu)成,CPU用輸入輸出指令對8253進行讀寫操作的信息都由8位數(shù)據(jù)總線傳輸:(1)CPU在對8253進行初始化編程時,向他寫入控制字。(2)CPU向某一計時器寫入計數(shù)初值。(3)從計數(shù)器讀出計數(shù)值。2、讀寫控制邏輯讀寫控制邏輯接受系統(tǒng)控制總線送來的輸入
10、信號,經(jīng)由組合后形成控制信號,對各部分操作進行控制。可接受的信號有:(1)CS片選,低電平有效,由數(shù)據(jù)總線經(jīng)由IO端口譯碼電路產(chǎn)生。只有CS低電平時,CPU才能對8253進行讀寫操作。(2)RD讀信號,低電平有效,當(dāng)RD位地電平時,表示CPU正在讀取所選定的計數(shù)器的通道的內(nèi)容。(3)WR寫信號,低電平有效。當(dāng)WR為低電平時,表示CPU正在將計數(shù)器初值寫入所選中的通道口中,或者將控制字寫入內(nèi)部寄存器中。(4)A1A2 端口選擇信號,改變它的值,來選擇8253內(nèi)三個計數(shù)器通道。如果8253和與8位數(shù)據(jù)總線的微機相連,只要將A1A0分別與地址總線相聯(lián)。如果系統(tǒng)采用的是8086CPU,則數(shù)據(jù)總線為16
11、位,傳輸數(shù)據(jù)時,總是將低8位數(shù)據(jù)送往偶地址,將高8位送往奇地址。3、計數(shù)器8253內(nèi)部包含三個完全相同俄計數(shù)器定時器通道,對3個通道的操作是完全獨立的。每個通道都包含1個8位的控制字寄存器,1個16位的減寄存器,和一個鎖存器,執(zhí)行部件是一個16位的減法計數(shù)器。每個通道工作時,對輸入到CLK引腳上的脈沖按2進制或10 進制格式進行計數(shù)。每當(dāng)輸入一個時鐘脈沖,計數(shù)器減1,當(dāng)計數(shù)器的值減為0時從,從OUT引腳輸出一個脈沖信號。GATE引腳上的門控制信號,決定他是否允許計數(shù)。(三)可編程中斷控制器8259A8259A是8086/8088系列的可編程中斷控制器,8259A為28個引腳的雙列直插芯片。圖7
12、 8259A引腳圖主要功能:(1)據(jù)8級優(yōu)先級控制,通過聯(lián)級可以擴展到64級優(yōu)先控制。(2)每一級中斷可由程序單獨屏蔽或允許。(3)可提供中斷類型號傳送給CPU。(4)可以通過編程選擇多種不同工作方式。引腳功能:D7-D0:雙向數(shù)據(jù)線,三態(tài),與數(shù)據(jù)總線相連。IR7-IR0:外設(shè)的中斷請求信號輸入端,輸入,中斷請求:可以是電平觸發(fā),或者邊緣觸發(fā)。RD:讀命令信號,輸入,低電平有效,用來控制數(shù)據(jù)由8259A讀WR:寫命令信號,輸入,地點平有效,用來控制寫到8259CS:片選信號,輸入,通過譯碼器與地址總線相連INT:向CPU發(fā)出中斷請求信號,輸出,與CPU的INTR相連INTA:CPU給8259A
13、的中斷響應(yīng)信號,輸入。(四)D/A轉(zhuǎn)換器DAC0832NSC公司生產(chǎn)的DAC0832,是一種內(nèi)部帶有數(shù)據(jù)輸入寄存器的8位D/A轉(zhuǎn)化器,采用CMOS工藝制成,芯片內(nèi)部R-2R梯形電阻網(wǎng)絡(luò),用于對參考電壓產(chǎn)生的電壓進行分流,完成模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)果以一組差動電流 IOUT1、IOUT2輸出。引腳的功能:VREF : 參考電壓輸入端。根據(jù)需要一定大小的電壓,由于它是轉(zhuǎn)換的基準(zhǔn),要求數(shù)值正確,穩(wěn)定性好。VCC:工作電壓輸入端。AGAN為模擬地,DGAN為數(shù)字地。在模擬電路中,所有的模擬地要連在一起然后將模擬地,數(shù)字地連接到一個公共接地點。DI7-DI0:數(shù)據(jù)輸入??芍苯舆B接到數(shù)據(jù)總線。IOUT1IOUT
14、2:互補的電流輸出端。為了輸出模擬電壓,需加轉(zhuǎn)換電路。圖8 DAC0832引腳圖2.2程序調(diào)試由于此次課程設(shè)計涉及內(nèi)容較多程序較長,所以不適合采用整體調(diào)試的方式。因此,采用先逐次調(diào)試獨立功能模塊,再調(diào)試組合模塊,最后調(diào)試整體程序的方法。具體過程如下所示:1、調(diào)試0832產(chǎn)生三種波形程序2、調(diào)試輸入頻率計算計數(shù)初值程序3、調(diào)試8253輸出方波程序4、調(diào)試8259產(chǎn)生中斷響應(yīng)程序5、調(diào)試8255通過LED顯示數(shù)據(jù)程序6、調(diào)試輸入頻率計算計數(shù)初值并通過LED顯示數(shù)據(jù)程序7、調(diào)試8253使8259產(chǎn)生中斷的程序8、調(diào)試整體程序2.3 軟件系統(tǒng)的使用說明 通過鍵盤輸入要輸出的波形的頻率,然后選擇輸出的波
15、形,LED數(shù)碼顯示管上可以顯示輸入的頻率,模擬示波器顯示DAC0832 AUTO端口輸出的波形。三 課程設(shè)計結(jié)果分析3.1 實驗結(jié)果 圖9 程序運行截圖 圖10 矩形波 圖11 三角波 圖12 正弦波3.2 結(jié)果分析運行程序時,分別產(chǎn)生100HZ、500HZ、1000HZ、1500HZ、1600HZ的波形,結(jié)果發(fā)現(xiàn)100HZ-1500HZ的波形頻率與所設(shè)定的頻率一致或有極小的偏差,但從1600HZ開始誤差逐漸變大,遠遠偏離所設(shè)定的頻率,且小于所設(shè)定頻率。究其原因是:執(zhí)行中斷程序的時間與中斷周期的比值越來越大,或者說隨著頻率增大執(zhí)行中斷響應(yīng)的時間對輸出波形頻率的影響越大。所以,頻率越高誤差越大。
16、改進方式:精簡中斷服務(wù)程序,減小程序執(zhí)行時間;在0832輸出端加上倍頻器,減小0832的輸出頻率,以此降低誤差。四 課程設(shè)計總結(jié)在這次實習(xí)中,我鞏固了微機課中所學(xué)的知識,了解了各種芯片的的用法,各個接口的名稱和功能。進一步鍛煉了在微型計算機應(yīng)用方面的實際工作能力,強化了對微機原理學(xué)科內(nèi)容的認識并擴展了知識面。通過設(shè)計實驗,使我掌握了模擬量 輸入/輸出通道的設(shè)計,常用控制程序的設(shè)計方法,數(shù)據(jù)處理及非線性補償技術(shù),以及數(shù)字控制器的設(shè)計方法。 本設(shè)計從幾個基礎(chǔ)的部分著手總結(jié)綜合運用各種資料最后完成一個數(shù)字信號發(fā)生器系統(tǒng)。 通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合的重要性,只有把所學(xué)的理論知識與實踐
17、相結(jié) 合起來,從理論中得出結(jié)論,才是真正的知識,才能提高自己的實際動手能力和獨立思考的能力。而且在做課程設(shè)計的過程中,不僅是考驗自己所學(xué)的微機原理與接口技術(shù)知識,更是要鍛煉自己的分析問題的能力和解決實際問題的能力,而在在此次課程設(shè)計過程中得到了充分的體現(xiàn)。 在此次設(shè)計中體也會到了交流知識的重要性,在千篇一律的設(shè)計中,顯示自己的特色,在實用 性和執(zhí)行效率間取得平衡,是設(shè)計的關(guān)鍵所在。通過這次課程設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我更加深刻的了解微機原理與接口技術(shù),以及在常用 編程設(shè)計思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用
18、型 人才打下良好的基礎(chǔ)。五 附錄5.1 源程序及說明;*根據(jù)查看端口資源修改下列符號值*IOY0 EQU 3000H ;片選IOY0對應(yīng)的端口始地址MY8259_ICW1 EQU IOY0+00H ;實驗系統(tǒng)中8259的ICW1端口地址MY8259_ICW2 EQU IOY0+04H ;實驗系統(tǒng)中8259的ICW2端口地址MY8259_ICW3 EQU IOY0+04H ;實驗系統(tǒng)中8259的ICW3端口地址MY8259_ICW4 EQU IOY0+04H ;實驗系統(tǒng)中8259的ICW4端口地址MY8259_OCW1 EQU IOY0+04H ;實驗系統(tǒng)中8259的OCW1端口地址MY8259
19、_OCW2 EQU IOY0+00H ;實驗系統(tǒng)中8259的OCW2端口地址MY8259_OCW3 EQU IOY0+00H ;實驗系統(tǒng)中8259的OCW3端口地址;*IOY1 EQU 3040H ;片選IOY1對應(yīng)的端口始地址MY8254_COUNT0 EQU IOY1+00H*4 ;8254計數(shù)器0端口地址MY8254_COUNT1 EQU IOY1+01H*4 ;8254計數(shù)器1端口地址MY8254_COUNT2 EQU IOY1+02H*4 ;8254計數(shù)器2端口地址MY8254_MODE EQU IOY1+03H*4 ;8254控制寄存器端口地址;*IOY2 EQU 3080H ;片
20、選IOY2對應(yīng)的端口始地址MY8255_A EQU IOY2+00H*4 ;8255的A口地址MY8255_B EQU IOY2+01H*4 ;8255的B口地址MY8255_C EQU IOY2+02H*4 ;8255的C口地址MY8255_MODE EQU IOY2+03H*4 ;8255的控制寄存器地址;*IOY3 EQU 30C0H ;片選IOY3對應(yīng)的端口始地址DA0832 EQU IOY3+00H*4 ;DA0832的端口地址 ;* STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA1 SEGMENT SINBUF DB 80H,8C
21、H,98H,0A5H,0B0H,0BCH,0C7H,0D1H ;SINBUF正弦波64點采樣值 DB 0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFH DB 0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E2H,0DAH DB 0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH,80H DB 7FH,73H,67H,5AH,4FH,43H,38H,2EH DB 25H,1DH,15H,0FH,09H,05H,02H,00H DB 00H,02H,05H,09H,0FH,15H,1DH,25H DB 2EH,38H,43H,4FH,5A
22、H,67H,73H,7FH SANBUF DB 00H,08H,10H,18H,20H,28H,30H,38H ;SANBUF三角波64點采樣值 DB 40H,48H,50H,58H,60H,68H,70H,78H DB 80H,88H,90H,98H,0A0H,0A8H,0B0H,0B8H DB 0C0H,0C8H,0D0H,0D8H,0E0H,0E8H,0F0H,0F8H DB 0F8H,0F0H,0E8H,0E0H,0D8H,0D0H,0C8H,0C0H DB 0B8H,0B0H,0A8H,0A0H,98H,90H,88H,80H DB 78H,70H,68H,60H,58H,50H,4
23、8H,40H DB 38H,30H,28H,20H,18H,10H,08H,00HFANBUF DB 32 DUP(0),32 DUP(0FFH) ;FANBUF方波64點采樣值LEDTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;共陰極數(shù)碼管0-F對應(yīng)輸入碼值 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H MES DB Press any key to exit!,0AH,0DH,0AH,0DH,$ ;提示語任意按鍵退出DOS 系統(tǒng)MESS1 DB 0DH,0AH,SQUARE-1,0DH,0AH ;功能鍵提示語 DB TRIANGLE
24、-2,0DH,0AH DB SINE-3,0DH,0AH DB CHANGE THE FREQZ-4,0DH,0AH DB EXIT-5,0DH,0AH,$ MESS2 DB 0DH,0AH,INPUT THE FREQZ:,0Ah,0DH,$ ;提示輸入六位頻率FLAG4 DB 0H ;判斷是否初次執(zhí)行顯示頻率FLAG5 DB 0H ;判斷是否初次執(zhí)行輸入頻率CHOOSE DB 0H ;保存輸入的功能鍵JISHU DW 0H ;保存波形已經(jīng)輸出的頻率FREQZ DW ? ;保存輸入的頻率COUNT DW ? ;保存根據(jù)輸入頻率所計算得的計數(shù)初值COUNT1 DB ? ;計數(shù)初值低八位COUN
25、T2 DB ? ;計數(shù)初值高八位SHUJU DB 10 DUP(0) ;保存輸入頻率每位的真實值DATA1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA1START: MOV AX,DATA1 ;將DATA1放入數(shù)據(jù)段 MOV DS,AX P1: CALL INPUT MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,34H ;計數(shù)器0,方式2 OUT DX,AL MOV DX,MY8254_COUNT0 ;裝入計數(shù)初值 MOV AL,COUNT1 ;裝入計數(shù)初值低字節(jié) OUT DX,AL MOV AL,COUNT2 ;裝入計數(shù)初值
26、高字節(jié) OUT DX,AL CMP FLAG5,1 ;判斷是否初次執(zhí)行輸入頻率 JZ AA ;不是則跳轉(zhuǎn)到等待輸入功能鍵 CALL DISPLY ;調(diào)用數(shù)碼管顯示輸入頻率程序KL: CMP FLAG4,1 ;判斷是否初次執(zhí)行顯示頻率 JZ AA ;不是則跳轉(zhuǎn)到等待輸入功能鍵 LEA DX,MESS1 ;顯示輸入頻率的提示語 MOV AH,09H INT 21H QUERY1:MOV DX,MY8259_ICW1 ;初始化實驗系統(tǒng)中8259的ICW1 MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4 OUT DX,AL MOV DX,MY8259_ICW2 ;初始化實驗系統(tǒng)中8259
27、的ICW2 MOV AL,08H OUT DX,AL MOV DX,MY8259_ICW4 ;初始化實驗系統(tǒng)中8259的ICW4 MOV AL,01H ;非自動結(jié)束EOI OUT DX,AL MOV DX,MY8259_OCW1 ;初始化實驗系統(tǒng)中8259的OCW1 MOV AL,0FCH ;打開IR0和IR1的屏蔽位QUERY: MOV AH,1 ;判斷是否有按鍵按下 INT 16H JNZ AA ;有按鍵則退出 MOV DX,MY8259_OCW3 ;向8259的OCW3發(fā)送查詢命令 MOV AL,0CH OUT DX,AL IN AL,DX ;讀出查詢字 TEST AL,80H ;判斷中
28、斷是否已響應(yīng) JZ QUERY ;沒有響應(yīng)則繼續(xù)查詢 AND AL,03H CMP AL,00H JE IR0ISR ;若為IR0請求,跳到IR0處理程序 JMP QUERY ;若不是則跳回繼續(xù)等待 QUIT: MOV AX,4C00H ;結(jié)束程序退出 INT 21H AA: MOV FLAG4,0H ;將標(biāo)志位清零以便下次判斷 MOV FLAG5,0H ;將標(biāo)志位清零以便下次判斷 MOV AH,01H ;輸入功能鍵 INT 21H MOV CHOOSE,AL ;將功能鍵保存 JMP QUERY1 ;跳轉(zhuǎn)到等待程序DISPLY PROC NEAR ;數(shù)碼管顯示程序 MOV DX,MY8255_
29、MODE ;給8255寫入控制字 MOV AX,B ;方式0,A口B口輸出 OUT DX,ALAA0: MOV AH,1 ;判斷是否有按鍵按下 INT 16H JNZ KL ;有按鍵則返回 MOV SI,OFFSET SHUJU ;將保存頻率的內(nèi)存地址給SI MOV AH,0FEH ;位選初值 MOV CX,0006H ;位選次數(shù)AA1: MOV AL,AH ;AL保存位選 MOV DX , MY8255_A ;端口地址位操作 OUT DX,AL ROL AL,01H ;下一個位地址 MOV AH,AL ;AH保存位選 MOV AL, SI ;地址取待顯示內(nèi)容 MOV BX ,OFFSET L
30、EDTAB ;將數(shù)字換成顯示的七段碼 XLAT MOV DX , MY8255_B ;數(shù)碼管輸入的端口地址 OUT DX,AL CALL DELAY ;執(zhí)行延時 INC SI ;指向下一個內(nèi)存單元 LOOP AA1 ;循環(huán)點亮下一個LED JMP AA0DISPLY ENDP IR0ISR: ;中斷服務(wù)程序 MOV AL,CHOOSE ;將輸入的功能鍵取出至AL CMP AL,1 ;若為1輸出方波 JZ SQUARE CMP AL,2 ;若為2輸出三角波 JZ TRIANGLE CMP AL,3 ;若為3輸出正弦波 JZ SINE CMP AL,4 ;若為4則跳到X5 JZ X5CMP AL,
31、5 ;若為5則退出 JZ QUIT X5: MOV FLAG5,1 ;標(biāo)志位置1 JMP P1SQUARE: ;方波產(chǎn)生程序 MOV SI,JISHU ;將計數(shù)值放入SI MOV AL,FANBUF+SI ;將輸出的數(shù)值放入AL MOV DX,DA0832 ;將輸出值寫入0832 OUT DX,AL INC SI ;指向下個輸出值 CMP SI,64 ;判斷是否已經(jīng)輸出64點 JNZ LO ;若不是則跳轉(zhuǎn)L0 MOV SI,0H ;否則SI清零LO: MOV JISHU,SI ;將計數(shù)值保存 JMP EOI ;跳轉(zhuǎn)到中斷結(jié)束TRIANGLE: MOV SI,JISHU ;將計數(shù)值放入SI MOV AL,SANBUF+SI ;將輸出的數(shù)值放入AL MOV DX,DA0832 ;將輸出值寫入0832 OUT DX,AL INC SI ;指向下個輸出值 CMP SI,64 ;判斷是否已經(jīng)輸出64點 JNZ LO ;若不是則跳轉(zhuǎn)L0 MOV SI,0H ;否則SI清零L1: MOV JISHU,SI ;將計數(shù)值保存 JMP EOI ;跳轉(zhuǎn)到中斷結(jié)束SINE: MOV SI,JISHU ;將計數(shù)值放入SI MOV AL,SINBUF+SI ;將輸出的數(shù)值放入AL MOV DX,DA0832 ;將輸出值寫入083
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭室內(nèi)塑膠地板施工方案
- 2024至2030年中國酒店一卡通軟件系統(tǒng)行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國聚氯乙烯填充料數(shù)據(jù)監(jiān)測研究報告
- 二年級數(shù)學(xué)下冊工作總結(jié)
- 食堂五四制度
- 2024年中國金屬拼裝益智玩具市場調(diào)查研究報告
- 2024年中國負離子夾板市場調(diào)查研究報告
- 2024年中國套裝電動工具市場調(diào)查研究報告
- 部門級安全培訓(xùn)試題【全優(yōu)】
- 2024年中國低密度早強劑市場調(diào)查研究報告
- 小流量多頭泵中文說明書C
- 管理經(jīng)濟學(xué)計算題及參考答案(已分類整理)
- cpk原始數(shù)據(jù)生成器
- 煙臺冰輪LG系列螺桿制冷壓縮機組產(chǎn)品樣本2011版
- 能量隔離管理制度
- SVAC標(biāo)準(zhǔn)介紹
- 制氫站工程施工方案
- 社會保險稽核通知書
- 趨向補語“起”、“起來”的用法PPT課件
- 股權(quán)代持協(xié)議書(標(biāo)準(zhǔn)版)
- 高中學(xué)生物理教學(xué)論文7篇
評論
0/150
提交評論