嵌入式系統(tǒng)電子鐘畢業(yè)論文_第1頁
嵌入式系統(tǒng)電子鐘畢業(yè)論文_第2頁
嵌入式系統(tǒng)電子鐘畢業(yè)論文_第3頁
嵌入式系統(tǒng)電子鐘畢業(yè)論文_第4頁
嵌入式系統(tǒng)電子鐘畢業(yè)論文_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要 嵌入式計(jì)算機(jī)系統(tǒng)的出現(xiàn),是現(xiàn)代計(jì)算機(jī)發(fā)展史上的里程碑事件,嵌入式系統(tǒng)誕生于微型計(jì)算機(jī)時代,與通用計(jì)算機(jī)的發(fā)展道路完全不同,形成了獨(dú)立的單芯片的技術(shù)發(fā)展道路。由于嵌入式系統(tǒng)的誕生,現(xiàn)代計(jì)算機(jī)領(lǐng)域中出現(xiàn)了通用計(jì)算機(jī)和嵌入式計(jì)算機(jī)的兩大分支。不可兼顧的技術(shù)發(fā)展道路,形成了兩大分支的獨(dú)立發(fā)展道路:通用計(jì)算機(jī)按照高速,海量的技術(shù)發(fā)展;嵌入式計(jì)算機(jī)系統(tǒng)則為滿足對象系統(tǒng)嵌入式智能化控制要求發(fā)展。由于獨(dú)立的發(fā)展分工,20世紀(jì)末,現(xiàn)代計(jì)算機(jī)的兩大分支都得到了迅猛的發(fā)展。 1978年intel公司開發(fā)出比8086性能更出色的8088處理器,并成功將其銷售給ibm全新個人計(jì)算機(jī)部門,使得8088成為全新熱銷

2、的ibm pc的大腦。從8088開始,個人計(jì)算機(jī)的概念開始在全世界范圍內(nèi)發(fā)展起來。標(biāo)志著一個新時代的開始。雖然處理器的發(fā)展速度非常迅猛,但是作為里程碑式的8088,仍然作為實(shí)驗(yàn)工具被使用。本文就是基于8088處理器的電子鐘的開發(fā)。本文利用protel繪制原理圖,使用微機(jī)原理仿真試驗(yàn)箱,利用系統(tǒng)提供的8253計(jì)數(shù)器/定時器,中斷器8259,6個led實(shí)現(xiàn)了電子鐘的基本功能,在電子鐘上顯示時,分,秒,并具有設(shè)置時間,計(jì)時,鬧鐘的功能。使用匯編語言進(jìn)行編程。關(guān)鍵詞: 8088處理器,電子鐘,8253計(jì)數(shù)器/定時器,8259中斷器abstractthe embeded computer systems

3、 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 comp

4、uter 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 proce

5、ssors. 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 e

6、xperiments. 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 electro

7、n 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第

8、一章 系統(tǒng)概述111 需求分析112 模塊設(shè)計(jì)1第二章 系統(tǒng)使用芯片簡述32.1 達(dá)愛思儀器簡介32.2 8253計(jì)數(shù)器/定時器簡述32.2.1 內(nèi)部結(jié)構(gòu)32.2.2 工作方式52.2.3 控制字92.3 8259a中斷器102.3.1 內(nèi)部結(jié)構(gòu)112.3.2 編程結(jié)構(gòu)122.4 8255并行口132.4.1 內(nèi)部結(jié)構(gòu)132.4.2 工作方式162.4.3 控制字162.5 鍵盤接口182.5.1 鍵盤結(jié)構(gòu)182.5.2 鍵盤識別18第三章 實(shí)現(xiàn)電子鐘系統(tǒng)203.1 使用protel繪制原理圖203.2 硬件連接203.3 軟件編程21第四章 系統(tǒng)測試與結(jié)果分析244.1 調(diào)試結(jié)果描述244.

9、2 測試結(jié)果分析24結(jié)束語25參考文獻(xiàn)1引 言嵌入式計(jì)算機(jī)系統(tǒng)的出現(xiàn),是現(xiàn)代計(jì)算機(jī)發(fā)展史上的里程碑事件,嵌入式系統(tǒng)誕生于微型計(jì)算機(jī)時代,與通用計(jì)算機(jī)的發(fā)展道路完全不同,形成了獨(dú)立的單芯片的技術(shù)發(fā)展道路。由于嵌入式系統(tǒng)的誕生,現(xiàn)代計(jì)算機(jī)領(lǐng)域中出現(xiàn)了通用計(jì)算機(jī)和嵌入式計(jì)算機(jī)的兩大分支。不可兼顧的技術(shù)發(fā)展道路,形成了兩大分支的獨(dú)立發(fā)展道路:通用計(jì)算機(jī)按照高速,海量的技術(shù)發(fā)展;嵌入式計(jì)算機(jī)系統(tǒng)則為滿足對象系統(tǒng)嵌入式智能化控制要求發(fā)展。由于獨(dú)立的發(fā)展分工,20世紀(jì)末,現(xiàn)代計(jì)算機(jī)的兩大分支都得到了迅猛的發(fā)展。第一章 系統(tǒng)概述11 需求分析 研究與學(xué)習(xí)微機(jī)原理與接口技術(shù)在實(shí)際中的應(yīng)用,利用實(shí)驗(yàn)室現(xiàn)有的實(shí)驗(yàn)儀

