項(xiàng)目一任務(wù)6-左移右移實(shí)現(xiàn)流水燈_第1頁
項(xiàng)目一任務(wù)6-左移右移實(shí)現(xiàn)流水燈_第2頁
項(xiàng)目一任務(wù)6-左移右移實(shí)現(xiàn)流水燈_第3頁
項(xiàng)目一任務(wù)6-左移右移實(shí)現(xiàn)流水燈_第4頁
項(xiàng)目一任務(wù)6-左移右移實(shí)現(xiàn)流水燈_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

任務(wù)六左移右移實(shí)現(xiàn)流水燈任務(wù)描述用AT89C51的P1口,接8只LED,即D1,D2,…,D7,D8,編寫程序,使得8只LED循環(huán)點(diǎn)亮,時間間隔1秒,即剛開始點(diǎn)亮D1,1秒后點(diǎn)亮D2,接著點(diǎn)亮D3,D4,…,D8,然后點(diǎn)亮D7,D6,…,D2,D1,重復(fù)循環(huán)。知識鏈接一單片機(jī)時序的概念二移位函數(shù)實(shí)現(xiàn)流水燈一單片機(jī)時序的概念單片機(jī)內(nèi)的各種操作都是在一系列脈沖控制下進(jìn)行的,而各脈沖在時間上是有先后順序的,這種順序就稱為時序。單片機(jī)的時序定時單位從小到大依次為:振蕩周期、狀態(tài)周期、機(jī)器周期和指令周期。振蕩周期是指晶體振蕩器直接產(chǎn)生的振蕩信號的周期,是振蕩頻率fosc的倒數(shù),用P表示。

狀態(tài)周期(或時鐘周期S)是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍。1個機(jī)器周期是由6個狀態(tài)周期構(gòu)成,12個振蕩周期。執(zhí)行一條指令所需的時間稱為指令周期。

若MCS-51單片機(jī)外接晶振為12MHz時,則單片機(jī)的四個周期的具體值為:振蕩周期=1/12MHz=1/12μs=0.0833μs時鐘周期=1/6μs=0.167μs機(jī)器周期=1μs指令周期=1~4μs二移位函數(shù)實(shí)現(xiàn)流水燈單片機(jī)實(shí)現(xiàn)霓虹燈也可以通過KeilC51的移位函數(shù)_crol_和_cror_函數(shù)來完成。_crol_,_cror_:將char型變量循環(huán)向左(右)移動指定位數(shù)后返回;_irol_,_iror_:將int型變量循環(huán)向左(右)移動指定位數(shù)后返回;_lrol_,_lror_:將long型變量循環(huán)向左(右)移動指定位數(shù)后返回。舉例說明a=10001000;

a=_crol_(a,1);//左移一位

//程序執(zhí)行后,a=00010001a=00010001a=_cror_(a,2);

//右移兩位

//程序執(zhí)行后,a=01000100

提示請用移位函數(shù)來實(shí)現(xiàn)一下LED流水燈效果,使用請用“#include<intrins.h>”這個指令引入intrins.h頭文件。任務(wù)實(shí)施1.硬件電路2.程序設(shè)計(jì)1.硬件電路2.程序設(shè)計(jì)#include<reg52.h>//包含單片機(jī)寄存器的頭文件#include<intrins.h>//包含_cror_和_crol_函數(shù)#defineuintunsignedint//宏定義,定義uint為無符號整型變量#defineucharunsignedchar//宏定義,定義uchar為無符號字符變量uchari,j;//定義變量i,jvoiddelay1s(void){uchara,b,c;//定義循環(huán)變量

for(c=167;c>0;c--)for(b=171;b>0;b--)for(a=16;a>0;a--);

}延時時間為1秒的延時函數(shù)voidmain(){while(1)//一直執(zhí)行

{j=0x01;

for(i=0;i<8;i++)

{P1=~j;//左移的值送P1口

delay1s();//延時1s

j=

_crol

_(j,1);

//左移1位

}主函數(shù)for(i=0;i<8;i++)

{P1=~j;//接上面左移的值送P1口delay1s();//延時1s

j=

_cror_(j,1);

//右移一位

}

}}任務(wù)小結(jié)流水燈亮燈比較有規(guī)律,8個LED中7個熄滅,1個點(diǎn)亮,1秒后,向前或向后移動一個位置亮另外一個燈,如此循環(huán),容易用for和移位

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論