程序如下:
#include<reg52.h> //52單片機(jī)頭文件
#include <intrins.h> //包含有左右循環(huán)移位子函數(shù)的庫(kù)
#define uint unsigned int //宏定義
#define uchar unsigned char //宏定義
void delay(uint z) //延時(shí)函數(shù),z的取值為這個(gè)函數(shù)的延時(shí)ms數(shù),如delay(200);大約延時(shí)200ms.
{ //delay(500);大約延時(shí)500ms.
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函數(shù)
{
uchar a;
while(1) //大循環(huán)
{
a++ ;
P1=~a;
delay(200);
}
}
前面那個(gè)delay是延時(shí),但主函數(shù)這部分我看不懂,請(qǐng)高手指點(diǎn),謝謝啦
它這個(gè)程序的電路圖可能是當(dāng)p1口低電平是 LED 等被點(diǎn)亮. 8位2進(jìn)制數(shù)累加既是:00000000— 00000001— 00000010— 000000011..... 11111111 .
開(kāi)始的a=0 , 進(jìn)入循環(huán)后,a=1, 既是00000001, 取反后 p1=~a;則P1=FFFFFFF0, 因?yàn)槭堑碗娖接行?nbsp; 這個(gè)時(shí)候 P1口的8個(gè)LED燈的 最后一個(gè)被點(diǎn)亮。。然后
以此類推。 呃,我個(gè)人認(rèn)為是這樣的哈, 呵呵 ,希望能幫到你.
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |