第4章并行IO口編程_第1頁
第4章并行IO口編程_第2頁
第4章并行IO口編程_第3頁
第4章并行IO口編程_第4頁
第4章并行IO口編程_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-1 1 1頁頁頁電子教案第第4 4章章 并行并行I/OI/O端口的端口的C51C51編程編程C51的的并行并行I/O口結(jié)構(gòu)口結(jié)構(gòu)4.1C51的的并行并行I/O口編程口編程4.2LED數(shù)碼管原理與編程數(shù)碼管原理與編程4.3數(shù)碼管動態(tài)顯示原理與編程數(shù)碼管動態(tài)顯示原理與編程4.4行列式鍵盤原理與編程行列式鍵盤原理與編程4.54.62單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-2 2 2頁頁頁電子教案4.1 AT89S51的并行的并行I/O端口的結(jié)構(gòu)及工作原理端口的結(jié)構(gòu)及工作原

2、理3單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-3 3 3頁頁頁電子教案(2)P0口用作通用口用作通用I/O口口(3)P0口的特點口的特點4單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-4 4 4頁頁頁電子教案5單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-5 5 5頁頁頁電子教案56單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-6 6 6頁頁頁電子教案(a)不恰當?shù)倪B接:高電平驅(qū)動 (b)恰當?shù)倪B接:低電平驅(qū)動發(fā)光二極管與AT89S51并行

3、口的直接連接7單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-7 7 7頁頁頁電子教案78單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-8 8 8頁頁頁電子教案輸出單元: 發(fā)光二極管(Light Emitting Diode )基本輸出元件 低電平驅(qū)動限流電阻R = 1001k高電平驅(qū)動灌電流拉電流基本輸入輸出單元基本輸入輸出單元9單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-9 9 9頁頁頁電子教案輸入單元:輸入單元: 按鈕(Button)或開關(guān)(Switch) 基本輸入元件輸入元

4、件 P0口為漏極開路結(jié)構(gòu)需要外接上拉電阻當按鍵未按下壓時,Px.n端口為高電平;按壓按鍵后為低電平。10單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-101010頁頁頁電子教案104.2 并行I/O端口的C51編程舉例11單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-111111頁頁頁電子教案8個發(fā)光二極管與并行口個發(fā)光二極管與并行口P2的連接的連接12單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-121212頁頁頁電子教案8個發(fā)光二極管與并行口個發(fā)光二極管與并行口P2的連接的連接

5、13單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-131313頁頁頁電子教案實例實例2 獨立按鍵識別【要求】采用獨立按鍵方式實現(xiàn)下述功能:開機時LED全熄,然后根據(jù)按鍵動作使相應燈亮,并將亮燈狀態(tài)保持到按壓其它鍵時為止。獨立按鍵獨立按鍵每個按鍵都彼此獨立地各占有一位I/O口線。特點是電路簡單,但占用I/O口線較多。14單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-141414頁頁頁電子教案 按鍵的閉合電平為0, 但LED的驅(qū)動電平為1,故不能直接將P0口的狀態(tài)送到P1口,而應使其先取反再送出; 為使按鍵抬起后LED能保

6、持先前的點亮狀態(tài),需要在按鍵未壓下期間禁止向P2輸出P0狀態(tài)值?!痉治觥?5單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-151515頁頁頁電子教案參考程序如下:參考程序如下: “取反取反”操作的優(yōu)先操作的優(yōu)先級高于級高于“與與”操作操作void main( ) char key = 0; /定義按鍵變量 P2=0; /初始狀態(tài)為燈全滅 while(1) key = P0 & 0 x0f; /讀取按鍵狀態(tài),高4位清零 if (key != 0) P2 = key; /有按鍵動作時,P0狀態(tài)值送P2 16單片機原理及應用單片機原理及應用山東交通學院信息科學與

7、電氣工程學院第第第1-1-1-161616頁頁頁電子教案編程界面和運行界面分別如下圖編程界面和運行界面分別如下圖 17單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-171717頁頁頁電子教案實例1X運行效果18單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-181818頁頁頁電子教案實例實例2 鍵控流水燈 【要求】 K1為“啟動鍵啟動鍵”,首次按壓K1可產(chǎn)生“自下向上” 的流水燈運動; K2 為“停止鍵停止鍵”,按壓K2可終止流水燈的運動; K3和K4為“方向鍵方向鍵”,分別產(chǎn)生 “自上向下”和 “自下向上” 運動。K1

