微機原理課設(shè):霓虹燈閃爍控制系統(tǒng)_第1頁
微機原理課設(shè):霓虹燈閃爍控制系統(tǒng)_第2頁
微機原理課設(shè):霓虹燈閃爍控制系統(tǒng)_第3頁
微機原理課設(shè):霓虹燈閃爍控制系統(tǒng)_第4頁
微機原理課設(shè):霓虹燈閃爍控制系統(tǒng)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、微機原理與接口技術(shù)課程設(shè)計題目: 霓虹燈閃爍控制系統(tǒng) 學 院: 信息工程學院 專 業(yè): 自動化 班 級: 1301 姓 名: 劉灑 學 號: 2013001575 指導教師: 賈敏智 2016年 1 月 16 日目錄目錄 1第一章 緒論 .31.1 設(shè)計題目簡介 .31.2 設(shè)計背景.31.3 設(shè)計功能.3第二章 硬件設(shè)計.42.1 實驗裝置簡介.42.2 硬件電路設(shè)計.5 2.2.1 電路圖.6 2.2.2 芯片介紹.7 2.2.2.2 與CPU的接口電路.7 2.2.2.3 引腳信號.8 2.2.2.4 8255A的工作方式及初始化編程9第三章 軟件設(shè)計及程序分析103.1 程序清單.10

2、3.2 程序分析.10 3.2.1 主程序10 3.2.1.1 主程序功能.11 3.2.1.2 主程序分析.11 3.2.2 子程序13 3.2.2.1 STATE0 子程序.13 3.2.2.2 STATE1 子程序.14 3.2.2.3 STATE2 子程序.15 3.2.2.4 STATE3 子程序.16 3.2.2.5 延時子程序DELAY10.18 3.2.2.6 顯示子程序DISP19第四章 實驗總結(jié).204.1 開關(guān)控制霓虹燈實驗總結(jié).204.2 實驗心得.20參考文獻.21附錄.22摘要:霓虹燈是日常生活中最常見的燈飾,它裝點了晚上,豐富了人們的生活。通過匯編語言,實現(xiàn)霓虹燈

3、的顯示與閃爍,可以很方便的達到想要的效果。本設(shè)計是利用微機原理中的匯編語言,并且以8255A芯片為核心來控制LED從而實現(xiàn)霓虹燈的不同變化,并從該課題設(shè)計中鞏固我們所學的知識和鍛煉我們的動手能力,為以后工作中動手,動腦奠定一定的基礎(chǔ)Abstract: the neon lamp in daily life is the most common lighting, decorate it in the evening, people live a rich life. Through the assembly language, to achieve the display of neon li

4、ghts and flashing, can be very convenient to achieve the desired effect. This design is the use of Microcomputer Principle and assembly language, using 8255A chip as the core to control the LED so as to realize the neon lights of different changes, and from the project design to consolidate what we

5、have learned and exercise our ability, for the future work to lay a solid foundation, brains.關(guān)鍵字:霓虹燈 程序 8255AKeywords: Neon lamp program 8255A第一章 緒論1.1 設(shè)計題目簡介:設(shè)計霓虹燈閃爍控制系統(tǒng),使外設(shè)的紅、綠、黃3種顏色的發(fā)光二極管,在開關(guān)的控制或者在程序自動控制下,按照不同規(guī)律閃爍。要求:(1)要求發(fā)光二極管的亮、滅變化有一定的規(guī)律 (2)發(fā)光二極管變化規(guī)律要有多種狀態(tài)1.2設(shè)計背景 “微機與接口技術(shù)”是一門實踐性和實用性都很強的課程,學習的目的

