第4章并行口的輸入輸出操作.ppt_第1頁
第4章并行口的輸入輸出操作.ppt_第2頁
第4章并行口的輸入輸出操作.ppt_第3頁
第4章并行口的輸入輸出操作.ppt_第4頁
第4章并行口的輸入輸出操作.ppt_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章P0P3口應(yīng)用基礎(chǔ),片內(nèi)并行I/O口的應(yīng)用。4.1認(rèn)識(shí)51單片機(jī)的P0P3口4.2輸出操作4.3輸入操作4.4實(shí)驗(yàn)與設(shè)計(jì),4.1認(rèn)識(shí)51單片機(jī)的P0P3口,從輸出位置看:P0與P1、P2、P3不同,因此:P0稱為“雙向口”,其余的稱為“準(zhǔn)雙向口”。,雙向口:?jiǎn)纹瑱C(jī)的I/O口為了提高接口的驅(qū)動(dòng)能力,具有由場(chǎng)效應(yīng)管組成的輸出驅(qū)動(dòng)器。當(dāng)驅(qū)動(dòng)器場(chǎng)效應(yīng)管的漏極具有開路狀態(tài)時(shí),該口就具有高電平、低電平和高阻抗3種狀態(tài),稱為雙向口。準(zhǔn)雙向口:?jiǎn)纹瑱C(jī)I/O口的輸出場(chǎng)效應(yīng)管的漏極接有上拉電阻,該口具有高電平、低電平兩種狀態(tài),稱為準(zhǔn)雙向口。,4.2輸出操作,輸出高、低電平。4.2.1基本輸出-字節(jié)、位4.2.2擴(kuò)展輸出-流水燈、霹靂燈4.2.3擴(kuò)展輸出8段LED顯示,4.2.1基本輸出-字節(jié)、位【例4-1】字節(jié)輸出。8燈亮、滅閃爍,#includevoiddelay(unsignedintd)while(-d0);voidmain()while(1)P1=0 xff;delay(50000);P1=0X00;delay(50000);,【例4-2】位操作。編程實(shí)現(xiàn)P1.3所接的發(fā)光二極管亮、滅閃爍,#includesbitLED3=P13;voiddelay(unsignedintd)while(-d0);voidmain()while(1)LED3=0;delay(50000);LED3=1;delay(50000);,請(qǐng)修改:,(1)P1.7對(duì)應(yīng)的燈亮、滅閃爍(2)P1.1、P1.3、P1.5對(duì)應(yīng)的燈亮、滅閃爍(3)P1.0對(duì)應(yīng)的燈亮?xí)r,P1.7對(duì)應(yīng)的燈滅;P1.0對(duì)應(yīng)的燈滅時(shí),P1.7對(duì)應(yīng)的燈亮。(4)將P1口改為P3口。,4.2.2擴(kuò)展輸出-流水燈、霹靂燈,【例4-3】流水燈。編程實(shí)現(xiàn)8個(gè)燈從低到高流水燈的顯示閃爍。流水燈閃爍規(guī)律:11111110B11111101B11111011B-01111111B。從初值11111110B循環(huán)左移一位就可以。,#include#includevoiddelay(unsignedintd)while(-d0);voidmain()unsignedcharsel;sel=0 xfe;while(1)P1=sel;delay(50000);sel=_crol_(sel,1);,也可以這樣:,#includevoiddelay(unsignedintd)while(-d0);voidmain()unsignedchari,sel,a;while(1)sel=0 xfe;for(i=0;i8;i+)P1=sel;delay(50000);a=sel1;sel=a|0 x01;,修改:,(1)兩個(gè)燈左循環(huán)。(2)右循環(huán)。(3)從左到右,一個(gè)一個(gè)亮保持到全亮,然后再重復(fù)。,【4-4】霹靂燈。由P1口驅(qū)動(dòng)8個(gè)LED燈,編程實(shí)現(xiàn)霹靂燈閃爍。,分析:所謂的霹靂燈是指一排LED里,任何一個(gè)時(shí)間只有一個(gè)LED亮,而亮燈的順序?yàn)橛勺蠖以儆捎业阶?,感覺就像一個(gè)LED由左跑到右再由右跑到左。霹靂燈規(guī)律:11111110B11111101B-01111111B10111111B11011111-11111110-。,修改:實(shí)現(xiàn)雙燈的霹靂燈功能。,4.2.3擴(kuò)展輸出8段LED顯示,1、認(rèn)識(shí)8段LED結(jié)構(gòu)、驅(qū)動(dòng),2、顯示函數(shù)的編寫,(1)根據(jù)硬件電路的結(jié)構(gòu)建立一個(gè)顯示的代碼表完成顯示內(nèi)容與顯示代碼的轉(zhuǎn)換。(P202)unsignedcharcodetable18=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/顯示的代碼表,(2)開辟顯示緩沖區(qū)unsignedchardatadis_buf6;/顯示緩沖區(qū)(3)查表并操作相應(yīng)的顯示器(4)顯示函數(shù)的調(diào)用,3.8段LED靜態(tài)顯示技術(shù),【例4-5】編程顯示:AB,#include#defineucharunsignedchar#defineuintunsignedintuchardatadis_buf2;/顯示緩沖區(qū)ucharcodetable=0 x77,0 x7c;,voiddisplay(void)/顯示函數(shù)ucharsegcode;segcode=dis_buf0;/P1口顯示segcode=tablesegcode;P1=segcode;segcode=dis_buf1;/P3口顯示segcode=tablesegcode;P3=segcode;,voidmain(void)/主函數(shù)dis_buf0=0;dis_buf1=1;display();/調(diào)用顯示函數(shù)while(1);,示例中的顯示函數(shù)display()可以再簡(jiǎn)單一些,如下面程序段:voiddisplay(void)P1=tabledis_buf0;/P0口顯示P3=tabledis_buf1;/P3口顯示,修改:(1)顯示“12”。(2)輪流顯示“12”、“-”和“AB”。延時(shí)時(shí)間采用軟件延時(shí)。(3)計(jì)數(shù)器:1s顯示器加1。,4.8段LED動(dòng)態(tài)顯示技術(shù)段口、位口(余輝、視覺暫留),【例4-6】利用51單片機(jī)的并行口作為動(dòng)態(tài)顯示的段口與位口的示例。,4.3輸入操作,作為51單片機(jī)片內(nèi)并行I/O口輸入信號(hào),是屬于數(shù)字信號(hào)的“高、低電平”或脈沖信號(hào)的“上升沿、下降沿”兩大類,這兩類信號(hào)可以通過:“閘刀型開關(guān)”、“按鈕型開關(guān)”兩類開關(guān)來模擬。,4.3.1閘刀型輸入信號(hào)4.3.2單個(gè)按鈕型開關(guān)輸入信號(hào)4.3.3多個(gè)按鈕型開關(guān)鍵盤4.3.1閘刀型輸入信號(hào),【例4-7】閘刀型開關(guān)輸入信號(hào)例子。編程實(shí)現(xiàn)相應(yīng)的開關(guān)閉合時(shí),相應(yīng)的燈亮,#includesbitLED0=P10;sbitLED1=P11;sbitLED2=P12;sbitLED3=P13;sbitK0=P14;sbitK1=P15;sbitK2=P16;sbitK3=P17;,voidmain()while(1)K0=1;K1=1;K2=1;K3=1;LED0=K0;LED1=K1;LED2=K2;LED3=K3;,思考:為什么在讀鍵狀態(tài)之前要先置1?修改:(1)開關(guān)閉合時(shí)燈滅。(2)K0控制LED3,K1控制LED2,K2控制LED1,K3控制LED0。,4.3.2單個(gè)按鈕開關(guān)型輸入信號(hào),【例4-8】按鈕開關(guān)。編程實(shí)現(xiàn)S1按鈕按一下,4個(gè)燈一組亮、滅交替。,【例4-9】開始是所有的燈都亮,按一下S1,燈變?yōu)?00ms閃爍,再按一下,變?yōu)槿痢?分析:相當(dāng)于S1為一個(gè)控制開關(guān),控制著等的亮、滅閃爍注意和例題4-8的不同。定義一個(gè)位單元,按鍵每動(dòng)作一次,該位單元取反:該單元為0時(shí),燈全亮,該單元為1時(shí),燈閃爍。,4.3.3多個(gè)按鈕型開關(guān)輸入信號(hào)鍵盤(獨(dú)立、矩陣),1.鍵號(hào)、鍵值、鍵值表2.獨(dú)立式鍵盤接口技術(shù),【例4-10】P1口作為獨(dú)立式按鍵接口示例。編程顯示按鍵的鍵號(hào)07。,擴(kuò)展與修改:兩個(gè)輸入按鍵(如P1.6、P1.7)一個(gè)為“+1”鍵,一個(gè)為“-1”鍵,開始顯示器顯示“5”,然后根據(jù)按鍵顯示后面的內(nèi)容。,2.矩陣鍵盤接口,(1)硬件:行輸出口、列輸入口,(2)軟件:,判斷整個(gè)鍵盤是否有鍵按下判斷被按鍵的具體位置計(jì)算被按鍵的鍵值,以確定要完成的功能。,【例4-11】P1口作為44矩陣鍵盤接口示例。編程顯示按鍵的號(hào)碼0F。,當(dāng)按鍵的數(shù)量比較多時(shí),一種通用的算法是:將行的信息轉(zhuǎn)變?yōu)樾刑?hào)(在00001111之間),將列的信息轉(zhuǎn)變?yōu)榱刑?hào)(在00001111之間),這樣就可以將行號(hào)作為高4位(或低4位),列號(hào)作為低4位(或高4位),二者組成一個(gè)字節(jié)。,4.4實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)1閘刀型開關(guān)輸入/8段LED靜態(tài)顯示輸出,實(shí)驗(yàn)2按鈕型開關(guān)輸入/8段LED靜態(tài)顯示輸出,設(shè)計(jì)1計(jì)時(shí)秒表的設(shè)計(jì),(1)兩位LED顯示,可以顯示0099秒;(2)兩個(gè)按鍵,分別為啟動(dòng)/停止鍵、清零鍵。要求:設(shè)計(jì)硬件電路,編寫出軟件程序(延時(shí)由軟件形成)。,設(shè)計(jì)2模擬交通信號(hào)燈控制裝置的設(shè)計(jì),(1)6個(gè)發(fā)光二極管模擬交通燈南北:黃、紅、綠;東西:黃、紅、綠。(2)2個(gè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論