青岛理工大学毕业设计
附录A:程序清单
#include \#include \#include \
unsigned long HX711_Buffer = 0;
unsigned int Weight_Maopi = 0,Weight_Shiwu = 0; char Price_Count = 0; unsigned char KEY_NUM = 0;
unsigned char Price_Buffer[3] = {0x00,0x00,0x00}; unsigned long Money = 0; bit Flag_OK = 0;
sbit led1=P1^0; //绿灯 管脚 sbit led2=P1^1; //红灯 管脚
//**************************************************** //主函数
//**************************************************** void main() {
28
Init_LCD1602(); //初始化LCD1602
LCD1602_write_com(0x80);
//指针设置
//开机画面第一行
LCD1602_write_word(\
青岛理工大学毕业设计
Delay_ms(2000); //延时2s
loop:Price_Count = 0;
Price_Buffer[0] = 0; Price_Buffer[1] = 0; Price_Buffer[2] = 0; Flag_OK = 0;
LCD1602_write_com(0x80); //指针设置
LCD1602_write_word(\LCD1602_write_com(0x80+0x40);
//指针设置
LCD1602_write_word(\ . | . \
Get_Maopi();
while(1) {
}
29
if( Flag_OK == 0) {
Get_Weight();
//称重
//显示当前重量
LCD1602_write_com(0x80+0x40);
LCD1602_write_data(Weight_Shiwu/1000 + 0x30); LCD1602_write_data('.');
LCD1602_write_data(Weight_Shiwu00/100 + 0x30); LCD1602_write_data(Weight_Shiwu0/10 + 0x30); LCD1602_write_data(Weight_Shiwu + 0x30);
青岛理工大学毕业设计
if(Weight_Shiwu>5000) {led2=0; led1=1; }
if(Weight_Shiwu<1000) {led2=0; led1=1; }
if((Weight_Shiwu<5000)&(Weight_Shiwu>1000)) {led1=0; led2=1;}
void Get_Weight() {
HX711_Buffer = HX711_Read(); HX711_Buffer = HX711_Buffer/100; if(HX711_Buffer > Weight_Maopi) {
HX711_Buffer = HX711_Read(); Weight_Shiwu = HX711_Buffer/100;
Weight_Shiwu = Weight_Shiwu - Weight_Maopi;
//获取实物
的AD采样数值。
Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/4.22+0.05); //计算
实物的实际重量
//因为
不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的4.30这个除数。
//当发
30
青岛理工大学毕业设计
现测试出来的重量偏大时,增加该数值。
//如果
测试出来的重量偏小时,减小改数值。
//该数
值一般在4.0-5.0之间。因传感器不同而定。
//+0.05
是为了四舍五入百分位
}
else if(HX711_Buffer < Weight_Maopi - 30) { }
else if(HX711_Buffer > Weight_Maopi + 24970)
//大于5Kg的最大量程,
Buzzer = 0;
//负重量报警
Buzzer = 1;
//关闭警报
报警 }
{ }
Buzzer = 0;
//**************************************************** //获取重量
//**************************************************** void Get_Maopi() { }
//****************************************************
31
HX711_Buffer = HX711_Read(); Weight_Maopi = HX711_Buffer/100;
相关推荐: