單個(gè)按鍵控制4個(gè)LED實(shí)驗(yàn)報(bào)告_第1頁(yè)
單個(gè)按鍵控制4個(gè)LED實(shí)驗(yàn)報(bào)告_第2頁(yè)
單個(gè)按鍵控制4個(gè)LED實(shí)驗(yàn)報(bào)告_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、單個(gè)按鍵控制4個(gè)LED 入門級(jí)實(shí)驗(yàn)實(shí)驗(yàn)介紹:通過(guò)單個(gè)按鍵控制4個(gè)LED燈的亮滅狀態(tài)。正常情況下,一個(gè)按鍵控制1個(gè)燈。在本次實(shí)驗(yàn)中,要求使用 1個(gè)按鍵,控制4個(gè)LED燈。通過(guò)按鍵按下的 次 數(shù),控制LED的亮滅狀態(tài)。按下1次,1個(gè)LED燈點(diǎn)亮,按下2次,2個(gè)LED 燈點(diǎn)亮,按下3次,3個(gè)LED燈點(diǎn)亮,按下4次,4個(gè)LED燈點(diǎn)亮,按下5次, 所有LED燈都熄滅,如此循環(huán)。如此就可以通過(guò)單個(gè)按鍵控制4個(gè)LED燈的亮滅。在照明場(chǎng)所,控制LED燈的點(diǎn)亮個(gè)數(shù),就可以控制亮度。實(shí)驗(yàn)?zāi)康模涸谑褂脝纹瑱C(jī)等控制器控制周邊元件的時(shí)候,經(jīng)常會(huì)遇到 I/O 口不夠用的情 況。因此在使用的時(shí)候,盡量省著用。本次實(shí)驗(yàn)通過(guò)單

2、個(gè)按鍵控制 4個(gè)LED燈 的亮滅狀態(tài),正常情況下需要 4個(gè)按鍵,因而到達(dá)了節(jié)省單片機(jī) I/O 口的目的。通過(guò)此次實(shí)驗(yàn)室,學(xué)習(xí)單片機(jī)按鍵的編程控制方法,學(xué)習(xí) LED燈輸出的控 制方法。學(xué)習(xí)最簡(jiǎn)單的輸入設(shè)備按鍵控制最簡(jiǎn)單的輸出設(shè)備LED燈的控制方法。仿真原理圖:VCCXIA" O19X13L2 O903C1-2-4-s丄C3 O4.7uF 于C1HI? XTAL1POO ADOP0.1AO1P02AD2XTAL2PM 仏 D3PO/ljAWP05AMP06AD6P0.7AD7R3TP2.QW8P2.1/A9P2.2 心 10psefP2? 3fA"ALEP2.4fA12EA&q

3、uot;P2.50M3P2.6fA14P2.MM5P1.0P3.CMRXDP1.1P3.1/TXDPI .2PI .3P3.3tlT1PI .4P3.4/T0PI .5P3.5H1PI .6P3.&WFPI .7P37 爪 DU191AT99CS1c7EXT>R2203<TEXT>D3.LED WF<TE : KT>D4LED <TEXT> D1 . led D2.<TEXT>LED<TE : KT>在仿真軟件Pwteus中繪制仿真原理圖如上圖所示。考前須知:在進(jìn)行實(shí)物制作時(shí),發(fā)光二極管串聯(lián)的電阻可以省略,因?yàn)閱纹瑱C(jī)引腳

4、灌電流的能力有限,限制了通過(guò)發(fā)光二極管電流的大小。在仿真過(guò)程中,電阻R2? R9的大小要合適,太大LED將無(wú)法點(diǎn)亮。編程思路:當(dāng)單片機(jī)上電后,所有的 I/O 口默認(rèn)高電平,因而四個(gè)發(fā)光二極管在單片機(jī) 上電后, 都為熄滅狀態(tài)。 此時(shí),我們按下按鍵后, 就可以調(diào)節(jié)各個(gè)發(fā)光二極管的 亮 滅狀態(tài)。當(dāng)按一次按鈕,將 P2 口的狀態(tài)進(jìn)行左移一位,同時(shí)將 P2 的最低位清零,就 可以到達(dá)按一次按鈕后, LED 燈多亮一個(gè)。 如,當(dāng)前只有 P2 口控制的最低位連 接 的 LED 點(diǎn)亮,當(dāng)我們按一次按鍵,單片機(jī)首先將P2 的狀態(tài)循環(huán)左移一位,那么 剛才的最低位變?yōu)榇蔚臀唬?也就是倒數(shù)第二位點(diǎn)亮, 同時(shí)將 P2

