




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機并行輸入輸出口1第一頁,共六十九頁,2022年,8月28日6.1I/O口概述接口的概念:CPU與外設之間交換信息的連接部件(有并行接口和串行接口兩大類)。接口與端口接口電路可以包含多個端口(控制、模式、狀態(tài)等),端口實際上是特殊的寄存器,不同端口編有不同的地址??诰€與總線:口線實際上是I/O端口寄存器各位電平的反映,而總線則是連接存儲器和端口的公共通道。I/O口編址技術:1.I/O端口與存儲器統(tǒng)一編址;2.I/O端口獨立編址.I/O數(shù)據(jù)傳送的控制方式:1.無條件;2.條件;3.中斷;4.DMA.<2第二頁,共六十九頁,2022年,8月28日四個雙向8位I/O口,共32根I/O口線,每個I/O線均由鎖存器,輸出電路和輸入緩沖器組成。每個I/O既可作輸入又可作輸出,每一條口線可獨立用作輸入又可用作輸出,作輸出時可鎖存數(shù)據(jù),作輸入時可緩沖數(shù)據(jù)。特殊功能寄存器P0-P3:P0、P1、P2、P3等四個8位I/O口分別由名為P0、P1、P2、P3四個SFR代表,SFR地址為80H、90H、0A0H、0B0H。6.2AT89S52I/O口結構和功能3第三頁,共六十九頁,2022年,8月28日一、P0口1、位結構鎖存器,輸入緩沖器,輸出驅動器,多路開關2、做輸入/輸出口輸出輸出0輸出1輸入讀引腳讀鎖存器:讀--修改-寫操作3、做總線輸出輸入4第四頁,共六十九頁,2022年,8月28日1、P0口位結構第五頁,共六十九頁,2022年,8月28日輸出輸出0輸出1輸入讀引腳:只操作一次讀鎖存器:讀--修改-寫操作2、P0口作I/O口線6第六頁,共六十九頁,2022年,8月28日P0口作I/O口線第七頁,共六十九頁,2022年,8月28日P0口作I/O口線:輸出分析輸出0和輸出1兩種情況第八頁,共六十九頁,2022年,8月28日P0口作I/O口線:輸入(讀引腳)輸入:讀引腳特征:只操作1次注意:要保證口鎖存器為1,否則無法讀入高電平操作:可以先寫1再讀,由于上拉電阻較大,寫1并不會使輸入低電平變成高電平。第九頁,共六十九頁,2022年,8月28日P0口作I/O口線:輸入(讀鎖存器)輸入:讀鎖存器特征:操作2次(讀-修改-寫)操作:不可先寫1再讀例:P0&=0xf0;P0++;P00=!P00;第十頁,共六十九頁,2022年,8月28日3、P0口作總線第十一頁,共六十九頁,2022年,8月28日P0口作總線:輸出第十二頁,共六十九頁,2022年,8月28日P0口作總線:輸入由內部時序切換到讀引腳狀態(tài),并保證口鎖存器內為1,以利外部信號輸入第十三頁,共六十九頁,2022年,8月28日P0口作總線:輸入總線輸入/輸出過程是自動的,按時序要求切換,輸入時簡化圖為:結論:1、P0口作總線時,不用加上拉電阻2、由于不是上拉電阻驅動,因此高低電平驅動能力相當,都很大第十四頁,共六十九頁,2022年,8月28日二、P1口1、位結構鎖存器,輸入緩沖器,輸出驅動器,等效上拉電阻2、做輸入/輸出口輸出輸出0輸出1輸入讀引腳讀鎖存器:讀--修改-寫操作15第十五頁,共六十九頁,2022年,8月28日1、P1口位結構第十六頁,共六十九頁,2022年,8月28日說明P1~P3都是準雙向口;雙向口:可使引腳懸浮作高阻輸入;準雙向口:其引腳具有內部拉高電阻,其特點:當外部維持在低電平時,準雙向口輸入要能提供源電流,而外部低電平消失時,又會自動地使自己拉向高電平。17第十七頁,共六十九頁,2022年,8月28日三、P2口1、位結構鎖存器,輸入緩沖器,輸出驅動器,多路開關2、做輸入/輸出口輸出輸出0輸出1輸入讀引腳讀鎖存器:讀--修改-寫操作3、做地址總線,輸出高8位地址18第十八頁,共六十九頁,2022年,8月28日作“通用數(shù)據(jù)I/O端口”和“高八位地址總線”;P2口在系統(tǒng)使用外部存儲器時,由于CPU不斷取指令,所以必須做高八位的地址總線;僅使用外部數(shù)據(jù)存儲器時,P2口分兩種情況:1.使用MOVXA,@R0指令分頁訪問外部RAM,此時用8位的寄存器R0或R1作間址寄存器,這時P2口仍然可能全部或部分做通用I/O端口。(對應C51的pdata存儲類型)2.使用MOVXA,@DPTR指令訪問外部RAM,
P2口必須作為外存儲器的高八位地址總線,不可再作I/O口。(對應C51的xdata存儲類型)
P2口特點19第十九頁,共六十九頁,2022年,8月28日1、P2口位結構第二十頁,共六十九頁,2022年,8月28日2、P2口做I/O口第二十一頁,共六十九頁,2022年,8月28日3、P2口做總線第二十二頁,共六十九頁,2022年,8月28日四、P3口1、位結構鎖存器,輸入緩沖器,輸出驅動器,多路開關2、做輸入/輸出口輸出輸出0輸出1輸入讀引腳讀鎖存器:讀--修改-寫操作3、做替代功能23第二十三頁,共六十九頁,2022年,8月28日
P3.0 RxD 串行數(shù)據(jù)接收 入
P3.1 TxD 串行數(shù)據(jù)發(fā)送 出
P3.2 INT0 外部中斷0申請 入
P3.3 INT1 外部中斷1申請 入
P3.4 T0 定時器/計數(shù)器0計數(shù)輸入 入
P3.5 T1 定時器/計數(shù)器1計數(shù)輸入 入
P3.6 WR 外部RAM寫選通 出
P3.7 RD 外部RAM讀選通 出P3口的第二功能24第二十四頁,共六十九頁,2022年,8月28日P3口位結構第二十五頁,共六十九頁,2022年,8月28日特點:通用I/O端口、多用途端口在多用途情況下,P3口分別作為串行口、外中斷輸入、外部計數(shù)輸入和系統(tǒng)擴展時使用的WR和RD信號的端口。在這種情況下,鎖存器Q端為“1”電平以保證與門是打開的。在通用I/O模式下,“替代輸出功能”端為“1”電平,以保證與門打開。26第二十六頁,共六十九頁,2022年,8月28日P3口位結構第二十七頁,共六十九頁,2022年,8月28日P3口位結構第二十八頁,共六十九頁,2022年,8月28日I/O口小結P0:系統(tǒng)擴展;一般I/O口(輸出時,需接上拉電阻。)P1:專供用戶使用的I/O口P2:系統(tǒng)擴展;通用I/O口P3:功能口,每位獨立定義;通用I/O口。P0作AD0~AD7驅動8個LSTTL負載P1~P3驅動3~4個LSTTL負載負載能力應用功能29第二十九頁,共六十九頁,2022年,8月28日I/O口小結:讀入方式每個I/O口均有兩種讀入方式(用命令區(qū)分)讀鎖存器讀引腳P1=0xff;tmp=P1; //讀引腳P1&=0xf0; //讀鎖存器注意:讀引腳時,需先向鎖存器寫“1”。系統(tǒng)復位時,所有口鎖存器均置“1”。<30第三十頁,共六十九頁,2022年,8月28日6.3存儲器和I/O口的擴展要點:1、總線和I/O口線的應用特性2、片外三總線結構3、外部程序存儲器和數(shù)據(jù)存儲器4、外部RAM地址空間分配和映射31第三十一頁,共六十九頁,2022年,8月28日MCS-51單片機最小應用系統(tǒng)32第三十二頁,共六十九頁,2022年,8月28日33第三十三頁,共六十九頁,2022年,8月28日地址總線(AB):寬度16位,尋址范圍64KB(0000-FFFFH),低8位由P0經鎖存器獲得,高8位由P2提供;數(shù)據(jù)總線(DB):寬度8位,由P0提供,由于D0~D7總是伴隨著/RD、/WR或/PSEN出現(xiàn),不用鎖存器(只在需要的時候出現(xiàn));控制總線(CB):/WR、/RD和/PSEN等。片外總線特性34第三十四頁,共六十九頁,2022年,8月28日外部程序存儲器擴展35第三十五頁,共六十九頁,2022年,8月28日EPROM:2764271282725627512等鎖存器:從AD0~AD7中分離出A0~A7373:8D鎖存器374:8D觸發(fā)器(帶三態(tài))273:8D觸發(fā)器(帶清除)擴展芯片36第三十六頁,共六十九頁,2022年,8月28日373273和37437第三十七頁,共六十九頁,2022年,8月28日擴展8K字節(jié)程序存儲器的連線圖38第三十八頁,共六十九頁,2022年,8月28日訪問外部ROM的時序39第三十九頁,共六十九頁,2022年,8月28日外部數(shù)據(jù)存儲器擴展(64KAddressSpace)
40第四十頁,共六十九頁,2022年,8月28日SRAM:626462256628128等鎖存器:從AD0~AD7中分離出A0~A7373:8D鎖存器374:8D觸發(fā)器(帶三態(tài))273:8D觸發(fā)器(帶清除)擴展芯片41第四十一頁,共六十九頁,2022年,8月28日擴展2KB數(shù)據(jù)存儲器的線路圖42第四十二頁,共六十九頁,2022年,8月28日訪問外部RAM的時序43第四十三頁,共六十九頁,2022年,8月28日擴展16KBRAM和16KBEPROM44第四十四頁,共六十九頁,2022年,8月28日簡單I/O擴展簡單I/O口的擴展主要由74系列的電路進行擴展;在許多情況下,有些開關量或并行數(shù)據(jù)需直接輸出或輸入。經常用8D鎖存器和三態(tài)驅動門等進行擴展。(373、374、377、273、244等)45第四十五頁,共六十九頁,2022年,8月28日地址譯碼方式片選地址線:用于選擇芯片的地址線,是指全部地址總線中去掉芯片內部地址線剩下的地址線。如6264,8KB,芯片內部要13個地址線,剩下的3個地址線就是片選地址線。全譯碼方式:所有片選地址線全部參加譯碼;部分譯碼方式:片選地址線部分參加譯碼,剩下部分懸空;線選方式:片選地址線直接接到芯片的片選端。
46第四十六頁,共六十九頁,2022年,8月28日簡單I/O接口擴展電路(線譯碼)47第四十七頁,共六十九頁,2022年,8月28日可編程I/O芯片的擴展<48第四十八頁,共六十九頁,2022年,8月28日6.4I/O口的C51應用編程要點:用#include<reg51.h>加入對特殊功能寄存器P0,P1,P2,P3的定義.根據(jù)需要用sbit對口線進行定義.定義后,按一般變量使用方法來使用。49第四十九頁,共六十九頁,2022年,8月28日逐行掃描和線反轉法查詢和中斷方式例1:用P1口完成4x4鍵盤的識別50第五十頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入11111111初始狀態(tài)51第五十一頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入11111110第1行送出0,其余3行送出1,讀入4列,若讀入的4位均為1,則表示該行沒有鍵按下52第五十二頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入01111111第2行送出0,其余3行送出1,讀入4列,若讀入的4位均為1,則表示該行沒有鍵按下53第五十三頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入10111111第3行送出0,其余3行送出1,讀入4列,若讀入的4位均為1,則表示該行沒有鍵按下54第五十四頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入11011111第4行送出0,其余3行送出1,讀入4列,若讀入的4位均為1,則表示該行沒有鍵按下55第五十五頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入11111110循環(huán)回到第1行送出0,其余3行送出1,讀入4列,若讀入的4位均為1,則表示該行沒有鍵按下,由于循環(huán)很快,遠遠超過按鍵的速度,可以識別出所有單個按鍵56第五十六頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入11101110第1行送出0,其余3行送出1,讀入4列,若讀入的4位為0xe,則表示該行第1個鍵按下,行列值合成對應該按鍵的唯一掃描碼:0xee,這一行的4個掃描碼分別是:0xee0xde0xbe0x7e57第五十七頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入01111111第2行送出0,其余3行送出1,讀入4列,若讀入的4位不均為1,則表示有鍵按下,這一行的4個按鍵對應的掃描碼分別是:0xed0xdd0xbd0x7d58第五十八頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入10111111第3行送出0,其余3行送出1,讀入4列,若讀入的4位不均為1,則表示有鍵按下,這一行的4個按鍵對應的掃描碼分別是:0xeb0xdb0xbb0x7b59第五十九頁,共六十九頁,2022年,8月28日逐行掃描法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入11011111第4行送出0,其余3行送出1,讀入4列,若讀入的4位不均為1,則表示有鍵按下,這一行的4個按鍵對應的掃描碼分別是:0xe70xd70xb70x7760第六十頁,共六十九頁,2022年,8月28日編程實現(xiàn)逐行掃描法#include<reg51.h> //要用到sfr:P1#defineucharunsignedcharvoiddelay(void); //聲明函數(shù)uchartmp;main(){while(1) //無限循環(huán)作為main的結束{ P1=0xfe;tmp=P1&0xf0;if(tmp!=0xf0)line1_key(); P1=0xfd;tmp=P1&0xf0;if(tmp!=0xf0)line2_key(); P1=0xfb;tmp=P1&0xf0;if(tmp!=0xf0)line3_key(); P1=0xf7;tmp=P1&0xf0;if(tmp!=0xf0)line4_key();}}61第六十一頁,共六十九頁,2022年,8月28日編程實現(xiàn)逐行掃描法voiddelay(void){inti,j;for(i=0;i<10;i++)for(j=0;j<1000;j++);}voidline1_key(void){delay();tmp=P1&0xf0;if(tmp==0xf0)return; //延時約10ms去抖動switch(tmp){ case0xe0:key1();break; //key1-16函數(shù)省略 case0xd0:key2();break; case0xb0:key3();break;
case0x70:key4();break; default:break;}while(1){tmp=P1&0xf0;if(tmp==0xf0)break;} //等鍵釋放}62第六十二頁,共六十九頁,2022年,8月28日線反轉法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入00011110平常狀態(tài),不用掃描鍵盤,若有鍵按下會產生中斷/INT063第六十三頁,共六十九頁,2022年,8月28日線反轉法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸出4位輸入00011010若有一鍵按下,進入中斷服務程序,讀入高4位為0xb/INT064第六十四頁,共六十九頁,2022年,8月28日線反轉法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸入4位輸出11111011輸入輸出倒置,并將讀入的0xb原位送出,即輸出0xbf,將高4位送出的同時,低4位被置成輸入/INT065第六十五頁,共六十九頁,2022年,8月28日線反轉法VCC10Kx8P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0VCC10Kx84位輸入4位輸出10111011讀入低4位,與高4位送出的數(shù)合成掃描碼的0xbb,由此得知是那個按鍵按下了/INT066第六十六頁,共六十九頁,2022年,8月28日編程實現(xiàn)線反轉法#include<reg51.h> //要用到sfr#defineucharunsignedcharuchartmp=0;main(){P1=0xf0;EA=1;EX0=1; //開INT0中斷 for(;;) //無限循環(huán)作為main的結束{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人學習經驗總結
- 企業(yè)代培訓合同范本
- 公司外包車合同范本
- 主播學徒合同范本
- 南昌全款購車合同范本
- 化妝師題庫(含參考答案)
- 七年級第二學期體育教學計劃
- 七年級國旗下保護環(huán)境講話稿
- 醫(yī)院骨科采購合同范本
- 區(qū)別真假租房合同范本
- DB34T∕ 2452-2015 旅行社小包團服務指南
- 隊列研究評估預后標志物的外部驗證
- 2024全國各地區(qū)英語中考真題匯編《第一期》
- 電梯應急救援與事故處理考核試卷
- 第1章 跨境電商概述
- 2024-2030年中國長管拖車行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 《高等教育學》近年考試真題題庫(含答案)
- 2024福建省廈門市總工會擬錄用人員筆試歷年典型考題及考點剖析附答案帶詳解
- 供熱管道施工組織設計
- 浙江省中小學心理健康教育教師上崗資格證書管理辦法(修訂)
- 2024年青島港灣職業(yè)技術學院單招職業(yè)適應性測試題庫審定版
評論
0/150
提交評論