導航:首頁 > 操作系統 > 單片機dela是什麼

單片機dela是什麼

發布時間:2023-03-25 10:28:13

⑴ 求基於單片機的八路搶答器設計,要用到74LS47N和共陽led,求電路圖和程序(最好是C),加急!!

#include<reg52.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitkai=P2^2;

sbitting=P2^3;

sbithao1=P1^0;

sbithao2=P1^1;

sbithao3=P1^2;

sbithao4=P1^3;

sbithao5=P1^4;

sbithao6=P1^5;

sbithao7=P1^6;

sbithao8=P1^7;

sbitwela=P2^1;

sbitdela=P2^0;

sbitP2_6=P2^6;

sbitP2_7=P2^7;

ucharcodetable[]=

{0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x40};

uchara,a1,num,shi,ge,hao,

aa,num1,flag1,flag2,flag3,flag4,

flag5,flag6,flag7,flag8,flag9,flag10;

voiddisplay(ucharhao,ucharaa,ucharshi,ucharge);

voidinit();

voiddelay(uintz);

voidkeyscan();

voidmain()

{

init();

while(1)

{

keyscan();

if(flag1==1)

{

display(hao,10,shi,ge);

}

else

{

display(hao,10,0,0);

}

}

}

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidkeyscan()

{

if(kai==0)

{

delay(5);

if(kai==0)

{

while(!kai);

hao=0;

num=30;

shi=3;

ge=0;

TR0=1;

flag1=1;

P2_7=0;

P2_6=1;

}

}

if(ting==0)

{

delay(5);

if(ting==0)

{

while(!ting)

{

a=0;

num=30;

num1=0;

hao=0;

shi=3;

ge=0;

TR0=0;

TR1=0;

flag1=0;

P2_6=0;

P2_7=1;

P3=0xff;

}

}

}

if(flag1==1)

{

if(hao==0&&hao1==0)

{

delay(5);

if(hao1==0)

{

while(!hao1);

P2_6=1;

P2_7=1;

P3=0xfe;

flag2=1;

shi=0;

ge=0;

hao=1;

TR1=1;

TR0=0;

}

}

if(hao==0&&hao2==0)

{

delay(5);

if(hao2==0)

{

flag3=1;

while(!hao2);

P2_6=1;

P2_7=1;

P3=0xfd;

shi=0;

ge=0;

hao=2;

TR0=0;

TR1=1;

}

}

if(hao==0&&hao3==0)

{

delay(5);

if(hao3==0)

{

flag4=1;

while(!hao3);

P2_6=1;

P2_7=1;

P3=0xfb;

shi=0;

ge=0;

TR0=0;

TR1=1;

hao=3;

}

}

if(hao==0&&hao4==0)

{

delay(5);

if(hao4==0)

{

flag5=1;

while(!hao4);

P2_6=1;

P2_7=1;

P3=0xf7;

shi=0;

ge=0;

TR0=0;

TR1=1;

hao=4;

}

}

if(hao==0&&hao5==0)

{

delay(5);

if(hao5==0)

{

flag6=1;

while(!hao5);

P2_6=1;

P2_7=1;

P3=0xef;

shi=0;

ge=0;

TR0=0;

TR1=1;

hao=5;

}

}

if(hao==0&&hao6==0)

{

delay(5);

if(hao6==0)

{

flag7=1;

while(!hao6);

P2_6=1;

P2_7=1;

P3=0xdf;

shi=0;

ge=0;

hao=6;

TR0=0;

TR1=1;

}

}

if(hao==0&&hao7==0)

{

delay(5);

if(hao7==0)

{

flag8=1;

while(!hao7);

P2_6=1;

P2_7=1;

P3=0xbf;

shi=0;

ge=0;

hao=7;

TR0=0;

TR1=1;

}

}

if(hao==0&&hao8==0)

{

delay(5);

if(hao8==0)

{

flag9=1;

while(!hao8);

P2_6=1;

P2_7=1;

P3=0x7f;

shi=0;

ge=0;

hao=8;

TR0=0;

TR1=1;

}

}

if(!hao==0)

{

if(flag2==1)

{

if(hao1==0)

{

delay(5);

if(hao1==0)

{

TR1=0;

}

}

}

if(flag3==1)

{

if(hao2==0)

{

delay(5);

if(hao2==0)

{

TR1=0;

}

}

}

if(flag4==1)

{

if(hao3==0)

{

delay(5);

if(hao3==0)

{

TR1=0;

}

}

}

if(flag5==1)

{

if(hao4==0)

{

delay(5);

if(hao4==0)

{

TR1=0;

}

}

}

if(flag6==1)

{

if(hao5==0)

{

delay(5);

if(hao5==0)

{

TR1=0;

}

}

}

if(flag7==1)

{

if(hao6==0)

{

delay(5);

if(hao6==0)

{

TR1=0;

}

}

}

if(flag8==1)

{

if(hao7==0)

{

delay(5);

if(hao7==0)

{

TR1=0;

}

}

}

if(flag9==1)

{

if(hao8==0)

{

delay(5);

if(hao8==0)

{

TR1=0;

}

}

}

}

}

}