6、在于應(yīng)用。本課程設(shè)計是自動化專業(yè)學生的一次較全面的的設(shè)計訓練,是配合“微機與接口技術(shù)”課堂教學的最后一個重要的實踐教學環(huán)節(jié),它將起到鞏固課堂和書本上所學的知識、加強綜合能力、提高系統(tǒng)設(shè)計水平、啟發(fā)創(chuàng)新思想的作用。其基本目的是: (1) 培養(yǎng)理論聯(lián)系實際的正確設(shè)計思路,訓練綜合運用已經(jīng)學過的理論和實際知識去分析和解決實際問題的能力。 (2) 幫助學生全面消化已學的相關(guān)課程內(nèi)容,深刻理解微機原理與接口技術(shù)課程的內(nèi)涵,從硬件的角度掌握微機的組成、接口部件的結(jié)構(gòu)和彼此之間的聯(lián)系,從軟件的角度理解和應(yīng)用微機系統(tǒng)的運行機制。 (3) 進行基本技能訓練。例如編程、上機、調(diào)試硬件和軟件系統(tǒng)。 課程設(shè)計的任務(wù)是

7、使學生利用學校現(xiàn)有條件,自己動手設(shè)計完成一個典型的微機應(yīng)用小系統(tǒng)。我們小組選定的課程設(shè)計題目是:霓虹燈 其設(shè)計目的主要為: (1) 進一步熟悉8255A并行接口的基本工作原理 (2) 運用CES-86通用微機實驗裝置,了解鍵盤的基本結(jié)構(gòu),學會編寫程序. (3) 在熟悉了小鍵盤的基礎(chǔ)上,加上LED發(fā)光二極管的使用設(shè)計出絢麗閃耀的霓虹燈.當然,雖然程序最后達到了預期控制要求,但是由于實際情況和理想情況存在差距,我知道還有很多地方有待改進,同時我還是個初學者,各方面肯定存在不足,如果老師發(fā)現(xiàn)了缺陷之處,請指出,我們一定會虛心接受。1.3 設(shè)計功能外設(shè)的8個發(fā)光二極管在2個開關(guān)K1,K2的控制下按照不

8、同的規(guī)律閃爍,同時在電腦屏幕上顯示開關(guān)狀態(tài),二極管閃爍規(guī)律如下:(1)開關(guān)狀態(tài)為K1關(guān),K2關(guān)時,前四燈同時亮,熄滅后,接著后四個同時亮,并且在屏幕上顯示“0 0 STATE ZERO”。(2)開關(guān)狀態(tài)為K1關(guān),K2開時,8燈依次點亮,并且在屏幕上顯示“0 1 STATE OME”。(3)開關(guān)狀態(tài)為K1開,K2關(guān)時,從兩側(cè)向內(nèi)依次同時點亮一個燈,并且在屏幕上顯示“0 1 STATE TWO”。(4)開關(guān)狀態(tài)為K1開,K2開時,從中心向外依次同時點亮一燈,并且在屏幕上顯示“0 1 STATE THYEE”。第二章 硬件設(shè)計2. 1 實驗裝置簡介 本次課程設(shè)計所使用的主要設(shè)備是CES-86型通用實

9、驗裝置。CES-86型通用PC機實驗裝置的特點是“單板積木式”電路。而且可以和任何一種PC機相連組成系統(tǒng),相連后即可在此裝置上進行硬件拼接,組成各種實驗系統(tǒng)。 單積木式電路分為21塊基本電路,標以A、B、C、R、S和兩塊輔助電路。 這21塊積木的具體電路為:A:單脈沖發(fā)生器電路; B: 時鐘脈沖發(fā)生器電路;C:數(shù)/模轉(zhuǎn)換(DAC0832)電路; D: 可編程計數(shù)器/定時器(8253)電路;E:模/數(shù)轉(zhuǎn)換(ADC0809)電路 ; F: 單板機I/O地址電路;G:邏輯電路芯片插座區(qū); H:電平開關(guān)電路;I: 發(fā)光二極管(LED)顯示電路; J:計數(shù)器分頻電路;K:可編程并行通信接口(8255A)