10、器和軟件資源,進(jìn)行實(shí)時調(diào)試,提高系統(tǒng)的適應(yīng)性,靈活性。提高學(xué)生實(shí)際應(yīng)用微計(jì)算機(jī)開發(fā)設(shè)計(jì)系統(tǒng)的能力,使理論設(shè)計(jì)得到實(shí)踐的檢驗(yàn)。 需求分析簡單的來說就是分析出系統(tǒng)要做一件什么事情。本文要求掌握8259中斷器,8253計(jì)數(shù)器/定時器的接口方法和應(yīng)用編程,開發(fā)出相應(yīng)的綜合性設(shè)計(jì)項(xiàng)目。對上述的“需求”進(jìn)行分析之后, 本文利用達(dá)愛思教儀即dias-958h+試驗(yàn)箱實(shí)現(xiàn)電子鐘功能。本系統(tǒng)應(yīng)做到的以下幾點(diǎn):(1) 顯示時間顯示時,分,秒。(2) 設(shè)置時間利用鍵盤手動設(shè)置時間。(3) 自動計(jì)時自動計(jì)時并能實(shí)時顯示。(4) 鬧鐘功能設(shè)定時間到點(diǎn)報時。12 模塊設(shè)計(jì) 通過需求分析的歸納,本系統(tǒng)各個模塊設(shè)計(jì)如下:1.

11、 顯示時間在led上顯示時,分,秒,初始時顯示全零,時分秒都以兩位數(shù)表示,中間以-隔開。 2. 設(shè)置時間 這一部分是對時間進(jìn)行設(shè)置。這部分功能是提供給用戶使用。按下小鍵盤上的a鍵,從鍵盤輸入想要設(shè)置的時間,時間格式為時,分,秒,中間以隔開。3 自動計(jì)時 按下鍵盤上的b鍵,系統(tǒng)開始計(jì)時,如果秒值為60,分值加一,否則秒值加一,如果分值為60,時值加一,否則,分值加一。當(dāng)時值為24時,時值歸零,否則,時值加一。當(dāng)按下鍵盤上的c鍵時,停止計(jì)時。按下d鍵時,顯示器熄滅。4. 鬧鐘功能按下鍵盤上的e鍵,關(guān)中斷,輸入要設(shè)置的鬧鐘時間,按下b鍵,開中斷,繼續(xù)計(jì)時,當(dāng)?shù)竭_(dá)鬧鐘時間時,蜂鳴器響一下。第二章 系統(tǒng)

12、使用芯片簡述2.1 達(dá)愛思儀器簡介 dais958h+型仿真實(shí)驗(yàn)系統(tǒng),它是及微機(jī)原理8086/8088、單片機(jī)原mcs-51、mcs-96為一體的三合一仿真系統(tǒng),系統(tǒng)提供豐富的軟硬件資源。集成8088處理器,8259中斷器,8253計(jì)數(shù)器/定時器,8255并行口,led顯示器,小鍵盤等等。2.2 8253計(jì)數(shù)器/定時器簡述2.2.1 內(nèi)部結(jié)構(gòu) 8253的基本功能:1:含有3個獨(dú)立的16位計(jì)數(shù)器,能夠進(jìn)行3個16位的獨(dú)立計(jì)數(shù)。2:每一個計(jì)數(shù)器具有六種工作方式。3:能進(jìn)行二進(jìn)制、十進(jìn)制計(jì)數(shù)(減法計(jì)數(shù))。所謂十進(jìn)制計(jì)數(shù),是指bcd碼計(jì)數(shù),每個計(jì)數(shù)器可表示4位十進(jìn)制數(shù)的bcd碼,每來一個計(jì)數(shù)脈沖時,按

13、照十進(jìn)制數(shù)減一規(guī)律進(jìn)行計(jì)數(shù)。例如,當(dāng)前的計(jì)數(shù)值為1000 0100 0000 0000 (8400),來一個計(jì)數(shù)脈沖后,變?yōu)?000 0011 1001 1001(8399)。4:計(jì)數(shù)頻率為02mhz.5:可作計(jì)數(shù)器或定時器。8253為24引腳,雙列直插封裝。其引腳排列與內(nèi)部結(jié)構(gòu)如圖 所示。由圖可看出,8253的內(nèi)部結(jié)構(gòu)由數(shù)據(jù)總線緩沖器,讀、寫控制邏輯,3個獨(dú)立的計(jì)數(shù)器三部分組成。1:數(shù)據(jù)總線緩沖器這是一個三態(tài)8位雙向緩沖器,d7d0同系統(tǒng)數(shù)據(jù)總線相連。cpu通過執(zhí)行輸入/輸出指令來實(shí)現(xiàn)對緩沖器發(fā)送或接受數(shù)據(jù)。8253的控制字也是通過該緩沖器傳送的。2:讀/寫控制邏輯讀/寫控制邏輯用來管理數(shù)據(jù)

