单片机C语言程序.doc
文本预览下载声明
1 流水
#include reg51.H
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_7=P1^7;
unsigned char ID;
void delayms(unsigned char i)
{
unsigned char j;
for(i;i0;i--)
for(j=1000;j0;j--);
}
void main(void)
{ while(1)
{ if(P1_7==0)
{delayms(100);
if(P1_7==0)
{
ID++;
if(ID==4)
{
ID=0;
}
while(P1_7==0);
}
}
switch(ID)
{ case 0:
P1_0=~P1_0;
P1_1=1;P1_2=1;P1_3=1;
delayms(100);
break;
case 1:
P1_1=~P1_1;
P1_0=1;P1_2=1;P1_3=1;
delayms(100);
break;
case 2:
P1_2=~P1_2;
P1_0=1;P1_1=1;P1_3=1;
delayms(100);
break;
case 3:
P1_3=~P1_3;
P1_0=1;P1_1=1;P1_2=1;
delayms(100);
break;
}
}
}
2抢答器
#include reg51.h
#include absacc.h
#define cs273 XBYTE[0xCFA0]
sbit RST = P1^7;
sbit K1 = P1^0;
sbit K2 = P1^1;
sbit K3 = P1^2;
sbit P1_3=P1^3;
unsigned char code table[4]={0x06,0x5b,0x4f,0x00};
void delay(unsigned k)
{
unsigned int i,j;
for(i=0;ik;i++)
for(j=0;j62;j++);
}
main()
{
while(1)
{
start:
P1_3=0;
if(K1==0)
{
delay(30);
if(K1==0)
{cs273=table[0];while(1)if(RST==0){cs273=table[3];goto start;}}
}
else if(K2==0)
{
delay(30);
if(K2==0)
{cs273=table[1];while(1)if(RST==0){cs273=table[3];goto start;}}
}
else if(K3==0)
{
delay(30);
if(K3==0)
{cs273=table[2];while(1)if(RST==0){cs273=table[3];goto start;}}
}
}
}
3五人表决器
#include reg51.h
sbit RST = P1^7;
sbit K1 = P1^0;
sbit K2 = P1^1;
sbit K3 = P1^2;
sbit K4 =P1^3;
sbit K5=P1^4;
sbit P1_6=P1^6;
unsigned char count,a,b,c,d,e;
void delay(unsigned k)
{
unsigned int i,j;
for(i=0;ik;i++)
for(j=0;j62;j++);
}
main()
{
while(1)
{
if(K1==0)
显示全部