10、電路;L:可編程串行通信接口(8251A)電路M:十六進制鍵盤電路;N:七段數(shù)碼顯示電路;O:隨機存儲(RAM6116)電路;P:中繼電路;Q:直流電源及控制電路;R:PC總線接口;S:與PC機連接的接口電路;S R O QCBAPDGNEMFL萬 用 表KHJI“單板積木式”示意圖 本課程設(shè)計使用了F(單板機IO地址電路),H(電平開關(guān)電路), I發(fā)光二極管顯示電路, K(可編程并行通信接口即8255A電路)。2.2 硬件電路設(shè)計2.2.1 電路圖設(shè)計電路圖如下圖所示,A口為輸出,連接8個發(fā)光二極管,B口為輸入,其中的PB0,PB1接開關(guān)K1,K2。開關(guān)的四個狀態(tài)分別對應(yīng)霓虹燈的四種變化狀態(tài)

11、,做試驗時,通過控制開關(guān)的斷開與閉合,可以觀察到霓虹燈的閃爍。同時CPU通過 B端口將K1,K2的信息讀入,然后轉(zhuǎn)換成ASCII碼 其中端口A的地址為318H;端口B的地址為319H;控制字的地址為31BH2.2.2 芯片介紹本次課程設(shè)計中所使用的芯片8255A(如右圖)是Intel公司采用CHMOS工藝生產(chǎn)的一種高性能通用可編程輸入/輸出并行接口芯片,可以方便地應(yīng)用在Intel系列微處理器系統(tǒng)中。下面對8255A芯片進行簡單介紹:2.2.2.1 8255A的內(nèi)部結(jié)構(gòu) 8255A是40引腳雙列直插式芯片,片內(nèi)有A,B,C三個8位I/O端口,可提供24條可編程的輸入/輸出端口線。它的內(nèi)部結(jié)構(gòu)由三

12、部分電路組成:與CPU的接口電路、內(nèi)部控制邏輯電路和與外設(shè)連接的輸入/輸出接口電路。2.2.2.2 與CPU的接口電路(1)與CPU的接口電路由數(shù)據(jù)總線緩沖器和讀/寫控制邏輯組成。數(shù)據(jù)總線緩沖器是一個三態(tài)、雙向、8位寄存器,8條數(shù)據(jù)線D7D0與系統(tǒng)數(shù)據(jù)總線連接,構(gòu)成CPU與8255A之間信息傳送的通道,CPU通過執(zhí)行輸出指令向8255A寫入控制命令或往外設(shè)傳送數(shù)據(jù),通過執(zhí)行輸入指令讀取外設(shè)輸入的數(shù)據(jù)。讀寫控制邏輯電路用來接收CPU系統(tǒng)總線的讀信號RD,寫信號WR,片選擇信號CS,端口選擇信號A和復位信號RESET,用于控制8255A內(nèi)部寄存器的讀寫操作和復位操作。(2)內(nèi)部控制邏輯電路內(nèi)部控制

13、邏輯包括A組控制與B組控制兩部分。A組控制寄存器用來控制A口PA7PA0和C口的高四位PC7PC4;B組控制寄存器用來控制B口PB7PB0和低四位PC3PC0。它們接收CPU發(fā)送來的控制命令,對A,B,C3個端口的輸入/輸出方式進行控制。(3)輸入輸出接口電路 8255A片內(nèi)有A,B,C3個8位并行端口,A口和B口分別有1個8位的數(shù)據(jù)輸出鎖存/緩沖器和1個8位數(shù)據(jù)輸入鎖存器,C口有一個8位數(shù)據(jù)輸出鎖存/緩沖器,用于存放CPU與外部設(shè)備交換的數(shù)據(jù)。 對于8255A的3個數(shù)據(jù)端口和1個控制端口,數(shù)據(jù)端口既可以寫入數(shù)據(jù)也可以讀出數(shù)據(jù),控制端口只能寫入命令而不能讀出,讀、寫控制信號(RD,WR)和端口