14、信息和控制字的傳送,它接收來自cpu地址總線和控制總線的有關(guān)信號,向3個獨(dú)立的計(jì)數(shù)器的控制部件發(fā)送命令。對8252進(jìn)行控制的信號有:a1,a0:片內(nèi)寄存器選擇信號。cs:片選信號,低電平有效。rd:讀信號,低電平有效wr:寫信號,低電平有效??刂菩盘朿s,rd,wr以及a1,a0的組合可以實(shí)現(xiàn)對三個計(jì)數(shù)器和控制寄存器的讀寫操作。3:計(jì)數(shù)器三個計(jì)數(shù)器中每一個都有三條信號線:clk:計(jì)數(shù)輸入用于輸入定時基準(zhǔn)脈沖或計(jì)數(shù)脈沖。out:輸出信號以相應(yīng)的電平指示計(jì)數(shù)的完成或輸出脈沖波形。gate:選通輸入,用于啟動或禁止計(jì)數(shù)器的操作,以使計(jì)數(shù)器和計(jì)數(shù)器輸入信號同步。每個計(jì)數(shù)器中有四個寄存器:1) 6位的控

15、制寄存器,初始化時,將控制字寫入該寄存器。2) 16位的計(jì)數(shù)初值寄存器,初始化時寫入該計(jì)數(shù)器的初始值,其最大初始值為0000h.3) 16位的減一計(jì)數(shù)器,計(jì)數(shù)初值由計(jì)數(shù)初值寄存器送入減法計(jì)數(shù)寄存器,當(dāng)計(jì)數(shù)輸入端輸入一個計(jì)數(shù)脈沖時,減法計(jì)數(shù)寄存器內(nèi)容減一。4) 16位的輸出鎖存器用來鎖存計(jì)數(shù)執(zhí)行部件的內(nèi)容,從而使cpu可以對此進(jìn)行讀操作。2.2.2 工作方式計(jì)數(shù)啟動方式:軟件啟動:gate端為高電平 置入計(jì)數(shù)初值后的第2個clk脈沖的下降沿。硬件啟動:gate端有一個上升沿 對應(yīng)clk脈沖的下降沿8253有6種工作方式,在不同的工作方式下,計(jì)數(shù)器的啟動方式,gate端輸入信號的作用以及out端的

16、輸出波形都有所不同。1) 方式0(計(jì)數(shù)結(jié)束產(chǎn)生中斷) 軟件啟動,不自動重復(fù)計(jì)數(shù),裝入初值后,輸出端變低電平,計(jì)數(shù)結(jié)束輸出高電平。波形示意圖如下:在計(jì)數(shù)過程中可改變計(jì)數(shù)值,若為8位數(shù),則在寫入新的計(jì)數(shù)初值后,減一計(jì)數(shù)器將按新的計(jì)數(shù)初值重新開始計(jì)數(shù):若為16位數(shù),則在寫入低字節(jié)后,減一計(jì)數(shù)器停止計(jì)數(shù),而在寫入高字節(jié)后,減一計(jì)數(shù)器才按照新的計(jì)數(shù)初值開始計(jì)數(shù)。在計(jì)數(shù)過程中,可由gate位低電平來控制減一計(jì)數(shù)器暫停計(jì)數(shù),直到gate又變成高電平,減一計(jì)數(shù)器又繼續(xù)計(jì)數(shù)。但gate信號的變化不影響out的變化。方式0是專為工作在中斷方式而設(shè)計(jì)的,計(jì)數(shù)結(jié)束中斷的out信號可通過8259a作為cpu的中斷請求信

17、號,使用時要注意,若計(jì)數(shù)初值為n,要經(jīng)過n+1個clk脈沖信號out才由低電平變?yōu)楦唠娖健?) 方式1(可編程的單脈沖觸發(fā)器)硬件啟動,不自動重復(fù)計(jì)數(shù),裝入初值后,輸出端變高,計(jì)數(shù)過程中輸出低電平,結(jié)束后又變高。波形圖如下:當(dāng)計(jì)數(shù)器記到0之后,可用gate脈沖再次啟動,重發(fā)單拍脈沖,而不用給計(jì)數(shù)初值寄存器送入計(jì)數(shù)值。計(jì)數(shù)器又從原計(jì)數(shù)初值重新開始計(jì)數(shù)。計(jì)數(shù)過程中,可通過gate脈沖再次啟動,但不改變輸出低電平狀態(tài),減一計(jì)數(shù)器將重新按計(jì)數(shù)初值開始計(jì)數(shù),直到再次計(jì)數(shù)到0后,輸出才變高。3) 方式2(分頻器)軟硬件啟動,自動重復(fù)計(jì)數(shù)。裝入初值后,輸出端變高,計(jì)數(shù)到最后一個脈沖時輸出低電平。波形圖如下:

