版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、桂 林 電 子 科 技 大 學 設 計 報 告 用 紙 桂 林 電 子 科 技 大 學單片機最小應用系統(tǒng) 設 計 報 告 指導老師:吳 兆 華 學 生: 王 竣 民機電工程學院單片機最小應用系統(tǒng)設計報告目錄一、設計題目3二、設計內容與要求3三、設計目的意義3四、系統(tǒng)硬件電路圖3五、程序流程圖與源程序55.1流程圖55.2源程序55.2.1程序設計思想55.2.2源程序清單5六、系統(tǒng)功能分析與說明66.1系統(tǒng)主要組成部分66.1.1 單片機最小系統(tǒng)部分66.1.2 可編程的并行接口芯片8255A76.1.3 輸入輸出部分76.2 可編程的并行接口8255A接口電路部分86.2.1 8255A的引
2、腳86.2.2 8255A的內部結構96.2.3 8255A的工作方式106.2.4 8255A的控制字126.3 開關狀態(tài)的讀入與顯示部分146.4 指示燈顯示部分146.5 電路板的制作146.5.1 PCB圖的制作156.5.2 電路板的腐蝕、鉆孔和元器件的焊接166.6 系統(tǒng)連線說明分析16七、設計體會17八、參考文獻18一、設計題目可編程的并行接口芯片8255A控制繼電器實現(xiàn)開關狀態(tài)顯示控制。采用AT89S51單片機讀取外部(8255的A口)的開關信號并將相應的信號通過8255的B口用LED顯示出來端口。二、設計內容與要求用8051單片機和8255讀取開關狀態(tài)并顯示開關狀態(tài)。用825
3、5的A口接8個開關,B口接8個發(fā)光二極管,讀取開關狀態(tài)后,將狀態(tài)通過8個發(fā)光二極管顯示出來。三、設計目的意義1、掌握單片機擴展外部數據存儲器的方法。2、掌握可編程的并行接口芯片8255A與單片機的硬件接口電路、8255A內部結構及其編程方法。3、掌握單片機的最小系統(tǒng)的設計。4、掌握電路板的設計與制作。5、了解程序編寫與調試的方法和技巧。6、綜合掌握所學的單片機指令系統(tǒng)和硬件接口電路知識,進行簡單的最小系統(tǒng)開發(fā)。四、系統(tǒng)硬件電路圖系統(tǒng)硬件圖(圖1)包括單片機最小系統(tǒng)(復位電路、晶振電路和相關的控制信號)、外部擴展芯片8255A部分、外電路接通顯示部分、及電源顯示部分。設計硬件電路圖時,其基本思想
4、:先通過萬能板搭建試驗平臺,將編好的程序下載到51中,等可以達到預期要求后,最后在PROTEL中設計原理圖與PCB,做出電路板。圖1 系統(tǒng)硬件圖五、程序流程圖與源程序5.1流程圖 5.2源程序5.2.1程序設計思想單片機通入電源后,一直讓單片機對8255的A口進行采集,將8255的A口的開關信號送入8255的B口,原因是8255的B口要時時顯示開關的通與段的狀態(tài)。5.2.2源程序清單#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int#define
5、COM8255 XBYTE0x0300/*命令口地址*/#define PA8255 XBYTE0x0000/*口A*/#define PB8255 XBYTE0x0100/*口B*/void delay200ms(void)/*延時函數*/ unsigned char i,j,k; for(i=5;i>0;i-) for(j=132;j>0;j-) for(k=150;k>0;k-); void delay1s(void) unsigned char i,j,k; for(i=10;i>0;i-) for(j=132;j>0;j-) for(k=150;k>
6、;0;k-); void main(void) /*主函數*/ uchar m;delay200ms(); COM8255=0x90;/*確定A,B口工作方式,A口輸入,B口輸出*/while(1)delay200ms();m=PA8255;/*單片機讀入8255 A口開關信號*/ P1=m;/*中間信號,便于調試*/ PB8255=m;/*將讀入信號顯示到8255 B口的LED上*/ 六、系統(tǒng)功能分析與說明6.1系統(tǒng)主要組成部分6.1.1 單片機最小系統(tǒng)部分(1)單片機的最小系統(tǒng)部分包括晶振電路、復位電路、主電源引腳Vss和Vcc、控制引腳/EA。(2)晶振電路為單片機正常工作時提供的時鐘信
7、號,由兩個30pf的無極性電容和晶體壓電瓷片組成外部振蕩電路,把單片機的XTAL1(19)和XTAL2(18)分別接到外晶體的兩端,使電容的另外一端接地就完成了單片機的晶振電路部分的設計,硬件圖見圖2晶振電路所示。(3)復位電路,當振蕩器正常工作時,在單片機的復位引腳(9)連續(xù)保持出現(xiàn)兩個機器周期以上的高電平時,就會使單片機復位。AT89S51單片機復位電路主要有上電復手動復位和自動復位兩種,在本次試驗中我采用手動復位。按鍵手動復位的工作原理是:當按下按鍵時,電源對外接電容進行充電,使RST端為高電平,復位鍵松開后,電容通過內部下拉電阻放電,逐漸使RST端恢復低電平。具體電路見圖2復位電路。圖
8、2 手動復位電路主電源引腳Vss(20)接地,Vcc(40)正常操作時接+5V電源??刂埔_/EA(31),當/EA保持高電平時,訪問內部程序存儲器(4KB),當PC值超過0FFFH時,將自動轉向執(zhí)行外部程序存儲器中的程序。當/EA接低電平時,則只訪問外部程序存儲器(從0000H開始),不管單片機內部是否有程序存儲器。本系統(tǒng)采用第一種接法,直接將/EA端接高電平。6.1.2 可編程的并行接口芯片8255A(此部分見5.2可編程的并行接口8255A接口電路部分)6.1.3 輸入輸出部分 本系統(tǒng)采用P0口作為和8255A的數據總線接口;用P2.0和P2.0口分別和8255A的地址選通信號端A1和A
9、0口相連,作為地址總線,直接將單片機的/WR(16)和/RD(17)及RST(9)與8255A的/WR(36)和/RD(5)及REST(35)相連作為控制總線。 單片機的P0口是8位的雙向三態(tài)輸入/輸出接口。它既可以作為地址/數據總線使用,又可以作為通用的I/O口使用。當連接外部存儲器時,P0口一方面作為8位數據輸入/輸出口,另一方面用來輸出外部存儲器的低8位地址,作為輸出口時,輸出漏極開路,驅動NMOS電路時應該接上拉電阻;作為輸入口之前,應先向鎖存器中寫“1”,使輸出的兩個場效應管均關閉,引腳處于浮空狀態(tài),這樣高阻輸入,以保證讀取引腳信號而不是讀鎖存器狀態(tài)。當P0口作為地址/數據總線時,就
10、不能再把它作為通用的I/O口使用了。由于本系統(tǒng)正是采用P0口作為數據總線使用,所以就不能把P0口作為通用的I/O口了。6.2 可編程的并行接口8255A接口電路部分 6.2.1 8255A的引腳圖3 8255引腳圖 8255A具有40個引腳,采用雙列直插封裝形式,其引腳圖如圖3所示,各引腳的功能如下:D7D0:三態(tài)雙向數據引腳,與單片機的數據總線相連,用于CPU與各I/O之間的數據傳輸;PA7PA0:A口輸入/輸出引腳;PB7PB0:B口輸入/輸出引腳;PC7PC0:C口輸入/輸出引腳;/CS:片選信號線,低電平有效,表示芯片被選中;/RD:讀信號線,低電平有效,控制數據讀出;/WR:寫信號線
11、,低電平有效,控制書局寫入;RESET:復位信號線,高電平有效;A1、A0:地址線,輸入三個端口和控制寄存器的地址。6.2.2 8255A的內部結構8255A由3個數據輸入/輸出端口、二個工作方式控制電路、一個讀/寫控制邏輯電路和一個總線數據緩沖器組成,其內部結構如圖4所示。圖4 8255內部結構(1)端口A、B、CA口:具有8位數據輸出鎖存/緩沖器和一個8位數據輸入鎖存器;B口:具有一個8位數據輸入/輸出鎖存/緩沖器和一個8位數據輸入緩沖器;C口:具有一個8位數據輸出鎖存/緩沖器和一個8位數據輸入緩沖器(不鎖存);三個端口中A口和B口總是作為數據輸入/輸出端口,C口有時控制信號和狀態(tài)信號的輸
12、入/輸出端口。(2)工作方式控制電路工作方式控制電路由兩個,即A組控制電路和B組控制電路,分別控制A口和C口上半部、B口和C口下半部。工作方式控制電路根據控制字寄存器的內容控制A組和B組的工作方式,也可根據控制字寄存器的內容對C口按位進行操作。(3)總線數據緩沖器總線數據緩沖器是一個三態(tài)雙向8位緩沖器。它的一端作為8255A與單片機的數據總線的接口,另一端與A口、B口、C口和控制字寄存器相連,作為單片機與I/O口和控制字寄存器之間的數據緩沖器。讀/寫控制邏輯電路讀/寫控制邏輯電路輸入的控制信號由/RD、/WR、RESET和A1、A0。它根據這些信號控制I/O口及控制寄存器的讀/寫操作。其中地址
13、線A1、A0用來選擇I/O口和控制寄存器,與讀/寫控制信號/RD和/WR構成各種工作狀態(tài),如表1-1所示。表1 8255端口讀/寫操作表A1 A0/RD /WR /CS工作狀態(tài)0 00 11 00 1 00 1 00 1 0A口數據數據總線B口數據數據總線C口數據數據總線0 00 11 01 11 0 01 0 01 0 01 0 0總線數據A口總線數據B口總線數據C口總線數據控制字寄存器× ×1 1× ×× × 10 1 01 1 0數據總線三態(tài)非法狀態(tài)數據總線三態(tài)6.2.3 8255A的工作方式8255A有3種工作方式,即工作方式
14、0、工作方式1和工作方式2.。(1)工作方式0工作方式0為基本輸入/輸出方式,其功能概括如下:具有二個8位端口(A口、B口)和二個4位端口(C口的上、下半部分);任意一個端口都可以設定為輸入或輸出,各端口的輸入/輸出狀態(tài)可構成16種 組合;數據輸出全部鎖存,輸入不鎖存。在工作方式0狀態(tài)下,A口、B口、和C口都作為I/O端口,沒有設置控制/狀態(tài)信號時,單片機可以通過訪問外部數據存儲器指令,對任一端進行讀/寫操作。本系統(tǒng)要求CPU讀取外部輸入的開關信號,判斷是哪一位的按鍵信號,然后,通過8255A的PB0、PB1端口輸出,直接采用方式1無條件輸入輸出方式。(2)工作方式1:選通輸入輸出方式端口A和
15、端口B可以設置為這種工作方式,可以是選通的輸入方式,或者是選通的輸出方式。當A口或B口設置為方式1時,由端口C的某些位固定地為端口A或端口B提供聯(lián)絡信號或者狀態(tài)信號,其中包括專門用于中斷請求的信號,以便于8255A和外設之間,或者是8255A和CPU之間傳送狀態(tài)信息以及中斷請求信號。這種聯(lián)絡信號是由8255A內部規(guī)定的,不是由使用者指定的。 方式1可以使用在查詢方式的數據傳送和中斷方式的數據傳送中。(3)工作方式2:雙向方式只有端口A可以選擇這種方式,這時,端口A既可以輸入也可以作為輸出。當然,這種雙向的數據傳送也不是同時進行,但可以是在這個時刻輸入操作,在下一個時刻進行輸出操作,而不需要對傳
16、送的方向重新設置。端口A工作方式2時,仍然默認為時選通的輸入/輸出方式,即在C口種規(guī)定了輸入和輸出的狀態(tài)信息,這些狀態(tài)信息的位置和A口 工作在方式1時基本相同。如果這時端口A要按無條件傳送方式來使用,C口的這些位仍然是保留作為狀態(tài)位。但是這時的端口A并沒有全部占用端口C的狀態(tài)聯(lián)絡線,端口B在方式1時所需要的狀態(tài)聯(lián)絡線仍然可以被B口所使用,所以,端口B此時可以設置為方式1,也可以設置為方式0。端口C可在選擇方式1或方式2工作的情況下作為聯(lián)絡信號使用,其聯(lián)絡信號分布情況見表2,其中空白的位置表示這些位此時沒有用于聯(lián)絡線,仍然還可以用于一般的輸入/輸出操作。各種聯(lián)絡信號的含義如下:表2 8255A方
17、式1和方式2時C口的聯(lián)絡信號C口的位方式1方式2輸入輸出輸入輸出PC7/OBFA/OBFAPC6/ACKA/ACKAPC5IBFAIBFAPC4/STBA/STBAPC3INTRAINTRAINTRAINTRAPC2/STBB/ACKBPC1IBFB/OBFBPC0INTRBINTRB用于輸入的聯(lián)絡信號的意義:/STB8:選通脈沖輸入,低電平有效。當外設送來/STB信號時,輸入數據裝入8255的鎖存器。IBF:輸入緩沖器滿,高電平有效,輸出信號。IBF=1時,表示數據已經裝入鎖存器,可作為狀態(tài)信號。INTR:中斷請求信號,高電平有效,是在IBF為高時變?yōu)橛行?,用來向CPU申請中斷。/OBF:輸
18、出,低電平有效,輸出緩沖器滿信號。當CPU把一數據寫入8255A鎖存器后有效,可用來通知外設開始接受信號。/ACK:輸入,低電平有效,外設響應信號。當外設取走并已經處理完8255A的數據后發(fā)出響應信號。如果需要,可以通過軟件使C口對應于/STB或/OBF的相應位的置位/復位,來實現(xiàn)8255A對外聯(lián)絡信號的置位和復位。6.2.4 8255A的控制字8255A作為可編程器件,其工作方式通過軟件來選擇,并且對于C端口也可以通過軟件對其中的每一位進行置位或復位,以便更好地實現(xiàn)控制功能,共用到兩種控制字:(1)工作方式控制字8255A的三個端口工作于什么方式,使輸入還是輸出,都由工作方式字來控制。825
19、5A工作方式的格式見圖5所示。其中D7=1是方式控制字的特征位。在方式1和方式2工作時,對C口的定義都不影響作為聯(lián)絡信號使用的各位的功能,但未作為聯(lián)絡信號使用的位仍可以用于工作方式控制字中的D0或D3口來定義。圖5 8255方式控制字的各位定義(2)端口C置位復位控制字C口的各可以通過控制字來使之置位或復位,以實現(xiàn)某些控制功能??刂谱值母袷揭妶D6所示。D7=0時控制字的特征位。每次只能對C口中的一位置位或復位。這兩個控制字都應該寫入8255A的控制寄存器(A1A0=11),由于兩個控制字各有自己的特征標志(D7為1或為0),因此它們寫入控制字的順序可以任意,并且可以在需要的時候,隨時對C口的位
20、置位或復位圖6 端口C按位置位/復位控制字6.3 開關狀態(tài)的讀入與顯示部分6.3.1 硬件電路圖(見圖7所示)圖7 驅動電路圖6.4 指示燈顯示部分輸入信號由8個開關提供,信號的輸出采用8個發(fā)光二極管顯示,相應的信號燈對應相應的開關,用共陰極的連接方法,輸入高電平導通。電源上電顯示部分用一個1K的電阻串聯(lián)一個發(fā)光二極管來顯示,燈亮表示有電,反之,則電路板沒電。6.5 電路板的制作6.5.1 PCB圖的制作采用了PROTEL DXP 電路繪圖軟件進行原理圖和PCB圖的制作,首先,安裝此軟件,安裝完成后,打開該軟件,新建工程(DOCUMENT)文件,而以后所建立的原理圖文件(*.SCH)、PCB文
21、件(*.PCB)及生成的網路文件(*.NET)都在此工程內。建立原理圖文件時,首先,調用庫文件中常用的元器件庫文件(MISCELLANEOUS DEVICES.LIB)可以調入常用的電阻、電容、開關、晶振、繼電器等常用的電器元件,通過ADD/REMOVE按鈕可以調入庫文件(以INTEL為開頭的庫文件 ),從而調入8255A和80S51芯片以及其它電子元件。原理圖建立后,再生成網路圖,這一步驟只要通過DESIGN-CREATE NETLISTS 即可生成網絡圖。建立PCB圖,首先應按照原理圖的要求認真準確地填好每一個電器元件的封裝,系統(tǒng)沒有封裝的,必須根據實物畫出特別元件的封裝,而且,注意元器件
22、的管腳號必須與封裝的管腳號相同(比如說,三極管發(fā)元器件的管腳是B、E、C,而封裝庫中的管腳卻是1、2、3,必須改變其中之一,使兩者一致),否則出錯,生成的PCB圖不正確。通過檢查PCB圖,如果沒有元器件丟失、管腳丟失和網絡連接正確便可以合理地布線,最終生成和覆銅板尺寸一致的PCB圖。最終生成的PCB圖如圖9所示。圖9 PCB電路圖6.5.2 電路板的腐蝕、鉆孔和元器件的焊接將生成好的PCB 圖,用電熨斗印刷在基板上,再用FECL3 進行腐蝕、鉆孔、焊接相對應的元器件。便完成了電路板的制作。 6.6 系統(tǒng)連線說明分析根據題目要求實現(xiàn)8255的A口讀入開關信號,8255的B口顯示信號,電路相對簡單
23、,所以8255A采用了工作方式0無條件的輸入和輸出方式,直接將單片機的相關信號線和8255A的對應端相對接即可完成片外芯片的擴展?,F(xiàn)在再簡要說明一下數據總線、控制總線和地址總線的建立情況。數據總線。將單片機的P0口的8個引腳分別和8255A 的8個地址總線接口D0口到D7口相連。地址總線。將單片機的P2.1口和P2.0口分別和8255A的A1和A0相連,即可。/CS(片選信號)聯(lián)結到P2.2,這時只要通過改變P2.1和P2.2口的值,即可改變輸出地址,從而向8255A控制字端口寫控制字,或者選擇PA和PB進行輸入和輸出控制??刂瓶偩€。只要將單片機的/WR和/RD的引腳分別和8255A的/WR和
24、/RD相連接,RST端口和8255A的REST端口相連接,即可完成控制總線的建立。CPU會根據不同的指令識別,進行控制讀/寫信號的選通。由于8255A復位時,各個端口自動保持方式0的工作方式,必須重新寫入控制字信息和各個端口的工作方式,查閱相關資料,了解到8255的復位時間比51的復位時間略長,所以在同時給兩個芯片復位后,經一段延時后再向8255寫入控制字等數據。七、設計體會1、通過此次單片機最小系統(tǒng)的應用開發(fā),增加了我對電路控制專業(yè)的興趣,尤其是通過單片機進行自動控制方面,在設計及單片機最小系統(tǒng)中,我既掌握了新知識(主要是8255A可編程的并行口芯片的應用),又加深了對所學過的知識認識(主要是編程指令的靈活應用、單片機最小系統(tǒng)的理解和PROTEL DXP 軟件的靈活使用),還提高了自己的分析問題和解決問題的能力和方法(主要是在調試程序時8255A的控制上),最后提高了動手能力(主
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025 小學四年級科學下冊壓縮空氣玩具原理講解課件
- 2026湖北荊州市監(jiān)利市事業(yè)單位人才引進64人參考考試試題附答案解析
- 2026福建南平市建陽區(qū)文化體育和旅游局招聘1人備考考試試題附答案解析
- 2026年上半年黑龍江省人民政府黑瞎子島建設和管理委員會事業(yè)單位公開招聘工作人員4人參考考試試題附答案解析
- 建立有效的家屬溝通與教育
- 2026山東臨沂莒南縣部分事業(yè)單位招聘綜合類崗位29人備考考試題庫附答案解析
- 2026廣西柳州市融安縣公安局招聘警務輔助人員50人備考考試試題附答案解析
- 2026重慶銅梁區(qū)慶隆鎮(zhèn)人民政府向社會公開招聘1人參考考試試題附答案解析
- 2026“夢工場”招商銀行重慶分行寒假實習生招聘備考考試題庫附答案解析
- 2026年度菏澤鄄城縣事業(yè)單位公開招聘初級綜合類崗位人員備考考試試題附答案解析
- 2026年黑龍江林業(yè)職業(yè)技術學院單招職業(yè)技能筆試備考試題含答案解析
- 生物實驗室安全管理手冊
- 網絡安全與輿情培訓簡報課件
- 供應商現(xiàn)場審核打分表-評分細則
- 預防葡萄膜炎復發(fā)護理策略
- 民兵偽裝與防護課件
- 2025至2030中國丙烯酸壓敏膠行業(yè)調研及市場前景預測評估報告
- (15)普通高中美術課程標準日常修訂版(2017年版2025年修訂)
- 2025年時事政治考試題庫及參考答案(100題)
- 委托付款三方協(xié)議中英文版
- 廣西職業(yè)師范學院教師招聘考試真題2022
評論
0/150
提交評論