資料介紹
首先,介紹下原理。下圖為主控芯片和流水燈模塊的原理圖。流水燈模塊接在單片機(jī)的P1口,由原理圖可以知道,在P1口給一個(gè)低電平即可點(diǎn)亮LED燈。相反,如果要LED燈熄滅,就要把P1口的電平變?yōu)楦唠娖郊纯?。要?shí)現(xiàn)流水燈功能,我們只要將LED1~LED8依次點(diǎn)亮、熄滅,依始類推,8只LED變會(huì)一亮一暗的做流水燈了。
實(shí)現(xiàn)8個(gè)LED流水燈程序用中文表示為:P1.0低、延時(shí)、P1.0高、P1.1低、延時(shí)、P1.1高、P1.2低、延時(shí)、P1.2高、P1.3低、延時(shí)、P1.3高、P1.4低、延時(shí)、P1.4高、P1.5低、延時(shí)、P1.5高、P1.6低、延時(shí)、P1.6高、P1.7低、延時(shí)、P1.7高、返回到開始、程序結(jié)束。
聽起來是不是很簡單啊!那么下面我們來看下實(shí)現(xiàn)流水燈功能的三種常用方法!
第一種,總線方法實(shí)現(xiàn)流水燈。
這是一種比較笨但又最易理解的方法,采用順序程序結(jié)構(gòu),用位指令控制P1口的每一個(gè)位輸出高低電平,加上延時(shí)函數(shù),即可控制每個(gè)LED燈的亮滅。C程序如下:
第二種,移位方法實(shí)現(xiàn)流水燈
上一種方法是逐個(gè)將P1口的LED燈點(diǎn)亮來實(shí)現(xiàn)閑的,因此程序看起來有一點(diǎn)復(fù)雜。下面將一種用移位的方法。采用循環(huán)程序結(jié)構(gòu)編程。首先在程序開始給P1.0口送一個(gè)低電平,其它位為高。然后延時(shí)一段時(shí)間再讓低電平往高位移動(dòng),這樣就實(shí)現(xiàn)“流水”的效果了。下面來看具體程序:
第三種,庫函數(shù)實(shí)現(xiàn)流水燈
C52 提供了? _crol_(字符循環(huán)左移);_cror_ (字符循環(huán)右移)等庫函數(shù),包含在頭文件intrins.h中。接下來還是先講一下移位的小知識(shí)點(diǎn)吧。
左移。C52中操作符為“<<”,每執(zhí)行一次左移指令,被操作的數(shù)將最高位移入單片機(jī)PSW寄存器的CY位。CY位中原來的數(shù)丟棄,最低位補(bǔ)0,其他位依次向左移動(dòng)一位。相信大家學(xué)過C語言都清楚吧,這里就不多說了。而函數(shù)_crol_的作用是循環(huán)左移。它會(huì)將最高位移入最低位,其他位依次向左移一位。用法:x=0xfe;x=_crol_(x,1);//循環(huán)左移移位。接下來看具體程序:
知識(shí)點(diǎn):PSW寄存器。
PSW(Program StatusWord)全稱為程序狀態(tài)字標(biāo)志寄存器,是一個(gè)8位寄存器,位于單片機(jī)片內(nèi)的特殊功能寄存器區(qū),字節(jié)地址D0H,用來存放運(yùn)算結(jié)果的一些特征,如有無進(jìn)位、借位等。使用匯編編程時(shí)PSW寄存器很有用,但在利用C語言編程時(shí),編譯器會(huì)自動(dòng)控制該寄存器,很少人為操作它,大家只需做簡單了解即可。其每位的具體含義如圖1 所示:
圖 1? PWD(Program Status Word)寄存器
①CY:進(jìn)位標(biāo)志位,它表示運(yùn)算是否有進(jìn)位(或借位)。如果操作結(jié)果在最高位有進(jìn)位(加法)或者借位(減法),則該位為1,否則為0。
②AC:輔助進(jìn)位標(biāo)志,又稱半進(jìn)位標(biāo)志,它指兩個(gè)8位數(shù)運(yùn)算低四位是否有半進(jìn)位,即低四位相加(或相減)是否進(jìn)位(或借位),如有,則AC為1,否則為0。
③F0:由用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用軟件來使它置1或清0;也可由軟件來測試它,以控制程序的流向。
④RS1、RS0:4組工作寄存器區(qū)選擇控制位。在匯編語言中這兩位用來選擇4組工作寄存器區(qū)中的哪一組為當(dāng)前工作寄存區(qū)。
⑤OV:溢出標(biāo)志位,反映帶符號(hào)數(shù)的運(yùn)算結(jié)果是否有溢出。有溢出時(shí),此位為1,否則為0。
⑥P:奇偶標(biāo)志位,反映累加器ACC內(nèi)容的奇偶性,如果ACC中的運(yùn)算結(jié)果有偶數(shù)個(gè)l(如11001100B,其中有4個(gè)1),則P為0,否則P為1。?
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單片機(jī)流水燈三種實(shí)現(xiàn)
- 51單片機(jī)用三種方法實(shí)現(xiàn)流水燈(超詳細(xì))
- 基于51單片機(jī)的流水燈參考案例下載 43次下載
- PIC單片機(jī)TIMER0實(shí)現(xiàn)流水燈的自動(dòng)控制設(shè)計(jì)資料下載
- 使用單片機(jī)實(shí)現(xiàn)3移位運(yùn)算操作點(diǎn)亮流水燈資料免費(fèi)下載 7次下載
- 使用單片機(jī)實(shí)現(xiàn)從左到右的流水燈的程序和仿真資料免費(fèi)下載 14次下載
- 使用單片機(jī)實(shí)現(xiàn)花樣流水燈的程序和仿真資料免費(fèi)下載 31次下載
- 使用單片機(jī)實(shí)現(xiàn)左右來回的流水燈程序和仿真資料免費(fèi)下載 18次下載
- 使用單片機(jī)實(shí)現(xiàn)流水燈左移的電路圖和仿真資料免費(fèi)下載 16次下載
- 使用單片機(jī)實(shí)現(xiàn)流水燈右移的電路圖和程序及仿真資料免費(fèi)下載 7次下載
- 使用單片機(jī)實(shí)現(xiàn)流水燈的詳細(xì)資料說明 7次下載
- 使用51單片機(jī)實(shí)現(xiàn)流水燈的程序免費(fèi)下載
- 使用單片機(jī)實(shí)現(xiàn)流水燈的兩種代碼免費(fèi)下載
- 使用51單片機(jī)流水燈實(shí)現(xiàn)的三種方法詳細(xì)說明
- 單片機(jī)流水燈匯編實(shí)現(xiàn)程序資料免費(fèi)下載 17次下載
- 電源的三種常用冷卻方法 1126次閱讀
- 如何用三種不同的方法來用按鈕控制燈光 2984次閱讀
- 基于單片機(jī)的流水燈電路設(shè)計(jì) 5048次閱讀
- 如何使用51單片機(jī)制作一個(gè)心形流水燈 5401次閱讀
- 利用51單片機(jī)流水燈和LCD1602實(shí)現(xiàn)表白功能 1804次閱讀
- 基于51單片機(jī)按鍵控制流水燈設(shè)計(jì) 5305次閱讀
- 利用單片機(jī)點(diǎn)亮流水燈實(shí)例解析 1w次閱讀
- 如何通過FPGA實(shí)現(xiàn)一個(gè)流水燈? 8209次閱讀
- 實(shí)現(xiàn)51單片機(jī)流水燈的三種詳細(xì)資料說明 6227次閱讀
- 51單片機(jī)如何實(shí)現(xiàn)流水燈?51單片機(jī)實(shí)現(xiàn)流水燈的三種方法詳細(xì)分析 9.7w次閱讀
- 單片機(jī)控制花樣流水燈原理圖及程序 5.5w次閱讀
- 51單片機(jī)流水燈電路圖大全(六款單片機(jī)流水燈電路圖介紹) 19.3w次閱讀
- 單片機(jī)C語言程序設(shè)計(jì)之TIMER0控制流水燈 4563次閱讀
- MCS-51單片機(jī)控制跑馬燈的三種方法 4.6w次閱讀
- 如何更高效地實(shí)現(xiàn)51單片機(jī)流水燈? 1w次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論