8、K2K3K419單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-191919頁頁頁電子教案思路分析思路分析:根據(jù)鍵值修改標志位,根據(jù)標志位控制燈狀態(tài)總體關(guān)系流程圖20單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-202020頁頁頁電子教案鍵值:按壓K1xxxx 1110B按壓K2xxxx 1101B按壓K3xxxx 1011B 按壓K4xxxx 0111B無按鍵 xxxx 1111B按鍵動作判斷(P0 & 0 x0f)是否等于 0 x0f?若是,說明無按鍵動作,反之則有按鍵動作。 0 x0e 0 x0d 0 x0b 0

9、x07 0 x0f獲取按鍵狀態(tài)獲取按鍵狀態(tài)21單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-212121頁頁頁電子教案修改方向和啟停標志值修改方向和啟停標志值22單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-222222頁頁頁電子教案亮燈亮燈P2輸出碼輸出碼:xxxx 0001xxxx 0010 xxxx 0100 xxxx 1000D1D4循環(huán)方向控制循環(huán)方向控制 char led = 0 x01,0 x02,0 x04,0 x08;for (i=0; i=0; i- ) P2 = led i; /移動23單片機原理

10、及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-232323頁頁頁電子教案24單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-242424頁頁頁電子教案實例2原理圖與程序界面圖25單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-252525頁頁頁電子教案程序運行效果26單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-262626頁頁頁電子教案4.3 LED數(shù)碼管原理與編程數(shù)碼管原理與編程 LED顯示元件人機交互輸出設(shè)備,其作用是指示中間運行結(jié)果與運行狀態(tài)。點式點

11、式字段式字段式LED光柱式光柱式LED 的的類型類型27單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-272727頁頁頁電子教案com為公共端 共陽極LED共陰極LED引腳配置七段式LED顯示器(7-Segment Display)28單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-282828頁頁頁電子教案不同顯示字符顯示字符采需用不同LED組合關(guān)系實現(xiàn)(顯示碼,字模顯示碼,字模)以共陰極共陰極為例,部分字符的顯示碼(字模)為:七段LED數(shù)碼管的標準顯示字符標準顯示字符為09,AF顯示字符顯示字符顯示碼(共陰)顯示碼(

12、共陰)其它字符:0011 1000B = 0 x38“L”字符的顯示碼“H”字符的顯示碼0111 0110B = 0 x7629單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-292929頁頁頁電子教案實例實例4 LED數(shù)碼管顯示在P0口連接一個共陰極數(shù)碼管,使之循環(huán)顯示09數(shù)字。30單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-303030頁頁頁電子教案分析:分析:將顯示碼循環(huán)輸出到P0口即可實現(xiàn)循環(huán)顯示。但由于數(shù)字09的顯示段碼沒有規(guī)律可循,需要采取查表方式查表方式進行操作:循環(huán)10次 ?N 延時循環(huán)指針i 賦值(1

13、0)P0 數(shù)組i Y將顯示碼按序按序存放在一個數(shù)組中, 順序號與代表的顯示順序號與代表的顯示字符相對應。字符相對應。(如,char led_mod =x1,x2,.,xn)通過循環(huán)變量指定待送出的數(shù)組元素31單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-313131頁頁頁電子教案參考程序參考程序 32單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-323232頁頁頁電子教案運行結(jié)果運行結(jié)果33單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-333333頁頁頁電子教案實例實例5 計數(shù)顯示

14、器統(tǒng)計按鍵次數(shù)并以十進制形式顯示,按鍵次數(shù)大于99后重新由0開始計數(shù)。 個位LED接P2口,十位LED接P0口(共陰型)按鈕接P3.7口線,按壓時為0電平34單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-343434頁頁頁電子教案編程分析:編程分析:問題:按鍵壓下時可能被連續(xù)計數(shù)35單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-353535頁頁頁電子教案如何避免連續(xù)計數(shù)?36單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-363636頁頁頁電子教案初始化: P2 = P0 = tab