14、選擇信號(CS,A1,A0)的狀態(tài)組合可以實現(xiàn)A,B,C3個端口和控制端口的讀寫操作。8255A的端口分配及讀寫功能見下表:CS WR RDA1 A0 功 能0 0 10 0數(shù)據(jù)寫入A口0 0 10 1數(shù)據(jù)寫入B口0 0 11 0 數(shù)據(jù)寫入C口0 0 11 1命令寫入控制寄存器0 1 00 0讀出A口數(shù)據(jù)0 1 00 1讀出B口數(shù)據(jù)0 1 01 0讀出C口數(shù)據(jù)0 1 01 1非法操作2.2.2.3 引腳信號 8255A的引腳如下圖示,分為數(shù)據(jù)線、地址線、讀寫控制線、輸入/輸出端口線和電源線。 D7D0:三態(tài)、雙向數(shù)據(jù)線,與數(shù)據(jù)總線連接,用來傳送數(shù)據(jù)。 CS:片選信號線,低電平有效時,芯片被選中

15、。 A1,A0:地址線,用來選擇內(nèi)部端口。 RD:讀出信號線,低電平有效時,允許數(shù)據(jù)讀出。WR:寫入信號線,低電平有效時,允許數(shù)據(jù)寫入。RESET:復位信號線,高電平有效時,將所有內(nèi)部寄存器(包括控制寄存器)清0。PA7PA0:A口輸入/輸出信號線。PB7PB0:B口輸入/輸出信號線。PC7PC0:C口輸入/輸出信號線。VCC:+5V電源。GND:電源地線。2.2.2.4 8255A的工作方式及初始化編程8255A有三種工作方式:基本輸入/輸出方式,單向選通輸入/輸出方式和雙向選通輸入/輸出方式。(1)方式0:基本輸入輸出方式方式0是8255A的基本輸入輸出方式,其基本特點是與外部傳送數(shù)據(jù)時,

16、不需要設(shè)置專用的信號聯(lián)絡(luò)(應(yīng)答)信號,可以無條件的直接進行I/O端口傳送。A,B,C三個端口都可以工作在方式0。A口和B口工作在方式0時,只能設(shè)置以8位數(shù)據(jù)格式輸入輸出;C口工作在方式0時,可以將高4位和低4位分別設(shè)置為數(shù)據(jù)輸入或數(shù)據(jù)輸出方式。方式0常用于與外設(shè)無條件數(shù)據(jù)傳送或查詢方式數(shù)據(jù)傳送。(2) 方式1:單項選通輸入/輸出方式方式1是一種帶選通信號的單方向輸入/輸出工作方式,其特點是:與外設(shè)傳送數(shù)據(jù)時,需要聯(lián)絡(luò)信號進行協(xié)調(diào),允許用查詢或中斷方式傳送數(shù)據(jù)。由于C口的PC0,PC1和PC2定義為B口工作在方式1的聯(lián)絡(luò)信號線,PC3,PC4和PC5定義為A口工作方式1的聯(lián)絡(luò)信號線,因此只允許A

17、口和B口工作在方式1。(3)方式2:雙向選通輸入/輸出方式 方式2為雙向選通輸入輸出方式,是方式1輸入和輸出的組合,即同一端口的信號線既可以輸入又可以輸出。由于C口的PC7PC3定義為A口工作在方式2時的聯(lián)絡(luò)信號線,因此只允許A口工作在方式2。 8255A的A,B,C三個端口的工作方式是在初始化編程時,通過向8255A的控制端口寫入控制字來設(shè)定的。8255A由編程寫入的控制字有兩個:方式控制字和置位/復位控制字。方式控制字用于設(shè)置端口A,B,C的工作方式和數(shù)據(jù)傳送方向;置位/復位控制字用于設(shè)置C口的PC7PC0中某一條口線PCi(i=07)的電平。兩個控制字公用一個控制字公用一個端口地址,由控

