七段數碼管顯示秒表_第1頁
七段數碼管顯示秒表_第2頁
七段數碼管顯示秒表_第3頁
七段數碼管顯示秒表_第4頁
七段數碼管顯示秒表_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要本文提出了一個利用微機原理與接口技術完成秒表的設計方案,該方案主要是選擇 8254A 的計數器 0 進行 100ms 的定時,其輸出于 OUT0 與 8259 的 IRQ7 相連,當定時到 100ms 的時候產生一個中斷信號,在中斷服務程序進行秒的計數,并送入相應的存儲單元;8255 的A 口接七段數碼管的位選信號,B 口接七段數碼管的段選信號,C 口上面接鍵盤,通過 鍵盤控制暫停計時、繼續計時。秒,毫秒的數值通過對 8255 的編程可以顯示在七段數碼 管上面。通過對一個基于微型計算機的能實現電子時鐘的設計學習,詳細介紹了微型計算機原 理控制的應用中的數據轉換顯示,LED顯示原理,微型計算

2、機控制的定時中斷原理。從而 達到學習、了解微機原理控制的相關指令在各方面的應用。系統由8254、8255、8259等構 成,能實現秒表顯示的功能,能進行秒、毫秒的顯示。關鍵詞:定時器8254A,并行通信接口芯片8255,七段數碼管。目錄 TOC o 1-5 h z 摘 要 I HYPERLINK l bookmark4 o Current Document 第 1 章概 述 1 HYPERLINK l bookmark6 o Current Document 1.1設計題目1 HYPERLINK l bookmark8 o Current Document 1.2設計目的1 HYPERLINK

3、 l bookmark10 o Current Document 設備器材 1 HYPERLINK l bookmark12 o Current Document 任務分析 1 HYPERLINK l bookmark16 o Current Document 第 2 章設計原理 3 HYPERLINK l bookmark18 o Current Document 設計原理 3 HYPERLINK l bookmark20 o Current Document 2.2元器件功能特性 3 HYPERLINK l bookmark22 o Current Document 8255 簡介 3 H

4、YPERLINK l bookmark28 o Current Document 8259 簡介 5 HYPERLINK l bookmark34 o Current Document 8254 簡介 6七段LED數碼管及其接口 8 HYPERLINK l bookmark40 o Current Document 第 3 章系統設計9 HYPERLINK l bookmark42 o Current Document 3.1硬件設計9 HYPERLINK l bookmark44 o Current Document 3.2軟件設計9 HYPERLINK l bookmark46 o Cur

5、rent Document 第4章系統實現11 HYPERLINK l bookmark48 o Current Document 概述11 HYPERLINK l bookmark50 o Current Document 程序模塊11主程序模塊11 HYPERLINK l bookmark52 o Current Document 顯示模塊12小鍵盤模塊13 HYPERLINK l bookmark54 o Current Document 定時模塊13 HYPERLINK l bookmark72 o Current Document 中斷處理模塊14 HYPERLINK l bookm

6、ark74 o Current Document 第 5 章遇到的問題及解決方法155.1遇到的問題15解決的方法15總 結17致 謝18 HYPERLINK l bookmark80 o Current Document 參考文獻19附 錄20 HYPERLINK l bookmark84 o Current Document A1.1 源程序代碼20第 1 章 概 述設計題目用七段LED數碼管顯示秒表設計目的微型計算機原理及應用是一門實踐性較強的課程,讓學生在學完該課程之后,進 行一次課程設計,使學生將課堂所學的知識和實踐有機結合起來,初步掌握計算機應用系 統設計的步驟和接口設計的方法,提

7、高分析和解決實際問題的能力。通過設計實踐,不但要培養和提高學生解決工程具體問題,動腦動手的技術工作能力, 還能鞏固所學的知識。具體要求如下:1、中斷工作原理,定時計數原理。2、掌握8259芯片,8254芯片,8255芯片功能,結構。3、掌握8259芯片,8254芯片,8255芯片的編程。4、能運用所提到的芯片,設計系統并進行程序開發,滿足用戶需求。設備器材(1)設計環境PC機一臺、TD-ADS軟件、TD-PITE實驗箱、導線若干。(2)設計所用設備8254定時器:用于產生秒脈沖,其輸出信號可作為中斷請示信號送IRQ7。8255并口:用做接口芯片,和小鍵盤及LED相連。8259中斷控制器:用于產

