




免費預覽已結束,剩余15頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
淮北師范大學 硬件課程設計 可編程作息時間系統目 錄引言31、概述 3 1.1、概要設計報告3 1.2、時間運行系統功能實現3 1.3、報時時間設置及調時功能實現3 1.4、時分顯示系統42、總體設計 4 2.1、業務流程圖4 2.2、所需芯片介紹及芯片原理圖及控制字5 2.2.1、8255A的結構和功能5 2.2.2、8255A的控制字7 2.2.3、8255A的工作方式8 2.3、可編程計數器/定時器8253介紹9 2.3.1、8253的內部結構和引腳信號 9 2.3.2、8253的初始化步驟和門控信號的功能10 2.4、0832D/A轉換器芯片介紹133、芯片詳細設計 15 3.1、軟件程序流程圖及詳解15 3.2、功能說明184、 分析與測試185、課程設計結論 18 5.1、本設計的可行性與優點分析18 5.2、設計中的不足分析與改進196、 課程設計體會19 參考文獻19 致謝20引言 隨著計算機技術的發展和 在控制系統中的廣泛應用,以及設備向小型化,智能化發展,作為高新技術之一的單片機以其體積小,功能強,價格低廉,使用靈活等優勢,顯示出很強的生命力。其功耗低,超高型,成本低,功能完整,在國內越來越受到用戶的重視和廣泛使用1、概述 1.1、概要設計報告作息時間控制系統主要有四大子系統功能實現:1.時間運行系統 2.報時時間值設置及調時系統 3.時分顯示系統 4.報時響應系統。時間運行系統讓時間一直運行著;報時時間值設置及調時系統使得用戶可以隨時設置時間;時分顯示系統讓用戶可以清楚知曉當前系統時間,報時響應系統完成當當前時間與報時時間值一致時進行響應(如LED閃爍)。四大子系統的協調有序的運行,保證了作息時間控制系統具有報時,調時,顯時功能,還達到了與用戶可交互的目的.1.2、時間運行系統功能實現時間運行與調節利用可編程的計數器/定時器8255芯片的可編程使時鐘頻率經過在8253的處理而產生符合要求的脈沖送入8255,進而執行計時子程序使得改變時間參數而計時,進行時間計算,并用實時檢測程序將時間參數用數碼管顯示電路顯示出小時與分鐘以及秒鐘數。與此同時也進行與報時時間段程序的不斷調用,使得在規定時刻進行報時。可選擇5253通道0與通道1實現60秒定時,通道1輸出out1接8255的輸出端口,完成上述連接后,編程實現小時,分鐘的變化的子程序,以及對8253,8255進行初始化編程,計時程序實現時間運行(每次執行中斷服務程序時,使得MINUTE參數+1,當到達59時,重新返回到零,并使得hour參數+1,)1.3報時時間設置及調時功能實現 1)每次程序運行前,徹底清除以前的報時時間設置值,恢復系統默認報時時間值。 2)程序運行后,用戶可一次性設定報時時間值(一旦有設定操作,則原有的默認報時時間值全部清零)。此為最新值,報時以新時間為準。報時時間設置結束以后要進行一次校時設置。 3) 設定完所有報時時間值后,可通過按“D”(display)顯示已經設定好的完整的報時時間值,要求每間隔5秒鐘依次顯示報時時間值。用戶可通過此鍵來查看所有的報時時間值,以避免有錯誤的報時時間值存在而產生錯誤的響應。1.4時分顯示系統時分顯示系統只顯示小時和分鐘,每當將內存中的時分參數通過I/O端口傳送給LED顯示電路,這樣即可以實現(具體實現有待進一步完善)。數碼管顯示電路的顯示具有存儲功能,只要將其輸入端口的數值改變就可以實現變化數字的顯示了,這可以在計數器發出MINUTE加1脈沖時在程序中實現。設定完所有報時時間值后,可通過按“D”(display)顯示已經設定好的完整的報時時間值,要求每間隔5秒鐘依次顯示報時時間值。用戶可通過此鍵來查看所有的報時時間值,以避免有錯誤的報時時間值存在而產生錯誤的響應。 多路轉換LED顯示器驅動電路及數碼管顯示電路所示本系統采用七段LED顯示器顯示時分參數。七段LED顯示器由七個發光段構成,每段均是一個LED二極管,可顯示16進制的09與ABCDE。此外數碼管顯示電路中還有一個小數點DP位段,用來分隔小時與分鐘。8255的A口與C口都作為輸出口,CPU輸出的時間參數,經A口送到74LS240的8個輸入端,且并行地接到4個LED顯示的各輸入端(也稱為段總線),同名端聯在一起。每一位共陽極LED的陽極電路中都串接一個晶體管Q,晶體管起開關作用,并由8255A來控制其導通,是相應的LED顯示器的陽極與+5V電壓接通,LED顯示器才有可能點亮;基極的高電平輸入使晶體管截止,+5V斷開,LED顯示器不能點亮。通過編程,可以使各個晶體管輪流導通,讓7個LED輪流點亮。但任何時候只讓一個晶體管導通,即只有一個LED點亮,這樣可使功耗顯著降低。2、總體設計2.1、業務流程圖以淮北師范大學夏季作息時間作為參考系統默認報時時間值。如下所示:上午: 08:00-08:50 第一節課 8:00上課報時 8:50 下課報時08:55-09:45 第二節課 8:55上課報時 9:45 下課報時 10:15-11:05 第三節課 10:15上課報時 11:05 下課報時11:10-12:00 第四節課 11:10上課報時 12:00下課報時下午:14:30-15:20 第五節課 14:30上課報時 15:20下課報時15:25-16:15 第六節課 15:25 上課報時 16:15下課報時16:45-18:35 第七節課 16:45上課報時 18:35下課報時18:40-18:30 第八節課 18:40上課報時 18:30下課報時晚上:19:30-20:20 第九節課 19:30上課報時 20:20下課報時20:25-21:15 第十節課 20:25上課報時 21:15 下課報時 2. 2、所需芯片介紹及芯片原理圖及控制字 2.2.1 8255A的結構和功能圖2-1 8255A的結構(1)、 數據端口A、B、C8255有3個8位的I/O端口,設計人員可以用軟件使它們分別作為輸入端口或輸出端口。端口A:對應了1個8位的數據輸入鎖存器和1個8位的數據輸出鎖存/緩沖器。所以口A作為輸入或輸出時,數據均受到鎖存。(PA0PA7)端口B:對應了1個8位的數據輸入緩沖器和1個8位的數據輸出鎖存器/緩沖器。所以口B作為輸入端口時,不會對數據進行鎖存,而作為輸出端口時,數據會受到鎖存。(PB0PB7)端口C:與口B基本一致,對應了一個8位數據輸入緩沖器和1個8位的數據輸出鎖存/緩沖器。所以口C作為輸入端口時,對數據不作鎖存,而作為輸出端口時,對數據進行鎖存(PC0PC7)(2)、A組和B組控制邏輯8255在使用時,常用端口A與端口C的高4位組成一個帶控制信號的端口,稱為A組。由A組控制邏輯管理;用端口B與端口C的低4位也可以組成一個帶控制信號的端口,稱為B組。由B組控制邏輯管理。其中,A組由端口A作為與外設交換數據的輸入/輸出接口,C口的高4位作為外設連接的控制信號線和狀態信號線,以配合A口工作。同理,B組由端口B作為與外設交換數據的輸入/輸出接口,C口的低4位作為外設連接的控制信號線和狀態信號線,以配合B口工作。(3)、數據總線緩沖器8255的數據總線緩沖器是雙向三態的8位數據緩沖器,通過它直接與系統的數據總線(D0D7)相連。輸入/輸出數據、CPU發給8255的控制字都是通過這個緩沖器傳送的。(4)、讀/寫控制邏輯電路讀/寫控制邏輯電路負責管理8255的數據傳輸過程。它接收CS及來自系統地址總線A1,A0(8086系統中為A2,A1)和控制總線的輸入信號RESET,WR,RD,將這些信號組合后,得到對A組控制部件和B組控制部件的控制命令,并將命令發送給這兩個部件,以完成對數據、狀態信息和控制信息的傳輸。8255A的結構和功能說明:(1)A1A0 端口口線 00 端口A PA7PA0 01 端口B PB7PB0 10 端口C PC7PC0 11 對控制端口寫控制字(2)端口C又可以分成“上C口”和“下C口”2個部分,可以用作A口和B口的控制信號線,所以把A口+上C口稱為A組,B口+下C口稱為B組。(3)A口:輸入有鎖存器,輸出有鎖存器和緩沖器, B和C口:輸入有緩沖器,輸出有鎖存器和緩沖器。RESETWRRDCSGNDA1A093231302928272625140239338437536635734833242322211718192013141516101112PB7PB3PB0PB2PC0PC3PC7PC4PA0PA3D0D7PA4PA78255AVCC圖2-2 8255A芯片2.2.2、8255A的控制字8255A可通過指令在控制端口中設置控制字來決定它的工作。其控制字可分為兩類(個),都寫入控制字寄存器(A1A0=11) 芯片各端口的工作方式控制字端口C按位置1/置0控制字(1)、方式選擇控制字8255A具有3種基本的工作方式: 方式0:基本輸入輸出方式( A、B、C口) 方式1:選通輸入輸出方式( A、B口) 方式2:雙向總線I/O方式(僅A口)D7=1圖2-3 8255A選擇方式(2)、 端口C按位置1/置0控制字它可使端口C中的任何一位進行置位(1)或復位(0)。D7=0圖2-4 端口C的控制2.2.3 、8255A的工作方式(1)、 工作方式0:基本的輸入/輸出方式。A口、B口、上C口、下C口都可以獨立設置作為輸入或輸出使用。 適合用于無條件或查詢式傳送。方式0的輸入不能鎖存。(2)、 工作方式1:應答式輸入或輸出方式。A口、B口可以分別作為數據口工作在方式1。需要使用C口中特定的引腳作為選通和應答使用。 C口中其余的引腳仍可工作在方式0,定義為輸入或輸出。適合用于中斷式傳送和程序查詢方式I/O傳送。C口中特定的引腳作為選通和應答使用時,視A口(或B口)為輸入還是輸出的不同,有兩個引腳的含義有所不同。A口選通輸入方式過程 當外設數據準備好以后,發出一個負脈沖選通信號STBA ,使A口打開輸入鎖存器接收數據。 A口接收到數據以后,發出IBFA 數據寫完后, STBA撤銷即變為無效 STBA和IBFA都變為高電平以后,如果INTEA允許,則8255A發出中斷請求信號,希望CPU接收數據。CPU讀數據的RD信號的下降沿使INTRA 和IBFA恢復低電平。PS: 只可以通過對PC4的置位和復位來設置INTEA。同樣B口作為選通輸入接口時道理是一樣的,只不過是這些信號使用的是C口的PC2,PC1和PC0。 2.3、可編程計數器/定時器8253介紹8253的工作原理計數器/定時器的功能: 對外部事件發生次數進行計數; 產生計算機系統需要的定時信號。計數和計時本質上是相同的,它們都是對一個輸入脈沖進行計數。計數器的輸入信號可以是隨機信號,定時器的輸入信號要求具有固定周期。如果輸入脈沖的頻率一定,那么記錄脈沖的個數與所需的時間是一一對應的關系。例如輸入脈沖頻率為2MHz,那么計數2106 計時1秒。因此,使用同一個芯片,既可以用來計數,又可以用來定時。計數器/定時器8253可以通過編程,從6種工作方式中選擇一種工作方式。一個計數器/定時器的組成:控制字寄存器決定工作模式(8位)狀態寄存器反映工作狀態初值寄存器計數的初值(16位)計數輸出寄存器 CPU從中讀當前計數值(16位)。計數器執行計數操作,CPU不能訪問。(16位)8253的內部結構圖圖2-5 8255A的工作原理2.3.1、8253A的內部結構和引腳信號123456789101112242322212019181716151413D7D6D5D4D3D2D1D0CLK0OUT0GATE0GNDCLK1OUT1GATE1CLK2OUT2GATE2A1A0VCCWRRDCS82538253管腳圖 圖2-6 8253A的內部結構和引腳信號8253的三個計數通道在結構上和功能上完全一樣,每個通道均有兩個輸入引腳CLK和GATE,一個輸出信號 引腳OUT。2.3.2 、8253的初始化步驟和門控信號的功能(1)、 初始化步驟: a、 寫入控制字; b、 按控制字要求寫入計數初值。 計數初值N=fCLK/fOUT =TOUT/TCLK(2)、門控信號控制功能:門控信號GATE的控制功能如教材P310表8-2所示,由表可知:方式0,4時:門控信號為電平觸發 方式1,5時:門控信號為上升沿觸發 方式2,3時:門控信號為電平或上升沿觸發(3)、8253的工作方式 工作方式決定以下內容:1)門控信號的影響 高電平允許:當GATE=0,即使出現CLK,也不計數 方式0,2,3,4 上升沿允許(上升沿觸發)方式1,5,2,32) OUT信號的狀態寫入控制字后, OUT的狀態計數過程中, OUT的狀態計數終了, OUT的狀態3)計數操作可否重復 不可重復模式0,4自動重復模式2,3條件重復模式1,5a、方式0:計數結束中斷方式特點:計數器只計數一遍,不循環 計數過程中,可由門控信號控制暫停計數在計數過程中可改變計數值。寫入新值后,計數器按新值重新開始計數b、方式1:可編程單穩態輸出方式特點:若計數值為N,則輸出脈沖寬度為N*CLK 計數到0,可由GATE上升沿再次觸發,輸出一個脈沖,不需重新賦值若計數過程中,門控信號再次觸發,計數器在觸發信號的下一個CLK重新開始計數若計數過程中,CPU改變計數值,但計數過程不受影響,再次觸發后,按新值重新計數c、方式2:比率發生器(分頻器)特點:不需重新賦值,計數器能連續工作計數過程中,若GATE變低,計數器暫停工作,GATE變高后,計數器重新取出初值,開始計數d、方式3:方波發生器特點:同方式2的三個特點,不同的是:初值為偶數時,每來一個脈沖,計數值減2初值為奇數時,第一個CLK使計數器減“1”,其后每一個CLK使計數器減“2”,到“0”后,改變輸出狀態,同時重新裝入計數值。接著第一個CLK使計數值減“3”,以后每個CLK使計數值減“2”,直到計數值為“0”,重復上述過程e、方式4:軟件觸發選通特點:N值寫入后,如Gate為高,則下一個CLK開始計數,相當于軟件啟動寫一次初值,只計一次;計到0時,產生低電平維持一個周期GATE=“1”,允許計數,GATE=“0”,禁止計數,因此,要做到軟件啟動,必須使GATE=“1”計數過程中改變計數值,按新值重新計數到0f、方式5:硬件觸發選通 特點:N值寫入后,計數器并不計數,當GATE的上升沿出現時,取出初值開始計數計數過程中改變計數值,若沒有GATE的觸發,不影響計數過程,當計數到“0”后,若有GATE觸發,則按新的計數值計數2.4、0832D/A轉換器芯片介紹0832 D/A轉換器內部結構8位輸入寄存器D7D0&LE1LE2ILECSWR1XFERWR2VREFIOUT2IOUT1RFBAGNDDGNDVCCoooooo8位DAC寄存器8位D/A轉換器&4713161718211981211932010轉換時間1s, 雙緩沖輸入數據啟動轉換圖2-7 0832D/A轉換器工作方式:直通式、單緩沖式、雙緩沖式(1) 直通式: ILE接高電平,CS、WR1、WR2、XFER接低電平即:使兩個內部寄存器都處于直通狀態。模擬輸出始終跟隨輸入變化。不能直接與數據總線連接,需外加并行接口(如74LS373、8255等)。因此,很少用。(2) 單緩沖式: 將兩個寄存器中的一個接成直通方式。CPU只需一次寫入即開始轉換,控制比較簡單。(3) 雙緩沖式: 轉換要有兩個步驟:將數據寫入輸入寄存器, CS=0、WR1 =0、ILE=1將輸入寄存器的內容寫入DAC寄存器, WR2 =0、 XFER =0優點:a) 數據接收與D/A轉換可異步進行;b) 可實現多個DAC同步轉換輸出 分時寫入、同步轉換。(3) 雙緩沖式:XFERWR2WR1CSDAC 0832ILEVREF+IOWD7D0320H321H地址總線地址譯碼器圖2-8 DAC 0832MOV DX, 320H ;指向輸入寄存器MOV AL, DATA ;輸入被轉換的數據OUT DX, AL ;數據打入輸入寄存器INC DX ;指向DAC寄存器OUT DX, AL ;選通DAC寄存器,相當于啟動D/A轉換器 XFERWR2WR1CSILE+D7D0ILE+D7D0XFERWR2WR1CSILE+D7D0地址譯碼80H81H82H83HWRXFERWR2WR1CS3路DAC系統圖:圖2-9 3路DAC系統圖3、芯片詳細設計 3.1、軟件程序流程圖及詳解;可編程作息時間控制器,只要實現器件8255,8253STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV AL,89H ;8255初始化,控制字即二進制10001001MOV DX,203HOUT DX,AL L0: MOV CX,1 ;上課鈴聲第一次打響,黃燈亮 MOV AL,40H MOV DX,200H NOT AL OUT DX,AL;0832電機數模轉換 MOV DX,210H MOV AL,0FH OUT DX,AL CALL Y DEC CX JZ L1L1:MOV CX,5 ;定時5秒后實現下課鈴聲,即綠燈亮S0:MOV AL,00HMOV DX,200HNOT ALOUT DX,AL;0832電機數模轉換 MOV DX,210H MOV AL,2FH OUT DX,ALCALL YDEC CX JNZ S0 ;當CX不為0是跳轉 L2: MOV CX,2 ;定時2秒后實現上課鈴聲,即黃燈亮S1: MOV AL,20H MOV DX,200H NOT AL OUT DX,AL;0832電機數模轉換 MOV DX,210H MOV AL,1FH OUT DX,AL CALL Y DEC CX JNZ S1 JZ L0 ;當CX為0是跳轉到L0,及循環執行Y PROC ;延時子程序,延時1秒,8253實現 PUSH AX MOV DX,20BH MOV AL,35H ;方式2 OUT DX,AL MOV AL,00H ;計數初值 MOV DX,208H OUT DX,AL MOV AL,50H OUT DX,AL MOV DX,20BH MOV AL,71H ;方式0 OUT DX,AL MOV DX,209H MOV AL,00H OUT DX,AL MOV AL,04H OUT DX,ALKK: ;不是高電平就繼續檢測 MOV DX,202H IN AL,DX AND AL,02H JZ KK POP AX RETY ENDPCODE ENDSEND START 3.2、功能說明作息時間控制系統主要有四大子系統功能實現:1.時間運行系統 2.報時時間值設置及調時系統 3.時分顯示系統 4.報時響應系統。時間運行系統讓時間一直運行著;報時時間值設置及調時系統使得用戶可以隨時設置時間;時分顯示系統讓用戶可以清楚知曉當前系統時間,報時響應系統完成當當前時間與報時時間值一致時進行響應(如LED閃爍)。四大子系統的協調有序的運行,保證了作息時間控制系統具有報時,調時,顯時功能,還達到了與用戶可交互的目的.4、分析與測試 4.1、鍵盤程序測試 按圖4連接好電路,調試此程序(JIANPAN.ASM),從小鍵盤輸入一個數字,DOS界面輸出顯示該數字。 4.2、數碼管顯示程序測試 按圖3相應部分連接本部分的電路圖,調試程序(XIANSHI,ASM),4位七段數碼管,分別顯示1、2、3、4四個數字。 4.3、計時程序測試 按圖6連接電路,調試程序(JISHI.ASM),DOS界面輸出顯示的數字以1遞增。 4.4、到時程序測試 連接相應的電路,調試程序(DAOSHI.ASM),指示紅燈亮。5、課程設計結論 5.1、本設計的可行性與優點分析在本設計的過程中,我們遇到了一些困難但通過努力終于比較完整的完成了此次設計的任務:在鍵盤掃描程序中,其中最為重要的是當有鍵按下,如何確定是哪一個鍵被按下,采用逐行掃描法能夠比較容易實現而且比較容易被人所理解;在按鍵顯示程序中,其中最重要的是要4位七段數碼管輪流顯示不同的按鍵值,利用人的眼睛就因視覺惰性而無法察覺顯示的變化,當輪循顯示周期的數目大于每秒50次時,從而感覺到現實的事多位靜止的7段數。在計時程序設計中,最重要的是如何判斷定時時間到,用設定時間與系統時間比對,直到相同為止即定時時間到。 5.2、設計中的不足分析與改進本設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論