|
自己花了五六天做的一個(gè)電子秤,沒有包裝有點(diǎn)丑,它能精確到1g,超5KG報(bào)警,能設(shè)置單價(jià)幷顯示出總價(jià),A鍵為去皮鍵,B鍵為單價(jià)清零鍵。
617343730025645387.jpg (131.87 KB, 下載次數(shù): 58)
下載附件
電子秤HX711+LCD1602
2018-5-18 14:55 上傳
部分代碼如下:
- #include<reg52.h>
- #include<intrins.h>
- #define KV P1
- #define LCD P0
- #define uchar unsigned char
- #define uint unsigned int
- #define ulong unsigned long
- sbit HX711_SDA=P2^0; //HX711轉(zhuǎn)換數(shù)據(jù)端
- sbit HX711_SCK=P2^1; //HX711時(shí)鐘端
- sbit LCD1602_E=P2^4; //LCD1602液晶使能端
- sbit LCD1602_RS=P2^5; //LCD1602液晶命令數(shù)據(jù)端
- sbit LCD1602_RW=P2^6; //LCD1602液晶數(shù)據(jù)讀寫端
- sbit buzzer=P2^7; //蜂鳴器管腳
- ulong weight;
- ulong qupi=0;
- volatile uint keyvalue;
- volatile uint price=0;
- volatile ulong money=0;
- uchar W=0; //檢測標(biāo)志
- uchar temp1;
- uchar temp2;
- uchar Moni=0; //檢測標(biāo)志
- uchar dat[4]; //緩存數(shù)據(jù)數(shù)組
- uchar code desk[]="W:0.000kg P:00.0Money:000.0 "; //顯示內(nèi)容初始化
- void delay_us() //延時(shí)us
- {
- _nop_();
- _nop_();
- }
- void delay_ms(uint k) //延時(shí)ms
- {
- uint i,j;
- for(i=k;i>0;i--)
- for(j=110;j>0;j--);
- }
- unsigned long Read_HX711(void)
- {
- unsigned long Count;
- unsigned char i;
- HX711_SDA=1;
- delay_us();
- HX711_SCK=0; //使能AD(PD_SCL 置低)
- Count=0;
- while(HX711_SDA); //AD轉(zhuǎn)換未結(jié)束則等待,否則開始讀取
- for (i = 0; i < 24; i++)
- {
- HX711_SCK = 1; //PD_SCL 置高(發(fā)送脈沖)
- Count=Count<<1; //下降沿來時(shí)變量Count左移一位,右側(cè)補(bǔ)零
- HX711_SCK =0; //PD_SCL 置低
- if(HX711_SDA)
- Count++;
- }
- HX711_SCK = 1;
- Count=Count^0x800000;//第25個(gè)脈沖下降沿來時(shí),轉(zhuǎn)換數(shù)據(jù)
- delay_us();
- HX711_SCK = 0;
- return (Count);
- }
復(fù)制代碼
下載:
電子秤(1602).zip
(29.7 KB, 下載次數(shù): 265)
2018-5-18 15:12 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|