18、方式2如同一個n分頻計(jì)數(shù)器,若計(jì)數(shù)初值為n,則每到n個時鐘clk脈沖就輸出一個脈沖。因此,這種方式可以作為一個脈沖分頻器或用于產(chǎn)生實(shí)時中斷。計(jì)數(shù)過程中,可用門控脈沖gate重新啟動計(jì)數(shù)。當(dāng)gate變低時,現(xiàn)行計(jì)數(shù)暫停,變高后,下一個clk輸入脈沖使減一計(jì)數(shù)器恢復(fù)計(jì)數(shù)初值重新開始計(jì)數(shù),所以可用一個外部控制邏輯來控制gate,從而達(dá)到同步計(jì)數(shù)的作用。4) 方式3(方波發(fā)生器)軟硬件啟動,自動重復(fù)計(jì)數(shù)。裝入初值后輸出端變高,輸出對稱方波。波形圖如下:計(jì)數(shù)值為偶數(shù)計(jì)數(shù)值為奇數(shù)在計(jì)數(shù)過程中,可以改變計(jì)數(shù)初值,新的初值寫入也分兩種情況討論:一種是gate為高電平時在計(jì)數(shù)執(zhí)行過程中新值寫入,并不影響現(xiàn)行計(jì)數(shù)

19、過程,只是在下一個計(jì)數(shù)過程中按新值進(jìn)行計(jì)數(shù)。第二種是在計(jì)數(shù)執(zhí)行過程中加入一個gate負(fù)脈沖信號,停止現(xiàn)行計(jì)數(shù)過程,在門控信號上升沿后的第一個時鐘周期的下降沿按新值開始計(jì)數(shù)。5) 方式4(軟件觸發(fā)的選通信號發(fā)生器)軟件啟動,不自動重復(fù)計(jì)數(shù)。裝入初值后輸出端變高,計(jì)數(shù)結(jié)束后輸出一個clk寬度的低電平。波形圖如下:在計(jì)數(shù)過程中g(shù)ate變低,則停止計(jì)數(shù),待gate變高時,減一計(jì)數(shù)器重新從技術(shù)初值開始計(jì)數(shù)。在計(jì)數(shù)過程中,改變技術(shù)初值是立即有效的,他將立即按新的計(jì)數(shù)值繼續(xù)重新開始計(jì)數(shù)。如果計(jì)數(shù)值是雙字節(jié),則在寫入第一個字節(jié)時停止計(jì)數(shù),在寫入第二個字節(jié)后,按照新計(jì)數(shù)值開始計(jì)數(shù)。利用方式4可以完成定時功能,定

20、時時間為n個clk周期,這種工作方式也可完成計(jì)數(shù)功能,將計(jì)數(shù)脈沖從clk輸入,使減一計(jì)數(shù)器減到0,由out輸出負(fù)脈沖表示計(jì)數(shù)次數(shù)到,當(dāng)然也可利用out作為中斷請求信號,工作方式4和工作方式0很相似。5)方式5(硬件觸發(fā)選通信號發(fā)生器)硬件啟動,不自動重復(fù)計(jì)數(shù)。波形圖如下:當(dāng)門控信號gate上升沿到來后,開始計(jì)數(shù)。在計(jì)數(shù)過程中,又來一個門控信號的上升沿,立即終止現(xiàn)行的計(jì)數(shù)過程,在下一個時鐘的下降沿又從初值開始計(jì)數(shù),如果在計(jì)數(shù)過程結(jié)束后來一個門控信號上升沿,計(jì)數(shù)器也會在下一個時鐘的下降沿從上一個初值開始減一計(jì)數(shù),即只要門控信號的上升沿到來,就會馬上觸發(fā)下一個技術(shù)的過程。2.2.3 控制字8253只

21、有一個控制字,其格式和含義如下圖所示 d7,d6兩位用來選擇計(jì)數(shù)器,d5,d4兩位用來規(guī)定讀寫格式,d3,d2,d1三位用來選擇工作方式,d0用來表示使用二進(jìn)制表示還是使用十進(jìn)制表示。 8253的控制寄存器和3個計(jì)數(shù)器分別具有獨(dú)立的編程地址,并且控制字本身的內(nèi)容又確定了所控制的寄存器序號,所以對8253的編程沒有太多嚴(yán)格的順序規(guī)定,使用非常靈活。但是,編程有3條原則必須嚴(yán)格遵守:1)在選擇任何一種工作方式下,都必須先向8253寫入控制字,控制字還起復(fù)位作用,它使out端變?yōu)楣ぷ鞣绞街幸?guī)定的狀態(tài)和對計(jì)數(shù)初值寄存器清零。2)對計(jì)數(shù)器設(shè)置初值前必須先寫控制字。計(jì)數(shù)初值設(shè)置時,要符合控制字中的格式規(guī)定