8、生中斷。LED:四個LED用于顯示時:秒:毫秒值。小鍵盤:用于控制設置。任務分析1、總體內容:設計一秒表,能在數碼管上顯示時間并計時,而且可通過鍵盤控制計 時、暫停計時。2、接口設計:根據題目和所用的接口電路芯片設計出完整的接口電路,并在實驗系 統上完成電路的連接和調試通過.3、程序設計:要求畫出程序框圖,設計出全部程序并給出程序設計說明和程序注釋。4、完成的實驗有:8259A中斷控制器實驗,8254定時計數器實驗,8255并行接口實 驗。選擇8254A的計數器0進行定時,其輸出于OUTO與8259的IRQ7相連,產生一個中 斷信號,在中斷服務程序進行秒的計數,并送入相應的存儲單元;8255的

9、A 口接七段數碼 管的位選信號,B 口接七段數碼管的段選信號,C 口上面接鍵盤,通過鍵盤控制暫停計時、 繼續計時。秒,毫秒的數值通過對8255的編程可以顯示在七段數碼管上面。第2章設計原理2.1設計原理秒表的總體設計原理是:首先利用定時芯片8254的定時作用定時計數,在給定的時間 內逐漸變為0時,就會發出一個中斷信號,8259中斷器接到此中斷信號就會調用MIR7時間 顯示程序,執行此程序后8255就會工作,掃描鍵盤,通過開關控制暫停計時、繼續計時, 最后把接到的二進制時間碼轉換成ASCI I碼在四個碼管上顯示時間。具體做法是為了實現精確走時,顯示秒、毫秒,我們先在數據段開辟一顯示緩沖區, 用來

10、存儲系統時間,初始化我們所要應用的芯片8254, 8255, 8259后,允許中斷信號輸入, 主程序開始,為了顯示秒、毫秒,并被我們識別,先調用DIS程序,實現片選的功能。為 了得到良好的顯示效果,本程序調用了一段精確的延時程序,使各位在時間顯示上有短暫 的間隔,延時程序要盡量接近1秒,但又不能超過一秒。同時,由于8254定時器的分頻功 能,產生中斷信號,8259中斷器就會調用MIR7時間顯示程序,實現位選,通過LED數碼管 顯示出來,時間刷新,再顯示,有此循環,就形成了精確走時的秒表。通過掃描鍵盤,判 斷是否有鍵按下來控制秒表的計時、暫停計時。2.2元器件功能特性秒表功能的實現主要由C808

11、6、8255、8254、8259和七段數碼管及鍵盤共同完成。各 元器件的功能具體如下:8255 簡介1 8255引腳功能RESET :復位輸入線,當該輸入端外于高電平時, 所有內部寄存器(包括控制寄存器)均被清除, 所有I/O 口均被置成輸入方式。CS:片選信號線,當這個輸入引腳為低電平時, 表示芯片被選中,允許8255與CPU進行通訊。RD:讀信號線,當這個輸入引腳為低電平時,允許 8255通過數據總線向CPU發送數據或狀態信息, 即CPU從8255讀取信息或數據。WR:寫入信號,當這個輸入引腳為低電平時, 允許CPU將數據或控制字寫入8255。DOD7:三態雙向數據總線,8255與CPU數

12、據傳送的通道,當CPU執行輸入輸出指令時, 通過它實現8位數據的讀/寫操作,控制字和狀態信息也通過數據總線傳送。PAOPA7:端口 A輸入輸出線,一個8位的數據輸出鎖存器/緩沖器,一個8位的數 據輸入鎖存器。PBOPB7:端口 B輸入輸出線,一個8位的I/O鎖存器,一個8位的輸入輸出緩沖器。PCOPC7:端口 C輸入輸出線,一個8位的數據輸出鎖存器/緩沖器,一個8位的數據輸 入緩沖器。端口C可以通過工作方式設定而分成2個4位的端口,每個4位的端口包含 一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態信號輸 入端口。外部:AO, A1 為口地址選擇信號線。 8255 內部

13、有3個口: A 口、B 口、C 口,還有一個控制寄 存器,它們由程序尋址。A1AO選擇00A 口O11011O11011C 口控制寄存器2 8255三種工作方式 8255的工作方式分別為工作方式0,工作方式1和工作方式2。1:工作方式0,又稱為基本工作方式。在此方式下,可分別將A 口的8條線,B 口的8條線, C 口高4位對應的4條線和C 口的低四位對應的四條線定義為輸入或輸出。故它們的輸入輸出 共有16種不同的組合。2: 工作方式1,即選通輸入輸出方式。在這種方式下,A口和B口仍作為數據的輸出口和輸 入口,同時還要利用C 口的某些位作為控制和狀態信號。3: 工作方式2,又稱雙向輸入輸出方式。