15、le0;解決辦法: 取模運算(%10)個位 整除10運算(/10)十位P2 = tablecount%10;P 0 = tablecount/10;顯示輸出:如何將計數(shù)值拆成兩個獨立的數(shù)?37單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-373737頁頁頁電子教案參考程序參考程序 38單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-383838頁頁頁電子教案程序運行效果 39單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-393939頁頁頁電子教案4.4 數(shù)碼管動態(tài)顯示原理與編程數(shù)碼管

16、動態(tài)顯示原理與編程 兩種顯示接口:靜態(tài)顯示接口和動態(tài)顯示接口靜態(tài)顯示接口靜態(tài)顯示接口:一個數(shù)碼管的引腳獨立占據(jù)一根I/O口線。優(yōu)點優(yōu)點:被顯示數(shù)據(jù)只要送入并行口后就不再需要CPU干預,因而顯示效果穩(wěn)定。缺點缺點:占用資源較多 40單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-404040頁頁頁電子教案動態(tài)顯示接口動態(tài)顯示接口:所有數(shù)碼管的段碼線對應并聯(lián)段碼線對應并聯(lián)接在一個并行口上,而每位數(shù)碼管的公共端分別由一位I/O線控制;由并口輸出的顯示碼可被所有數(shù)碼管收到,但只有滿足導通條件的數(shù)碼管可以被驅(qū)動。 41單片機原理及應用單片機原理及應用山東交通學院信息科

17、學與電氣工程學院第第第1-1-1-414141頁頁頁電子教案工作原理工作原理:采用快速切換方式(如10ms),每一時刻只有一只數(shù)碼管導通工作。利用視力暫留特性,可獲得連續(xù)顯示效果。優(yōu)點優(yōu)點:占用資源較少缺點缺點:占用機時較多(需要CPU隨時刷新顯示值) 42單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-424242頁頁頁電子教案實例實例6 數(shù)碼管動態(tài)顯示采用共陰極共陰極動態(tài)LED顯示原理,實現(xiàn)如下功能:SW1向下?lián)軙r顯示字符“L2”,向上撥時顯示字符“H3”。 43單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-4343

18、43頁頁頁電子教案分析分析:Proteus中的雙聯(lián)LED數(shù)碼管相當于兩個并聯(lián)的數(shù)碼管。7SEG-MPX2-CC-BLUEBlue,2 Digit,7-segment Cathode Display44單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-444444頁頁頁電子教案A-G “0 x38”, 1#“0”,2# “1”A-G “0 x5b”, 1#“1”,2# “0”P2led_mode0, P3 xxxx xx10B =2P2led_mode1, P3 xxxx xx01B =1led_mode =0 x38,0 x5bled_point=0P2=le

19、d_modeled_pointled_point=1-led_pointP3 =2 - led_point45單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-454545頁頁頁電子教案如果不考慮開關(guān)switch,動態(tài)顯示“L2”的程序可以如下:;/LED “指針”/顯示字模led_point=0P2=led_modeled_pointled_point=1-led_pointP3 =2 - led_point46單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-464646頁頁頁電子教案A-G “0 x76”, 1#“0”,

20、2# “1”A-G “0 x4f”, 1#“1”,2# “0”字符數(shù)組 led_mode =0 x38,0 x5b,0 x76,0 x4f開關(guān)狀態(tài)變量 switch_sta復合指針變量 led_point + switch_staled_point=0P2=led_modeled_point +switch_staled_point=1-led_pointP3 =2 - led_pointswitch_sta=0,247單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-474747頁頁頁電子教案完整的主函數(shù) #include char led_mod = 0

21、x38,0 x5B,0 x76,0 x4F;void delay(unsigned int time);sbit P17=P17;void main() char led_point = 0, switch_sta = 0; while (1) if (P17 = 1) switch_sta = 2;else switch_sta = 0; P3 = 2 - led_point; P2= led_modswitch_sta+led_point; led_point = 1 - led_point;delay(30);led_point=0P2=led_modeled_point +switch