22、,控制字中一旦規(guī)定,具體初始值設(shè)定時就要一致。3)讀取當(dāng)前計(jì)數(shù)值時,必須設(shè)置鎖存操作控制字。由于8253對外的數(shù)據(jù)線只有8根,對16位計(jì)數(shù)器進(jìn)行寫入或讀取當(dāng)前計(jì)數(shù)值時,需要分兩次進(jìn)行。由于兩次讀之間存在時間間隔,這期間可能恰好有計(jì)數(shù)脈沖,所以讀出的值帶有隨機(jī)性,為了使cpu能獲得計(jì)數(shù)器某一時刻準(zhǔn)確的值,8253設(shè)置了鎖存操作。當(dāng)控制字的d5,d4位為00時,表示鎖存。當(dāng)鎖存命令到來時,減一計(jì)數(shù)器記到某一個值,因?yàn)殒i存器是跟隨減一計(jì)數(shù)器工作的,所以,鎖存器中為同一個值,此時,這一數(shù)值被鎖住,當(dāng)cpu將此鎖定值之后,鎖存器自動失鎖,于是又跟隨計(jì)數(shù)器變化。 2.3 8259a中斷器8259a是一種可

23、由軟件進(jìn)行控制的中斷控制器。8259a使用于各種不同環(huán)境,具有很強(qiáng)的中斷管理功能。8259a主要功能有:1) 每片8259a可管理8級優(yōu)先權(quán)中斷源,在基于不增加其他電路的情況下,通過8259a的級聯(lián),最多可管理64級優(yōu)先級的中斷源。2) 對任何一個級別的中斷源都可以單獨(dú)進(jìn)行屏蔽,使該級中斷請求暫時被禁止,直到取消屏蔽時為止。3) 向cpu提供可編程的標(biāo)識碼,對于8086-pentium的cpu來說就是中斷類型碼。4) 具有六種中斷優(yōu)先權(quán)管理方式,即全嵌套方式,特殊全嵌套方式,自動循環(huán)方式,特殊循環(huán)方式,特殊屏蔽方式,中斷查詢方式,這些管理方式均可通過程序動態(tài)的進(jìn)行變化。5) 具有三種中斷結(jié)束方

24、式,即自動中斷結(jié)束方式,一般的中斷結(jié)束方式和特殊的中斷結(jié)束方式。6) 8259a用nmos工藝制作,只需要一組+5v電源。2.3.1 內(nèi)部結(jié)構(gòu)8259a是intel公司生產(chǎn)的具有28個引腳的雙列直插式芯片,其引腳如圖所示:d0-d7:這是8條數(shù)據(jù)引腳,在系統(tǒng)中,他們和數(shù)據(jù)總線相連,從而實(shí)現(xiàn)和cpu的數(shù)據(jù)交換,在較大的系統(tǒng)中,一般使用總線驅(qū)動器(即緩沖方式),這時,d0-d7與總線驅(qū)動器相連,在小系統(tǒng)中,則d0-d7直接與數(shù)據(jù)總線相連。int:它和cpu的intr中斷請求端相連,用來向cpu發(fā)中斷請求。inta:它用來接受來自cpu的在中斷應(yīng)答信號,低電平有效。rd:讀出信號,用來通知8259a

25、將某個內(nèi)部寄存器的內(nèi)容送到數(shù)據(jù)總線上。低電平有效。wr:寫入信號,用來通知8259a從數(shù)據(jù)線上接受數(shù)據(jù),這些數(shù)據(jù)實(shí)際上就是cpu往8259a發(fā)送的命令字,也就是說,每當(dāng)8259a接收一個數(shù)據(jù),便設(shè)置一個命令字。wr是低電平有效。cs:芯片選通信號,通知地址譯碼邏輯電路與地址總線連接。a0:用來指出當(dāng)前8259a的哪個端口被訪問。一片8259a對應(yīng)兩個端口地址,一個為偶地址,一個為奇地址,并且要求偶地址較低,奇地址較高。每片8259a留出兩個i/o端口地址。ir0-ir7:接收中斷請求,在含有多片8259a的復(fù)雜系統(tǒng)中,主片的ir0-ir7分別和各從片的int端相連,用來接收來自從片的中斷請求。

26、cas0-cas2:這三個引腳上的信號用來指出具體的從片,在多片級聯(lián)時,他們將分別互連起來。sp/en:當(dāng)8259a工作于級聯(lián)模式下,作為輸入,用來決定本片時主片還是從片,當(dāng)值為1時,則為主片,當(dāng)值為0時,則為從片。當(dāng)工作于單片模式下,作為輸出,由它來控制數(shù)據(jù)通過總線接收器的傳送方向。2.3.2 編程結(jié)構(gòu) 8259a由9個基本部分組成,他們是:1) 數(shù)據(jù)總線緩沖器是8位三態(tài)雙向緩沖器,通常和cpu系統(tǒng)總線中d0-d7相連接,在讀/寫邏輯的控制下實(shí)現(xiàn)cpu與8259a之間的信息交換。2) 中斷請求寄存器irr接收外部的中斷請求,irr有8位,他們分別和引腳ir0-ir0相對應(yīng),接收到某個引腳的信

