利用8255A芯片實(shí)現(xiàn)流水燈閃爍設(shè)計(jì)_第1頁(yè)
利用8255A芯片實(shí)現(xiàn)流水燈閃爍設(shè)計(jì)_第2頁(yè)
利用8255A芯片實(shí)現(xiàn)流水燈閃爍設(shè)計(jì)_第3頁(yè)
利用8255A芯片實(shí)現(xiàn)流水燈閃爍設(shè)計(jì)_第4頁(yè)
利用8255A芯片實(shí)現(xiàn)流水燈閃爍設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-. z.目錄摘要2第1章 利用8255A芯片實(shí)現(xiàn)流水燈閃爍設(shè)計(jì)的概述2第2章 三種方案的論述與最終方案確實(shí)定22.1 第一種方案的論述22.2 第二種方案的論述52.3 第三種方案(最終方案)的論證10第3章 測(cè)試結(jié)果及體會(huì)心得13第4章 致14第5章 參考文獻(xiàn)14附錄1 方案一 Proteus仿真電路效果圖15附錄2 方案一 源程序代碼16附錄3 方案二 Proteus仿真電路效果圖18附錄4 方案二 源程序代碼19附錄5 方案三最終方案 Proteus仿真電路效果圖20附錄6 方案三最終方案 源程序代碼21摘要:8255A是一種通用的可編程并行I/O接口芯片(Programmable P

2、eripherial Interface),它是為Inter系列微處理器設(shè)計(jì)的配套電路,也可用于其它微處理器系統(tǒng)中。通過(guò)對(duì)它進(jìn)展編程,芯片可工作于不同的工作方式。此次課程設(shè)計(jì)的目的就是利用端口和8255協(xié)同工作來(lái)實(shí)現(xiàn)LED顯示功能,對(duì)8255A芯片進(jìn)展編程使流水燈左移或右移,通過(guò)延時(shí)程序使流水燈進(jìn)展順序點(diǎn)亮。通過(guò)這次課程設(shè)計(jì)掌握8255A關(guān)鍵詞:8086芯片AT89C51單片機(jī)8255A芯片LED流水燈第1章 利用8255A芯片實(shí)現(xiàn)流水燈閃爍設(shè)計(jì)的概述流水燈在日常的生活中有著廣泛的應(yīng)用,例如,許多樓面上的彩燈廣告就是應(yīng)用了流水燈設(shè)計(jì)。此次的課程設(shè)計(jì)的題目是利用了端口和8255A協(xié)同工作來(lái)實(shí)現(xiàn)L

3、ED顯示功能,編寫程序,使用8255的A口和B口均為輸出,接8個(gè)或16個(gè)發(fā)光二極管,實(shí)現(xiàn)流水燈的顯示效果。在實(shí)驗(yàn)中8255A的A和B兩個(gè)端口不能同時(shí)賦值,從而我們可以用通用存放器B*對(duì)所需要賦值的數(shù)據(jù)進(jìn)展存儲(chǔ),因?yàn)锽*可以分從高8位存放器BH和低8位存放器BL兩局部進(jìn)展獨(dú)立的操作,我們用存放器BH對(duì)A口進(jìn)展賦值,用存放器BL對(duì)B口進(jìn)展賦值,通過(guò)延時(shí)一段時(shí)間再對(duì)BH和BL進(jìn)展移位和輸出,實(shí)現(xiàn)了流水燈的效果。第2章 三種方案的論述與最終方案確實(shí)定2.1第一種方案的論述第一種方案,我們使用了8086CPU芯片與8255A芯片一起實(shí)現(xiàn)了流水燈閃爍的設(shè)計(jì),同時(shí)還使用了地址鎖存器74LS373芯片。74l