18、制字的最高位最為區(qū)分這兩個控制字的標志位。8255A工作方式控制字的格式如圖所示:第三章 軟件設(shè)計及程序分析3.1 程序清單:見附錄3.2 程序分析 3.2.1 主程序3.2.1.1 主程序功能它所實現(xiàn)的功能是實現(xiàn)開關(guān)對發(fā)光二極管的亮滅狀態(tài)控制,并將開關(guān)狀態(tài)在屏幕上顯示出來。在運行程序后按任意鍵發(fā)光二極管根據(jù)開關(guān)狀態(tài)開始閃爍,同時在程序運行過程中按任意鍵可返回DOS。3.2.1.2 主程序分析流程圖如下:結(jié)束初始化編程寫入控制字開始讀取開關(guān)狀態(tài)在屏幕上顯示開關(guān)狀態(tài)開關(guān)狀態(tài)顯示提示信息開關(guān)狀態(tài)裝入ALAL=03HAL=01HAL=02HAL=00H返回DOS調(diào)用子程序DELAY0調(diào)用子程序DEL

19、AY1調(diào)用子程序DELAY2調(diào)用子程序DELAY3有鍵按下是是是是否否否否是主程序代碼段START: MOV AX,DATA ;數(shù)據(jù)段裝入初始地址 MOV DS,AX MOV ES,AX MOV AH,09H ;顯示提示信息 MOV DX,OFFSET MESS INT 21H MOV DX,31BH ;控制字端口 MOV AL,10000010B ;控制字,B口輸入A口輸出 OUT DX,AL ;寫入控制字 A: MOV DX,319H ;端口B IN AL,DX ;讀開關(guān)狀態(tài) AND AL,03H ;保留B1,B0位,其他位置0 MOV X,AL ;將AL暫時裝入X MOV CX,02H

20、B: MOV DL,AL ;AL裝入DL以備子程序使用 CALL DISP ;調(diào)用顯示子程序,顯示PB2的狀態(tài) SHL AL,1 LOOP B ;循環(huán)2次,顯示2個開關(guān)狀態(tài) MOV AL,X ;開關(guān)狀態(tài)裝入AL CMP AL,00H ;比較開關(guān)狀態(tài),00調(diào)用STATE0 JNZ M CALL STATE0 M: CMP AL,01H ;比較開關(guān)狀態(tài),01調(diào)用STATE1 JNZ N CALL STATE1 N: CMP AL,02H ;比較開關(guān)狀態(tài),10調(diào)用 STATE2 JNZ O CALL STATE2 O: CMP AL,03H ;比較開關(guān)狀態(tài),11調(diào)用STATE3 JNZ M CALL

21、 STATE33.2.2 子程序3.2.2.1 STATE0子程序: 前四燈同時亮,熄滅后,接著后四個同時亮流程圖如下標號S子程序開始顯示子程序信息在CX中置入循環(huán)次數(shù)為4次控制A口使前4個燈亮,后4個燈滅調(diào)用延時子程序控制A口使前4個燈滅,后4個燈亮CX=0是否調(diào)用延時子程序 STATE0 PROC NEAR MOV AH,09H MOV DX,OFFSET ZERO INT 21H MOV DX,318H MOV CX,04H ;端口A H: MOV AL,0FH OUT DX,AL CALL DELAY10 MOV AL,0F0H OUT DX,AL CALL DELAY10 LOOP

22、H JMP S RETSTATE0 ENDP3.2.2.2 STATE1子程序: 8燈依次點亮流程圖如下子程序開始顯示子程序信息在CX中置入循環(huán)次數(shù)為8次輸出狀態(tài)寫入AL調(diào)用延時子程序CX=0標號S是否AL邏輯右移一位燈顯示輸出狀態(tài)STATE1 PROC NEAR MOV AH,09H MOV DX,OFFSET ONE INT 21H MOV DX,318H ;端口A MOV CX,08H D: MOV AL,80H NOT AL ROR AL,1 OUT DX,AL CALL DELAY10 LOOP D JMP S RETSTATE1 ENDP3.2.2.3 STATE2子程序:從兩側(cè)向