27、號后,對應(yīng)位置1,對這一中斷請求作了鎖存。有邊沿觸發(fā)方式和高電平觸發(fā)方式兩種。3) 操作命令字寄存器ocw1-ocw3,用于存放操作命令字。操作命令字則是由應(yīng)用程序設(shè)定,用來對中斷處理過程作動態(tài)控制。,運(yùn)行過程中可以多次設(shè)置,其中的ocw1是8位中斷屏蔽寄存器,當(dāng)它的某位1時,則對應(yīng)的中斷請求就被屏蔽,即對該中斷源的有效請求置之不理。4) 8位中斷服務(wù)寄存器是用來記憶正在處理中的中斷級別,它的每位分別與irr寄存器中的各位相對應(yīng)。當(dāng)cpu在為某個中斷源服務(wù)時,8259a則使相應(yīng)位置1,當(dāng)為全0時,表示無任何中斷服務(wù)。5) 優(yōu)先級比較器,也稱優(yōu)先級裁決器,用來管理和識別各個中斷源的優(yōu)先級別。6)

28、 控制邏輯。根據(jù)優(yōu)先級裁決器的請求向cpu發(fā)出一個中斷請求信號,如果cpu的中斷允許標(biāo)志if為1,那么,cpu執(zhí)行完當(dāng)前指令后,就可以響應(yīng)中斷。7) 讀寫邏輯。根據(jù)cpu送來的讀寫信號和地址信息,通過數(shù)據(jù)總線緩沖器有條不紊的完成cpu對8259a的所有寫操作和讀操作。8) 級聯(lián)緩沖器/比較器。實(shí)現(xiàn)多片8259a的級聯(lián),只有一個主片,最多有8個從片。9) 初始化命令字寄存器icw1-icw4是微機(jī)系統(tǒng)啟動時由初始化程序設(shè)置的,初始化命令字一旦設(shè)定,一般在系統(tǒng)工作過程中就不再改變,因此,cpu給8259a編程時,首先要送入初始化命令字,icw1和icw2必須送,而icw3和icw4由工作方式來選擇

29、。2.4 8255并行口2.4.1 內(nèi)部結(jié)構(gòu)8255為可編程的并行接口芯片,具有40個引腳,雙列直插dip封裝,+5v供電,全部信號與ttl電平兼容。引腳圖如下:8255的特點(diǎn)有:1)具有三個并行數(shù)據(jù)傳輸端口:a口,b口,c口。2)每個端口擁有不同的工作方式:a口具有3種工作方式,b口具有2種工作方式,c口只有1種工作方式。3)每個端口工作在輸出方式時,具有鎖存功能。4)可以通過編程設(shè)置成4位端口,8位端口,12位端口,16位端口,20位端口或24位端口。8255由四部分組成。如圖所示1)數(shù)據(jù)總線緩沖器,這是一個三態(tài)雙向8位緩沖器,它是8255與cpu系統(tǒng)數(shù)據(jù)總線的接口。所有數(shù)據(jù)的發(fā)送與接受,

30、以及cpu發(fā)出的控制字和從8255來的狀態(tài)信息都是通過緩沖器傳送的。2)讀寫控制邏輯。讀寫控制邏輯由讀信號,寫信號,選片信號以及端口選擇信號等組成。讀寫控制邏輯控制了總線的開放與關(guān)閉的信息傳送的方向,以便把cpu的控制命令或輸出數(shù)據(jù)送到相應(yīng)的端口,或把外設(shè)的信息或輸入數(shù)據(jù)從相應(yīng)的端口送到cpu。3)數(shù)據(jù)端口a,b,c。8255包括三個8位輸入輸出端口,每個端口都有一個數(shù)據(jù)輸入寄存器和一個數(shù)據(jù)輸出寄存器,輸入時端口有三態(tài)緩沖器的功能,輸出時端口有數(shù)據(jù)鎖存器功能。在實(shí)際應(yīng)用中,pc口的8位可分為兩個4位端口(方式0下),也可分為一個5位(控制)端口和一個3位(控制)端口(供a口,b口方式1下)來使