4、s373是常用的地址鎖存器芯片,它是一個(gè)是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲(chǔ)器,通常需要一塊74ls373芯片。在方案一中,當(dāng)8086CPU的引腳ALE地址鎖存允許信號(hào),輸出,高電平有效,用作地址鎖存器74LS373的鎖存控制信號(hào)處于下降沿時(shí)將8086CPU輸出的地址信息進(jìn)展鎖存,以定義8255A的工作方式。下面先對(duì)74LS373芯片進(jìn)展簡(jiǎn)介:1.地址鎖存器74LS373的部電路與工作原理引腳功能圖注:管腳引出端功能符號(hào):D0D7 數(shù)據(jù)輸入端 OE 三態(tài)允許控制端低電平有效Q0Q7 輸出端 LE 鎖存允許端74373 三態(tài)緩沖輸出的8D鎖存器3S,鎖存允許輸入有回環(huán)特性

5、,其輸出端 Q0Q7 可直接與總線相連,74LS373的LE端直接與8086CPU的ALE信號(hào)連接。1腳是三態(tài)允許控制端(OE),是低電平有效。當(dāng)1腳是高電平時(shí),不管輸入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腳是低電平時(shí),只要11腳(LE 鎖存允許端)上出現(xiàn)一個(gè)下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5

6、)、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由高變低時(shí),輸出端8 位信息被鎖存,直到LE 端再次有效。 當(dāng)三態(tài)允許控制端OE為低電平時(shí),三態(tài)門導(dǎo)通,允許Q0Q7輸出,OE為高電平時(shí),輸出懸空。當(dāng)74LS373用作地址鎖存器時(shí),應(yīng)使OE為低電平,此時(shí)鎖存使能端C為高電平時(shí),輸出Q0Q7 狀態(tài)與輸入端D1D7狀態(tài)一樣;當(dāng)LE發(fā)生負(fù)的跳變時(shí),輸入端D0D7 數(shù)據(jù)鎖入Q0Q7。2.方案一的工作流程簡(jiǎn)述電路圖硬件連接:硬件連線圖注:8086CPU芯片與74LS

7、373芯片在方案一中視為PC總線接口模塊8255A的引腳WR寫選通信號(hào)、RD讀選通信號(hào)分別連到PC總線接口模塊的WR端口、RD端口。8255A的數(shù)據(jù)端AD0AD7、地址線A0A1分別連到PC總線接口模塊的數(shù)據(jù)線D0D7、地址線A1A2。8255模塊選通線CS連到PC總線接口模塊的IOY1CS 片選信號(hào),低電平有效,由地址總線經(jīng)I/O端口譯碼電路產(chǎn)生。8255的PA0PA7連到發(fā)光二極管的L1L8;8255的PB0PB7連到發(fā)光二極管的L9L16。程序流程簡(jiǎn)述:8255A的片選信號(hào)CS與地相連,處于低電平有效狀態(tài),8086CPU與8255A之間始終保持通信,8086CPU對(duì)8255A進(jìn)展讀/寫等

8、操作。當(dāng)8086CPU的地址鎖存信號(hào)ALE處于高電平有效時(shí),在T1狀態(tài),8086CPU通過(guò)地址/數(shù)據(jù)總線上傳送地址信息,在ALE的下降沿將地址信息鎖存到地址鎖存器74LS373中,定義了8255A的工作方式,使其A口和B口為輸出口,定義了8255A各端口地址。8086CPU先后寫A、B口的起始數(shù)據(jù),并調(diào)用延時(shí)子程序點(diǎn)亮A口燈、B口燈。然后分別調(diào)用左移、右移指令將A口起始數(shù)據(jù)左移再寫入A口、B口起始數(shù)據(jù)右移再寫入B口,點(diǎn)亮下一站盞燈,以此循環(huán)實(shí)現(xiàn)流水燈效果。程序框圖結(jié)論:第一種方案雖然實(shí)現(xiàn)了流水燈閃爍效果,但由于8086CPU芯片所需的程序無(wú)法通過(guò)KC51實(shí)現(xiàn)編程,不能到達(dá)本次課程設(shè)計(jì)的培訓(xùn)目的

