当前位置:首页 > 数字电子秤设计 - 图文
数字电子秤设计
附录2作品展示图
21
数字电子秤设计
附录3 电路程序
#include
#define AD_Ref1 86168 #define AD_Ref2 87703 / #define Wight_Ref 350 long AdVal; long AD_DAT;
int BP_DAT=0; int BP_DAT1=0; int Peel_ad=0;
sbit BEEP=P1^0; sbit key=P1^1;
void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); }
void Check() { float Wight_K=0.0; uint dat; Wight_K=(float)((AD_Ref2-AD_Ref1)/Wight_Ref); if(AdVal>AD_Ref1) { dat=(uint)((AdVal-AD_Ref1)/4.38); //4.33=(AD_Ref2-AD_Ref1)/350 BP_DAT1=(int)(dat); } else { dat=(uint)((AD_Ref1-AdVal)/4.38); BP_DAT1=(0-(int)(dat)); } if(BP_DAT1>Peel_ad) BP_DAT=BP_DAT1-Peel_ad; else {
22
数字电子秤设计
BP_DAT=Peel_ad-BP_DAT1; BP_DAT=(0-BP_DAT); } BP_DAT=(BP_DAT/5)*5; / if(key==0) { delayms(8); if(key==0) Peel_ad=BP_DAT1; } }
#include \
void main() { uchar i=0; init_1602(); while(1) { display(); if(i<5) { AD_DAT+=ReadCount(); i++; } else { i=0; AdVal=AD_DAT/500; AD_DAT=0; Check(); } } }
#include
#define ulong unsigned long #define uchar unsigned char sbit ADDO = P3^6; sbit ADSK = P3^7; ulong ReadCount(void); ulong ReadCount(void)
23
数字电子秤设计
{
ulong Count; uchar i; ADSK=0; Count=0;
while(ADDO); for (i=0;i<24;i++) {
ADSK=1;
Count=Count<<1; ADSK=0;
if(ADDO) Count++; }
ADSK=1;
Count=Count^0x800000; ADSK=0; return(Count); }
sbit EN=P2^7; sbit RS=P2^5; sbit RW=P2^6;
unsigned char LCD1602_Table[]=\ // 0123456789abcdef unsigned char DIS1_TAB[]={%unsigned char DIS2_TAB[]={\ --.---kg\void write_date(uchar date) { EN=0; RS=1; P0=date; EN=0; delayms(5); EN=1; }
void write_com(uchar date) { EN=0; RS=0; P0=date; EN=0; delayms(5); EN=1; }
void init_1602()
24
共分享92篇相关文档