31、用。4)a組和b組控制電路。控制a,b和c三個端口的工作方式,a組控制a口和c口的上半部(pc7pc3),b組控制b口和c口的下半部(pc2pc0)的工作方式和輸入輸出,a組,b組的控制寄存器還接收按位控制命令,以實(shí)現(xiàn)對pc口的按位置位復(fù)位操作。2.4.2 工作方式8255有三種工作方式(方式0,方式1,方式2)可供選擇使用,而且三個端口可以同時按照各自選擇的工作方式工作,當(dāng)然8255各端口在正常工作開始前,必須進(jìn)行初始化設(shè)計(jì),確定每個端口按哪種工作方式工作。方式0:基本輸入或輸出方式,為單向8位端口。多用于同步數(shù)據(jù)傳輸場合,無需握手線進(jìn)行傳輸,也可用于查詢方式,此時往往用c口的某些信號線作為

32、自定義狀態(tài)線和控制線。8255的三個端口都可工作于方式0。方式1:選通輸入或輸出方式,為單向的8位端口。只有a口和b口可以工作在方式1狀態(tài),而此時c口的某些信號線一定作為a口或b口的聯(lián)絡(luò)線,其他非聯(lián)絡(luò)線仍可以工作在方式0 輸入或輸出狀態(tài)。方式2:雙向傳輸方式,既可以輸入又可輸出。只有a口可以采用方式2 工作,此時c口中的5根信號線作為a口的聯(lián)絡(luò)線,而其余的3根信號線可以做b口方式1時的聯(lián)絡(luò)線,或者與b口一起工作在方式0狀態(tài)。2.4.3 控制字8255在正常工作之前必須進(jìn)行初始化設(shè)置,對所用到的每個端口都要設(shè)置具體的工作方式。8255具有2個控制字:方式控制字和c口位控控制字。2個控制字均需要送

33、入控制寄存器口地址中,其區(qū)別在于:方式控制字中的d7=1,c口位控控制字中的d7=0。1)方式控制字方式控制字各位定義見圖其中d7為方式控制字標(biāo)志位,用來區(qū)別c口位控控制字。d6d5設(shè)置a口的工作方式,d4 設(shè)置a口處于方式0或者方式1時的傳輸方向,當(dāng)處于方式2時此位無效,d3設(shè)置c口的高4位傳輸方向,由于c口只有一種工作方式,因此不需要設(shè)置方式,d2設(shè)置b口的工作方式,d1設(shè)置b口的傳輸方向,d0設(shè)置c口的低4位傳輸方向。當(dāng)c 口的信號線作為a口或 b口的聯(lián)絡(luò)線時,設(shè)置無效。2)c口位控控制字c口位控控制字用于將c口中的某一位清0或置1。c口位控控制字格式定義如下:其中d7為方式控制字標(biāo)志位

34、,用來區(qū)別方式控制字,d6d5d4為無效位,d3d2d1用來選擇pc7pc0中之一,d0為0表示清0,為1表示置1。2.5 鍵盤接口 鍵盤輸入是微機(jī)系統(tǒng)最常用的輸入方式。鍵盤可分為編碼鍵盤和非編碼鍵盤。編碼鍵盤內(nèi)部設(shè)有鍵盤編碼器,被按下的鍵的編號由編碼器直接給出對應(yīng)的ascii碼或其他編碼,同時具有防抖動和解決重鍵 的功能。這種鍵盤使用方便但是價格昂貴,一般在應(yīng)用系統(tǒng)中很少采用。非編碼鍵盤用軟件來確定按鍵并計(jì)算鍵值,2.5.1 鍵盤結(jié)構(gòu)鍵盤是若干按鍵的集合,鍵盤有線性鍵盤和矩陣鍵盤兩種結(jié)構(gòu)形式。線性鍵盤由若干個獨(dú)立的按鍵組成,通常按鍵都采用低電平有效,上拉電阻保證了按鍵斷開時,i/o端口線有確

35、定的高電平,每個按鍵將其一端直接與微機(jī)輸入端口的一位相連,另一端接地,即完成硬件的連接。一般分為查詢方式和中斷方式兩種,對于查詢方式,只要查詢該輸入端口各位的狀態(tài),即可判別是否有鍵按下,以及查詢按下的是哪一個鍵。事先編制子程序?qū)Ω麈I進(jìn)行定義和功能處理。當(dāng)有鍵按下式就進(jìn)入中斷服務(wù)程序。矩陣鍵盤,又叫行列式鍵盤。用i/o端口線組成行,列結(jié)構(gòu),按鍵設(shè)置在行列的交叉點(diǎn)上。例如用2*2的行列結(jié)構(gòu)可構(gòu)成4個鍵的鍵盤,4*4的行列結(jié)構(gòu)可構(gòu)成16個鍵的鍵盤。因此按鍵數(shù)量較多時,可以節(jié)省i/o端口線。2.5.2 鍵盤識別在非編碼矩陣式鍵盤中,為了識別鍵盤上的閉合鍵,通常采用兩種方法,一種稱為行掃描法,另一種稱為