9、,即對(duì)單片機(jī)的程序編程進(jìn)展訓(xùn)練掌握,要求較高,方案實(shí)現(xiàn)的難度較大,所以我們沒有把方案一作為最終方案。2.2第二種方案的論述第二種方案,我們使用了AT89C51單片機(jī)實(shí)現(xiàn)了流水燈閃爍設(shè)計(jì)。AT89C51單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),具有豐富的部資源:4kB閃存、128BRAM、32根I/O口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)向量?jī)杉?jí)中斷構(gòu)造、2個(gè)全雙工的串行口,具有4.255.50V的電壓工作圍和024MHz工作頻率,使用AT89C51單片機(jī)時(shí)無(wú)須外擴(kuò)存儲(chǔ)器。因此,方案二中設(shè)計(jì)的流水燈實(shí)際上是一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、

10、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。下面先對(duì)AT89C51單片機(jī)進(jìn)展簡(jiǎn)介:1. AT89C51單片機(jī)的簡(jiǎn)介AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片含4Kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器PEROM和128bytes的隨機(jī)存取存儲(chǔ)器RAM,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS51指令系統(tǒng),片置通用8位中央處理器CPU和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可以提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89C51管腳分布注:管腳引出端功能符號(hào):VCC:供電電壓。GND:接地。 P0口:P0口

11、為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)展校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸

12、出4個(gè)TTL門電流,當(dāng)P2口被寫1”時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)展存取時(shí),P2口輸出地址的高八位。在給出地址1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)展讀寫時(shí),P2口輸出其特殊功能存放器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是

13、由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。P3口管腳備選功能: P3.0 R*D串行輸入口P3.1 T*D串行輸出口P3.2 /INT0外部中斷0P3.3 /INT1外部中斷1P3.4 T0記時(shí)器0外部輸入P3.5 T1記時(shí)器1外部輸入P3.6 /WR外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7 /RD外部數(shù)據(jù)存儲(chǔ)器讀選通RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端

14、以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想制止ALE的輸出可SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOV*,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE制止,置位無(wú)效。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器0000HFFFFH,不管是否有部程

15、序存儲(chǔ)器。注意加密方式1時(shí),/EA將部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。*TAL1:反向振蕩放大器的輸入及部時(shí)鐘工作電路的輸入。*TAL2:來(lái)自反向振蕩器的輸出。AT89C51提供標(biāo)準(zhǔn)功能有:4K字節(jié)Falsh閃存存儲(chǔ)器,128字節(jié)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)、計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷構(gòu)造,一個(gè)全雙工串行通信口,片振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電模式??臻e方式停頓CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉

16、電方式保存RAM中的容,但振蕩器停頓工作并制止其他所有部件工作直到下一個(gè)硬件復(fù)位。2.方案二的工作流程簡(jiǎn)述單片機(jī)的應(yīng)用系統(tǒng)由硬件和軟件組成,當(dāng)我們完成了上述硬件原理圖搭建之后,我們還不能看到流水燈循環(huán)點(diǎn)亮的現(xiàn)象,我們還需要告訴單片機(jī)怎么來(lái)進(jìn)展工作,即編寫程序控制單片機(jī)管腳電平的上下變化,來(lái)實(shí)現(xiàn)發(fā)光二極管的一亮一滅。軟件編程是單片機(jī)應(yīng)用系統(tǒng)中的一個(gè)重要的組成局部,也是我們這次課程設(shè)計(jì)學(xué)習(xí)的重點(diǎn)和難點(diǎn)。從電路原理圖中可以看出,如果要讓接在P1.0口的LED1亮起來(lái),則只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖剑煌?,接在P1

