當前位置:編程學習大全網 - 源碼下載 - 用單片機第壹個並行口接8個發光二極管采用***陰極接線變成實現 1 依次

用單片機第壹個並行口接8個發光二極管采用***陰極接線變成實現 1 依次

#include<reg51.h>

unsigned int t = 0;

unsigned char cnt = 0;

unsigned char a = 0;

void ConfigTimer0()

{

TMOD = 0x02;

TH0 = 0x9C;

TL0 = 0x9C;

ET0 = 1;

TR0 = 1;

EA = 1;

}

void main()

{

ConfigTimer0();

while(1)

{

switch(a)

{

case 0: P0 = 0xFe; break;

case 1: P0 = 0xFD; break;

case 2: P0 = 0xFB; break;

case 3: P0 = 0xF7; break;

case 4: P0 = 0xEF; break;

case 5: P0 = 0xDF; break;

case 6: P0 = 0xBF; break;

case 7: P0 = 0x7F; break;

default: break;

}

}

}

void interruptTimer0() interrupt 1

{

t++;

if(t >= 10000)

{

t = 0;

a++;

if(a >= 8)

{

a = 0;

}

}

}

2.

#include<reg51.h>

unsigned int t = 0;

unsigned char cnt = 0;

unsigned char a = 0;

void ConfigTimer0()

{

TMOD = 0x02;

TH0 = 0x9C;

TL0 = 0x9C;

ET0 = 1;

TR0 = 1;

EA = 1;

}

void main()

{

ConfigTimer0();

while(1)

{

switch(a)

{

case 0: P0 = 0xE7; break;

case 1: P0 = 0xC3; break;

case 2: P0 = 0x81; break;

case 3: P0 = 0x00; break;

case 4: P0 = 0x18; break;

case 5: P0 = 0x3C; break;

case 6: P0 = 0x7E; break;

case 7: P0 = 0xFF; break;

default: break;

}

}

}

圖還是壹樣的, 我只是壹個大概的仿真,實際的電路, P0 口要加10k的上拉電阻,LEd燈要加 1K的電阻限流

void interruptTimer0() interrupt 1

{

t++;

if(t >= 5000)

{

t = 0;

a++;

if(a >= 8)

{

a = 0;

}

}

}

  • 上一篇:如何用C語言編寫壹如圖模型的推箱子遊戲的程序?!
  • 下一篇:python用什麽軟件寫比較好
  • copyright 2024編程學習大全網