stc89c51單片機(jī)流水燈程序_第1頁
stc89c51單片機(jī)流水燈程序_第2頁
stc89c51單片機(jī)流水燈程序_第3頁
stc89c51單片機(jī)流水燈程序_第4頁
stc89c51單片機(jī)流水燈程序_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

創(chuàng)作時間:二零二一年六月三十天單片機(jī)流水燈法式之邯鄲勺丸創(chuàng)作創(chuàng)作時間:二零二一年六月三十天法式一(用C語言編的最基礎(chǔ)的法式)#include<reg52.h>#include<stdio.h>sbitD0=P1^0;//位界說,把P1口的第一個管腳界說為D0sbitD1=P1^1;//位界說,把P1口的第二個管腳界說為D1sbitD2=P1^2;//位界說,把P1口的第3個管腳界說為D2sbitD3=P1^3;//位界說,把P1口的第4個管腳界說為D3sbitD4=P1^4;//位界說,把P1口的第5個管腳界說為D4sbitD5=P1^5;//位界說,把P1口的第6個管腳界說為D5sbitD6=P1^6;//位界說,把P1口的第7個管腳界說為D6sbitD7=P1^7;//位界說,把P1口的第8個管腳界說為D7voidmain( ){while(1)//成立大年夜的死循環(huán).{unsignedinti,j;D0=0,D7=1;//亮燈1,關(guān)燈8for(i=50;i>0;i--)for(j=200;j>0;j--);//兩個FOR構(gòu)成的延時D0=1,D1=0;//亮燈2,關(guān)燈1創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天for(i=50;i>0;i--)for(j=200;j>0;j--);D1=1,D2=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D2=1,D3=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D3=1,D4=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D4=1,D5=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D5=1,D6=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D6=1,D7=0;for(i=50;i>0;i--)for(j=200;j>0;j--);}}創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天法式二(用swichcase語句編的)#include<reg52.h>//51單片機(jī)的頭文件.sbitd1=P1^0;//sbitd2=P1^1;sbitd3=P1^2;sbitd4=P1^3;sbitd5=P1^4;sbitd6=P1^5;sbitd7=P1^6;sbitd8=P1^7;voidmain( ){unsignedinti=1,a,b;while(1)//大年夜循環(huán){for(i=1;i<15;i++){for(a=0;a<80;a++)//延時.for(b=0;b<200;b++);switch(i){case1:創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天d2=1,d1=0,d8=1;break;case2:d1=1,d2=0;break;case3:d2=1,d3=0;break;case4:d3=1,d4=0;break;case5:d4=1,d5=0;break;case6:d5=1,d6=0;break;case7:d6=1,d7=0;break;case8:d7=1,d8=0;創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天break;case9:d8=1,d7=0;break;case10:d7=1,d6=0;break;case11:d6=1,d5=0;break;case12:d5=1,d4=0;break;case13:d4=1,d3=0;break;case14:d3=1,d2=0;break;}};}創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天}法式三(最簡短的):#include<reg52.h>#include<intrins.h>//_crol_和_cror_的頭文件.voiddelay(unsignedintz)//成立延時子函數(shù).{unsignedinti,j;for(i=0;i<z;i++)for(j=0;j<200;j++);}voidmain( ){unsignedchard;d=0xfe;while(1)//{for(;d>0x7f;){P1=d;delay(100);//調(diào)用延時子函數(shù)延時.d=_crol_(d,1);//循環(huán)左移.}創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天for(;d<0xfe;){P1=d;delay(100);d=_cror_(d,1);//循環(huán)右移,讓燈倒回去.}}}數(shù)碼管流水燈:#include<reg52.h>#include<intrins.h>voiddelay(unsignedinta){unsignedintb;b=a;while(b>0)b--;}voidmain( ){unsignedinti,j;unsignedcodeA[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0x3f:為0,即數(shù)碼管亮“0”.P2=0;//打開數(shù)碼管的第一個,P0=j;//對數(shù)碼管進(jìn)行賦值while(1){i=0;for(j=0;j<16;j++){P2=i;P0=A[j];delay(50000);i++;}}}數(shù)碼管法式二:#include<intrins.h>voiddelay(unsignedinta){unsignedintb;b=a;創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天while(b>0)b--;}voidmain( ){inti,j;unsignedcodeA[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};P2=0;P0=j;while(1){j=0;for(i=0;i<8;i++){P2=i;P0=A[j];delay(50000);j++;}for(i=7;i>=0;i--){創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天P2=i;P0=A[j];delay(50000);j++;}}}中止法式一#include<reg52.h>#include<intrins.h>voiddelay(unsignedinta){unsignedintb;b=a;while(b>0)b--;}voidmain( ){inti,j;unsignedcodeA[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天EA=1;//打開總中止EX0=1;//打開外面中止0.IT0=0;//選擇其為低電平有效有效.當(dāng)CPU檢測到P3.3引腳上呈現(xiàn)有效的中止信號時,中止表記表記標(biāo)記IE1(TCON.3)置1,向CPU申請中止.P2=0;P0=j;P1=0xfe;while(1){j=0;for(i=0;i<8;i++){P2=i;P0=A[j];delay(50000);j++;}for(i=7;i>=0;i--){P2=i;P0=A[j];創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天delay(50000);j++;}}}voidexist( )interrupt0//中止子法式,此中“0”為外面中止的序號{P1=_crol_(P1,1);delay(50000);}準(zhǔn)時法式;include<reg52.h>unsignedinti=0,j=0,t;unsignedcodea[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidmain( ){TMOD=0x01;//對TMOD賦值,以確立T0和T1的工作方式.TH0=(65536-50000)/256;TL0=(65536-50000)%256;//準(zhǔn)時/計數(shù)器的實質(zhì)是加1計數(shù)器(16位),由高8位和低8位兩個存放器構(gòu)成.對高8位和低8位賦值.創(chuàng)作時間:二零二一年六月三十天創(chuàng)作時間:二零二一年六月三十天EA=1;//開總中止ET0=1;//則對IE賦值,開放中止TR0=1;//使TR0或TR1置位,啟動準(zhǔn)時/計數(shù)器準(zhǔn)時.while(1){if(t==20){t=0;if(j==8)j=0;

溫馨提示

  • 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

提交評論