14、這種方式只有8255的口A才有。在A口工作于雙向輸入輸出方式時,要利用C口的5條線才能實現。因此,B口只能工作在工作方式0或工作方 式1,而C口剩下的3條線可以作為輸入輸出線使用或B口方式1下的控制線。3 8255 的控制字7165433 8255 的控制字7165432101JLiLJ功能控制0:位操作1:方式選擇1:輸入0:輸出控制B 口 8位1:輸入0:輸出方式選擇0:方式01:方式1控制C 口高4位0:輸出1:輸入控制A 口 8位0:輸出1:輸入方式選擇00:方式0說明:當控制字bit7 = 1時,控制字的bit6bit3這4位用來控制A組,即A 口的8位和C 口 的高4位,而控制字的

15、低3位bit2bit0用來控制B組,包括B 口的8位和C 口的低48259 簡介8259是一種可編程的中斷控制器。每塊芯片可管理8級向量中斷,同時,可通過多片級 連實現多達64級的中斷管理。中斷控制器8259有四種主要工作方式,即全嵌套、循環優先級、特定屏蔽和程序查詢 方式。同時,它還有一4種從屬工作方式,即結束中斷、讀狀態、中斷請求觸發和數據緩 沖方式。18259的外部引線D0-D7為雙向數據線,與系統總線數據線相連。 WR,RD為寫和讀控制信號,與系統總線的讀寫 信號相連接。CS為片選信號。A0是8259內部寄存器的選擇信號。INT為8259的中斷請求輸出信號,可直接接到CPU的INTR輸

16、入端。CAS0-CAS1為級聯控制線。IR0-IR7中斷請求輸入端。2 8259的工作方式1特殊屏蔽方式在正常情況下,當一個中斷請求被響應時,8259將 被禁止所有同級及更低優先級中斷請求這就稱為一 般屏蔽方式。但是,在一特殊情況下,希望也允許 較低優先級的中斷請求產生中斷。2中斷結束中斷結束分自動結束和利用命令結束3優先級循環它有兩種優先級規定:循環優先級和固定優先級。固定優先級規定8個中斷源以IRO的優先 級最高依次降低。循環優先級有3個結構:自動優先級循環用于中斷源具有相等優先級的情況。指定優先級循環可以利用命令一次性 改變優先級。自動結束方式下的優先級循環,其優先權控制方式與自動優先級

