流水燈控制系統(tǒng)設(shè)計_第1頁
流水燈控制系統(tǒng)設(shè)計_第2頁
流水燈控制系統(tǒng)設(shè)計_第3頁
流水燈控制系統(tǒng)設(shè)計_第4頁
流水燈控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目 錄第1章方案的論述以及與最終方案確實定-1-1.1第一種方案的論述-1-1.2第二種方案的論證-1-1.3第三種方案的論述-1-1.4最終方案確實定-1-第2章硬件設(shè)計-2-2.1總體方案設(shè)計分析-2-2.2系統(tǒng)邏輯框圖-2-2.3主要元器件簡介-2-2.3.18086CPU-2-地址鎖存器74LS373的內(nèi)部電路與工作原理-4-可編程外圍接口芯片8255A的簡介-5-第3章軟件設(shè)計-9-3.1程序流程設(shè)計-9-主程序流程-9-程序流程圖-10-系統(tǒng)硬件連接圖-11-源程序設(shè)計(附錄)-11-3.2設(shè)計最終理想結(jié)果及原理-11-左向移動流水燈-11-右向移動流水燈-11-設(shè)計心得-12-參考文獻(xiàn)-13-附錄-14-方案的論述以及與最終方案確實定第一種方案的論述第一種方案,使用AT89C51單片機實現(xiàn)流水燈閃爍設(shè)計。AT89C51單片機是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機,具有豐富的內(nèi)部資源:4kB閃存、128BRAM、32根I/O口線、2個16位定時/計數(shù)器、5個向量兩級中斷結(jié)構(gòu)、2個全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機時無須外擴存儲器。因此,方案一中設(shè)計的流水燈實際上是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要軟件組成的單個單片機。第二種方案的論證第二種方案,我們使用了AT89C51單片機與8255A芯片一起實現(xiàn)了流水燈閃爍的設(shè)計。74LS373是常用的地址鎖存器芯片,它是一個是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機系統(tǒng)中為了擴展外部存儲器,通常需要一塊74ls373芯片。我們了解到74ls373是常用的地址鎖存器芯片,它是一個是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機系統(tǒng)中為了擴展外部存儲器,通常需要一塊74ls373芯片。第三種方案的論述第三種方案,使用8086CPU芯片并行8255A芯片一起實現(xiàn)了流水燈閃爍的設(shè)計,同時還使用了地址鎖存器74LS373芯片。從前兩種方案中,我們分別熟悉與掌握了地址鎖存器74LS373芯片和8086CPU。在方案中,當(dāng)8086CPU的引腳ALE處于下降沿時將8086CPU輸出的地址信息進(jìn)行鎖存,以定義8255A的工作方式。在方案中,我們將詳細(xì)地介紹8255A的內(nèi)部電路、功能特點、工作原理以及在電路中的功能擴展與應(yīng)用,這也是我們這次課程設(shè)計中一個需要重點掌握的芯片。最終方案確實定通過課程設(shè)計的要求和以上的論證,我們決定采用第三種方案,即以8086CPU為核心、并行接口芯片8255A和3個邏輯電平開關(guān)設(shè)計多路流水燈控制程序。硬件設(shè)計總體方案設(shè)計分析在本實驗中要求用8255A的B口做為輸出,接8個發(fā)光二極管,從而實現(xiàn)8位流水燈的顯示效果,根本的接線可以如下列圖所示。在C口的低三位接3個邏輯電平開關(guān),實現(xiàn)3個擴展功能的控制,在PB0-PB7口分別對應(yīng)的接八個發(fā)光二極管。8個發(fā)光二極管豎向安放,自上到下對應(yīng)兩種模擬流水形式的自左到右。系統(tǒng)邏輯框圖8086CPU處理8086CPU處理LED顯示K0—K274LS373鎖存器輸出PB0-PB78255A輸入PC0-PC274LS138譯碼器圖2.1系統(tǒng)邏輯框圖主要元器件簡介8086CPUIntel8086是一個由Intel于1978年所設(shè)計的16位微處理器芯片,是x86架構(gòu)的鼻祖。不久,Intel8088就推出了,擁有一個外部的8位數(shù)據(jù)總線,允許廉價的芯片用途。它是以8080和8085的設(shè)計為根底,擁有類似的存放器組,但是數(shù)據(jù)總線擴充為16位。總線界面單元(BusInterfaceUnit)透過6字節(jié)預(yù)存(prefecth)的隊列(queue)喂指令給執(zhí)行單元(ExecutionUnit),所以取指令和執(zhí)行是同步的,8086CPU有20條地址線,可直接尋址1MB的存儲空間,每一個存儲單元可以存放一個字節(jié)〔8位〕二進(jìn)制信息。圖2.28086CPU外部引腳圖2.38086CPU內(nèi)部結(jié)構(gòu)框圖Intel8086擁有四個16位的通用存放器,也能夠當(dāng)作八個8位存放器來存取,以及四個16位索引存放器〔包含了堆棧指標(biāo)〕。資料存放器通常由指令隱含地使用,針對暫存值需要復(fù)雜的存放器配置。它提供64K8位元的輸出輸入〔或32K16位元〕,以及固定的向量中斷。大局部的指令只能夠存取一個內(nèi)存位址,所以其中一個操作數(shù)必須是一個存放器。運算結(jié)果會儲存在操作數(shù)中的一個存放器。Intel8086有四個內(nèi)存區(qū)段〔segment)存放器,可以從索引存放器來設(shè)定。區(qū)段存放器可以讓CPU利用特殊的方式存取1MB內(nèi)存。8086把段地址左移4位然后把它加上偏移地址。大局部的人都認(rèn)為這是一個很不好的設(shè)計,因為這樣的結(jié)果是會讓各分段有重疊。盡管這樣對組合語言而言大局部被接受〔也甚至有用〕,可以完全地控制分段,,使在編程中使用指針〔如C編程語言〕變得困難。它導(dǎo)致指針的高效率表示變得困難,且有可能產(chǎn)生兩個指向同一個地方的指針擁有不同的地址。更壞的是,這種方式產(chǎn)生要讓內(nèi)存擴充到大于1MB難。而8086的尋址方式改變讓內(nèi)存擴充較有效率。地址鎖存器74LS373的內(nèi)部電路與工作原理圖2.4引腳功能圖注:管腳引出端功能符號:D0~D7數(shù)據(jù)輸入端OE三態(tài)允許控制端〔低電平有效〕Q0~Q7輸出端LE鎖存允許端74373三態(tài)緩沖輸出的8D鎖存器〔3S,鎖存允許輸入有回環(huán)特性〕,其輸出端Q0~Q7可直接與總線相連,74LS373的LE端直接與8086CPU的ALE信號連接。1腳是三態(tài)允許控制端(OE),是低電平有效。當(dāng)1腳是高電平時,不管輸入3(D0)、4(D1)、7(D2)、8(D3)、13(D4)、14(D5)、17(D6)、18(D7)如何,也不管11腳(LE鎖存允許端)如何,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈現(xiàn)高阻狀態(tài)(或者叫浮空狀態(tài))。當(dāng)1腳是低電平時,只要11腳(LE鎖存允許端)上出現(xiàn)一個下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈現(xiàn)輸入腳3(D0)、4(D1)、7(D2)、8(D3)、13(D4)、14(D5)、17(D6)、18(D7)的狀態(tài)。11腳是鎖存允許端(LE),當(dāng)LE由高變低時,輸出端8位信息被鎖存,直到LE端再次有效。當(dāng)三態(tài)允許控制端OE為低電平時,三態(tài)門導(dǎo)通,允許Q0~Q7輸出,OE為高電平時,輸出懸空。當(dāng)74LS373用作地址鎖存器時,應(yīng)使OE為低電平,此時鎖存使能端C為高電平時,輸出Q0~Q7狀態(tài)與輸入端D1~D7狀態(tài)相同;當(dāng)LE發(fā)生負(fù)的跳變時,輸入端D0~D7數(shù)據(jù)鎖入Q0~Q7。圖2.58086CPU與74LS373、74LS138的連接及外部接線圖可編程外圍接口芯片8255A的簡介8255A是Intel公司生產(chǎn)的一種通用的可編程并行I/O接口芯片,它是為Inter系列微處理器設(shè)計的配套電路,也可用于其它微處理器系統(tǒng)中。通過對它進(jìn)行編程,芯片可工作于不同的工作方式。8255A有3個8位并行I/O口,具有3個通道3種工作方式,其各口功能可由軟件選擇,使用靈活,通用性強。8255作為主機與外設(shè)的連接芯片,必須提供與主機相連的3個總線接口,即數(shù)據(jù)線、地址線、控制線接口;同時必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制局部,因而8255內(nèi)部結(jié)構(gòu)分為3個局部:與圖2.68255A的外部引腳圖2.78255A的內(nèi)部結(jié)構(gòu)注:管腳引出端功能符號:◆RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時,所有內(nèi)部存放器〔包括控制存放器〕均被去除,所有I/O口均被置成輸入方式。◆CS:芯片選擇信號線,當(dāng)這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進(jìn)行通訊;/CS=1時,8255無法與CPU做數(shù)據(jù)傳輸.◆RD:讀信號線,當(dāng)這個輸入引腳為低電平時,即/RD=0且/CS=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。◆WR:寫入信號,當(dāng)這個輸入引腳為低電平時,即/WR=0且/CS=0時,允許CPU將數(shù)據(jù)或控制字寫入8255?!鬌0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。◆PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入鎖存器?!鬚B0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器,一個8位的輸入輸出緩沖器。◆PC0~PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口,每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。'◆A0,A1:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制存放器.當(dāng)A0=0,A1=0時,PA口被選擇;當(dāng)A0=0,A1=1時,PB口被選擇;當(dāng)A0=1,A1=0時,PC口被選擇;當(dāng)A0=1.A1=1時,控制存放器被選擇.8255A的工作方式:方式0:根本輸入輸出方式,適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式,適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式,適用于與雙向傳送數(shù)據(jù)的外設(shè)和查詢和中斷方式的接口電路圖2.8工作方式控制字圖2.9C口按位置位/復(fù)位控制字8255A初始化編程:8255A的A,B,C三個端口的工作方式是在初始化編程時,通過向8255A的控制端口寫入控制字來設(shè)定的。8255A由編程寫入的控制字有兩個:方式控制字和置位/復(fù)位控制字。方式控制字用于設(shè)置端口A,B,C的工作方式和數(shù)據(jù)傳送方向;置位/復(fù)位控制字用于設(shè)置C口的PC7~PC0中某一條口線PCi〔i=0~7〕的電平。兩個控制字公用一個端口地址,由控制字的最高位作為區(qū)分這兩個控制字的標(biāo)志位。圖2.108255A與LED及開關(guān)的連接及外部接線圖軟件設(shè)計程序流程設(shè)計主程序流程設(shè)置設(shè)置8255A的工作方式〔10000001H〕讀C口低三位左向流水燈輸出0FFH右向流水燈燈無有效按鍵時輸出YYNYK2是否被按下NNK1是否被按下開始結(jié)束圖3.1主程序流程圖程序流程圖左向移動流水燈CF置1,0FEHCF置1,0FEH→ALB口輸出AL帶進(jìn)位循環(huán)左移一位延時開始圖3.2左向移動流水燈子程序圖右向移動流水燈CF置1,07FHCF置1,07FH→ALB口輸出AL帶進(jìn)位循環(huán)右移一位延時開始圖3.3左向移動流水燈子程序圖系統(tǒng)硬件連接圖圖3.4系統(tǒng)硬件連接圖源程序設(shè)計(附錄)設(shè)計最終理想結(jié)果及原理左向移動流水燈(1)現(xiàn)象左向移動流水燈的實驗現(xiàn)象是首先最右邊的燈亮,然后是最右邊的燈滅,此時右起第二個燈亮,依次輪流亮,直到第八個燈亮。然后循環(huán)上述過程。(2)原理左向移動流水燈是根據(jù)發(fā)光二極管的顯示原理,首先點亮最右的二極管,然后進(jìn)位置一,通過帶進(jìn)位的循環(huán)左移指令編寫程序以實現(xiàn)模擬流水燈的左向移動。右向移動流水燈(1)現(xiàn)象右向移動流水燈的實驗現(xiàn)象是首先最左邊的燈亮,然后是最左邊的燈滅,此時左起第二個燈亮,依次輪流亮,直到第八個燈亮。然后循環(huán)上述過程。(2)原理右向移動流水燈是根據(jù)發(fā)光二極管的顯示原理,首先點亮最左的二極管,然后進(jìn)位置一,通過帶進(jìn)位的循環(huán)右移指令編寫程序以實現(xiàn)模擬流水燈的右向移動。設(shè)計心得在此,我們鄭重感謝系里給我們提供的這次珍貴的鍛煉時機以及吳學(xué)娟老師的熱情指導(dǎo)與幫助。在我們遇到困難而無法解決的時候,吳學(xué)娟老師給我們提供了很多有用的方案建議,并為我們提供了對我們極為有用的資料;當(dāng)我們有些問題不懂疑惑時,吳學(xué)娟老師也耐心給了我們做了清楚的解釋,在此我們表示真摯的感謝。這次微機原理課程設(shè)計我學(xué)到了很多在書本上所沒有學(xué)到過的知識。以前在上課的時候?qū)τ诰幊坦ぞ叩氖褂眠€處于一知半解的狀態(tài)上,但是經(jīng)過一段時間的實踐,對于怎么去排錯、查錯,怎么去看每一步的運行結(jié)果,怎么去了解每個存放器的內(nèi)容以及當(dāng)存放器不夠用時如何用存儲單元代替存放器、怎么去使用循環(huán)嵌套、怎么去正確使用8255芯片等方面都有了很大程度的提高。通過課程設(shè)計,我們學(xué)到了很多東西。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的缺乏之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,但總的來說還是圓滿的。感謝所有幫過我們的老師和同學(xué)們,他們都很熱情幫助我們,為我們提供了他們力所能及的幫助,在此我們對他們表示真摯的感謝。參考文獻(xiàn)[1]周荷琴,吳秀清編著.微機原理與接口技術(shù)合肥:中國科學(xué)技術(shù)大學(xué)出版社,2008.6[2]潘新民,王燕芳編著.微型計算機控制技術(shù)北京:高等教育出版社,2004。[3]周明德編著微型計算機系統(tǒng)原理及應(yīng)用北京:人民郵電出版社,2007.附錄:;端口地址PORT_A EQU0F0HPORT_B EQU0F2HPORT_C EQU0F4HPORT_CTL EQU0F6H;代碼段CODE SEGMENT ASSUME CS:CODESTART:MOVDX,PORT_CTL ;指向控制口MOVAL,10000001B ;控制字OUTDX,AL ;寫入控制字MO:MOVDX,PORT_C;檢測開關(guān)信號INAL,DXTESTAL,01H;檢測按鍵1是否被按下JZK1TESTAL,02H;檢測按鍵2是否被按下JZK2JMPTHEEND;無有效按鍵時輸出K1: CALLL1JMPMOK2: CALLL2JMPMOL1: ;模擬流水燈左移MOVDX,PORT_B ;設(shè)置B口輸出MOVAL,07FH L10: OUTDX,AL ;B口輸出ROLAL,1 ;AL帶進(jìn)位左移一位CALLDELAY ;調(diào)用延時子程序MOVDX,PORT_CINAL,DXTESTAL,01HJZL10RETL2: MOVDX,PORT_B ;模擬流水燈右移MOVAL,0FEH L20: OUTDX,AL ;B口輸出RORAL,1 ;AL帶進(jìn)位右+移一位CALLDELAY ;調(diào)用延時子程序MOVDX,PORT_CINAL,DXTESTAL,02HJZL20RETTHEEND: MOVAL,0FFHMOVDX,PORT_BOUTDXJMPMODELAY: MOVBX,200;用雙層循環(huán)嵌套實現(xiàn)延時功能DEL1:MOVCX,1000DEL2:LOOPDEL2DECBXJNZDEL1RETCODEENDSENDSTART◆RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時,所有內(nèi)部存放器〔包括控制存放器〕均被去除,所有I/O口均被置成輸入方式?!鬋S:芯片選擇信號線,當(dāng)這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進(jìn)行通訊;/CS=1時,8255無法與CPU做數(shù)據(jù)傳輸.◆RD:讀信號線,當(dāng)這個輸入引腳為低電平時,即/RD=0且/CS=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)

溫馨提示

  • 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

提交評論