• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的加油站顯示【數(shù)碼管,矩陣鍵盤】(仿真)

01/05 08:40
1192
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

有需要資料的可了解一下.docx

共1個(gè)文件

bit led1=P3^0;//LED
sbit led2=P3^1;
sbit led3=P3^2;
sbit led4=P3^7;
sbit smg1=P2^0;//數(shù)碼管
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
sbit smg5=P2^4;
sbit smg6=P2^5;
sbit smg7=P2^6;
sbit smg8=P2^7;
//數(shù)碼管編碼
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar time=0,mode=0;//系統(tǒng)變量 mode=0復(fù)位,=1設(shè)置,=2加油,=3結(jié)束
uint sum=500;//總價(jià)
float money=0;//實(shí)時(shí)價(jià)格
uchar you=0;//油類型
//延時(shí)
void delay(uint i)
{
	while(i--);
}

uchar key=0;
uchar key_scan()//按鍵檢測(cè)
{
	uchar i;
	i=0;
	P1=0x7f;
 	switch(P1)//檢測(cè)第1行
 	{
  		case 0x7e:i=4;break;
  		case 0x7d:i=3;break;
  		case 0x7b:i=2;break;
  		case 0x77:i=1;
 	}
	P1=0xBf;
 	switch(P1)//檢測(cè)第2行
 	{
  		case 0xBe:i=8;break;
  		case 0xBd:i=7;break;
  		case 0xBb:i=6;break;
  		case 0xB7:i=5;
 	}
	P1=0xDf;
 	switch(P1)//檢測(cè)第3行
 	{
  		case 0xDe:i=12;break;
  		case 0xDd:i=11;break;
  		case 0xDb:i=10;break;
  		case 0xD7:i=9;
 	}
	P1=0xEf;
 	switch(P1)//檢測(cè)第4行
 	{
  		case 0xEe:i=16;break;
  		case 0xEd:i=15;break;
  		case 0xEb:i=14;break;
  		case 0xE7:i=13;
 	}
	if(key==i)
		return 0;
	else
	{
		key=i;
		return(key);
	}
}

void main()	//主函數(shù)
{
	uchar i=0;
	unsigned long k=0;
	TMOD|=0X01;//初始化定時(shí)器
	TH0=(65536-50000)/256;//50ms
	TL0=(65536-50000)%256;	
	ET0=1;//打開(kāi)定時(shí)器0中斷允許
	EA=1;//打開(kāi)總中斷
	TR0=1;//打開(kāi)定時(shí)器
	while(1)
	{
		i=key_scan();//按鍵檢測(cè)
		if(mode==1)
		{
		if(i==1)//92
		{
			you=0;
		}
		if(i==2)//95
		{
			you=1;
		}
		if(i==3)//98
		{
			you=2;
		}
		if(i==5)//加100
		{
			if(sum<900)
				sum+=100;
		}
		if(i==6)//加10
		{
			if(sum<990)
				sum+=10;
		}
		if(i==7)//加1
		{
			if(sum<999)
				sum++;
		}
		if(i==9)//減100
		{
			if(sum>100)
				sum-=100;
		}
		if(i==10)//減10
		{
			if(sum>10)
				sum-=10;
		}
		if(i==11)//減1
		{
			if(sum>0)
				sum--;
		} 
		}
		if((i==13)&&(mode==0))//啟動(dòng)
		{
			mode=1;
		}
		if((i==14)&&(mode

資料借鑒于此紛傳

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!