當前位置:編程學習大全網 - 編程軟體 - 51單片機16路流水燈怎麽用C語言寫,並求每個步驟的講解

51單片機16路流水燈怎麽用C語言寫,並求每個步驟的講解

我給妳個簡單的例子:

#include?<AT89X51.H>?//預處理文件裏面定義了特殊寄存器的名稱如P1?口定義為P1

void?main(void)

{

//定義花樣數據

const?unsigned?char?design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,

0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,

0xE7,0xDB,0xBD,0x7E,0xFF};

unsigned?int?a;?//定義循環用的變量

unsigned?char?b;?//在C51?編程中因內存有限盡可能註意變量類型的使用

//盡可能使用少字節的類型,在大型的程序中很

受用

do{

for?(b=0;?b<32;?b++)

{

for(a=0;?a<30000;?a++);?//延時壹段時間

P1?=?design[b];?//讀已定義的花樣數據並寫花樣數據到P1?口

}

}while(1);

}

程序中的花樣數據可以自以去定義,因這裏我們的LED?要AT89C51?的P1?引腳為低電平才

會點亮,所以我們要向P1?口的各引腳寫數據O?對應連接的LED?才會被點亮,P1?口的八個引

腳剛好對應P1?口特殊寄存器的八個二進位,如向P1?口定數據0xFE,轉成二進制就是

11111110,最低位D0?為0?這裏P1.0?引腳輸出低電平,LED1?被點亮。如此類推,大家不難算

出自己想要做的效果了。?

留個郵箱給妳發個入門文檔

  • 上一篇:盜墓筆記的作者簡介
  • 下一篇:學好c語言之後再學Java還是c#?這倆哪個對以後來說更好?
  • copyright 2024編程學習大全網