基于51單片機的各種花樣的流水燈c51程序_第1頁
基于51單片機的各種花樣的流水燈c51程序_第2頁
基于51單片機的各種花樣的流水燈c51程序_第3頁
基于51單片機的各種花樣的流水燈c51程序_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于51單片機的各種花樣的流水燈c51程序/*功能:流水燈對稱移動閃爍(雙閃爍)*/#include<REG52.H>#define uint unsigned intvoid delay(uint);main()uint comp1=0xfe;uint comp2=0x80;P1=0x7e;delay(30000);while(1)P1=0xff;comp1<<=1;comp1|=0x01;comp2>>=1;P1&=comp1;P1A=comp2;delay(30000);if(P1=0xe7)comp1<<=1;comp1|=0x0

2、1;comp2>>=1;if(comp1=0x7f)comp1=0xfe;comp2=0x80;void delay(uint cnt)while(cnt-);/*只循環一次,而沒有一直循環下去,出錯地方在: 通過添加一條測試語句:if(comp1=0x7f) comp1=0xfe; comp2=0x80; P1=0x00; delay(30000);發現if語句沒有被執行,自然繼續左右移動:1111 1111&1111 1111A0000 0000=11111 1111所以看起來是執行了一次while中的代碼。具體為什么不行,還不清楚 更正下列代碼后,能夠實現功能。if(

3、P1=0x7e)comp1=0xfe;comp2=0x80;或者:if(comp2=0x01)comp1=0xfe;comp2=0x80; */ */*功能:流水燈(單向單閃爍)*/#include<reg52.h>#define uint unsigned intvoid delay(uint);main()/uint fre=0x03;/uint comp1=0xfe,comp2=0x80;P1=0xfe;while(1)/*模塊1:循環單向閃爍,只有一個燈亮滅執彳T 3次,轉入下一種閃爍*/while(1)P1<<=1;P1|=0x01;if(P1=0x7f) d

4、elay(30000);P1=0xfe;void delay(uint cnt)while(cnt-);/*程序運行結果左右兩端跳動,原因是:if(P1=0x7f); 中的等號也成了賦值號,更正為 if(Pl=0x7f);特別注意,不要把判斷語句種的等號誤寫為賦值號。*/*/*功能:花樣燈(單向單閃爍+單向雙閃爍)*/#include<reg52.h>#define uint unsigned intvoid delay(uint);main()uint fre=0x04;uint comp1=0xfe,comp2=0x80;while(1)/*模塊1:循環單向閃爍,只有一個燈亮滅

5、 執行3次,轉入下一種閃爍*/P1=0xfe;while(1!=fre-) delay(30000);P1<<=1;P1|=0x01;if(P1=0x7f)delay(30000);P1=0xfe;/*模塊2:循環單向閃爍,只有兩個燈亮或者滅 執行3次,轉入下一種閃爍*/P1=0xfc;while(3!=fre+) delay(30000);P1<<=2;P1|=0x03;if(P1=0x3f) delay(30000);P1=0xfc;void delay(uint cnt)while(cnt-);/*兩個模塊均沒有問題,但是放在一起,并沒有得到想要的結果, 第一個循

6、環沒有進行完全,且兩個循環的循環的次數與要求的不符。錯誤地方在于:模塊 1和模塊2的循環控制的只是一次亮滅,更正為:#include<reg52.h>#define uint unsigned intvoid delay(uint);main()uint fre=0x04;uint fre1,fre2;uint comp1=0xfe,comp2=0x80;while(1)/*模塊1:循環單向閃爍,只有一個燈亮滅 執行3次,轉入下一種閃爍*/P1=0xfe;while(1!=fre-)fre1=0x08;while(1!=fre1-) delay(3000000);P1<<=1;P1|=0x01;if(P1=0x7f) delay(3000000);P1=0xfe;/*模塊2:循環單向閃爍,只有兩個燈亮或者滅 執行3次,轉入下一種閃爍*/P1=0xfc;while(3!=fre+)fre2=0x04;while(1!=fre2-) delay(3000000);P1<<=2;P1|=0x03;if(P1=0x3f) delay(3000000);P1=0xfc

溫馨提示

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

評論

0/150

提交評論