17、循環的相同。 4查詢狀態通過將操作命令字0CW3中的P位置1,可以查詢8259的狀態。i站232:522斗821522065418A171(1 H1憐111 412L3IX?CL.KO曲丁匸38254 簡介IX?CL.KO曲丁匸318254的引腳8254具有3個獨立的16位計數器,6種不同的工 作方式。計數寄存器用來寄存計數初值,計數工作單元 為16位減1計數器,它的初值便是計數寄存器內容,計數 單元對CLK脈沖計數,每出現一個CLK脈沖,計數器減 1,當減為零時,通過OUT輸出指示信號表明計數單元已 為零。當作為定時器工作時,每當計數單元為零時,計數 寄存器內容會自動重新裝入 計數單元,而且

18、CLK輸入 是均勻的脈沖序列,于是OUT輸出頻率是降低了的(相 對于CLK信號頻率)脈沖序列。當作為計數器工作時, 表明只關心在CLK端出現(代表事件)的脈沖個數,當CLK端出現了規定個數的脈沖時,OUT 輸出一個脈沖。本次設計主要利用 8254 產生 10ms 的方波,其與總線相連接的引線主要是:DOD7雙向數據線,用以傳送數據和控制字。這里分別與XDOXD7相連接。CS 輸入信號,低電平有效,當它有效時才能選中該定時器芯片,實現對它的讀或寫,這里 與系統IOY3相連接。RD讀控制信號,低電平有效,與系統總線IOR#相連接。WR寫控制信號,低電平有效,與系統總線IOW#相連接。AO、A1為8

19、254的內部計數器和一個控制寄存器的編碼選擇信號,其功能如下:A1A0選擇00計數器001計數器110計數器211控制寄存器CLK0是計數器的時鐘輸入端。本次設計的時鐘為1MHZ,計數器對此時鐘信號進行計數。 GATE0門控信號,即計數器的控制輸入信號,用來控制計數器的工作,這里使其為高電平, 直接接系統 5V。OUT 計數器輸出信號,用來產生不同方式工作時的輸出波形,本次設計的 1ms 方波由此輸 出。8254的功能8254 的功能用途是:延時中斷可編程頻率發生器事件計數器二進倍頻器實時時鐘數字單穩復雜的電機控制器8254的工作方式8254有六種工作方式:(1)方式0:計數結束中斷方式1:可

20、編程頻率發生器方式2:頻率發生器方式3:方波頻率發生器方式4:軟件觸發的選通信號方式5:硬件觸發的選通信號8254有6種方式工作,由于只用來產生方波,所以使其工作在方式3(方波發生器), 在此方式下,GATA信號為低電平時,強迫OUT輸出高電平,當GATA主高電平時,OUT輸 出時稱方波。2.2.4七段LED數碼管及其接口七段LED數碼管由七個發光段構成,每段均為1個LED二極管。通過控制不同段的點 亮和熄滅,顯示出16進制數字或字符。七段LED顯示器有共陽極和共陰極兩種結構,如 圖所示的七段LED實際上包含8個LED(7段字形加上小數點DP)。1位LED顯示器有1根 位選線和8根段選線,段選

21、線控制字符的選擇,位選線控制顯示位的亮和暗。11I*11I*1I B11h1i11111i1W十六進制數及空白字符與數碼管的顯示段碼字型共陽級段碼共陰極段碼字型共陽級段碼共陰極段碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H第 第 3 章 系統設計硬件設計芯片 8254 系統總線LED 數碼管芯片 8255 及鍵盤ABCDEF GDPXIX2X3X4Y1Y2Y3Y4軟件設計第 4 章 系

22、統實現4.1 概述本系統設計的秒表以8086微處理器作為CPU,用8254做定時計數器產生時鐘頻率,8255 做可編程并行接口顯示時鐘和鍵盤電路, 8259 做中斷控制器產生中斷。在此系統中,8254的功能是定時,接入8254的CLK信號為周期性時鐘信號。程序由以下模塊組成:系統共有5個功能模塊,分別為,主控模塊,顯示模塊,定時模塊,中斷模塊,小鍵盤模塊系統框圖如下:鍵顯盤示緩讀沖入-顯示模塊主控模塊四個LED8255A秒脈沖:定時模塊8254中斷模塊8259小鍵盤鍵顯盤示緩讀沖入-顯示模塊主控模塊四個LED8255A秒脈沖:定時模塊8254中斷模塊8259小鍵盤j小鍵盤模塊程序模塊4.2.1

23、 主程序模塊主控模塊是系統的核心模塊,對 8255A 進行初始化,主程序開始,為了顯示秒、毫秒 并被我們識別,先調用 DIS 程序,實現片選的功能。最終把接到的二進制時間碼轉換成 ASCII 碼在四個碼管上顯示時間。MOV MSEC,0INC NUMMOV MSEC,0INC NUMCMP NUM,BYTE PTR 10JNZ WANMOV NUM,0INC NUM+1CMP NUM+1,BYTE PTR 10JNZ WANMOV NUM+1,0INC NUM+2CMP NUM+2,BYTE PTR 10JNZ WANMOV NUM+2,0INC NUM+3CMP NUM+3,BYTE PTR

24、 6JNZ WANMOV NUM+3,0;毫秒個位加1;毫秒個位與10比較 ;若不為10則顯示輸出;把NUM單元清零;毫秒十位加1顯示模塊顯示模塊是將接到的數值送到LED顯示的功能模塊,顯示緩沖區是由四個字節構成, 分別保存秒的高位和低位,毫秒的高位和低位。硬件上由四個LED構成,軟件上由掃描顯 示的方法實現。DIS:MOVSI,OFFSETNUMMOVCL,0F7HLP1:MOVDX,MY8255A;將。乂中低四位送外設MOVAL,CLOUTDX,ALMOVDX,MY8255BMOVAL,SIMOVAH,0;AX咼四位寄存器清零MOVDI,BXADDDI,AXMOV AL,DICMP CL,

25、0FDHJNZ ADBOR AL,80HADB: OUT DX,ALCALL DLYROR CL,1TEST CL,80HJZ LP2INC SIJMP LP1LP2: RET小鍵盤模塊小鍵盤模塊送入主控模塊的子功能模塊。由軟件和硬件實現,硬件上由小鍵盤和 8255 互連,將小鍵值由 8255 送入主控模塊。軟件上使用行掃描法獲得鍵值并送回主控模塊。 執行延時程序后再掃描鍵盤,若標志位RUN=O表示真正有鍵按下,從而實現秒表的計時、 暫停計時。CCSCAN: MOV AL,00HMOV DX,MY8255_A;讀端口 A 地址OUT DX,ALMOV DX,MY8255_C;讀端口 C 地址I

26、N AL,DXNOT ALAND AL,0FHRET4.2.4 定時模塊定時模塊是為 8259 提供中斷請求信號的。由一片 8254 實現,選用定時器 0,工作在 方式3,毫秒表應該10ms走動一次,所以輸出值應為10ms,其輸出信號可作為8259的中 斷請求信號。MOV DX,CON8254; 初始化主片 8254MOV AL,36HOUT DX,ALMOV DX,A8254MOV AL,0E8HOUT DX,ALMOV AL,03HOUT DX,AL中斷處理模塊中斷模塊實現動態顯示的,硬件為一片 8259,由于中斷請求信號為每 10ms 一次,中 斷程序該為時間按 10ms 增加,并顯示,

27、只要開中斷,便可實現每 10ms 顯示時間增加 10ms 從而達到動態顯示的效果。MIR7: STI;置中斷標志位IFPUSH DSPUSH AX;回送;回送DATA的段地址值MOV DS,AXMOV AL,MSECMOV AL,1MOV MSEC,ALMRET: MOV AL, 20H;中斷結束命令MRET: MOV AL, 20H;中斷結束命令OUT 20H, ALPOP AXPOP DSIRET第 5 章 遇到的問題及解決方法5.1 遇到的問題七段數碼管顯示時秒的個位后不顯示點鍵盤程序感應不靈敏中斷程序沒被使用5.2 解決的方法(1)原因分析:秒的個位七段數碼管的 DP 位沒有輸入高電位

28、 解決的方法:利用循環右移的方法,判斷是否到達顯示秒的個位,如果到了就往 DP 位送高電平。ADB: OUT DX,ALCALL DLYROR CL,1TEST CL,80HJZ LP2INC SIJMP LP1LP2: RET2)原因分析:鍵盤存在抖動解決的方法:設置一個運行標志位,消除抖動,提高了按鍵的靈敏度,還可消除外界干擾。SDF1:CALL CCSCAN JZ INK1 CALL DLY CALL CCSCAN JZ INK1 MOV AL,RUN NOT AL AND AL,01 MOV RUN,AL MOV AL,RUN NOT AL AND AL,01;掃描SDF1:CALL

