版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用第第2章章 MCS51單片機(jī)內(nèi)部并行口及運用單片機(jī)內(nèi)部并行口及運用2.1 MCS-51 單片機(jī)并行口構(gòu)造單片機(jī)并行口構(gòu)造2.2 MCS-51 單片機(jī)并行口運用單片機(jī)并行口運用2.3 七段七段LED顯示器接口顯示器接口2.4 鍵盤接口鍵盤接口 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.1 MCS-51單片機(jī)并行口構(gòu)造單片機(jī)并行口構(gòu)造 1.1.1 P0口構(gòu)造 1.1.2 P1口構(gòu)造 1.1.3 P2口構(gòu)造 1.1.4 P3口構(gòu)造第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.1.1 P0口構(gòu)造口構(gòu)造DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制
2、信號DB0.0地址地址/數(shù)據(jù)控制線數(shù)據(jù)控制線+5VP0.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器作用作用:1、外擴(kuò)芯片時,、外擴(kuò)芯片時,P0口不再做口不再做I/O口運用,而是先傳送地址,后傳送數(shù)據(jù)??谶\用,而是先傳送地址,后傳送數(shù)據(jù)。2、沒有外擴(kuò)芯片時,、沒有外擴(kuò)芯片時,P0口可以直接作為輸入口或輸出口運用??诳梢灾苯幼鳛檩斎肟诨蜉敵隹谶\用。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用P0口直接做輸出口時,輸出信息的過程:口直接做輸出口時,輸出信息的過程:將將0送到送到P0.0的過程的過程)DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址地址/數(shù)據(jù)控制線數(shù)據(jù)控制線+5VP0.0轉(zhuǎn)換開
3、關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器00010留意留意: P0口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P00-P07上。由于上管上。由于上管一直截止,而當(dāng)下管也截止時,一直截止,而當(dāng)下管也截止時,P00P07被架空,沒有規(guī)范的高電平,所被架空,沒有規(guī)范的高電平,所以以P0口作輸出口運用時,必需外接上拉電阻。口作輸出口運用時,必需外接上拉電阻。 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用P0口直接做輸入口時,輸入信息的過程:口直接做輸入口時,輸入信息的過程:將將P0.0處的處的1送入送入DB0.0的過程的過程)DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地
4、址地址/數(shù)據(jù)控制線數(shù)據(jù)控制線+5VP0.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器001留意留意: 1、P0口作輸入口時,口作輸入口時,P00P07上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否那么總是讀到,否那么總是讀到0。2、CPU對對P0口的讀操作有口的讀操作有2種:讀引腳和讀種:讀引腳和讀改改寫鎖存器。寫鎖存器。 1當(dāng)當(dāng)CPU執(zhí)行執(zhí)行 MOV A,P0或或 JB/JNB P0.x,標(biāo)號,標(biāo)號 時,產(chǎn)生讀引腳控制信號,時,產(chǎn)生讀引腳控制信號,此時讀的是引腳的形狀此時讀的是引腳的形狀 。當(dāng)當(dāng)CPU執(zhí)行讀執(zhí)行讀改
5、改寫指令以端口為寫指令以端口為目的操作數(shù)的目的操作數(shù)的ANL、ORL、XRL、DEC、INC SETB、CLR等時,產(chǎn)生等時,產(chǎn)生讀鎖存信號,此時是先讀鎖存器的形狀,讀鎖存信號,此時是先讀鎖存器的形狀,在修正之后,送回鎖存器保管。在修正之后,送回鎖存器保管。 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.1.2 P1口構(gòu)造口構(gòu)造DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP1.0鎖存器鎖存器作用作用:P1口只能可以直接作為輸入口或輸出口運用??谥荒芸梢灾苯幼鳛檩斎肟诨蜉敵隹谶\用。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號
6、寫控制信號DB0.0+5VP1.0鎖存器鎖存器P1口直接做輸出口時,輸出信息的過程:口直接做輸出口時,輸出信息的過程:將將1送到送到P1.0的過程的過程)1001留意:留意:P1口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P10-P17上。上。由于內(nèi)部有上拉電阻,所以由于內(nèi)部有上拉電阻,所以P1口作輸出口運用時,不用外接上拉電阻??谧鬏敵隹谶\用時,不用外接上拉電阻。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP1.0鎖存器鎖存器P1口直接做輸入口時,輸入信息的過程:口直接做輸入口時,輸入信息的過程
7、: 將將P1.0處的處的0送入送入DB0.0的過程的過程)00留意留意: 1、P1口作輸入口時,口作輸入口時,P10P17上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否那么總是讀到,否那么總是讀到0。2、CPU對對P1口的讀操作有口的讀操作有2種:讀引腳和讀種:讀引腳和讀改改寫鎖存器。寫鎖存器。 當(dāng)當(dāng)CPU執(zhí)行執(zhí)行 MOV A,P1或或 JB/JNB P1.x,標(biāo)號,標(biāo)號 時,產(chǎn)生讀引腳控制信號,時,產(chǎn)生讀引腳控制信號,此時讀的是引腳的形狀此時讀的是引腳的形狀 。當(dāng)當(dāng)CPU執(zhí)行讀執(zhí)行讀改改寫指令以端口為
8、目寫指令以端口為目的操作數(shù)的的操作數(shù)的ANL、ORL、XRL、DEC、INC 、SETB、CLR等時,產(chǎn)生讀鎖存等時,產(chǎn)生讀鎖存信號,此時是先讀鎖存器的形狀,在修正信號,此時是先讀鎖存器的形狀,在修正之后,送回鎖存器保管。之后,送回鎖存器保管。 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.1.3 P2口構(gòu)造口構(gòu)造DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址控制線地址控制線+5VP2.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器作用作用:1、外擴(kuò)芯片時,、外擴(kuò)芯片時,P2口不再做口不再做I/O口運用,而是傳送高口運用,而是傳送高8位地址。位地址。2、沒有外擴(kuò)芯片時,、沒有外擴(kuò)芯片時
9、,P2口可以直接作為輸入口或輸出口運用??诳梢灾苯幼鳛檩斎肟诨蜉敵隹谶\用。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址控制線地址控制線+5VP2.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器P2口直接做輸出口時,輸出信息的過程:口直接做輸出口時,輸出信息的過程:將將0送到送到P2.0的過程的過程)00010留意:留意:P2口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P20-P27上。上。由于內(nèi)部有上拉電阻,所以由于內(nèi)部有上拉電阻,所以P2口作輸出口運用時,不用外接上拉電阻??谧鬏敵隹谶\用時,不用外接上拉電阻。第2
10、章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址控制線地址控制線+5VP2.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器P2口直接做輸入口時,輸入信息的過程:口直接做輸入口時,輸入信息的過程:將將P2.0處的處的0送入送入DB0.0的過程的過程)000留意留意: 1、P2口作輸入口時,口作輸入口時,P20P27上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否那么總是讀到,否那么總是讀到0。2、CPU對對P2口的讀操作有口的讀操作有2種:讀引腳和讀種:讀引腳和讀
11、改改寫鎖存器。寫鎖存器。 當(dāng)當(dāng)CPU執(zhí)行執(zhí)行 MOV A,P2或或 JB/JNB P2.x,標(biāo)號,標(biāo)號 時,產(chǎn)生讀引腳控制信號,時,產(chǎn)生讀引腳控制信號,此時讀的是引腳的形狀此時讀的是引腳的形狀 。當(dāng)當(dāng)CPU執(zhí)行讀執(zhí)行讀改改寫指令以端口為目寫指令以端口為目的操作數(shù)的的操作數(shù)的ANL、ORL、XRL、DEC、INC 、SETB、CLR等時,產(chǎn)生讀鎖存等時,產(chǎn)生讀鎖存信號,此時是先讀鎖存器的形狀,在修正信號,此時是先讀鎖存器的形狀,在修正之后,送回鎖存器保管。之后,送回鎖存器保管。 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.1.4 P3口構(gòu)造口構(gòu)造DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫
12、控制信號DB0.0+5VP3.0鎖存器鎖存器第二功能輸出第二功能輸出第二功能輸入第二功能輸入作用作用:1、P3口可以直接作為輸入口或輸出口運用??诳梢灾苯幼鳛檩斎肟诨蜉敵隹谶\用。2、P3口的引腳又具有第二功能??诘囊_又具有第二功能。1 當(dāng)運用單片機(jī)內(nèi)部串行口時,假設(shè)CPU執(zhí)行MOV A,SBUF指令,那么P3.0(RXD)作為接納信號線,接納由外界串行輸入的數(shù)據(jù);假設(shè)CPU執(zhí)行MOV SBUF,A指令,那么P3.1(TXD)作為發(fā)送信號線,串行發(fā)送數(shù)據(jù)至外界。 2當(dāng)單片機(jī)運用外中斷時,P3.2INT0作為外中斷0的中斷懇求輸入線,3.3(INT1) 作為外中斷1的中斷懇求輸入線。3當(dāng)單片機(jī)運
13、用定時器,且定時器任務(wù)于計數(shù)方式時,P3.4T0作為定時器0的計數(shù)脈沖輸入線,P3.5(T1)作為定時器1的計數(shù)脈沖輸入線。4當(dāng)單片機(jī)外擴(kuò)RAM或I/O接口芯片時,P3.6WR作為RAM或I/O接口芯片的寫控制信號,P3.7(RD)作為RAM或I/O接口芯片的讀控制信號。 當(dāng)P3口的一些引腳沒有作為第二功能運用時,這些引腳就被釋放,直接作為I/O口線運用。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP3.0鎖存器鎖存器第二功能輸出第二功能輸出第二功能輸入第二功能輸入P3口直接做輸出口時,輸出信息的過程:口直接做輸出口時,輸出
14、信息的過程:將將1送到送到P3.0的過程的過程)1001留意:留意:P3口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P30-P37上。上。由于內(nèi)部有上拉電阻,所以由于內(nèi)部有上拉電阻,所以P2口作輸出口運用時,不用外接上拉電阻??谧鬏敵隹谶\用時,不用外接上拉電阻。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP3.0鎖存器鎖存器第二功能輸出第二功能輸出第二功能輸入第二功能輸入0P3口直接做輸入口時,輸入信息的過程:口直接做輸入口時,輸入信息的過程:將將P3.0處的處的0送入送入DB0.0的過程的過程)
15、0留意留意: 1、P3口作輸入口時,口作輸入口時,P30P37上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否那么總是讀到,否那么總是讀到0。2、CPU對對P3口的讀操作有口的讀操作有2種:讀引腳和讀種:讀引腳和讀改改寫鎖存器。寫鎖存器。 當(dāng)當(dāng)CPU執(zhí)行執(zhí)行 MOV A,P3或或 JB/JNB P3.x,標(biāo)號,標(biāo)號 時,產(chǎn)生讀引腳控制信號,時,產(chǎn)生讀引腳控制信號,此時讀的是引腳的形狀此時讀的是引腳的形狀 。當(dāng)當(dāng)CPU執(zhí)行讀執(zhí)行讀改改寫指令以端口為目寫指令以端口為目的操作數(shù)的的操作數(shù)的ANL、ORL、XRL
16、、DEC、INC 、SETB、CLR等時,產(chǎn)生讀鎖存等時,產(chǎn)生讀鎖存信號,此時是先讀鎖存器的形狀,在修正信號,此時是先讀鎖存器的形狀,在修正之后,送回鎖存器保管。之后,送回鎖存器保管。 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.2 MCS-51單片機(jī)并行口的運用單片機(jī)并行口的運用 1.2.1 直接做輸出口 1.2.2 直接做輸入口 在沒有外擴(kuò)任何芯片時,MCS-51單片機(jī)內(nèi)部并行口可以作為輸出口,直接與輸出外設(shè)銜接,常用的輸出外設(shè)是發(fā)光二極管; MCS-51單片機(jī)內(nèi)部并行口也可以作為輸入口,直接與輸入外設(shè)銜接,常用的輸入外設(shè)是開關(guān)。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用 1.2.1
17、 直接做輸出口P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51+5V電阻的作用是當(dāng)流過發(fā)光二極管的電流過大時,它就會被燒壞。這個電阻可以限制流過發(fā)光二極管的電流,因此這個電阻叫作限流電阻。限流電阻阻值的計算方法如下: R=(5-1.75)/Id ;Id 是流過發(fā)光二極管的電流,普通從8mA到20mA,其值越大,發(fā)光二極管越亮,但不能太大,當(dāng)流過發(fā)光二極管的電流超越20mA時,容易燒壞發(fā)光二極管。例例1:用:用89C51的的P1口驅(qū)動口驅(qū)動8個發(fā)光二極管,使個發(fā)光二極管,使8個發(fā)光二極管由左向右輪個發(fā)光二極管由左向右輪番點亮。試畫出銜接圖,編制驅(qū)動程序。番點亮。試畫出銜
18、接圖,編制驅(qū)動程序。解:解:1、畫電路圖、畫電路圖2、編程、編程 mov a,#0feh up: mov p1,a lcall delay rl a sjmp updelay1: mov r7,#2delay11: mov r6,#250 djnz r6,$ djnz r7,delay11 ret第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用例例1:用:用89C51的的P1口驅(qū)動口驅(qū)動8個發(fā)光二極管,使個發(fā)光二極管,使8個發(fā)光二極管由左向右輪個發(fā)光二極管由左向右輪番點亮。試畫出銜接圖,編制驅(qū)動程序。番點亮。試畫出銜接圖,編制驅(qū)動程序。思索:思索: 假設(shè)用假設(shè)用P0口驅(qū)動發(fā)光二極管,那么如何修正?
19、口驅(qū)動發(fā)光二極管,那么如何修正? 假設(shè)使假設(shè)使8個發(fā)光二極管由右向左輪番點亮,那么如何修正?個發(fā)光二極管由右向左輪番點亮,那么如何修正? 假設(shè)使假設(shè)使8個發(fā)光二極管閃亮,那么如何修正?個發(fā)光二極管閃亮,那么如何修正? 假設(shè)使假設(shè)使8個發(fā)光二極管由內(nèi)向外輪番點亮,那么如何修正?個發(fā)光二極管由內(nèi)向外輪番點亮,那么如何修正? 假設(shè)使假設(shè)使8個發(fā)光二極管由右向左依次點亮,那么如何修正?個發(fā)光二極管由右向左依次點亮,那么如何修正? 假設(shè)使延時時間延伸或縮短,會出現(xiàn)什么景象?假設(shè)使延時時間延伸或縮短,會出現(xiàn)什么景象?預(yù)習(xí)實驗并思索:預(yù)習(xí)實驗并思索:熟習(xí)實驗板上與發(fā)光二極管有關(guān)的電路。熟習(xí)實驗板上與發(fā)光二極
20、管有關(guān)的電路。編制驅(qū)動程序,實現(xiàn)如下操作:編制驅(qū)動程序,實現(xiàn)如下操作: 由左向右輪番點亮由左向右輪番點亮 由外向里輪番點亮由外向里輪番點亮 由右向左依次點亮由右向左依次點亮 閃亮閃亮P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51+5V第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用 1.2.1 直接做輸出口P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51+5V例例2:用:用8051的的P1口驅(qū)動口驅(qū)動1個數(shù)碼管,制成個數(shù)碼管,制成1位秒表位秒表.試畫出銜接圖,編制驅(qū)動程序。試畫出銜接圖,編制驅(qū)動程序。 解:解:1、畫電路圖、畫電路圖2、編程、編
21、程abcdefgDpabcdefgDpUP0: MOV R7,#10 MOV R2,#00H MOV DPTR,#TAB UP: MOV A,R2 MOVC A,A+DPTR MOV P1 , A LCALL D1S INC R2 DJNZ R7,UP SJMP UP0TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用例例2:用:用8051的的P1口驅(qū)動口驅(qū)動1個數(shù)碼管,制成個數(shù)碼管,制成1位秒表位秒表.試畫出銜接圖,編制驅(qū)試畫出銜接圖,編制驅(qū)動程序。動程序。思索:思索: 假設(shè)用假設(shè)用P2口驅(qū)動發(fā)
22、光二極管,公共端接口驅(qū)動發(fā)光二極管,公共端接P3.0,那么如何修正?,那么如何修正? 假設(shè)制成假設(shè)制成0.1S的表,那么如何修正?的表,那么如何修正?P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.789C51P3.0abcdefgDp CLR P3.0UP0: MOV R7,#10 MOV R2,#00H MOV DPTR,#TAB UP: MOV A,R2 MOVC A,A+DPTR MOV P2 , A LCALL D1S INC R2 DJNZ R7,UP SJMP UP0TAB: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H,80
23、H,98H第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用 1.2.2 直接做輸入口P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51+5V例例1:用:用89C51的的P1口傳送口傳送8個開關(guān)形狀,用個開關(guān)形狀,用P2口顯示口顯示8個開關(guān)個開關(guān)形狀,假設(shè)開關(guān)合那么對應(yīng)燈亮,試畫出銜接圖,編制驅(qū)動程形狀,假設(shè)開關(guān)合那么對應(yīng)燈亮,試畫出銜接圖,編制驅(qū)動程序。序。解:解:1、畫電路圖、畫電路圖MOV P1,#0FFHUP:MOV A,P1 MOV P2,A SJMP UPP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7+5V開關(guān)處的電阻稱為上拉電阻,它的作用是當(dāng)開
24、關(guān)斷開時,使P3口的電壓上拉為準(zhǔn)確的高電平,防止懸空形狀。 2、編程、編程強(qiáng)調(diào):強(qiáng)調(diào):8051內(nèi)部并行口內(nèi)部并行口直接作為輸入口時,直接作為輸入口時,必需先將口鎖存器必需先將口鎖存器置置1。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51MOV P1,#0FFHUP:MOV A,P1 CPL A MOV P2,A SJMP UPP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7+5V思索:假設(shè)將發(fā)光二極管反接,那么如何修正程序?思索:假設(shè)將發(fā)光二極管反接,那么如何修正程序? 第2章 MCS-51單片機(jī)內(nèi)部并行口
25、及其應(yīng)用 1.2.2 直接做輸入口89C51+5V例例2:用:用8051的的P1口驅(qū)動口驅(qū)動8個發(fā)光二極管,個發(fā)光二極管,P3.4接一個開關(guān)接一個開關(guān)K1,當(dāng)開關(guān)按下,當(dāng)開關(guān)按下時,時,8個發(fā)光二極管由左向右輪番點亮;開關(guān)斷開時,個發(fā)光二極管由左向右輪番點亮;開關(guān)斷開時,8個發(fā)光二極管不亮。個發(fā)光二極管不亮。試畫出銜接圖,編制驅(qū)動程序。試畫出銜接圖,編制驅(qū)動程序。 解:解:1、畫電路圖、畫電路圖P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.72、編程、編程+5VP3.4 mov p3,#0ffh up0: mov a,#0feh up1: jb p3.4,up1 mov p1,
26、a lcall delay1 rl a sjmp up1 delay1: mov r7,#2 delay11: mov r6,#250 djnz r6,$ djnz r7,delay11 ret 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用例例2:用:用8051的的P1口驅(qū)動口驅(qū)動8個發(fā)光二極管,個發(fā)光二極管,P3.4接一個開關(guān)接一個開關(guān)K1,當(dāng)開關(guān)按下時,當(dāng)開關(guān)按下時,8個發(fā)光二極管由左向右輪番點亮;開關(guān)斷開時,個發(fā)光二極管由左向右輪番點亮;開關(guān)斷開時,8個發(fā)光二極管不亮。試畫出個發(fā)光二極管不亮。試畫出銜接圖,編制驅(qū)動程序。銜接圖,編制驅(qū)動程序。思索:思索: 在上述程序中,開關(guān)必需不斷按著,
27、燈才干輪番點亮,當(dāng)開關(guān)斷開時,停在上述程序中,開關(guān)必需不斷按著,燈才干輪番點亮,當(dāng)開關(guān)斷開時,停留在某個燈點亮形狀。假設(shè)當(dāng)開關(guān)斷開時,燈全滅,如何修正程序?留在某個燈點亮形狀。假設(shè)當(dāng)開關(guān)斷開時,燈全滅,如何修正程序? 假設(shè)開關(guān)作為啟動開關(guān),開關(guān)按下并抬起時,燈才開場輪番點亮,那么如假設(shè)開關(guān)作為啟動開關(guān),開關(guān)按下并抬起時,燈才開場輪番點亮,那么如何編程?何編程?預(yù)習(xí)實驗預(yù)習(xí)實驗熟習(xí)實驗板上與發(fā)光二極管和開關(guān)有關(guān)的電路。熟習(xí)實驗板上與發(fā)光二極管和開關(guān)有關(guān)的電路。編制驅(qū)動程序,實現(xiàn)如下操作:編制驅(qū)動程序,實現(xiàn)如下操作:1讀入讀入4個按鍵并使對應(yīng)的個按鍵并使對應(yīng)的LED點亮。點亮。2K1按下時,按下時
28、,LED每每2個為一組由右向左依次點亮。個為一組由右向左依次點亮。3K2按下并抬起時,按下并抬起時,LED由內(nèi)向外輪番點亮。由內(nèi)向外輪番點亮。P3.2P3.3P3.4P3.5+5V第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.3 七段七段LED顯示器接口顯示器接口 1.3.1 數(shù)碼管簡介 1.3.2 單個七段LED數(shù)碼管的接口 1.3.3 多個七段LED數(shù)碼管的接口 在單片機(jī)控制系統(tǒng)中顯示器是必不可少的外設(shè)。常用的顯示器有發(fā)光二極管,數(shù)碼管和液晶顯示器。本節(jié)引見數(shù)碼管接口。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.3.1 數(shù)碼管簡介數(shù)碼管簡介 組成:組成:LED數(shù)碼管由數(shù)碼管由7段或段
29、或8段發(fā)段發(fā)光二極管組成,在平面上排成光二極管組成,在平面上排成8字字型。型。分類:有共陰極和共陽極兩種。分類:有共陰極和共陽極兩種。COMabcdefgDpCOMabcdefgDp顯示原理:使某些段點亮而另一些段不亮就可以顯示顯示原理:使某些段點亮而另一些段不亮就可以顯示0-9,A-F等字型。等字型。使某段點亮必需具備使某段點亮必需具備2個條件:個條件:共陰極管的公共端接地和共陽極管的公共端接電源。共陰極管的公共端接地和共陽極管的公共端接電源。共陰極管的控制端接電源和共陽極管的控制端接地。共陰極管的控制端接電源和共陽極管的控制端接地。共陽極共陽極 共陰極共陰極abcdefgDp第2章 MCS
30、-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.3.2 單個七段單個七段LED數(shù)碼管的接口數(shù)碼管的接口 單個七段單個七段LED數(shù)碼管與單片機(jī)的銜接方法有數(shù)碼管與單片機(jī)的銜接方法有2種:種: 1、軟譯碼銜接法、軟譯碼銜接法 2、硬譯碼銜接法、硬譯碼銜接法abcdefgDp第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用軟譯碼銜接法軟譯碼銜接法在軟譯碼銜接法下,在軟譯碼銜接法下,LED數(shù)碼管與單片機(jī)的銜接圖數(shù)碼管與單片機(jī)的銜接圖 :abcdefgDpP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51+5VabcdefgDp1、欲使、欲使LED數(shù)碼管顯示數(shù)碼管顯示2,試編程。,試編程。 MOV
31、 P1,#01011011B留意:字形與字形碼的區(qū)別,字形是欲顯留意:字形與字形碼的區(qū)別,字形是欲顯示的數(shù)或字符的外形;字形碼是為了在數(shù)示的數(shù)或字符的外形;字形碼是為了在數(shù)碼管上顯示數(shù)或字符,碼管上顯示數(shù)或字符,CPU應(yīng)該送出的數(shù)應(yīng)該送出的數(shù)據(jù)。字形轉(zhuǎn)換成字形碼的據(jù)。字形轉(zhuǎn)換成字形碼的2種方法:軟譯碼種方法:軟譯碼法和硬譯碼法。法和硬譯碼法。2、編程讓、編程讓LED數(shù)碼管顯示數(shù)碼管顯示30H單元的內(nèi)容單元的內(nèi)容30H單元的內(nèi)容在單元的內(nèi)容在09之間。之間。 UP: MOV A,30H MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A SJMP UPTAB : DB 0C
32、0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H共陽極共陽極LED第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用硬譯碼銜接法硬譯碼銜接法在硬譯碼銜接法下,在硬譯碼銜接法下,LED數(shù)碼管與單片機(jī)的銜接圖數(shù)碼管與單片機(jī)的銜接圖 :abcdefgDpP1.0P1.1P1.2P1.3ABCD89C51利用利用BCD碼碼七段碼譯碼器實七段碼譯碼器實現(xiàn)字形到字形碼的轉(zhuǎn)換。常用的現(xiàn)字形到字形碼的轉(zhuǎn)換。常用的BCD碼碼七段碼譯碼器有七段碼譯碼器有74LS48和和74LS47。 編程讓編程讓LED數(shù)碼管顯示數(shù)碼管顯示30H單元的內(nèi)容單元的內(nèi)容30H單元的內(nèi)容在單元的內(nèi)容在09之
33、間。之間。 MOV P1,30HLTRBORBIabcdefgP1.4P1.5P1.6P1.7COMabcdefg74LS48共陰極共陰極LED+5V留意:在硬譯碼銜接法下,直接送欲顯示的數(shù)即可,字形到字形碼的轉(zhuǎn)換留意:在硬譯碼銜接法下,直接送欲顯示的數(shù)即可,字形到字形碼的轉(zhuǎn)換是用硬件實現(xiàn)的。是用硬件實現(xiàn)的。思索:假設(shè)思索:假設(shè)7448的的ABCD接到接到8051的的P14P17,那么如何修正程序?,那么如何修正程序?第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.3.3 多個七段多個七段LED數(shù)碼管的接口數(shù)碼管的接口 多個數(shù)碼管與多個數(shù)碼管與CPU的銜接方法有的銜接方法有4種:種:1、靜態(tài)軟
34、譯碼銜接法、靜態(tài)軟譯碼銜接法2、靜態(tài)硬譯碼銜接法、靜態(tài)硬譯碼銜接法3、動態(tài)硬譯碼銜接法、動態(tài)硬譯碼銜接法4、動態(tài)軟譯碼銜接法、動態(tài)軟譯碼銜接法abcdefgDp第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用靜態(tài)軟譯碼銜接法靜態(tài)軟譯碼銜接法在靜態(tài)軟譯碼銜接法下,在靜態(tài)軟譯碼銜接法下,4個個LED數(shù)碼管與單片機(jī)的銜接圖數(shù)碼管與單片機(jī)的銜接圖 :abcdefgDpDpP0.0P0.1P0.2P0.389C51P0.4P0.5P0.6P0.7COMabcdefg共陰極共陰極LEDDpP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3P
35、1.4P1.5P1.6P1.7COMabcdefgDpP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7COMabcdefg1、編程在、編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示1234。 MOV P0,#06HMOV P1,#5BHMOV P2,#4FHMOV P3,#66HSJMP $2、編程在4個七段LED數(shù)碼管上顯示30H,31H,32H,33H單元中存放的1位BCD碼的內(nèi)容 。 MOV DPTR,#TAB UP0: MOV A,30H MOVC A,A+DPTR MOV P0,A MOV A,31H MOVC A,A+DPTR MOV P1,A MOV A,32
36、H MOVC A,A+DPTR MOV P2,A MOV A,33H MOVC A,A+DPTR MOV P3,A SJMP UP0TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH思索:編程在思索:編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H單元中單元中的內(nèi)容。的內(nèi)容。30H,31H單元中分別存有單元中分別存有2位位BCD碼。碼。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用靜態(tài)硬譯碼銜接法靜態(tài)硬譯碼銜接法在靜態(tài)硬譯碼銜接法下,在靜態(tài)硬譯碼銜接法下,4個個LED數(shù)碼管與單片機(jī)的銜接圖數(shù)碼管與單片機(jī)的銜接圖 :abcdefgDpP2
37、.0P2.1P2.2P2.389C51DpP2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3COMabcdefgP1.4P1.5P1.6P1.7ABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5VABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5V編程在編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H單元中的內(nèi)容。單元中的內(nèi)容。30H,31H單元中分別存有單元中分別存有2位位
38、BCD碼。碼。 思索:編程在思索:編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H,32H,33H單元中存放的單元中存放的1位位BCD碼的內(nèi)容碼的內(nèi)容 。 +5V+5V+5V+5V第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用動態(tài)硬譯碼銜接法動態(tài)硬譯碼銜接法在動態(tài)硬譯碼銜接法下,在動態(tài)硬譯碼銜接法下,4個個LED數(shù)碼管與單片機(jī)的銜接圖數(shù)碼管與單片機(jī)的銜接圖 :abcdefgDpP2.0P2.1P2.2P2.389C51P2.4P2.5P2.6P2.7COMab c d e fgABCDLTRBORBIabcdefg74LS48+5VCOMab c d e fgCOMab c d
39、e fgCOMab c d e fg 例:例: 編程在編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示1234。 在動態(tài)銜接法下,數(shù)碼管公共端均受控。驅(qū)動程序的編制充分利用了人眼的視覺滯留效應(yīng),循環(huán)掃描各數(shù)在動態(tài)銜接法下,數(shù)碼管公共端均受控。驅(qū)動程序的編制充分利用了人眼的視覺滯留效應(yīng),循環(huán)掃描各數(shù)碼管,使各數(shù)碼管不是延續(xù)顯示,但給人的視覺印象是延續(xù)地在顯示。每個數(shù)碼管的顯示時間不得低于碼管,使各數(shù)碼管不是延續(xù)顯示,但給人的視覺印象是延續(xù)地在顯示。每個數(shù)碼管的顯示時間不得低于1ms,不,不亮的時間不能超越亮的時間不能超越20 ms。 利用人眼的視覺滯留景象,實現(xiàn)讓利用人眼的視覺滯留景象,實現(xiàn)讓
40、4個七段個七段LED數(shù)碼管上不同時顯示數(shù)碼管上不同時顯示1234,但人眼看到的效果,但人眼看到的效果卻是同時顯示卻是同時顯示1234。 1234思索:編程在思索:編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H,32H,33H單元中的內(nèi)容。單元中的內(nèi)容。 第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用動態(tài)軟譯碼銜接法動態(tài)軟譯碼銜接法在動態(tài)軟譯碼銜接法下,在動態(tài)軟譯碼銜接法下,4個個LED數(shù)碼管與單片機(jī)的銜接圖數(shù)碼管與單片機(jī)的銜接圖 :abcdefgDpP2.0P2.1P2.2P2.389C51P3.0P3.1P3.2P3.3COMab c d e fg驅(qū)驅(qū)動動器器COMab c
41、d e fgCOMab c d e fgCOMab c d e fg1234P2.4P2.5P2.6P2.7例:例: 編程在編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示1234。例:編程在例:編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H,32H,33H單元中的內(nèi)容。單元中的內(nèi)容。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.4 鍵盤接口鍵盤接口 1.4.1 鍵盤類型 1.4.2 非編碼鍵盤與單片機(jī)的接口 1.4.3 矩陣非編碼鍵盤與單片機(jī)的接口 鍵盤是單片機(jī)控制系統(tǒng)最常用、最簡單的輸入設(shè)備。用戶可以經(jīng)過鍵盤輸入數(shù)據(jù)或命令,實現(xiàn)簡單的人機(jī)通訊。 第2章 MCS-51單
42、片機(jī)內(nèi)部并行口及其應(yīng)用1.4.1 鍵盤類型鍵盤類型 單片機(jī)控制系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。單片機(jī)控制系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。1、編碼鍵盤除了鍵開關(guān)外,還有專門的硬件電路,用于識別閉合鍵并產(chǎn)生、編碼鍵盤除了鍵開關(guān)外,還有專門的硬件電路,用于識別閉合鍵并產(chǎn)生鍵代碼。不僅如此,編碼鍵盤普通還有去鍵抖動電路和防串鍵維護(hù)電路等。鍵代碼。不僅如此,編碼鍵盤普通還有去鍵抖動電路和防串鍵維護(hù)電路等。這種鍵盤的優(yōu)點是所需軟件簡短,但硬件電路較復(fù)雜,價錢較昂貴。目前在這種鍵盤的優(yōu)點是所需軟件簡短,但硬件電路較復(fù)雜,價錢較昂貴。目前在單片機(jī)控制系統(tǒng)中運用不多。單片機(jī)控制系統(tǒng)中運用不多
43、。2、非編碼鍵盤僅由鍵開關(guān)組成,其它任務(wù)如鍵識別、鍵代碼的產(chǎn)生、去抖、非編碼鍵盤僅由鍵開關(guān)組成,其它任務(wù)如鍵識別、鍵代碼的產(chǎn)生、去抖動等,不是由硬件完成而是由軟件完成的。為了簡化硬件電路,降低本錢,動等,不是由硬件完成而是由軟件完成的。為了簡化硬件電路,降低本錢,目前單片機(jī)控制系統(tǒng)中大多數(shù)采用非編碼鍵盤。目前單片機(jī)控制系統(tǒng)中大多數(shù)采用非編碼鍵盤。 非編碼鍵盤的鍵開關(guān)可以陳列成線性方式或矩陣方式,因此非編碼鍵盤非編碼鍵盤的鍵開關(guān)可以陳列成線性方式或矩陣方式,因此非編碼鍵盤有線性非編碼鍵盤和矩陣非編碼鍵盤兩種。有線性非編碼鍵盤和矩陣非編碼鍵盤兩種。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.4
44、.1 鍵盤類型鍵盤類型 單片機(jī)控制系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。單片機(jī)控制系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。1、編碼鍵盤除了鍵開關(guān)外,還有專門的硬件電路,用于識別閉合鍵并產(chǎn)生、編碼鍵盤除了鍵開關(guān)外,還有專門的硬件電路,用于識別閉合鍵并產(chǎn)生鍵代碼。不僅如此,編碼鍵盤普通還有去鍵抖動電路和防串鍵維護(hù)電路等。鍵代碼。不僅如此,編碼鍵盤普通還有去鍵抖動電路和防串鍵維護(hù)電路等。這種鍵盤的優(yōu)點是所需軟件簡短,但硬件電路較復(fù)雜,價錢較昂貴。目前在這種鍵盤的優(yōu)點是所需軟件簡短,但硬件電路較復(fù)雜,價錢較昂貴。目前在單片機(jī)控制系統(tǒng)中運用不多。單片機(jī)控制系統(tǒng)中運用不多。2、非編碼鍵盤僅由鍵開關(guān)組
45、成,其它任務(wù)如鍵識別、鍵代碼的產(chǎn)生、去抖、非編碼鍵盤僅由鍵開關(guān)組成,其它任務(wù)如鍵識別、鍵代碼的產(chǎn)生、去抖動等,不是由硬件完成而是由軟件完成的。為了簡化硬件電路,降低本錢,動等,不是由硬件完成而是由軟件完成的。為了簡化硬件電路,降低本錢,目前單片機(jī)控制系統(tǒng)中大多數(shù)采用非編碼鍵盤。目前單片機(jī)控制系統(tǒng)中大多數(shù)采用非編碼鍵盤。 非編碼鍵盤的鍵開關(guān)可以陳列成線性方式或矩陣方式,因此非編碼鍵盤非編碼鍵盤的鍵開關(guān)可以陳列成線性方式或矩陣方式,因此非編碼鍵盤有線性非編碼鍵盤和矩陣非編碼鍵盤兩種。有線性非編碼鍵盤和矩陣非編碼鍵盤兩種。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.4.1 鍵盤類型鍵盤類型 單片
46、機(jī)控制系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。單片機(jī)控制系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。1、編碼鍵盤除了鍵開關(guān)外,還有專門的硬件電路,用于識別閉合鍵并產(chǎn)生、編碼鍵盤除了鍵開關(guān)外,還有專門的硬件電路,用于識別閉合鍵并產(chǎn)生鍵代碼。不僅如此,編碼鍵盤普通還有去鍵抖動電路和防串鍵維護(hù)電路等。鍵代碼。不僅如此,編碼鍵盤普通還有去鍵抖動電路和防串鍵維護(hù)電路等。這種鍵盤的優(yōu)點是所需軟件簡短,但硬件電路較復(fù)雜,價錢較昂貴。目前在這種鍵盤的優(yōu)點是所需軟件簡短,但硬件電路較復(fù)雜,價錢較昂貴。目前在單片機(jī)控制系統(tǒng)中運用不多。單片機(jī)控制系統(tǒng)中運用不多。2、非編碼鍵盤僅由鍵開關(guān)組成,其它任務(wù)如鍵識別、鍵代碼
47、的產(chǎn)生、去抖、非編碼鍵盤僅由鍵開關(guān)組成,其它任務(wù)如鍵識別、鍵代碼的產(chǎn)生、去抖動等,不是由硬件完成而是由軟件完成的。為了簡化硬件電路,降低本錢,動等,不是由硬件完成而是由軟件完成的。為了簡化硬件電路,降低本錢,目前單片機(jī)控制系統(tǒng)中大多數(shù)采用非編碼鍵盤。目前單片機(jī)控制系統(tǒng)中大多數(shù)采用非編碼鍵盤。 非編碼鍵盤的鍵開關(guān)可以陳列成線性方式或矩陣方式,因此非編碼鍵盤非編碼鍵盤的鍵開關(guān)可以陳列成線性方式或矩陣方式,因此非編碼鍵盤有線性非編碼鍵盤和矩陣非編碼鍵盤兩種。有線性非編碼鍵盤和矩陣非編碼鍵盤兩種。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用1.4.2 非編碼鍵盤與單片機(jī)的接口非編碼鍵盤與單片機(jī)的接口
48、線性非編碼鍵盤的鍵開關(guān)排成一行或一列的方式,它與單片機(jī)的接口電路如下圖:線性非編碼鍵盤的鍵開關(guān)排成一行或一列的方式,它與單片機(jī)的接口電路如下圖:K1K2K3K4P1.1P1.0P1.2P1.389C51+5V線性非編碼鍵盤的任務(wù)原理:當(dāng)鍵未被按下時,與此鍵相連的I/O線獲得高電平;當(dāng)鍵被按下時,與此鍵相連的I/O線獲得低電平,單片機(jī)只需讀取I/O口形狀,就可以獲取按鍵信息,識別有無鍵按下和哪個鍵被按下。 鍵處置程序如下: MOV P1,#0FFH UP1: MOV A,P1 ;讀I/O口形狀 ANL A,#0FH ;屏蔽無用位 CJNE A,#0FH,NEXT1 ;有閉合鍵? SJMP UP1
49、 NEXT1: LCALL D10ms ;延時10ms去抖動 MOV A,P1 ;再讀I/O口形狀 ANL A,#0FH CJNE A,#0FH,NEXT2 ;有閉合鍵? SJMP UP1 NEXT2:JB P1.0,NEXT3 ;K1按下? LCALL K1 ;K1鍵處置程序 NEXT3: JB P1.1,NEXT4 ;K2按下? LCALL K2 ;K2鍵處置程序 NEXT4: JB P1.2,NEXT5 ;K3按下? LCALL K3 ;K3鍵處置程序 NEXT5: JB P1.3,UP1 ;K4按下? LCALL K4 ;K4鍵處置程序 LJMP UP1第2章 MCS-51單片機(jī)內(nèi)部并
50、行口及其應(yīng)用例例 某單片機(jī)控制系統(tǒng),某單片機(jī)控制系統(tǒng),P1口接有口接有8發(fā)光二極管,發(fā)光二極管,P3.0、P3.1、P3.2、P3.3接有接有4個開關(guān)個開關(guān)K1、K2、K3、K4,試畫出接口電路,并編程使得當(dāng),試畫出接口電路,并編程使得當(dāng)K1按下時按下時8個發(fā)光二極管全亮;當(dāng)個發(fā)光二極管全亮;當(dāng)K2按下按下時時8個發(fā)光二極管閃亮;當(dāng)個發(fā)光二極管閃亮;當(dāng)K3按下時按下時8個發(fā)光二極管由左向右點亮;當(dāng)個發(fā)光二極管由左向右點亮;當(dāng)K4按下時按下時8個發(fā)光個發(fā)光二極管全滅。二極管全滅。K1K2K3K4P3.1P3.0P3.2P3.389C51+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.
51、6P1.7第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用 MOV B,#01H MOV P3,#0FFH MOV P1,#00H UP1: MOV A,P3 ANL A,#0FH CJNE A,#0FH,NEXT1 SJMP UP1 NEXT1: LCALL D10ms MOV A,P3 ANL A,#0FH CJNE A,#0FH,NEXT2 SJMP UP1NEXT2:JB P3.0,NEXT3 LCALL K1 NEXT3: JB P3.1,NEXT4 LCALL K2 NEXT4: JB P3.2,NEXT5 LCALL K3 NEXT5: JB P3.3,UP1 LCALL K4 LJ
52、MP UP1子程序子程序K1: MOV P1,#0FFH RETK2: MOV P1,#0FFH LCALL D2S MOV P1,#00H LCALL D2S RETK3: MOV P1,B LCALL D2S MOV A,B RL A MOV B,A RETK4: MOV P1,#00H RET第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用abcdefgDpP1.0P1.1P1.2P1.3ABCD89C51LTRBORBIabcdefgP1.4P1.5P1.6P1.7COMabcdefg74LS48共陰極共陰極LED+5VUP:MOV A,30H SWAP A MOV P1,A SJMP U
53、P思索:假設(shè)思索:假設(shè)7448的的ABCD接到接到8051的的P14P17,那么如何修正程序?,那么如何修正程序?第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用abcdefgDpDpP0.0P0.1P0.2P0.389C51P0.4P0.5P0.6P0.7COMabcdefg共陰極共陰極LEDDpP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7COMabcdefgDpP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7COMabcdefg MOV DPTR,#TAB UP0: MO
54、V A,30H ANL A,#0FH MOVC A,A+DPTR MOV P0,A MOV A,30H SWAP A ANL A,#0FH MOVC A,A+DPTR MOV P1,A MOV A,31H ANL A,#0FH MOVC A,A+DPTR MOV P2,A MOV A,31H SWAP A ANL A,#0FH MOVC A,A+DPTR MOV P3,A SJMP UP0TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH思索:編程在思索:編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H單元中的內(nèi)容。單元中的內(nèi)容。30
55、H,31H單元中分別存有單元中分別存有2位位BCD碼。碼。第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用abcdefgDpP2.0P2.1P2.2P2.389C51DpP2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3COMabcdefgP1.4P1.5P1.6P1.7ABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5VABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5V編程在編程在4個七段個
56、七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H單元中的內(nèi)容。單元中的內(nèi)容。30H,31H單元中分別存有單元中分別存有2位位BCD碼。碼。 UP: MOV P1,30H MOV P2,31H SJMP UP +5V+5V+5V+5V第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用abcdefgDpP2.0P2.1P2.2P2.389C51DpP2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3COMabcdefgP1.4P1.5P1.6P1.7ABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg7
57、4LS47+5VABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5V思索:編程在思索:編程在4個七段個七段LED數(shù)碼管上顯示數(shù)碼管上顯示30H,31H,32H,33H單元中存單元中存放的放的1位位BCD碼的內(nèi)容碼的內(nèi)容 。 +5V+5V+5V+5V UP: MOV A,31H SWAP A ORL A,30H MOV P1,A MOV A,33H SWAP A ORL A,32H MOV P2,A SJMP UP第2章 MCS-51單片機(jī)內(nèi)部并行口及其應(yīng)用abcdefgDpP2.0P2.1P2.2P2.389C51P2.4P2.5P2.6P2.7COMab c d e fgABCDLTRBORBIabcdefg74LS48+5VCOMab c d e fgCOMab c d e fgCOMab c d e fg例:例: 編程在編程在4個七段個七段LE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠色學(xué)校評審方案
- 康復(fù)項目服務(wù)方案
- 江西省南昌市南昌縣蓮塘第一中學(xué)2024-2025學(xué)年高二上學(xué)期期中考試物理試題(含答案)
- 農(nóng)村初中家校社協(xié)同育人的問題及對策
- 化工公司策劃書
- 地方公務(wù)員江蘇申論99
- 膽囊息肉臨床路徑標(biāo)準(zhǔn)住院流程
- 湖北公務(wù)員面試模擬58
- 法定代表人失蹤委托書范本
- 天津申論模擬86
- 讓小車運動起來說課稿
- 2018年下半年軟件水平考試(中級)多媒體應(yīng)用設(shè)計師上午(基礎(chǔ)知識)真題試卷
- 工程招投標(biāo)管理與實踐作業(yè)指導(dǎo)書
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理體系 審核與認(rèn)證機(jī)構(gòu)要求》中文版(機(jī)翻)
- 社會工作者《社會工作綜合能力(中級)》試題(附答案)
- 廣東省2024-2025學(xué)年高三上學(xué)期9月份聯(lián)考英語試卷
- 單元統(tǒng)整視域下的小學(xué)英語課內(nèi)外融合教學(xué)探析
- 水泥企業(yè)物料盤點及平衡管理制度
- 道德與法治四年級上冊全冊教案(含反思)
- 《費曼學(xué)習(xí)法》講座PPT課件
- 廣告宣傳費專項管理辦法
評論
0/150
提交評論