17、.1P1.7口的其他7個(gè)LED的點(diǎn)亮和熄滅的方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1LED8依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的做流水燈了。在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則我們就看不到流水效果了。在電路原理圖中,我們還應(yīng)注意的便是和AT89C51單片機(jī)接在一起的晶振電路,在電路圖中為AT89C51單片機(jī)提供了頻率參考作用。晶振是晶體振蕩器的簡(jiǎn)稱,在電氣上它可以等效成一個(gè)電容和一個(gè)電阻并聯(lián)再串聯(lián)一個(gè)電容的二端網(wǎng)絡(luò)。AT89C51單片機(jī)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放

18、大器。引腳*TAL1和*TAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反響元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反響回路中。晶振有一個(gè)重要的參數(shù),那就是負(fù)載電容值,選擇與負(fù)載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率。硬件原理圖結(jié)論:第二種方案也實(shí)現(xiàn)了流水燈閃爍效果,相對(duì)于第一種方案而言,更簡(jiǎn)單些,這也正是單片機(jī)能廣泛應(yīng)用于各種電路的原因。但由于該方案中,沒有應(yīng)用到8255A芯片實(shí)現(xiàn)接口擴(kuò)展,而我們這次的課程設(shè)計(jì)中一個(gè)主要設(shè)計(jì)目的與要求便是:通過(guò)利用端口和8255協(xié)同工作來(lái)實(shí)現(xiàn)LED顯示功能,對(duì)8255A芯片

19、進(jìn)展編程使流水燈左移或右移,實(shí)現(xiàn)流水燈閃爍效果。以此來(lái)掌握8255A的功能特點(diǎn)、工作原理以及顯示器接口的根本原理與方法技術(shù)。2.3 第三種方案最終方案的論證第三種方案,我們使用了AT89C51單片機(jī)與8255A芯片一起實(shí)現(xiàn)了流水燈閃爍的設(shè)計(jì)。從前兩種方案中,我們分別熟悉與掌握了地址鎖存器74LS373芯片和AT89C51單片機(jī)。我們了解到74ls373是常用的地址鎖存器芯片,它是一個(gè)是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲(chǔ)器,通常需要一塊74ls373芯片。而AT89C51單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),具有豐富的部資源:4kB閃存、12

20、8BRAM、32根I/O口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)向量?jī)杉?jí)中斷構(gòu)造、2個(gè)全雙工的串行口,具有4.255.50V的電壓工作圍和024MHz工作頻率,使用AT89C51單片機(jī)時(shí)無(wú)須外擴(kuò)存儲(chǔ)器。在第三個(gè)方案中,我們將詳細(xì)地介紹8255A的部電路、功能特點(diǎn)、工作原理以及在電路中的功能擴(kuò)展與應(yīng)用,這也是我們這次課程設(shè)計(jì)中一個(gè)需要重點(diǎn)掌握的芯片。1.可編程外圍接口芯片8255A的簡(jiǎn)介8255A是Intel公司生產(chǎn)的一種通用的可編程并行I/O接口芯片,它是為Inter系列微處理器設(shè)計(jì)的配套電路,也可用于其它微處理器系統(tǒng)中。通過(guò)對(duì)它進(jìn)展編程,芯片可工作于不同的工作方式。8255A有3個(gè)8位并行I/O口

21、,具有3個(gè)通道3種工作方式,其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口;同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,8255的外部引腳和部構(gòu)造注:管腳引出端功能符號(hào):RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時(shí),所有部存放器包括控制存放器均被去除,所有I/O口均被置成輸入方式。 CS:芯片選擇信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/CS=0時(shí),表示芯片被選中,允許8255與CPU進(jìn)展通訊;/CS=1時(shí),8255無(wú)法與CPU做數(shù)據(jù)傳輸. RD:讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即

22、/RD=0且/CS=0時(shí),允許8255通過(guò)數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號(hào),當(dāng)這個(gè)輸入引腳為低電平時(shí),即/WR=0且/CS=0時(shí),允許CPU將數(shù)據(jù)或控制字寫入8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時(shí),通過(guò)它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過(guò)數(shù)據(jù)總線傳送。 PA0PA7:端口A輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入鎖存器。 PB0PB7:端口B輸入輸出線,一個(gè)8位的I/O鎖存器, 一個(gè)8位的輸入輸出緩沖器。 PC0PC7:端口C輸入輸出線,一

