• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于51单片机的加油站显示【数码管,矩阵键盘】(仿真)

01/05 08:40
1174
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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

共1个文件

[相关器件] SN74AVC2T45YZPR

缓存器/驱动器/收发器,SN74AVC2T45 Dual-Bit Dual-Supply Bus Transceiver with Configurable Voltage Translation and 3-State Outputs

bit led1=P3^0;//LED
sbit led2=P3^1;
sbit led3=P3^2;
sbit led4=P3^7;
sbit smg1=P2^0;//数码管
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;
//数码管编码
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar time=0,mode=0;//系统变量 mode=0复位,=1设置,=2加油,=3结束
uint sum=500;//总价
float money=0;//实时价格
uchar you=0;//油类型
//延时
void delay(uint i)
{
	while(i--);
}

uchar key=0;
uchar key_scan()//按键检测
{
	uchar i;
	i=0;
	P1=0x7f;
 	switch(P1)//检测第1行
 	{
  		case 0x7e:i=4;break;
  		case 0x7d:i=3;break;
  		case 0x7b:i=2;break;
  		case 0x77:i=1;
 	}
	P1=0xBf;
 	switch(P1)//检测第2行
 	{
  		case 0xBe:i=8;break;
  		case 0xBd:i=7;break;
  		case 0xBb:i=6;break;
  		case 0xB7:i=5;
 	}
	P1=0xDf;
 	switch(P1)//检测第3行
 	{
  		case 0xDe:i=12;break;
  		case 0xDd:i=11;break;
  		case 0xDb:i=10;break;
  		case 0xD7:i=9;
 	}
	P1=0xEf;
 	switch(P1)//检测第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()	//主函数
{
	uchar i=0;
	unsigned long k=0;
	TMOD|=0X01;//初始化定时器
	TH0=(65536-50000)/256;//50ms
	TL0=(65536-50000)%256;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		i=key_scan();//按键检测
		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))//启动
		{
			mode=1;
		}
		if((i==14)&&(mode

资料借鉴于此纷传

  • 有需要资料的可了解一下.docx
    下载
[相关器件] MW7IC2040NR1

射频/微波组件,MW7IC2040N - Single W-CDMA, GSM/EDGE, RF LDMOS Wideband Integrated Power Amplifier

点赞
收藏
评论
分享
加入交流群
举报

相关推荐