#include <reg51.h>
#include "LCD12864.h"
#include "KeyBoard.h"
#include "code1.h"
sbit RELAY = P2^4;
sbit K1 = P3^3;
int Key_Value=0;//暂时存储键值
int Key_Use=0;//用于存储除确认键外的键值
int Enter_Flag=0;//用于确认案件进行到第几步用
int Wait_Flag=0;//避免误清屏用
int QY_Flag=0;//避免后续混淆柴油汽油用
int CY_Flag=0;//避免后续混淆柴油汽油用
int IN_Mon_Flag=0;//输入金额时的标志位
int OVER_Flag=0;//加油结束的标志位
int Cap_Flag=0;//选择容量时的标志位
int Gas_Flag=0;//第一次进入加油的相关函数的标志位
int Money_Weishu=0;//金额的位数
float Money_Beishu=0.0;//金额的倍数,分为100,10,1
int p1=0,p2=0,p3=0;//单价的三位数字,从左往右
int m1=0,m2=0,m3=0,m4=0;//金额的四位数字,从左往右
int c1=0,c2=0,c3=0,c4=0;//容量的三位数字,从左往右
float PRICE=0.0;//存储单价的变量
float MONEY=0.0;//存储金额的变量
float CAP=0.0;//存储容量的变量
float MONEY_temp=0.0;//用于实时变化的金额暂时值
float CAP_temp=0.0;//用于实时变化的容量暂时值
long Pulse_Count=0;//脉冲计数值
void Timer0_Int() { //定时器0初始化
TMOD=0x1; //T0,工作方式1
TH0=0xb1; //20ms定时
TL0=0xe0;
TR0=1; //开启T0定时器
ET0=1; //允许T0定时器中断
EA=1;
}//开启总中断允许
void EX0_Int() { //外部中断初始化
IT0=1; //设置外部中断0的触发方式为下降沿
EX0=1; //开启外部中断0,可以在其他地方用来开启或者关闭外部中断0
EA=1;
}//开启总中断允许
void ClearScreenall() { //清全屏
ClearScreen(1);
ClearScreen(2);
}
void OpenShow() { //开机界面和一开始的选择界面
digplaystart();
ClearScreenall();
ShowString(2,0,&string9);//请插入您的油卡:
}
void money_scan() { //确认此时的输入的金额是第几位的,方便金额的读入及存取。
switch(Money_Weishu) {
case(0):
Money_Beishu=100.0;
break;
case(1):
Money_Beishu=10.0;
break;
case(2):
Money_Beishu=1.0;
break;
}
}
int DisP_parameters(int x,int y,int m) { //用于实时显示具体坐标的数字的函数,其中x对应的是显示器的行,y对应的是显示器的列,m对应的是要显示的数字
switch(m) {
case(1):
ShowNumber(x,y,1);
break;
case(2):
ShowNumber(x,y,2);
break;
case(3):
ShowNumber(x,y,3);
break;
case(4):
ShowNumber(x,y,4);
break;
case(5):
ShowNumber(x,y,5);
break;
case(6):
ShowNumber(x,y,6);
break;
case(7):
ShowNumber(x,y,7);
break;
case(8):
ShowNumber(x,y,8);
break;
case(9):
ShowNumber(x,y,9);
break;
case(0):
ShowNumber(x,y,0);
break;
}
}
void main(void)
{
InitLCD(); //初始化LCD12864
OpenShow(); //初始化一开始的界面
Timer0_Int();//定时器0初始化函数
EX0_Int();//外部中断0初始化函数
EX0=0;//先关闭外部中断0等到开始加油时,再使外部中断启动。
while(1) {}
}
void time0(void) interrupt 1 {
if(K1==0)//插卡
{
if(Wait_Flag==0)
ClearScreenall();//第一次进入时需要清屏,但之后循环后继续满足条件进入时不需要清屏
Wait_Flag=1;
ShowString(1,0,&string1);//请选择汽油或柴油 64行X128列,字体为16X16,汉字4行X8列
ShowNumber(3,16,17);
ShowChina(3,24,3,&string2);
ShowChina(3,40,4,&string2);//A汽油
ShowNumber(3,72,18);
ShowChina(3,80,3,&string3);
ShowChina(3,96,4,&string3);//B柴油
K1=1;
}
Key_Value=keyproc();//循环里只有一个按键检测函数,更加清晰明了,如果满足按键条件就进入相关语句,
//这里值得注意的是我将Key_Value存于Key_Use,这样做的目的是防止Key_Value第
//二次被检测到赋值成34,即确认键。还有一点需要注意的是,本来我写的是else Key_Value!=34
//即进行赋值到存于Key_Use,但实际使用起来会发现因为按键检测程序中的X和Y有默认值,所以还需要!=0
if(Key_Value==34)
++Enter_Flag;//确认标志加1
if(Key_Value!=0&&Key_Value!=34)
Key_Use=Key_Value;
//汽油选择
if((Key_Use==14)&&(Enter_Flag==1))//A汽油
{
QY_Flag=1;//用于说明选择了汽油。避免与柴油后续的型号选择等混淆
if(Wait_Flag==1) ClearScreenall();//第一次进入时需要清屏,但之后循环后继续满足条件进入时不需要清屏
Wait_Flag=2;
ShowString(0,0,&string2);//请选择汽油型号
ShowNumber(2,16,1);
ShowNumber(2,24,10);
ShowNumber(2,32,9);
ShowNumber(2,40,2);
ShowChina(2,48,7,&string2);//1:92号
ShowNumber(4,16,2);
ShowNumber(4,24,10);
ShowNumber(4,32,9);
ShowNumber(4,40,5);
ShowChina(4,48,7,&string2);//2:95号
ShowNumber(6,16,3);
ShowNumber(6,24,10);
ShowNumber(6,32,9);
ShowNumber(6,40,8);
ShowChina(6,48,7,&string2);//3:98号
}
if((QY_Flag==1)&&(Key_Use==11||Key_Use==12||Key_Use==13)&&Enter_Flag==2)//选好型号选择加油方式
{
if(Wait_Flag==2) ClearScreenall();//第一次进入时需要清屏,但之后循环后继续满足条件进入时不需要清屏,后续看情况可能删除
Wait_Flag=3;
switch(Key_Use) {
case(11):
ShowNumber(0,0,9);
ShowNumber(0,8,2);
ShowChina(0,16,7,&string2);
ShowNumber(0,32,10);
PRICE=5.57;
break;//92号:
case(12):
ShowNumber(0,0,9);
ShowNumber(0,8,5);
ShowChina(0,16,7,&string2);
ShowNumber(0,32,10);
PRICE=6.02;
break;//95号:
case(13):
ShowNumber(0,0,9);
ShowNumber(0,8,8);
ShowChina(0,16,7,&string2);
ShowNumber(0,32,10);
PRICE=6.85;
break;//98号:
}
ShowString(2,0,&string4);//请选择加油的方式
ShowNumber(5,16,17);//A
ShowChina(5,24,0,&string5);//金
ShowChina(5,40,1,&string5);//额
ShowNumber(5,72,18);//B
ShowChina(5,80,2,&string5);//容
ShowChina(5,96,3,&string5);//量
}
//柴油选择
if((Key_Use==24)&&(Enter_Flag==1))//B柴油
{
CY_Flag=1;//用于说明选择了柴油。避免与汽油后续的型号选择等混淆
if(Wait_Flag==1) ClearScreenall();//第一次进入时需要清屏,但之后循环后继续满足条件进入时不需要清屏,后续看情况可能删除
Wait_Flag=2;
ShowString(0,0,&string3);//请选择柴油型号
ShowNumber(2,0,1);
ShowNumber(2,8,10);
ShowNumber(2,16,11);
ShowNumber(2,24,5);
ShowNumber(2,32,0);
ShowNumber(2,40,23);//1:-50#
ShowNumber(2,64,2);
ShowNumber(2,72,10);
ShowNumber(2,80,11);
ShowNumber(2,88,5);
ShowNumber(2,96,0);
ShowNumber(2,104,23);//2:-35#
ShowNumber(4,0,3);
ShowNumber(4,8,10);
ShowNumber(4,16,11);
ShowNumber(4,24,2);
ShowNumber(4,32,0);
ShowNumber(4,40,23);//3:-20#
ShowNumber(4,64,4);
ShowNumber(4,72,10);
ShowNumber(4,80,11);
ShowNumber(4,88,1);
ShowNumber(4,96,0);
ShowNumber(4,104,23);//4:-10#
ShowNumber(6,0,5);
ShowNumber(6,8,10);
ShowNumber(6,16,0);
ShowNumber(6,24,23);//5:0#
ShowNumber(6,64,6);
ShowNumber(6,72,10);
ShowNumber(6,80,12);
ShowNumber(6,88,5);
ShowNumber(6,96,23);//6:+5#
}
if((CY_Flag==1)&&(Key_Use==11||Key_Use==12|Key_Use==13||Key_Use==21||Key_Use==22||Key_Use==23)&&Enter_Flag==2)//选好型号选择加油方式
{
if(Wait_Flag==2) ClearScreenall();//第一次进入时需要清屏,但之后循环后继续满足条件进入时不需要清屏,后续看情况可能删除
Wait_Flag=3;
switch(Key_Use) {
case(11):
ShowNumber(0,0,11);
ShowNumber(0,8,5);
ShowNumber(0,16,0);
ShowNumber(0,24,23);
ShowNumber(0,32,10);
PRICE=6.07;
break;//-50#:
case(12):
ShowNumber(0,0,11);
ShowNumber(0,8,5);
ShowN
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源基于Proteus和Kei联合仿真,以自主加油系统为设计目标,系统中包括LCD12064液晶屏显示,多键盘的按键输入,外部中断,计数功能。可以提供给很多人进行Proteus的基础学习。另外工程的代码进行了详尽的注释,极大的方便了阅读,欢迎有兴趣的朋友自行下载。
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 398 条
- 1
- 2
- 3
- 4
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/ccd09197c102413dbc8b1b9630850d61_qq_39397153.jpg!1)
LEODWL
- 粉丝: 2w+
- 资源: 30
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)