22、_staled_point=1-led_pointP3 =2 - led_pointswitch_sta=0,248單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-484848頁頁頁電子教案編程界面 49單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-494949頁頁頁電子教案運行效果圖運行效果圖 50單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-505050頁頁頁電子教案4.5 行列式鍵盤原理與編程行列式鍵盤原理與編程 獨立式鍵盤的電路簡單,易于編程,但占用的I/O口線較多,當需要較

23、多按鍵時可能產(chǎn)生I/O資源緊張問題。獨立式鍵盤電路獨立式鍵盤電路51單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-515151頁頁頁電子教案步驟:步驟:判有無鍵按下、判按下哪個鍵判有無鍵按下、判按下哪個鍵 、依鍵號進入相應程序、依鍵號進入相應程序 52單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-525252頁頁頁電子教案 判有無鍵按下判有無鍵按下 行線接輸入口,列線接輸出口。行線接輸入口,列線接輸出口。置所有列線為低電平,然后讀行置所有列線為低電平,然后讀行線狀態(tài),若行線均為高電平,則線狀態(tài),若行線均為高電平,則沒有

24、鍵按下;若行線狀態(tài)不全為沒有鍵按下;若行線狀態(tài)不全為高電平,則可斷定有鍵按下。高電平,則可斷定有鍵按下。 判按下哪個鍵判按下哪個鍵先讓先讓C0C0列為低電平,其余列線為列為低電平,其余列線為高電平,讀行線狀態(tài),如行線狀高電平,讀行線狀態(tài),如行線狀態(tài)不全為態(tài)不全為“1”1”,則說明所按鍵,則說明所按鍵在該列;否則所按鍵不在該列,在該列;否則所按鍵不在該列,再使再使C1C1列線為低電平,其它列為列線為低電平,其它列為高電平,判斷高電平,判斷C1C1列有無按鍵按下。列有無按鍵按下。 進入相應程序進入相應程序 鍵號鍵號 = = 行首號行首號+ +列號。列號。 根據(jù)鍵號進入相應的功能程序。根據(jù)鍵號進入相

25、應的功能程序。 (程序略) 53單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-535353頁頁頁電子教案行列式鍵盤行列式鍵盤將I/O口分為行線和列線,按鍵跨接在行線和列線上,列線通過上拉電阻接正電源。 44行列行列式鍵盤式鍵盤7407六高壓輸出緩沖器/驅(qū)動器行列式鍵盤的特點行列式鍵盤的特點:占用I/O口線少,但軟件過程復雜。54單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-545454頁頁頁電子教案 鍵盤掃描鍵盤掃描 同時將各行電平置同時將各行電平置1,分別將各列電平置,分別將各列電平置0。掃描碼:key_scan =

26、 0 xef, 0 xdf, 0 xbf, 0 x7f;寫P3: P3=key_scani;鍵盤掃描原理鍵盤掃描原理(以P3口接44鍵盤為例)第一次 1110 1111B 第二次 1101 1111B第三次 1011 1111B第四次 0111 1111B= 0 xef= 0 xdf= 0 xbf= 0 x7f55單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-555555頁頁頁電子教案 (P3 & 0 x0f) = 0 x0f 無鍵壓下 (P3 & 0 x0f)0 x0f 有鍵壓下 按鍵閉合狀態(tài)判斷按鍵閉合狀態(tài)判斷0#: 1110 1110B0 xee 1#: 1101 1110B0 xdeF#: 0111 0111B0 x77 按鍵閉合前后,所在行線端口電平反轉(zhuǎn);讀P3后,若發(fā)現(xiàn)其低4位為f,說明無鍵壓下;反之則相反。鍵值鍵值按鍵閉合時從引腳讀出的數(shù)值。56單片機原理及應用單片機原理及應用山東交通學院信息科學與電氣工程學院第第第1-1-1-565656頁頁頁電子教案 查找閉合鍵鍵號查找閉合鍵鍵號for (j = 0 ; j 16 ;j+) if (P3= key_buf j) return j; 鍵值數(shù)組key_buf = 0 xee, 0 xde, 0 xbe, 0 x7e, 0 xed, 0 xdd, 0 xbd, 0

溫馨提示

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

評論

0/150

提交評論