29、CCSCAN JZ INK1 CALL DLY CALL CCSCAN JZ INK1 MOV AL,RUN NOT AL AND AL,01 MOV RUN,AL MOV AL,RUN NOT AL AND AL,01;掃描;沒有鍵按下跳到 INK1 ;調用延時;掃描MOV RUN,AL(3)當外部產生中斷時,系統自動調用中斷程序,但中斷程序并沒把主要的功能寫在中 斷里時,可設置一個中斷標志位,實現回送數據段地址的功能。MIR7: STI; 置中斷標志位 IFPUSH DSPUSH AXMOV AX,SEG DATA MOV DS,AXMOV AL,MSECMOV AL,1MOV MSEC,

30、ALMRET: MOV AL, 20HOUT 20H, ALPOP AX;回送DATA;回送DATA的段地址值; 中斷結束命令IRET總結微機原理與接口技術的設計主要是要完成一個數字秒表,并且要求可以顯示實時時 間,當按下按鍵來控制秒表的計時、暫停計時。通過這次課程設計歷時一個星期的微機原 理課程設計,并且在這個星期的學習過程中,發現了自己的很多不足,自己知識的很多漏 洞,看到了自己的實踐經驗還是比較缺乏,理論聯系實際的能力還急需提高。這次的微機原理課程設計是培養我們綜合運用所學知識,發現,提出,分析和解決實際問 題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.隨著科學技