23、內(nèi)依次同時點亮一個燈在CX中置入循環(huán)次數(shù)為4次B7,B0燈亮,其余燈滅調(diào)用延時子程序B6,B1燈亮,其余燈滅調(diào)用延時子程序B4,B3燈亮,其余燈滅調(diào)用延時子程序B5,B2燈亮,其余燈滅調(diào)用延時子程序子程序開始顯示子程序信息CX=0是標號S否STATE2 PROC NEAR MOV AH,09H MOV DX,OFFSET TWO INT 21H MOV CX,04H MOV DX,318H ;端口A E: MOV AL,01111110B OUT DX,AL CALL DELAY10 MOV AL,1011101B OUT DX,AL CALL DELAY10 MOV AL,11011011B

24、 OUT DX,AL CALL DELAY10 MOV AL,11100111B OUT DX,AL CALL DELAY10 LOOP E JMP S RETSTATE2 ENDP3.2.2.4 STATE3子程序: 從中心向外依次同時點亮一燈流程圖如下在CX中置入循環(huán)次數(shù)為4次B7,B0燈亮,其余燈滅調(diào)用延時子程序B6,B1燈亮,其余燈滅調(diào)用延時子程序B4,B3燈亮,其余燈滅調(diào)用延時子程序B5,B2燈亮,其余燈滅調(diào)用延時子程序子程序開始顯示子程序信息CX=0是標號S否STATE3 PROC NEAR MOV AH,09H MOV DX,OFFSET TWO INT 21H MOV CX,0

25、4H MOV DX,318H ;端口A F: MOV AL,11100111B OUT DX,AL CALL DELAY10 MOV AL,11011011B OUT DX,AL CALL DELAY10 MOV AL,10111101B OUT DX,AL CALL DELAY10 MOV AL,01111110B OUT DX,AL CALL DELAY10 LOOP F JMP S RETSTATE3 ENDP3.2.2.5 延時子程序DELAY10在CX中置入循環(huán)次數(shù)為0FH次子程序開始在AL中置入初始數(shù)0FFFFHAL AL-1AL=0CX=0是是否否子程序結(jié)束開始DELAY10 P

26、ROC NEAR PUSH AX PUSH CX MOV CX,0F0H UUU: MOV AX,0FFFFH VVV: DEC AX JNZ VVV LOOP UUU POP CX POP AX RETDELAY10 ENDP3.2.2.6 顯示子程序DISP流程圖如下在CX中置入循環(huán)次數(shù)為0FH次子程序開始在AL中置入初始數(shù)0FFFFHAL AL-1AL=0CX=0是是否否子程序結(jié)束開始DISP PROC NEAR PUSH AX PUSH CX AND DL,02H ;保留B1位 SHR DL,1 ADD DL,30H ;將顯示信息轉(zhuǎn)換成ASCII碼 MOV AH,02H INT 21H

27、 ;在屏幕上顯示B1位 MOV DL,20H INT 21H ;顯示空格 MOV DL,20H INT 21H POP CX POP AX RETDISP ENDP第四章 實驗總結(jié)4.1 開關(guān)控制霓虹燈實驗總結(jié)(1).在設(shè)置霓虹燈閃爍控制系統(tǒng)中,先確定設(shè)置霓虹燈的大致思路,有一個主程序,四個分別控制紅燈、綠燈、黃燈閃爍規(guī)律的子程序,還有按鍵返回DOS子程序;(2).通過設(shè)計霓虹燈閃爍規(guī)律控制系統(tǒng)深刻的理解了8255A的端口控制的方式以及輸入輸出狀態(tài)。(3).在做課程設(shè)計的過程中熟悉了匯編語言、各種跳轉(zhuǎn)指令、子程序調(diào)用、循環(huán)指令以及返回DOS指令更全面的了解了微機原理與接口技術(shù)的內(nèi)容。4.2 實

28、驗心得 兩周的課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗了我所學習的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計過程中,與同學分工設(shè)計,和同學們相互探討,相互學習,相互監(jiān)督。學會了合作,學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世。課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程”千里之行始于足下”,通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義我今天認真的進行課程設(shè)計,學會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎(chǔ) 通過這次設(shè)計,本人在多方面都有所提高。通過這次模具