5、口的最低位清零, 也 就是倒數(shù)第一位連接的 LED 燈點(diǎn)亮, 即按一次按鈕后, 倒數(shù)第一位和倒數(shù)第 二位 燈點(diǎn)亮。其他狀態(tài)與上述過(guò)程類似,這里不再贅述。同時(shí)需要注意的是,題目中要求,按鍵按 4 次后,進(jìn)入循環(huán)狀態(tài),即按 5 次 后,所有燈都熄滅, 即進(jìn)入初始狀態(tài)。 可以通過(guò)兩種編程方法實(shí)現(xiàn)上述功能 : 可 以判斷按鍵按的次數(shù),當(dāng)?shù)竭_(dá)5次后,需要從新將P2設(shè)置為復(fù)位值;可 以判斷 P2的值,當(dāng)P2的值為11100000B時(shí),將P2的值設(shè)置為復(fù)位值。使用匯編語(yǔ)言編程的時(shí)候, 可以使用 RL 循環(huán)左移指令 實(shí)現(xiàn)移位操作。 但 是需要注意,在指令系統(tǒng)中,只存在 RL A 指令,也就是說(shuō)只能對(duì)累加器 A

6、 進(jìn) 行 循環(huán)左移操作。因此在編程的時(shí)候,我們要將P2的內(nèi)容移到累加器 A中,將A進(jìn) 行移位操作后,再將 A中的內(nèi)容移到P2中。而使用匯編語(yǔ)言編程時(shí),可以 使用 _ciol_ 循環(huán)左移位指令,或?左移指令。與匯編語(yǔ)言編程不同的是,上 述 兩個(gè)指令可以直接對(duì) P2進(jìn)行操作。同時(shí)注意在使用_cwl_指令的時(shí)候,要在程 序 的開(kāi)頭添加頭文件 “mums.h。匯編語(yǔ)言代碼以及 C 語(yǔ)言代碼如下:匯編語(yǔ)言代碼:ORG 0HJMP MAINORG 30HMAIN:MOV R2,#5XI:JB P3.O,X1JNB P3.0,$MOVA.P2RL ACLRACC.0MOV P2,ADJNZ R2,X1MOV

7、 P2,#0FFHJMP MAINEND說(shuō)明:程序行“ X1JBP3.0,X1的作用是判斷按鍵是否按下,或者說(shuō)等待按 鍵按下,如果按鍵沒(méi)有按下,那么程序會(huì)原地循環(huán),等待按鍵按下。當(dāng)按鍵按下之后 程序會(huì)向下執(zhí)行。程序行“ JNBP3.O,$' 定不可以缺少,否那么程序執(zhí)行效果 就會(huì) 無(wú)法實(shí)現(xiàn)。缺少了這行程序后,按鍵按下后,不會(huì)一個(gè)一個(gè) LED 點(diǎn)亮,而是按一 下按鍵,點(diǎn)亮了多個(gè)發(fā)光二極管,這是因?yàn)樵谖覀儼聪掳存I的瞬間,程序執(zhí)行了屢次,導(dǎo)致多個(gè)LED被點(diǎn)亮。添加程序行“ JNBP3.O,$'的作用是,等待 P3.0引 腳變?yōu)楦唠娖?,如果該引腳是低電平,說(shuō)明按鍵沒(méi)有被松開(kāi),那么程序原

8、地循環(huán),當(dāng)按鍵松開(kāi)后,程序繼續(xù)向下執(zhí)行。這種方法主要是防止按下一次按鍵 , 程序重復(fù) 執(zhí)行屢次的作用。注意:上述程序只能用于仿真軟件中,在實(shí)物制作時(shí),如果使用上述程序 , 依舊會(huì)出現(xiàn)按一次按鍵多個(gè) LED 被點(diǎn)亮的情況,這是因?yàn)榘存I的抖動(dòng)造成的, 應(yīng)該在程序中添加按鍵的防抖程序或者添加防抖的硬件。C語(yǔ)言代碼:#include <reg52.h>#include <iiitrms.h>sbit P3O=P3AO;void niainQwhile(l)if(P3O=O) while(P30=0);P2=_ciol_(P2,l);P2=P2&Oxfb;if(P2=0x

9、e0)P2=0xff;注意:程序中對(duì)P2 口進(jìn)行賦值與移位操作時(shí),字母 “ P須大寫(xiě)對(duì)于電腦上沒(méi)有安裝 Keil 編程軟件的朋友,可以使用文中提供的 HEX 文件 代碼,直接導(dǎo)入仿真軟件,或者下載至單片機(jī)進(jìn)行實(shí)驗(yàn)。程序 HEX 代碼如下::03000000020046B5:02000000802E50:100030007A0520B0FD30B0FDE5A023C2E0F5A0DADE:06004000F175A0FF80EA4B:00000001FF程序 HEX 使用方法:1新 建 txt 文檔2將 HEX 代碼復(fù)制到 txt 文檔中,保存3將 該 txt 文檔另存為“程序夕 i.hex ,例如: pro.hex4在仿真軟件中翻開(kāi)即可實(shí)現(xiàn)仿真,通過(guò)下載軟件下載至單片機(jī)即可。思考:上文提示過(guò), 在進(jìn)行實(shí)物制作的時(shí)候, 需要通過(guò)軟件或硬件進(jìn)行防抖。 在進(jìn) 行 實(shí)驗(yàn)的時(shí)候,往往為了簡(jiǎn)化電路,不

溫馨提示

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