31、術 發展的日新日異,微機原理已經成為當今計算機應用中空前活躍的領域,在生活當中可以 說得是無處不在。因此作為二十一世紀的大學來說掌握微機原理是十分重要的。在開始做的階段,首先運用軟件工程所學的東西,畫出了系統流程圖,這為我后來的 系統提供了很大的幫助, 微機原理與系統設計 作為電子信息類本科生教學的主要基礎課 之一,課程緊密結合電子信息類的專業特點,圍繞微型計算機原理和應用主題,以 Intelx86CPU 為主線,系統介紹微型計算機的基本知識,基本組成,體系結構和工作模式,從而 使學生能較清楚地了解微機的結構與工作流程,建立起系統的概念。以前對于編程工具的使 用還處于一知半解的狀態上,但是經過

32、一段上機的實踐,對于怎么去排錯、查錯,怎么去 看每一步的運行結果,怎么去了解每個寄存器的內容以確保程序的正確性上都有了很大程 度的提高。首先,我們一組三人,經過認真的商議和探討,將主程序的整體框架編譯了出來,再 運用我們在微機原理課所學到的知識,對程序的主體進行運行,發現錯誤及時進行修改,經過 一段時間,終于可以使程序能夠沒有錯誤的運行,接下來是在 PC 機上的連線,使程序能夠和 我們編的程序能夠結合起來,在主體框架完成的情況下,依據老師的要求,將上述所做東 西以報告的形式做成文檔。我感覺到到對知識真正的掌握制在于應用,這次設計用到了數字電路基礎的知識,微 機原理知識,電路基礎等,當這些知識深

33、深地結合在一起的時候,我感覺到了基礎知識是 如此的重要,把這些零散的知識組合在一起居然能夠實現如此現代化的需求,設計出如此 有價值的數字秒表。設計的完成要感謝老師的細心指導和尊尊教誨,相信這些經歷對我以 后的工作乃至于生活都會有著有用的指導意義。致謝微機原理課程設計算是圓滿結束了,經過一周的實習,我最大的收獲就是理解了微機 的一些簡單的程序設計。在這個課程設計的過程中得到了王慶利、蹤念品老師的悉心指導。 兩位老師在整個課程設計的過程中一直耐心的為我們進行指導,時時關注我們的進展,給 我們提出很多建議,幫助我開拓解決問題思路,并耐心對我們遇到的問題進行指導、講解。 雖然只有短短一周的時間,卻給以

34、終生受益無窮之道。對兩位老師的感激之情是無法用言 語表達的。感謝學校對我們此次課程設計的大力支持,為我們安排了充分的時間使用學校的機 房。為我們安排了兩位出色并且負責的老師來解答我們的疑慮。最后我要感謝我們組的其他成員,經過我們的一起討論,共同解決問題,并且借給我 很多參考資料。也給了我很大幫助。參考文獻1、微型計算機原理及應用王慶利 主編 西安電子科技大學出版社2、微機原理與接口技術北京航空航天大學出版社3、微型計算機原理與匯編語言電子工業出版社4、微機原理與應用大連理工大學出版社5、微型計算機原理及應用李伯成 主編 西安電子科技大學出版社附錄A1.1 源程序代碼MY8255_AEQU060

35、0HMY8255_BEQU0602HMY8255_CEQU0604HMY8255_MODEEQU0606HA8254EQU06C0HB8254EQU06C2HC8254EQU06C4HCON8254EQU06C6H;宏定義SSTACK SEGMENT STACK ;設置段,開辟一個內存空間DW 32 DUP(?)SSTACK ENDSDATA SEGMENT ;定義數據段RUN DB 1NUM DB 0,0,0,0MSEC DB 0DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA EN

36、DSCODE SEGMENT ;定義代碼段ASSUME CS:CODE,DS:DATASTART:PUSH DS;入棧代碼段MOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中斷入口地址MOV SI, 003CH;中斷矢量地址MOV SI, AX;填IRQ7的偏移矢量確定地址MOV AX, CS;段地址MOV SI, 003EHMOV SI, AXCLI;填IRQ7的段地址矢量POP DS;初始化8255;清除中斷標志;出棧MOV DX,MY8255_MODEMOV AL,81H;A 口方式0輸出,B 口方式0輸出,MOV SI, AXCLI;填IRQ7的段地址矢量POP DS;初始化8255;清除中斷標志;出棧MOV DX,MY8255_MODEMOV AL,81HOUT DX,AL;初始化主片8254MOV DX,CON8254;計數器0,;計數器0,方式3OUT DX,ALMOV DX,A8254MOV AL,0E8HOUT DX,ALMOV AL,03HOUT DX,AL ;初始化主片8259MOV AL, 11H TOC o 1-5 h z OUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21

溫馨提示

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

評論

0/150

提交評論