23、個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入緩沖器。端口C可以通過(guò)工作方式設(shè)定而分成2個(gè)4位的端口, 每個(gè)4位的端口包含一個(gè)4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號(hào)輸出或狀態(tài)信號(hào)輸入端口。 A0,A1:地址選擇線,用來(lái)選擇8255的PA口,PB口,PC口和控制存放器. 當(dāng)A0=0,A1=0時(shí),PA口被選擇; 當(dāng)A0=0,A1=1時(shí),PB口被選擇; 當(dāng)A0=1,A1=0時(shí),PC口被選擇; 當(dāng)A0=1.A1=1時(shí),控制存放器被選擇.8255A的工作方式:方式0:根本輸入輸出方式 適用于無(wú)條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式 適用于查詢和中斷方式的接口電路方

24、式2:雙向選通傳送方式 適用于與雙向傳送數(shù)據(jù)的外設(shè)和查詢和中斷方式的接口電路工作方式控制字C口按位置位/復(fù)位控制字8255A初始化編程:8255A的A,B,C三個(gè)端口的工作方式是在初始化編程時(shí),通過(guò)向8255A的控制端口寫入控制字來(lái)設(shè)定的。8255A由編程寫入的控制字有兩個(gè):方式控制字和置位/復(fù)位控制字。方式控制字用于設(shè)置端口A, B, C的工作方式和數(shù)據(jù)傳送方向;置位/復(fù)位控制字用于設(shè)置C口的PC7PC0中*一條口線PCii07的電平。兩個(gè)控制字公用一個(gè)端口地址,由控制字的最高位作為區(qū)分這兩個(gè)控制字的標(biāo)志位。2.方案三的工作流程簡(jiǎn)述方案三中AT89C51單片機(jī)的工作流程與方案一中的8086C

25、PU的工作流程大致一樣,但是相對(duì)于第一個(gè)方案而言,省略了地址鎖存器74LS373芯片,直接通過(guò)P2.0、P2.1與8255A的A0、A1端相連,傳送地址信號(hào),定義8255A的工作方式,使其A口和B口為輸出口,定義了8255A各端口地址。 8255A的片選信號(hào)CS與地相連,處于低電平有效狀態(tài),AT89C51與8255A之間始終保持通信,AT89C51對(duì)8255A進(jìn)展讀/寫等操作。AT89C51單片機(jī)先后寫A、B口的起始數(shù)據(jù),并調(diào)用延時(shí)子程序點(diǎn)亮A口燈、B口燈。然后分別調(diào)用左移、右移指令將A口起始數(shù)據(jù)左移再寫入A口、B口起始數(shù)據(jù)右移再寫入B口,點(diǎn)亮下一站盞燈,以此循環(huán)實(shí)現(xiàn)流水燈效果。與第二個(gè)方案相

26、比較,結(jié)合了第二個(gè)方案的優(yōu)點(diǎn)。在電路圖中和AT89C51單片機(jī)接在一起的晶振電路,AT89C51單片機(jī)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳*TAL1和*TAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反響元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反響回路中,在電路圖中晶振電路為AT89C51單片機(jī)提供了頻率參考作用。開場(chǎng)開場(chǎng)設(shè)置8255A工作方式寫入PA、PB口,并分別對(duì)其數(shù)值位移延時(shí)寫入PA、PB口,并分別對(duì)其數(shù)值位移延時(shí)全部閃爍一次程序流程圖第3章 測(cè)試結(jié)果及體會(huì)心得我們把方案三確定為最終方案后,便開場(chǎng)在Pr