36、行反轉(zhuǎn)法。1)行掃描法行掃描法將按鍵設(shè)置在行,列交點(diǎn),行,列線分別連接到按鍵開關(guān)的兩端。當(dāng)列線通過上拉電阻接+5v時,被鉗位在高電平狀態(tài)。查詢方式的行掃描法是:首先查詢是否有鍵被按下,即通過8255的pa0pa7給鍵盤上的所有行線置成低電平,然后通過8255的pb0pb7將列線電平狀態(tài)讀入累加器al中,如果有鍵按下總會有一根列線電平被拉至低電平,從而使列線輸入不全為1,如果有鍵按下,再檢查 鍵盤中哪一個被按下,即依次給行線送低電平,查所有列線狀態(tài),如果全為1,則所按下之鍵不在此行。如果不全為1,則所按下的鍵必在此行,而且是在與0電平列線相交的交點(diǎn)上的那個鍵。鍵盤上的每個鍵都有一個鍵值。鍵值賦值

37、的最直接辦法是將行,列線按二進(jìn)制順序排列,當(dāng)某一鍵按下時,鍵盤掃描程序執(zhí)行到給該行置0電平,讀出該列為0電平,這時的行,列數(shù)據(jù)組合成鍵值。微機(jī)系統(tǒng)工作時,并不經(jīng)常需要鍵輸入,因此,在查詢方式的行掃描中,cpu經(jīng)常處于空掃描狀態(tài)。為了進(jìn)一步提高cpu效率,可以采用中斷行掃描法的工作方式。中斷方式的行掃描法:列線通過上拉電阻接+5v時,被鉗位在高電平狀態(tài),8255的b口為輸入方式,鍵盤中有無按鍵按下通過8255的pa0pa7給所有行線置成低電平。列線電平狀態(tài)經(jīng)與非門送入8259a中斷申請端ir6,若無鍵按下時,所有列線電平均為高電平,與非門輸出為低電平,如果有鍵按下,總會有一根列線為低電平,與非門

38、輸出低電平變高電平,即發(fā)出中斷請求 ,若cpu開放外部中斷,則響應(yīng)中斷請求,進(jìn)入中斷服務(wù)程序。在中斷服務(wù)程序中除完成鍵識別,鍵功能處理外,還須有消除鍵抖動影響,重鍵處理等措施。2)行反轉(zhuǎn)法行掃描法要逐行掃描查詢,當(dāng)所按下的鍵在最后行,則要經(jīng)過多次掃描才能獲得鍵號。而采用行反轉(zhuǎn)法時,只要經(jīng)過 兩個步驟即可獲得按下鍵的位置。第三章 實(shí)現(xiàn)電子鐘系統(tǒng)3.1 使用protel繪制原理圖1) protel99se介紹protel99se是protel最新完成的視窗環(huán)境之印刷電路板設(shè)計(jì)系統(tǒng)。它憑借著protel99原有先進(jìn)的設(shè)計(jì)平臺,帶來了更多既強(qiáng)大又有效的新增功能。protel 99 se是澳大利亞pro

39、tel technology公司研制開發(fā)的基于windows9x2000nt操作系統(tǒng)下的電路設(shè)計(jì)軟件。它是目前國內(nèi)最流行的電子設(shè)計(jì)自動化(electronic design automatic,eda)軟件,該軟件采用設(shè)計(jì)庫管理模式,可以進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及3d模擬功能,是一個32位的設(shè)計(jì)軟件,可以完成電路原理圖繪制、印制電路板設(shè)計(jì)、電路仿真及可編程邏輯器件設(shè)計(jì)等3.2 硬件連接8255的a端口地址為:b端口地址為:c端口地址為:控制口地址為:8253的控制口地址:8259的控制口地址:線路連接如下:1)8255的d7-d0連系統(tǒng)的d7-d08255的pa7-pa0連

40、led的dp-a8255的pb7-pb0連led的y7-y08225的iow,ior,reset連系統(tǒng)相應(yīng)口8255的a1,a0連系統(tǒng)相應(yī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接

41、8253的o28253的c2接系統(tǒng)的q2 串行口選擇為:com13.3 軟件編程主程序流程中斷處理程序流程 初始化8259,8253,8255各芯片。 檢查是否有a鍵按下,如果有,初始化緩沖區(qū),在led上顯示0000-00。在鍵盤上輸入要設(shè)置的時間值。否則檢查是否有e鍵按下,如果有,初始化緩沖區(qū),輸入要設(shè)置的鬧鐘時間,然后按b鍵,恢復(fù)計(jì)時。如果沒有e鍵按下,檢查是否有b鍵按下,如果有,開中斷,計(jì)時開始,實(shí)時顯示時鐘值。如果沒有,檢查是否有c鍵按下,如果有,關(guān)中斷,顯示全零,如果沒有,檢查是否有d鍵按下,如果有,關(guān)中斷,顯示器熄滅。中斷程序,實(shí)現(xiàn)時鐘的加法。時分秒都用高低兩位來表示,秒值的低位是9時,再加1后,低位寫0。秒值的高位是5,再加一后,高位寫0。分值的低位是9時,再加1后

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論