资源简介
HX711电子称专用芯片的单片机驱动程序,需要的朋友可以下载下来看看,有参考意义!
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
#define delayNOP();{_nop_();_nop_();_nop_();_nop_();};
//定义量程系数
#define RATIO 6797/1000
//定义标识
volatile bit FlagTest = 0; //定时测试标志,每0.5秒置位,测完清0
volatile bit FlagKeyPress = 0; //有键按下标志,处理完毕清0
volatile bit FlagSetPrice = 0; //价格设置状态标志,设置好为1。
//管脚定义
//sbit LedA = P2^2;
sbit beep = P1^5;
sbit alert = P1^6;
sbit key_all=P3^7; //总金额键
//显示用变量
int Counter;
uchar idata str1[6] = “000000“;
uchar code name0[]={“本次购物总金额:“};
uchar code name1[]={“香蕉“};
uchar code name2[]={“苹果“};
uchar code name3[]={“橘子“};
uchar code name4[]={“葡萄“};
uchar code name5[]={“柚子“};
uchar code name6[]={“橙子“};
uchar code name7[]={“梨子“};
uchar code name8[]={“西瓜“};
uchar code name9[]={“木瓜“};
uchar code name10[]={“桃子“};
int i iTemp;
//称重用变量
ulong idata FullScale; //满量程AD值/1000
ulong AdVal; //AD采样值
ulong weight; //重量值,单位g
ulong idata price; //单价,长整型值,单位为分
ulong idata money; //总价,长整型值,单位为分
ulong dec_weight;
//键盘处理变量
uchar keycode;
uchar DotPos; //小数点标志及位置
uchar Dec_pi; //去皮变量
uchar all_flag; //累计变量
//标志位
uchar num_name; //名称数量标志
uchar shuliang; //数量值
ulong idata all_money; //累计
//函数声明
void int2str(int char *);
void Data_Init();
void Port_Init();
void Timer0_Init();
void Timer0_ISR () ;
void INT1_Init();
void KeyPress(uchar);
void To_Zero();
void Display_Namenum();
void Display_Price();
void Display_Weight();
void Display_Money();
void Display_Allmoney();
//整型转字符串的函数,转换范围0--65536
void int2str(int x char* str)
{
int i=1;
int tmp=10;
while(x/tmp!=0)
{
i++;
tmp*=10;
}
tmp=x;
str[i]=‘\0‘;
while(i>1)
{
str[--i]=‘0‘+(tmp%10);
tmp/=10;
}
str[0]=tmp+‘0‘;
}
//重新找回零点,每次测量前调用
void To_Zero()
{
FullScale=ReadCount()/1000;
price=0;
}
//显示名称数量,单位为元,四位整数,两位小数
void Display_Namenum()
{
uint ij;
uchar A1A2A3A4;
uchar B1B2;
i = price/100; //得到整数部分
j = price - i*100;//得到小数部分
// int2str(astr1);
A1=i/1000+48;
A2=i%1000/100+48;
A3=i%1000%100/10+48;
A4=i%1000%100%10+48;
B1=j/10+48;
B2=j%10+48;
//显示整数部分
Lcd_Pos(04);
Lcd_Wdat(‘:‘);
Lcd_Wdat(A1);
Lcd_Wdat(A2);
Lcd_Wdat(A3);
Lcd_Wdat(A4);
Lcd_Wdat(‘-‘);
//显示小数点 小数点部分
// int2str(jstr1);
Lcd_Pos(07);
Lcd_Wdat(B1);
Lcd_Wdat(B2);
}
//显示单价,单位为元,四位整数,两位小数
void Display_Price()
{
uint ij;
uchar A1A2A3A4;
uchar B1B2;
i = price/100; //得到整数部分
j = price - i*100;//得到小数部分
// int2str(astr1);
A1=i/1000+48;
A2=i%1000/100+48;
A3=i%1000%100/10+48;
A4=i%1000%100%10+48;
B1=j/10+48;
B2=j%10+48;
//显示整数部分
if (i>=1000)
{
Lcd_Pos(23);
Lcd_Wdat(A1);
Lcd_Wdat(A2);
Lcd_Wdat(A3);
Lc
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1681 2012-03-25 21:09 licunzhu520-发送\使用说明.txt
文件 436 2012-03-20 13:20 licunzhu520-发送\电子秤C程序\hx711.h
文件 1541 2012-03-25 13:43 licunzhu520-发送\电子秤C程序\keyboard.h
文件 4079 2012-03-18 02:29 licunzhu520-发送\电子秤C程序\lcd12864.h
文件 6376 2005-03-22 15:22 licunzhu520-发送\电子秤C程序\STARTUP.A51
文件 14049 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\STARTUP.LST
文件 749 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\STARTUP.OBJ
文件 46442 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序
文件 15763 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.c
文件 14469 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.hex
文件 68 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.lnp
文件 40816 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.LST
文件 54568 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.M51
文件 54499 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.OBJ
文件 1042 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.Opt
文件 842 2012-04-07 14:18 licunzhu520-发送\电子秤C程序\电子秤程序.plg
文件 2183 2012-03-17 01:49 licunzhu520-发送\电子秤C程序\电子秤程序.Uv2
文件 1738 2012-03-25 14:29 licunzhu520-发送\电子秤C程序\电子秤程序_Opt.Bak
文件 0 2012-03-16 20:34 licunzhu520-发送\电子秤C程序\电子秤程序_Uv2.Bak
文件 171791 2012-03-25 22:40 licunzhu520-发送\电子秤原理图.jpg
目录 0 2012-04-23 18:54 licunzhu520-发送\电子秤C程序
目录 0 2012-04-23 18:55 licunzhu520-发送
----------- --------- ---------- ----- ----
433132 22
评论
共有 条评论