27、oteus軟件上繪制出了仿真效果圖,并通過(guò)Keil軟件編寫出了相應(yīng)的源程序匯編文件,導(dǎo)入到了仿真圖中的AT89C51單片機(jī)上,并最終仿真成功,實(shí)現(xiàn)了流水燈閃爍的效果。但整個(gè)實(shí)驗(yàn)過(guò)程并不是一帆風(fēng)順的,更不是一蹴而就的。我們通過(guò)網(wǎng)上查找相關(guān)資料,在圖書館里查詢與流水燈相關(guān)的書籍,搜集整理出了前面三種方案,并通過(guò)實(shí)際的仿真與比較,最終確定了方案三作為我們的最終方案。三個(gè)方案在仿真的過(guò)程中都出現(xiàn)了問題,不是源程序有誤就是網(wǎng)上搜集到的相關(guān)資料是錯(cuò)誤的,把我們帶進(jìn)了誤區(qū),但我們最終通過(guò)自己討論研究和請(qǐng)教教師,解決了這些問題。把三個(gè)方案都通過(guò)Proteus軟件仿真出來(lái)了。在這次課程設(shè)計(jì)中,我們分別熟悉掌握了

28、地址鎖存器74LS373芯片、AT89C51單片機(jī)、可編程外圍接口芯片8255A的部電路、功能特點(diǎn)、工作原理以及在電路中的功能擴(kuò)展與應(yīng)用等,使我們對(duì)這些芯片的認(rèn)識(shí)更加深刻,并通過(guò)仿真電路圖等實(shí)踐操作更進(jìn)一步掌握了這些芯片的實(shí)際應(yīng)用效果與它們的優(yōu)缺點(diǎn)、在提高我們理論知識(shí)水平與圍的同時(shí),也提高了我們實(shí)踐能力。理論與實(shí)踐相結(jié)合永遠(yuǎn)使我們學(xué)習(xí)上一條不可繞過(guò)的道路,用理論指導(dǎo)實(shí)踐,通過(guò)實(shí)踐提高對(duì)理論知識(shí)的認(rèn)知水平,這就是我們這次課程設(shè)計(jì)的一個(gè)較為深刻的體會(huì)。第4章 致在此,我們重感系里給我們提供的這次珍貴的鍛煉時(shí)機(jī)以及斌教師的熱情指導(dǎo)與幫助。在我們遇到困難而無(wú)法解決的時(shí)候,斌教師給我們提供了很多有用的方

29、案建議,并為我們提供了對(duì)我們極為有用的資料;當(dāng)我們有些問題不懂疑惑時(shí),斌教師也耐心給了我們做了清楚的解釋,在此我們表示真摯的感。通過(guò)課程設(shè)計(jì),我們學(xué)到了很多東西。我們隊(duì)友之間的精細(xì)合作與默契對(duì)我們也是一個(gè)重要幫助,沒有我們的合作,不可能會(huì)有所成功。感所有幫過(guò)我們的教師和同學(xué)們,他們都很熱情幫助我們,為我們提供了他們力所能及的幫助,在此我們對(duì)他們表示真摯的感。第5章 參考文獻(xiàn)1 俊逸,盛秋林,錚等單片機(jī)原理及應(yīng)用M。:清華大學(xué),2001。2 蔡美琴,MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用M。:高等教育,2000。3 育才,華芳,王榮興單片機(jī)原理及應(yīng)用M。:電子工業(yè),2003。4 鴻,單片機(jī)原理及應(yīng)用

30、M。:大學(xué),2004。5 丁元杰,單片微機(jī)原理及應(yīng)用第二版M。:機(jī)械工業(yè),2001。6 新民,王燕芳 編著.微型計(jì)算機(jī)控制技術(shù)。:高等教育,2004。7 馬忠梅單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)M。:北航,2003。8 立南 單片微機(jī)接口與控制技術(shù)M。:大學(xué),1996。9 友德 單片微型機(jī)原理、應(yīng)用與實(shí)踐M。:復(fù)旦大學(xué),1992。10 華MCS-51系列單片機(jī)實(shí)用接口技術(shù)M。:航空航天大學(xué),1993。11 何希慶,高偉MCS-51單片機(jī)原理、實(shí)驗(yàn)、實(shí)例M.。:大學(xué),1989。12 毅剛,喜元,守達(dá)新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M。:工業(yè)大學(xué),2003。附錄1方案一Proteus仿真電路效果圖附錄2方案

