#include //#include "LCD1602.h" //#include "HX711.h" #define uint unsigned int sbit LCD1602_RS = P2^5; sbit LCD1602_RW = P2^6; sbit LCD1602_EN = P2^7; sbit HX711_DOUT=P2^0; sbit HX711_SCK=P2^1; unsigned long HX711_Buffer = 0; unsigned long Weight_Maopi = 0,Weight_Shiwu = 0; char Price_Count = 0; uchar KEY_NUM = 0; uchar Price_Buffer[3] = {0x00,0x00,0x00}; unsigned long Money = 0; bit Flag_OK = 0; uchar com; //延时函数 //**************************************************** void Delay__hx711_us(void) { } void LCD1602_delay_ms(unsigned int n) { } void Delay_ms(unsigned int n) { } //**************************************************** //写指令 //**************************************************** void LCD1602_write_com( uchar com) { } //**************************************************** //写数据 //**************************************************** void LCD1602_write_data( uchar dat) { } //**************************************************** //连续写字符 //**************************************************** void LCD1602_write_word(unsigned char *s) { } void Init_LCD1602() { 设置为写状态 显示模式设定 开关显示、光标有无设置、光标闪烁设置 写一个字符后指针加一 清屏指令 } //**************************************************** //矩阵键盘扫描 //**************************************************** unsigned char KEY_Scan() { 数字1 数字4 数字7 备用键*号键 数字0 备用键*号键 数字2 数字5 数字8 数字3 数字6 数字9 数字A键,去皮功能 数字B键清除键,二次测量 数字C输入单价错误时返回上一步 数字D键,计算总价 } unsigned long HX711_Read(void) 增益128 { 第25个脉冲下降沿来时,转换数据 } //**************************************************** //称重 //**************************************************** void Get_Weight() { 获取实物的AD采样数值。 计算实物的实际重量 因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的4.30这个除数。 当发现测试出来的重量偏大时,增加该数值。 如果测试出来的重量偏小时,减小改数值。 该数值一般在4.0-5.0之间。因传感器不同而定。 是为了四舍五入百分位 // 关闭警报 // // // 负重量报警 // // 大于5Kg的最大量程,报警 // // // // // // // // // // // // // } //**************************************************** //获取毛皮重量 //**************************************************** void Get_Maopi() { } //**************************************************** //主函数 //**************************************************** void main() { 初始化LCD1602 指针设置 开机画面第一行 延时2s loop:Price_Count = 0; 指针设置 指针设置 称毛皮重量 称重 显示当前重量 当返回的不是初值时候,确认按键按下。 数字A键,去皮功能 去皮 数字B键清除键,二次测量 数字C输入单价错误时返回上一步 清除上一个输入的数据 数字D键,计算总价 显示输入的价值 }下载本文