voiddisplay(ucharhao,ucharaa,ucharshi,ucharge)

{

P0=0xff;

wela=1;

P0=0xfe;

wela=0;

P0=0;

dela=1;

P0=table[hao];

dela=0;

delay(5);

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

P0=0;

dela=1;

P0=table[aa];

dela=0;

delay(5);

P0=0xff;

wela=1;

P0=0xfb;

wela=0;

P0=0;

dela=1;

P0=table[shi];

dela=0;

delay(5);

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

P0=0;

dela=1;

P0=table[ge];

dela=0;

delay(5);

}

voidinit()

{

TMOD=0X11;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

ET1=1;

num=30;

num1=0;

a1=0;

a=0;

shi=3;

ge=0;

flag1=0;

P2_6=0;

}

voidtimer0()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

a++;

if(a==18)

{

a=0;

num--;

if(num==0)

{

num=0;

TR0=0;

}

shi=num/10;

ge=num%10;

}

}

voidtimer1()interrupt3

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

a1++;

if(a1==18)

{

a1=0;

num1++;

if(num1==60)

{

P3=0xff;

P2_6=0;

P2_7=1;

TR1=0;

}

shi=num1/10;

ge=num1%10;

}

}

⑵ 52單片機用C語言編程 要求:用中斷間隔讓八個小燈以一秒間隔閃爍五次,然後全亮2秒,循環。

#include<reg51.h>
#defineucharunsignedchar
#defineuintunsignedint

voiddelay(uinta)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uinti;
while(1)
{
for(i=0;i<5;i++)
{
P0=0x00;
delay(1000);
P0=0xff;
dela(1000);
}
P0=0x00;
delay(2000);
}
}

閱讀全文

與單片機dela是什麼相關的資料

熱點內容
鴻蒙加密等級 瀏覽:802
cocos2dluapdf 瀏覽:491
假的加密鎖靠譜嗎 瀏覽:176
經營聖手伺服器怎麼調 瀏覽:749
arduino手機編程 瀏覽:481
西醫pdf下載 瀏覽:29
後浪電影學院pdf 瀏覽:813
程序員怎麼做到不被人嫉妒 瀏覽:669
cmd新建文件夾md命令 瀏覽:570
php數組中的數值排序 瀏覽:832
安卓手機怎麼避免小孩內購 瀏覽:171
聯想伺服器出現黃色嘆號怎麼辦 瀏覽:991
約翰編譯器製作教程 瀏覽:130
大地pdf 瀏覽:109
pdfplus 瀏覽:577
匯編O命令 瀏覽:970
plt轉pdf 瀏覽:366
魔獸60宏命令大全 瀏覽:480
php志願者網站源碼 瀏覽:875
貿易pdf 瀏覽:499