31、一源程序代碼MY8255_A EQU IOY0+00H*2 ;8255的A口地址MY8255_B EQU IOY0+01H*2 ;8255的B口地址MY8255_C EQU IOY0+02H*2 ;8255的C口地址MY8255_MODEEQU IOY0+03H*2 ;8255的控制存放器地址DATASEGMENTLADB 1 DUPLB DB 1 DUPA* DW 1 BUPC* DW 1 BUPDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV A*,DATAMOV DS,A*MOV D*,MY8255_MODE ;定義8255工作方式

32、MOV AL,80H ;工作方式0,A口和B口為輸出OUT D*,ALBEGIN:MOV D*,MY8255_A ;寫A口發(fā)出的起始數(shù)據(jù)MOV AL,01HOUT D*,ALMOV LA,ALMOV D*,MY8255_B ;寫B(tài)口發(fā)出的起始數(shù)據(jù)MOV AL,80HOUT D*,ALMOV LB,ALMOV C*,7LOOP1:CALL DALLYMOV AL,LA ;將A口起始數(shù)據(jù)左移再寫入A口ROL AL,1MOV LA,ALMOV D*,MY8255_AOUT D*,ALMOV AL,LB ;將B口起始數(shù)據(jù)右移再寫入B口ROR AL,1MOV LB,ALMOV D*,MY8255_BOU

33、T D*,ALLOOP LOOP1MOV C*,7LOOP2: CALL DALLYMOV AL,LA ;將A口起始數(shù)據(jù)右移再寫入A口ROR AL,1MOV LA,ALMOV D*,MY8255_AOUT D*,ALMOV AL,LB ;將B口起始數(shù)據(jù)左移再寫入B口ROL AL,1MOV LB,ALMOV D*,MY8255_BOUT D*,ALLOOP LOOP2JMP BEGIN ;流水燈重新開場(chǎng)DALLY PROC ;軟件延時(shí)子程序MOV C*,C*MOV A*,A* ;這里本應(yīng)該用堆棧,我用C*,A*變量代替了MOV C*,0FHD1:MOV A*,0FFFHD2:DEC A*JNZ

34、D2LOOP D1MOV A*,A*MOV C*,C*RETDALLY ENDPCODE ENDSEND START附錄3 方案二 Proteus仿真電路效果圖附錄4 方案二 源程序代碼ORG 0000H ;單片機(jī)上電后從0000H地址執(zhí)行AJMP START ;跳轉(zhuǎn)到主程序存放地址處ORG 0030H ;設(shè)置主程序開場(chǎng)地址START:MOV SP,#60H ;設(shè)置堆棧起始地址為60HCLR P1.0 ;P1.0輸出低電平,使LED1點(diǎn)亮ACALLDELAY ;調(diào)用延時(shí)子程序SETBP1.0 ;P1.0輸出高電平,使LED1熄滅CLR P1.1 ;P1.1輸出低電平,使LED2點(diǎn)亮ACALLDELAY ;調(diào)用延時(shí)子程序SETBP1.1 ;P1.1輸出高電平,使LED2熄滅CLR P1.2 ;P1.2輸出低電平,使LED3點(diǎn)亮ACALLDELAY ;調(diào)用延時(shí)子程序SETBP1.2 ;P1.2輸出高電平,使LED3熄滅CLR P1.3 ;P1.3輸出低電平,使LED4點(diǎn)亮ACALLDELAY ;調(diào)用延時(shí)子程序SETBP1.3 ;P1.3輸出高電平,使LED4熄滅CLR P1.4 ;P1.4輸出低電平,使LED5點(diǎn)亮ACALLDELAY

溫馨提示

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

評(píng)論

0/150

提交評(píng)論