![嵌入式系統(tǒng)-電子鐘畢業(yè)論文.doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-7/18/f257d279-f58b-467f-9752-17ec41e5844b/f257d279-f58b-467f-9752-17ec41e5844b1.gif)
![嵌入式系統(tǒng)-電子鐘畢業(yè)論文.doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-7/18/f257d279-f58b-467f-9752-17ec41e5844b/f257d279-f58b-467f-9752-17ec41e5844b2.gif)
![嵌入式系統(tǒng)-電子鐘畢業(yè)論文.doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-7/18/f257d279-f58b-467f-9752-17ec41e5844b/f257d279-f58b-467f-9752-17ec41e5844b3.gif)
![嵌入式系統(tǒng)-電子鐘畢業(yè)論文.doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-7/18/f257d279-f58b-467f-9752-17ec41e5844b/f257d279-f58b-467f-9752-17ec41e5844b4.gif)
![嵌入式系統(tǒng)-電子鐘畢業(yè)論文.doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-7/18/f257d279-f58b-467f-9752-17ec41e5844b/f257d279-f58b-467f-9752-17ec41e5844b5.gif)
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
內蒙古科技大學本科生畢業(yè)設計(論文)摘 要 嵌入式計算機系統(tǒng)的出現(xiàn),是現(xiàn)代計算機發(fā)展史上的里程碑事件,嵌入式系統(tǒng)誕生于微型計算機時代,與通用計算機的發(fā)展道路完全不同,形成了獨立的單芯片的技術發(fā)展道路。由于嵌入式系統(tǒng)的誕生,現(xiàn)代計算機領域中出現(xiàn)了通用計算機和嵌入式計算機的兩大分支。不可兼顧的技術發(fā)展道路,形成了兩大分支的獨立發(fā)展道路:通用計算機按照高速,海量的技術發(fā)展;嵌入式計算機系統(tǒng)則為滿足對象系統(tǒng)嵌入式智能化控制要求發(fā)展。由于獨立的發(fā)展分工,20世紀末,現(xiàn)代計算機的兩大分支都得到了迅猛的發(fā)展。 1978年intel公司開發(fā)出比8086性能更出色的8088處理器,并成功將其銷售給ibm全新個人計算機部門,使得8088成為全新熱銷的ibm pc的大腦。從8088開始,個人計算機的概念開始在全世界范圍內發(fā)展起來。標志著一個新時代的開始。雖然處理器的發(fā)展速度非常迅猛,但是作為里程碑式的8088,仍然作為實驗工具被使用。本文就是基于8088處理器的電子鐘的開發(fā)。本文利用protel繪制原理圖,使用微機原理仿真試驗箱,利用系統(tǒng)提供的8253計數器/定時器,中斷器8259,6個led實現(xiàn)了電子鐘的基本功能,在電子鐘上顯示時,分,秒,并具有設置時間,計時,鬧鐘的功能。使用匯編語言進行編程。關鍵詞: 8088處理器,電子鐘,8253計數器/定時器,8259中斷器abstractthe embeded computer systems appearance is a milestone in the history of computer.the embeded system is born in the microcomputer time. its development is different from the general computer.it develops the technique of the single chip. the embeded system makes the computer development into two different branches. general computer develops the technique of high speed and massive memory. embeded system develops the technique to satisfy the development of the intellectualization control.as a result of the development ,both of the branches have developed fast till 20th century. in 1978 intel corporation developed 8088 processors. the 8088 processor is more superior than the 8086 processor. the intel corporation sold the 8088 processor to the pc department of ibm. then the concept of pc started to develop all over the world. even the development of processors is fast, the classical 8088 processor is still used in the experiments. this paper is about the development of eletron clock based on the 8088 processor.this paper ueses protel to draw the schematic diagram and uses the microcomputer simulation texting box including the 8253 counter/timer,8259 interrupter and six leds to realize the basic function of electron clock. the electron clock can display the hour , the minute and the second. it can set the time and count .it can also have the function of alarm clock. this paper uses compiling language to program.key words: electron clock, 8088 processor, 8253 counter/timer,8259 interrupter目 錄摘 要1abstract1引 言1第一章 系統(tǒng)概述111 需求分析112 模塊設計1第二章 系統(tǒng)使用芯片簡述32.1 達愛思儀器簡介32.2 8253計數器/定時器簡述32.2.1 內部結構32.2.2 工作方式52.2.3 控制字92.3 8259a中斷器102.3.1 內部結構112.3.2 編程結構122.4 8255并行口132.4.1 內部結構132.4.2 工作方式162.4.3 控制字162.5 鍵盤接口182.5.1 鍵盤結構182.5.2 鍵盤識別18第三章 實現(xiàn)電子鐘系統(tǒng)203.1 使用protel繪制原理圖203.2 硬件連接203.3 軟件編程21第四章 系統(tǒng)測試與結果分析244.1 調試結果描述244.2 測試結果分析24結束語25參考文獻1引 言嵌入式計算機系統(tǒng)的出現(xiàn),是現(xiàn)代計算機發(fā)展史上的里程碑事件,嵌入式系統(tǒng)誕生于微型計算機時代,與通用計算機的發(fā)展道路完全不同,形成了獨立的單芯片的技術發(fā)展道路。由于嵌入式系統(tǒng)的誕生,現(xiàn)代計算機領域中出現(xiàn)了通用計算機和嵌入式計算機的兩大分支。不可兼顧的技術發(fā)展道路,形成了兩大分支的獨立發(fā)展道路:通用計算機按照高速,海量的技術發(fā)展;嵌入式計算機系統(tǒng)則為滿足對象系統(tǒng)嵌入式智能化控制要求發(fā)展。由于獨立的發(fā)展分工,20世紀末,現(xiàn)代計算機的兩大分支都得到了迅猛的發(fā)展。第一章 系統(tǒng)概述11 需求分析 研究與學習微機原理與接口技術在實際中的應用,利用實驗室現(xiàn)有的實驗儀器和軟件資源,進行實時調試,提高系統(tǒng)的適應性,靈活性。提高學生實際應用微計算機開發(fā)設計系統(tǒng)的能力,使理論設計得到實踐的檢驗。 需求分析簡單的來說就是分析出系統(tǒng)要做一件什么事情。本文要求掌握8259中斷器,8253計數器/定時器的接口方法和應用編程,開發(fā)出相應的綜合性設計項目。對上述的“需求”進行分析之后, 本文利用達愛思教儀即dias-958h+試驗箱實現(xiàn)電子鐘功能。本系統(tǒng)應做到的以下幾點:(1) 顯示時間顯示時,分,秒。(2) 設置時間利用鍵盤手動設置時間。(3) 自動計時自動計時并能實時顯示。(4) 鬧鐘功能設定時間到點報時。12 模塊設計 通過需求分析的歸納,本系統(tǒng)各個模塊設計如下:1. 顯示時間在led上顯示時,分,秒,初始時顯示全零,時分秒都以兩位數表示,中間以-隔開。 2. 設置時間 這一部分是對時間進行設置。這部分功能是提供給用戶使用。按下小鍵盤上的a鍵,從鍵盤輸入想要設置的時間,時間格式為時,分,秒,中間以隔開。3 自動計時 按下鍵盤上的b鍵,系統(tǒng)開始計時,如果秒值為60,分值加一,否則秒值加一,如果分值為60,時值加一,否則,分值加一。當時值為24時,時值歸零,否則,時值加一。當按下鍵盤上的c鍵時,停止計時。按下d鍵時,顯示器熄滅。4. 鬧鐘功能按下鍵盤上的e鍵,關中斷,輸入要設置的鬧鐘時間,按下b鍵,開中斷,繼續(xù)計時,當到達鬧鐘時間時,蜂鳴器響一下。第二章 系統(tǒng)使用芯片簡述2.1 達愛思儀器簡介 dais958h+型仿真實驗系統(tǒng),它是及微機原理8086/8088、單片機原mcs-51、mcs-96為一體的三合一仿真系統(tǒng),系統(tǒng)提供豐富的軟硬件資源。集成8088處理器,8259中斷器,8253計數器/定時器,8255并行口,led顯示器,小鍵盤等等。2.2 8253計數器/定時器簡述2.2.1 內部結構 8253的基本功能:1:含有3個獨立的16位計數器,能夠進行3個16位的獨立計數。2:每一個計數器具有六種工作方式。3:能進行二進制、十進制計數(減法計數)。所謂十進制計數,是指bcd碼計數,每個計數器可表示4位十進制數的bcd碼,每來一個計數脈沖時,按照十進制數減一規(guī)律進行計數。例如,當前的計數值為1000 0100 0000 0000 (8400),來一個計數脈沖后,變?yōu)?000 0011 1001 1001(8399)。4:計數頻率為02mhz.5:可作計數器或定時器。8253為24引腳,雙列直插封裝。其引腳排列與內部結構如圖 所示。由圖可看出,8253的內部結構由數據總線緩沖器,讀、寫控制邏輯,3個獨立的計數器三部分組成。1:數據總線緩沖器這是一個三態(tài)8位雙向緩沖器,d7d0同系統(tǒng)數據總線相連。cpu通過執(zhí)行輸入/輸出指令來實現(xiàn)對緩沖器發(fā)送或接受數據。8253的控制字也是通過該緩沖器傳送的。2:讀/寫控制邏輯讀/寫控制邏輯用來管理數據信息和控制字的傳送,它接收來自cpu地址總線和控制總線的有關信號,向3個獨立的計數器的控制部件發(fā)送命令。對8252進行控制的信號有:a1,a0:片內寄存器選擇信號。cs:片選信號,低電平有效。rd:讀信號,低電平有效wr:寫信號,低電平有效??刂菩盘朿s,rd,wr以及a1,a0的組合可以實現(xiàn)對三個計數器和控制寄存器的讀寫操作。3:計數器三個計數器中每一個都有三條信號線:clk:計數輸入用于輸入定時基準脈沖或計數脈沖。out:輸出信號以相應的電平指示計數的完成或輸出脈沖波形。gate:選通輸入,用于啟動或禁止計數器的操作,以使計數器和計數器輸入信號同步。每個計數器中有四個寄存器:1) 6位的控制寄存器,初始化時,將控制字寫入該寄存器。2) 16位的計數初值寄存器,初始化時寫入該計數器的初始值,其最大初始值為0000h.3) 16位的減一計數器,計數初值由計數初值寄存器送入減法計數寄存器,當計數輸入端輸入一個計數脈沖時,減法計數寄存器內容減一。4) 16位的輸出鎖存器用來鎖存計數執(zhí)行部件的內容,從而使cpu可以對此進行讀操作。2.2.2 工作方式計數啟動方式:軟件啟動:gate端為高電平 置入計數初值后的第2個clk脈沖的下降沿。硬件啟動:gate端有一個上升沿 對應clk脈沖的下降沿8253有6種工作方式,在不同的工作方式下,計數器的啟動方式,gate端輸入信號的作用以及out端的輸出波形都有所不同。1) 方式0(計數結束產生中斷) 軟件啟動,不自動重復計數,裝入初值后,輸出端變低電平,計數結束輸出高電平。波形示意圖如下:在計數過程中可改變計數值,若為8位數,則在寫入新的計數初值后,減一計數器將按新的計數初值重新開始計數:若為16位數,則在寫入低字節(jié)后,減一計數器停止計數,而在寫入高字節(jié)后,減一計數器才按照新的計數初值開始計數。在計數過程中,可由gate位低電平來控制減一計數器暫停計數,直到gate又變成高電平,減一計數器又繼續(xù)計數。但gate信號的變化不影響out的變化。方式0是專為工作在中斷方式而設計的,計數結束中斷的out信號可通過8259a作為cpu的中斷請求信號,使用時要注意,若計數初值為n,要經過n+1個clk脈沖信號out才由低電平變?yōu)楦唠娖健?) 方式1(可編程的單脈沖觸發(fā)器)硬件啟動,不自動重復計數,裝入初值后,輸出端變高,計數過程中輸出低電平,結束后又變高。波形圖如下:當計數器記到0之后,可用gate脈沖再次啟動,重發(fā)單拍脈沖,而不用給計數初值寄存器送入計數值。計數器又從原計數初值重新開始計數。計數過程中,可通過gate脈沖再次啟動,但不改變輸出低電平狀態(tài),減一計數器將重新按計數初值開始計數,直到再次計數到0后,輸出才變高。3) 方式2(分頻器)軟硬件啟動,自動重復計數。裝入初值后,輸出端變高,計數到最后一個脈沖時輸出低電平。波形圖如下:方式2如同一個n分頻計數器,若計數初值為n,則每到n個時鐘clk脈沖就輸出一個脈沖。因此,這種方式可以作為一個脈沖分頻器或用于產生實時中斷。計數過程中,可用門控脈沖gate重新啟動計數。當gate變低時,現(xiàn)行計數暫停,變高后,下一個clk輸入脈沖使減一計數器恢復計數初值重新開始計數,所以可用一個外部控制邏輯來控制gate,從而達到同步計數的作用。4) 方式3(方波發(fā)生器)軟硬件啟動,自動重復計數。裝入初值后輸出端變高,輸出對稱方波。波形圖如下:計數值為偶數計數值為奇數在計數過程中,可以改變計數初值,新的初值寫入也分兩種情況討論:一種是gate為高電平時在計數執(zhí)行過程中新值寫入,并不影響現(xiàn)行計數過程,只是在下一個計數過程中按新值進行計數。第二種是在計數執(zhí)行過程中加入一個gate負脈沖信號,停止現(xiàn)行計數過程,在門控信號上升沿后的第一個時鐘周期的下降沿按新值開始計數。5) 方式4(軟件觸發(fā)的選通信號發(fā)生器)軟件啟動,不自動重復計數。裝入初值后輸出端變高,計數結束后輸出一個clk寬度的低電平。波形圖如下:在計數過程中gate變低,則停止計數,待gate變高時,減一計數器重新從技術初值開始計數。在計數過程中,改變技術初值是立即有效的,他將立即按新的計數值繼續(xù)重新開始計數。如果計數值是雙字節(jié),則在寫入第一個字節(jié)時停止計數,在寫入第二個字節(jié)后,按照新計數值開始計數。利用方式4可以完成定時功能,定時時間為n個clk周期,這種工作方式也可完成計數功能,將計數脈沖從clk輸入,使減一計數器減到0,由out輸出負脈沖表示計數次數到,當然也可利用out作為中斷請求信號,工作方式4和工作方式0很相似。5)方式5(硬件觸發(fā)選通信號發(fā)生器)硬件啟動,不自動重復計數。波形圖如下:當門控信號gate上升沿到來后,開始計數。在計數過程中,又來一個門控信號的上升沿,立即終止現(xiàn)行的計數過程,在下一個時鐘的下降沿又從初值開始計數,如果在計數過程結束后來一個門控信號上升沿,計數器也會在下一個時鐘的下降沿從上一個初值開始減一計數,即只要門控信號的上升沿到來,就會馬上觸發(fā)下一個技術的過程。2.2.3 控制字8253只有一個控制字,其格式和含義如下圖所示 d7,d6兩位用來選擇計數器,d5,d4兩位用來規(guī)定讀寫格式,d3,d2,d1三位用來選擇工作方式,d0用來表示使用二進制表示還是使用十進制表示。 8253的控制寄存器和3個計數器分別具有獨立的編程地址,并且控制字本身的內容又確定了所控制的寄存器序號,所以對8253的編程沒有太多嚴格的順序規(guī)定,使用非常靈活。但是,編程有3條原則必須嚴格遵守:1)在選擇任何一種工作方式下,都必須先向8253寫入控制字,控制字還起復位作用,它使out端變?yōu)楣ぷ鞣绞街幸?guī)定的狀態(tài)和對計數初值寄存器清零。2)對計數器設置初值前必須先寫控制字。計數初值設置時,要符合控制字中的格式規(guī)定,控制字中一旦規(guī)定,具體初始值設定時就要一致。3)讀取當前計數值時,必須設置鎖存操作控制字。由于8253對外的數據線只有8根,對16位計數器進行寫入或讀取當前計數值時,需要分兩次進行。由于兩次讀之間存在時間間隔,這期間可能恰好有計數脈沖,所以讀出的值帶有隨機性,為了使cpu能獲得計數器某一時刻準確的值,8253設置了鎖存操作。當控制字的d5,d4位為00時,表示鎖存。當鎖存命令到來時,減一計數器記到某一個值,因為鎖存器是跟隨減一計數器工作的,所以,鎖存器中為同一個值,此時,這一數值被鎖住,當cpu將此鎖定值之后,鎖存器自動失鎖,于是又跟隨計數器變化。 2.3 8259a中斷器8259a是一種可由軟件進行控制的中斷控制器。8259a使用于各種不同環(huán)境,具有很強的中斷管理功能。8259a主要功能有:1) 每片8259a可管理8級優(yōu)先權中斷源,在基于不增加其他電路的情況下,通過8259a的級聯(lián),最多可管理64級優(yōu)先級的中斷源。2) 對任何一個級別的中斷源都可以單獨進行屏蔽,使該級中斷請求暫時被禁止,直到取消屏蔽時為止。3) 向cpu提供可編程的標識碼,對于8086-pentium的cpu來說就是中斷類型碼。4) 具有六種中斷優(yōu)先權管理方式,即全嵌套方式,特殊全嵌套方式,自動循環(huán)方式,特殊循環(huán)方式,特殊屏蔽方式,中斷查詢方式,這些管理方式均可通過程序動態(tài)的進行變化。5) 具有三種中斷結束方式,即自動中斷結束方式,一般的中斷結束方式和特殊的中斷結束方式。6) 8259a用nmos工藝制作,只需要一組+5v電源。2.3.1 內部結構8259a是intel公司生產的具有28個引腳的雙列直插式芯片,其引腳如圖所示:d0-d7:這是8條數據引腳,在系統(tǒng)中,他們和數據總線相連,從而實現(xiàn)和cpu的數據交換,在較大的系統(tǒng)中,一般使用總線驅動器(即緩沖方式),這時,d0-d7與總線驅動器相連,在小系統(tǒng)中,則d0-d7直接與數據總線相連。int:它和cpu的intr中斷請求端相連,用來向cpu發(fā)中斷請求。inta:它用來接受來自cpu的在中斷應答信號,低電平有效。rd:讀出信號,用來通知8259a將某個內部寄存器的內容送到數據總線上。低電平有效。wr:寫入信號,用來通知8259a從數據線上接受數據,這些數據實際上就是cpu往8259a發(fā)送的命令字,也就是說,每當8259a接收一個數據,便設置一個命令字。wr是低電平有效。cs:芯片選通信號,通知地址譯碼邏輯電路與地址總線連接。a0:用來指出當前8259a的哪個端口被訪問。一片8259a對應兩個端口地址,一個為偶地址,一個為奇地址,并且要求偶地址較低,奇地址較高。每片8259a留出兩個i/o端口地址。ir0-ir7:接收中斷請求,在含有多片8259a的復雜系統(tǒng)中,主片的ir0-ir7分別和各從片的int端相連,用來接收來自從片的中斷請求。cas0-cas2:這三個引腳上的信號用來指出具體的從片,在多片級聯(lián)時,他們將分別互連起來。sp/en:當8259a工作于級聯(lián)模式下,作為輸入,用來決定本片時主片還是從片,當值為1時,則為主片,當值為0時,則為從片。當工作于單片模式下,作為輸出,由它來控制數據通過總線接收器的傳送方向。2.3.2 編程結構 8259a由9個基本部分組成,他們是:1) 數據總線緩沖器是8位三態(tài)雙向緩沖器,通常和cpu系統(tǒng)總線中d0-d7相連接,在讀/寫邏輯的控制下實現(xiàn)cpu與8259a之間的信息交換。2) 中斷請求寄存器irr接收外部的中斷請求,irr有8位,他們分別和引腳ir0-ir0相對應,接收到某個引腳的信號后,對應位置1,對這一中斷請求作了鎖存。有邊沿觸發(fā)方式和高電平觸發(fā)方式兩種。3) 操作命令字寄存器ocw1-ocw3,用于存放操作命令字。操作命令字則是由應用程序設定,用來對中斷處理過程作動態(tài)控制。,運行過程中可以多次設置,其中的ocw1是8位中斷屏蔽寄存器,當它的某位1時,則對應的中斷請求就被屏蔽,即對該中斷源的有效請求置之不理。4) 8位中斷服務寄存器是用來記憶正在處理中的中斷級別,它的每位分別與irr寄存器中的各位相對應。當cpu在為某個中斷源服務時,8259a則使相應位置1,當為全0時,表示無任何中斷服務。5) 優(yōu)先級比較器,也稱優(yōu)先級裁決器,用來管理和識別各個中斷源的優(yōu)先級別。6) 控制邏輯。根據優(yōu)先級裁決器的請求向cpu發(fā)出一個中斷請求信號,如果cpu的中斷允許標志if為1,那么,cpu執(zhí)行完當前指令后,就可以響應中斷。7) 讀寫邏輯。根據cpu送來的讀寫信號和地址信息,通過數據總線緩沖器有條不紊的完成cpu對8259a的所有寫操作和讀操作。8) 級聯(lián)緩沖器/比較器。實現(xiàn)多片8259a的級聯(lián),只有一個主片,最多有8個從片。9) 初始化命令字寄存器icw1-icw4是微機系統(tǒng)啟動時由初始化程序設置的,初始化命令字一旦設定,一般在系統(tǒng)工作過程中就不再改變,因此,cpu給8259a編程時,首先要送入初始化命令字,icw1和icw2必須送,而icw3和icw4由工作方式來選擇。2.4 8255并行口2.4.1 內部結構8255為可編程的并行接口芯片,具有40個引腳,雙列直插dip封裝,+5v供電,全部信號與ttl電平兼容。引腳圖如下:8255的特點有:1)具有三個并行數據傳輸端口:a口,b口,c口。2)每個端口擁有不同的工作方式:a口具有3種工作方式,b口具有2種工作方式,c口只有1種工作方式。3)每個端口工作在輸出方式時,具有鎖存功能。4)可以通過編程設置成4位端口,8位端口,12位端口,16位端口,20位端口或24位端口。8255由四部分組成。如圖所示1)數據總線緩沖器,這是一個三態(tài)雙向8位緩沖器,它是8255與cpu系統(tǒng)數據總線的接口。所有數據的發(fā)送與接受,以及cpu發(fā)出的控制字和從8255來的狀態(tài)信息都是通過緩沖器傳送的。2)讀寫控制邏輯。讀寫控制邏輯由讀信號,寫信號,選片信號以及端口選擇信號等組成。讀寫控制邏輯控制了總線的開放與關閉的信息傳送的方向,以便把cpu的控制命令或輸出數據送到相應的端口,或把外設的信息或輸入數據從相應的端口送到cpu。3)數據端口a,b,c。8255包括三個8位輸入輸出端口,每個端口都有一個數據輸入寄存器和一個數據輸出寄存器,輸入時端口有三態(tài)緩沖器的功能,輸出時端口有數據鎖存器功能。在實際應用中,pc口的8位可分為兩個4位端口(方式0下),也可分為一個5位(控制)端口和一個3位(控制)端口(供a口,b口方式1下)來使用。4)a組和b組控制電路??刂芶,b和c三個端口的工作方式,a組控制a口和c口的上半部(pc7pc3),b組控制b口和c口的下半部(pc2pc0)的工作方式和輸入輸出,a組,b組的控制寄存器還接收按位控制命令,以實現(xiàn)對pc口的按位置位復位操作。2.4.2 工作方式8255有三種工作方式(方式0,方式1,方式2)可供選擇使用,而且三個端口可以同時按照各自選擇的工作方式工作,當然8255各端口在正常工作開始前,必須進行初始化設計,確定每個端口按哪種工作方式工作。方式0:基本輸入或輸出方式,為單向8位端口。多用于同步數據傳輸場合,無需握手線進行傳輸,也可用于查詢方式,此時往往用c口的某些信號線作為自定義狀態(tài)線和控制線。8255的三個端口都可工作于方式0。方式1:選通輸入或輸出方式,為單向的8位端口。只有a口和b口可以工作在方式1狀態(tài),而此時c口的某些信號線一定作為a口或b口的聯(lián)絡線,其他非聯(lián)絡線仍可以工作在方式0 輸入或輸出狀態(tài)。方式2:雙向傳輸方式,既可以輸入又可輸出。只有a口可以采用方式2 工作,此時c口中的5根信號線作為a口的聯(lián)絡線,而其余的3根信號線可以做b口方式1時的聯(lián)絡線,或者與b口一起工作在方式0狀態(tài)。2.4.3 控制字8255在正常工作之前必須進行初始化設置,對所用到的每個端口都要設置具體的工作方式。8255具有2個控制字:方式控制字和c口位控控制字。2個控制字均需要送入控制寄存器口地址中,其區(qū)別在于:方式控制字中的d7=1,c口位控控制字中的d7=0。1)方式控制字方式控制字各位定義見圖其中d7為方式控制字標志位,用來區(qū)別c口位控控制字。d6d5設置a口的工作方式,d4 設置a口處于方式0或者方式1時的傳輸方向,當處于方式2時此位無效,d3設置c口的高4位傳輸方向,由于c口只有一種工作方式,因此不需要設置方式,d2設置b口的工作方式,d1設置b口的傳輸方向,d0設置c口的低4位傳輸方向。當c 口的信號線作為a口或 b口的聯(lián)絡線時,設置無效。2)c口位控控制字c口位控控制字用于將c口中的某一位清0或置1。c口位控控制字格式定義如下:其中d7為方式控制字標志位,用來區(qū)別方式控制字,d6d5d4為無效位,d3d2d1用來選擇pc7pc0中之一,d0為0表示清0,為1表示置1。2.5 鍵盤接口 鍵盤輸入是微機系統(tǒng)最常用的輸入方式。鍵盤可分為編碼鍵盤和非編碼鍵盤。編碼鍵盤內部設有鍵盤編碼器,被按下的鍵的編號由編碼器直接給出對應的ascii碼或其他編碼,同時具有防抖動和解決重鍵 的功能。這種鍵盤使用方便但是價格昂貴,一般在應用系統(tǒng)中很少采用。非編碼鍵盤用軟件來確定按鍵并計算鍵值,2.5.1 鍵盤結構鍵盤是若干按鍵的集合,鍵盤有線性鍵盤和矩陣鍵盤兩種結構形式。線性鍵盤由若干個獨立的按鍵組成,通常按鍵都采用低電平有效,上拉電阻保證了按鍵斷開時,i/o端口線有確定的高電平,每個按鍵將其一端直接與微機輸入端口的一位相連,另一端接地,即完成硬件的連接。一般分為查詢方式和中斷方式兩種,對于查詢方式,只要查詢該輸入端口各位的狀態(tài),即可判別是否有鍵按下,以及查詢按下的是哪一個鍵。事先編制子程序對各鍵進行定義和功能處理。當有鍵按下式就進入中斷服務程序。矩陣鍵盤,又叫行列式鍵盤。用i/o端口線組成行,列結構,按鍵設置在行列的交叉點上。例如用2*2的行列結構可構成4個鍵的鍵盤,4*4的行列結構可構成16個鍵的鍵盤。因此按鍵數量較多時,可以節(jié)省i/o端口線。2.5.2 鍵盤識別在非編碼矩陣式鍵盤中,為了識別鍵盤上的閉合鍵,通常采用兩種方法,一種稱為行掃描法,另一種稱為行反轉法。1)行掃描法行掃描法將按鍵設置在行,列交點,行,列線分別連接到按鍵開關的兩端。當列線通過上拉電阻接+5v時,被鉗位在高電平狀態(tài)。查詢方式的行掃描法是:首先查詢是否有鍵被按下,即通過8255的pa0pa7給鍵盤上的所有行線置成低電平,然后通過8255的pb0pb7將列線電平狀態(tài)讀入累加器al中,如果有鍵按下總會有一根列線電平被拉至低電平,從而使列線輸入不全為1,如果有鍵按下,再檢查 鍵盤中哪一個被按下,即依次給行線送低電平,查所有列線狀態(tài),如果全為1,則所按下之鍵不在此行。如果不全為1,則所按下的鍵必在此行,而且是在與0電平列線相交的交點上的那個鍵。鍵盤上的每個鍵都有一個鍵值。鍵值賦值的最直接辦法是將行,列線按二進制順序排列,當某一鍵按下時,鍵盤掃描程序執(zhí)行到給該行置0電平,讀出該列為0電平,這時的行,列數據組合成鍵值。微機系統(tǒng)工作時,并不經常需要鍵輸入,因此,在查詢方式的行掃描中,cpu經常處于空掃描狀態(tài)。為了進一步提高cpu效率,可以采用中斷行掃描法的工作方式。中斷方式的行掃描法:列線通過上拉電阻接+5v時,被鉗位在高電平狀態(tài),8255的b口為輸入方式,鍵盤中有無按鍵按下通過8255的pa0pa7給所有行線置成低電平。列線電平狀態(tài)經與非門送入8259a中斷申請端ir6,若無鍵按下時,所有列線電平均為高電平,與非門輸出為低電平,如果有鍵按下,總會有一根列線為低電平,與非門輸出低電平變高電平,即發(fā)出中斷請求 ,若cpu開放外部中斷,則響應中斷請求,進入中斷服務程序。在中斷服務程序中除完成鍵識別,鍵功能處理外,還須有消除鍵抖動影響,重鍵處理等措施。2)行反轉法行掃描法要逐行掃描查詢,當所按下的鍵在最后行,則要經過多次掃描才能獲得鍵號。而采用行反轉法時,只要經過 兩個步驟即可獲得按下鍵的位置。第三章 實現(xiàn)電子鐘系統(tǒng)3.1 使用protel繪制原理圖1) protel99se介紹protel99se是protel最新完成的視窗環(huán)境之印刷電路板設計系統(tǒng)。它憑借著protel99原有先進的設計平臺,帶來了更多既強大又有效的新增功能。protel 99 se是澳大利亞protel technology公司研制開發(fā)的基于windows9x2000nt操作系統(tǒng)下的電路設計軟件。它是目前國內最流行的電子設計自動化(electronic design automatic,eda)軟件,該軟件采用設計庫管理模式,可以進行聯(lián)網設計,具有很強的數據交換能力和開放性及3d模擬功能,是一個32位的設計軟件,可以完成電路原理圖繪制、印制電路板設計、電路仿真及可編程邏輯器件設計等3.2 硬件連接8255的a端口地址為:b端口地址為:c端口地址為:控制口地址為:8253的控制口地址:8259的控制口地址:線路連接如下:1)8255的d7-d0連系統(tǒng)的d7-d08255的pa7-pa0連led的dp-a8255的pb7-pb0連led的y7-y08225的iow,ior,reset連系統(tǒng)相應口8255的a1,a0連系統(tǒng)相應口8255的cs連x188255的pc1,pc0連led的x1,x02)8259的d7-d0連系統(tǒng)的d7-d08259的inta,intr連系統(tǒng)inta,intr8259的ir0連8253的008259的cs1連系統(tǒng)x20 8259的iow,ior連系統(tǒng)iow,ior8259的a0接系統(tǒng)a03)8253的d7-d0連系統(tǒng)的d7-d08253的iow,ior連系統(tǒng)iow,ior8253的a0,a1連系統(tǒng)的a0,a18253的cs接系統(tǒng)的x00、8253的c0接8253的o28253的c2接系統(tǒng)的q2 串行口選擇為:com13.3 軟件編程主程序流程中斷處理程序流程 初始化8259,8253,8255各芯片。 檢查是否有a鍵按下,如果有,初始化緩沖區(qū),在led上顯示0000-00。在鍵盤上輸入要設置的時間值。否則檢查是否有e鍵按下,如果有,初始化緩沖區(qū),輸入要設置的鬧鐘時間,然后按b鍵,恢復計時。如果沒有e鍵按下,檢查是否有b鍵按下,如果有,開中斷,計時開始,實時顯示時鐘值。如果沒有,檢查是否有c鍵按下,如果有,關中斷,顯示全零,如果沒有,檢查是否有d鍵按下,如果有,關中斷,顯示器熄滅。中斷程序,實現(xiàn)時鐘的加法。時分秒都用高低兩位來表示,秒值的低位是9時,再加1后,低位寫0。秒值的高位是5,再加一后,高位寫0。分值的低位是9時,再加1后,低
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 12富起來到強起來 第一課時(說課稿)-2023-2024學年道德與法治五年級下冊統(tǒng)編版
- 13《貓》說課稿-2023-2024學年四年級語文下冊統(tǒng)編版
- Unit 4 Customs and Traditions:Review of Passives 語法銜接活動案例說課稿-2024-2025學年高中英語滬外版必修第一冊
- 8 安全記心上《平安出行》(說課稿)-部編版道德與法治三年級上冊
- 西藏小區(qū)變壓器施工方案
- 27《巨人的花園》(說課稿)-2023-2024學年統(tǒng)編版語文四年級下冊
- 《3 我的本領大-循環(huán)模塊與執(zhí)行器模塊組合應用》說課稿-2023-2024學年清華版(2012)信息技術六年級下冊001
- 9元日說課稿-2023-2024學年三年級下冊語文統(tǒng)編版
- Unit 3 Seasons Lesson 2(說課稿)-2023-2024學年人教新起點版英語二年級下冊
- 倒賣人口合同范例
- 2023年全國4月高等教育自學考試管理學原理00054試題及答案新編
- 邵陽市職工勞動能力鑒定表
- 稀土配合物和量子點共摻雜構筑發(fā)光軟材料及其熒光性能研究
- 衛(wèi)生部手術分級目錄(2023年1月份修訂)
- JJG 921-2021環(huán)境振動分析儀
- 中藥炮制學-第五、六章
- 中國風軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2022年電拖實驗報告伍宏淳
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 即興口語(姜燕)-課件-即興口語第一章PPT-中國傳媒大學
評論
0/150
提交評論