内容发布更新时间 : 2025/2/6 23:59:49星期一 下面是文章的全部内容请认真阅读。
else if (i>=100)
display_GB2312_string(5,52,str1); else if (i>=10)
display_GB2312_string(5,60,str1); else
display_GB2312_string(5,68,str1); //显示小数点
display_GB2312_string(5,76,\ //显示小数部分 int2str(j,str1); if (j<10)
display_GB2312_string(5,84,\ display_GB2312_string(5,92,str1); else
display_GB2312_string(5,84,str1); //显示重量,单位kg,两位整数,三位小数 void Display_Weight() unsigned int i,j;
display_GB2312_string(3,60,\ //weight单位是g
i = weight/1000; //得到整数部分 j = weight - i*1000;//得到小数部分
第 16 页
int2str(i,str1); if (i>=10)
display_GB2312_string(3,60,str1); else
display_GB2312_string(3,68,str1); display_GB2312_string(3,76,\ int2str(j,str1); if (j<10)
display_GB2312_string(3,84,\
display_GB2312_string(3,100,str1);
else if (j<100)
display_GB2312_string(3,84,\
display_GB2312_string(3,92,str1);
else
display_GB2312_string(3,84,str1); //显示总价,单位为元,四位整数,两位小数 void Display_Money() unsigned int i,j;
display_GB2312_string(7,44,\ if (money>999999) //超出显示量程
display_GB2312_string(7,44,\ return;
第 17 页
i = money/100; //得到整数部分 j = money - i*100;//得到小数部分 int2str(i,str1); //显示整数部分 if (i>=1000)
display_GB2312_string(7,44,str1); else if (i>=100)
display_GB2312_string(7,52,str1); else if (i>=10)
display_GB2312_string(7,60,str1); else
display_GB2312_string(7,68,str1); //显示小数点
display_GB2312_string(7,76,\ //显示小数部分 int2str(j,str1); if (j<10)
display_GB2312_string(7,84,\ display_GB2312_string(7,92,str1); else
display_GB2312_string(7,84,str1); //数据初始化
第 18 页
void Data_Init() price = 0; DotPos = 0; beep = 1; alert = 1; //管脚配置
void Port_Init() //定时器0初始化 void Timer0_Init()
ET0 = 1; //允许定时器0中断 TMOD = 1; //定时器工作方式选择 TL0 = 0x06;
TH0 = 0xf8; //定时器赋予初值 TR0 = 1; //启动定时器
//定时器0中断
void Timer0_ISR (void) interrupt 1 using 0
TL0 = 0x06;
TH0 = 0xf8; //定时器赋予初值 //每0.5秒钟刷新重量
Counter ++;
if (Counter >= 200) FlagTest = 1;
第 19 页
Counter = 0;
//按键响应程序,参数是键值 //返回键值:
// 7 8 9 10(清0) // 4 5 6 11(删除) // 1 2 3 12(未定义) // 14(未定义) 0 15(.) 13(确定价格) void KeyPress(uchar keycode) switch (keycode) case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
//目前在设置整数位,要注意price是整型,存储单位为分 if (DotPos == 0)
//最多只能设置到千位
第 20 页