51微控制器16路流水燈怎麼用C語言寫,並求每個步驟的講解

2021-05-04 10:31:25 字數 2112 閱讀 8008

1樓:

我給你個簡單的例子:

#include //預處理檔案裡面定義了特殊暫存器的名稱如p1 口定義為p1

void main(void)

;unsigned int a; //定義迴圈用的變數

unsigned char b; //在c51 程式設計中因記憶體有限儘可能注意變數型別的使用

//儘可能使用少位元組的型別,在大型的程式中很

受用do

}while(1);

}程式中的花樣資料可以自以去定義,因這裡我們的led 要at89c51 的p1 引腳為低電平才

會點亮,所以我們要向p1 口的各引腳寫資料o 對應連線的led 才會被點亮,p1 口的八個引

腳剛好對應p1 口特殊暫存器的八個二進位,如向p1 口定資料0xfe,轉成二進位制就是

11111110,最低位d0 為0 這裡p1.0 引腳輸出低電平,led1 被點亮。如此類推,大家不難算

出自己想要做的效果了。

留個郵箱給你發個入門文件

2樓:匿名使用者

看看這個也許能行

#define byte unsigned char

#define word unsigned int

#define dword unsigned long

#define speed 12 //12 mhz(注意更高就不能一次得到50ms定時了)

#define tttt 50000 //50ms

#define th1_init_val (65536-speed * tttt / 12)/256

#define tl1_init_val (65536-speed * tttt / 12)%256

sbit l1 = p1^0 ;

sbit l2 = p1^1 ;

sbit l3 = p1^2 ;

sbit l4 = p1^3 ;

sbit l5 = p1^4 ;

sbit l6 = p1^5 ;

sbit l7 = p1^6 ;

sbit l8 = p1^7 ;

bit flag1s ;

void t1_init()

第一秒鐘l1,l3亮,

第二秒鐘l2,l4亮,

第三秒鐘l5,l7亮,

第四秒鐘l6,l8亮,

第六秒鐘l2,l4,l6,l8亮,

第七秒鐘八個二極體全亮,

第八秒鐘全滅

[可以將p0口各時刻的狀態做個**,這裡就不做了]

void led_run()

void main()

}void isr_t1() interrupt 3 using 2 //定時器1中斷服務程式50ms}

3樓:匿名使用者

這個沒有0實驗板原理圖,沒法寫哈。

大概就是先定義一下管腳,再向管腳寫ff或00初始化。再把第一個燈點亮,再關掉第一個燈,再點亮第二個燈。。。 。。。把它放在do迴圈裡就ok了,

熟練了後,加個for迴圈簡化一下程式,設幾個變數就行了。

4樓:

#include "reg52.h"

#include "intrins.h"

void delay(unsigned int t)}}void main(void)

temp=0x7f;

for(num2=0;num2<8;num2++)temp=0xfe;

for(num1=0;num1<8;num1++)temp=0x7f;

for(num2=0;num2<8;num2++)}}

16個二極體分別接到p0口和p1口.....

參考資料

微控制器16個流水燈c語言程式設計問題

5樓:匿名使用者

程式基本沒大錯誤,你這個程式執行一次就結束了,要想程式實現無限迴圈的從p0口到p2口又回到p0口,只需稍加改動。

在主函式定義區域性變數的下面加:

while(1)

用89c51微控制器制作由開關控制的流水燈通過按下不同的開關來控制led p1 0 1 2接

include define uchar unsigned char define uint unsigned intsbit k1 p1 0 sbit k2 p1 1 sbit k3 p1 2 sbit led1 p2 4 sbit led2 p2 5 sbit led3 p2 6 延時子程式 v...

用89c52微控制器控制led流水燈的c語言程式

include define uchar unsigned charuchar led1,led2,led3,led4 void delay uchar a for num 0 num 5 num 32燈流水 火柴天堂作品 20130520 52微控制器,12mhz晶振,p0 p3 接32顆led,...

51微控制器c語言是什麼意思,51微控制器C語言中 和 的意思是什麼?

c 語言,是計算機程式語言。適合於入門者學習 使用。51 微控制器,是一種微型計算機。用 c 語言,對其程式設計,就是 51微控制器c語言 51微控制器c語言中 和 的意思是什麼?u8comdata 1 相當於 u8comdata u8comdata 1,u8comdata u8temp 相當於 u...