29、設(shè)計,綜合運用本專業(yè)所學課程的理論和生產(chǎn)實際知識進行一次冷沖壓模具設(shè)計工作的實際訓練從而培養(yǎng)和提高學生獨立工作能力,鞏固與擴充了冷沖壓模具設(shè)計等課程所學的內(nèi)容,掌握冷沖壓模具設(shè)計的方法和步驟,掌握冷沖壓模具設(shè)計的基本的模具技能懂得了怎樣分析零件的工藝性,怎樣確定工藝方案,了解了模具的基本結(jié)構(gòu),提高了計算能力,繪圖能力,熟悉了規(guī)范和標準,同時各科相關(guān)的課程都有了全面的復習,獨立思考的能力也有了提高。同時感謝對我?guī)椭^的同學們,謝謝你們對我的幫助和支持,讓我感受到同學的友誼。由于本人的設(shè)計能力有限,在設(shè)計過程中難免出現(xiàn)錯誤,懇請老師們多多指教,我十分樂意接受你們的批評與指正,本人將萬分感謝。參考文

30、獻1. 馬春燕,段承先.微機原理與接口技術(shù).北京:電子工業(yè)出版社,20072. 馬春燕,段承先.微機原理與接口技術(shù)實驗與學習指導.北京:電子工業(yè)出版社,20073 附錄DATASEGMENT ;定義數(shù)據(jù)段 X DB ? ZERO DB 'STATE ZERO',0DH,0AH,'$'ONE DB 'STATE ONE',0DH,0AH,'$'TWO DB 'STATE TWO',0DH,0AH,'$'THREE DB ' STATE THREE',0DH,0AH,'$'

31、;MESS DB 'ENTER ANY KEY CAN EXIT TO DOS!',0DH,0AH,'$' DATA ENDS ;定義數(shù)據(jù)段結(jié)束STACK SEGMENT STACK ;定義堆棧段STA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDS ;定義堆棧段結(jié)束CODE SEGMENT ;定義代碼段MAIN PROC FAR ;主程序ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA ;數(shù)據(jù)段裝入初始地址 MOV DS,AX MOV ES,AX MOV AH,

32、09H ;顯示提示信息 MOV DX,OFFSET MESS INT 21H MOV DX,31BH ;控制字端口 MOV AL,10000010B ;控制字,B口輸入A口輸出 OUT DX,AL ;寫入控制字 A: MOV DX,319H ;端口B IN AL,DX ;讀開關(guān)狀態(tài) AND AL,03H ;保留B1,B0位,其他位置0 MOV X,AL ;將AL暫時裝入X MOV CX,02H B: MOV DL,AL ;AL裝入DL以備子程序使用 CALL DISP ;調(diào)用顯示子程序,顯示PB2的狀態(tài) SHL AL,1 LOOP B ;循環(huán)2次,顯示2個開關(guān)狀態(tài) MOV AL,X ;開關(guān)狀態(tài)

33、裝入AL CMP AL,00H ;比較開關(guān)狀態(tài),00調(diào)用STATE0 JNZ M CALL STATE0 M: CMP AL,01H ;比較開關(guān)狀態(tài),01調(diào)用STATE1 JNZ N CALL STATE1 N: CMP AL,02H ;比較開關(guān)狀態(tài),10調(diào)用 STATE2 JNZ O CALL STATE2 O: CMP AL,03H ;比較開關(guān)狀態(tài),11調(diào)用STATE3 JNZ M CALL STATE3STATE0 PROC NEAR ;前四燈同時亮,熄滅后,接著后四個同時亮 MOV AH,09H MOV DX,OFFSET ZERO INT 21H MOV DX,318H MOV CX,04H ;端口A H: MOV AL,0FH OUT DX,AL CALL DELAY10 MOV AL,0F0H OUT DX,AL CALL DELAY10 LOOP H JMP S RETSTATE0 ENDPSTATE1 PROC NEAR ;8燈依次點亮 MOV AH,09H MOV DX,OFFSET ONE INT 21H MOV DX,318H ;端口A MOV CX,08H D: MOV AL,80H NOT AL ROR AL,1 OUT DX,AL CALL DE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論