#ifndef _shizhong_h_
#define _shizhong_h_
#include <reg51.H>
#include <key.H>
#include<hx711.h>
#include <lcd_1602.H>
#define uint unsigned int
#define uchar unsigned char
sbit buzz=P1^0;
sbit clock=P2^1;
uchar clock_flag;
uint clock_count1;
uchar clock_count;
///////////////////////////////////////////////////////////////////////
//
电子秤
uchar idata pricetable[3]={0,0,0};
int weight;
uint price,money;
uint temp,qi_weight;
bit chaozhong_flag;
/////////////////////////////////////////////////////////////////////////
void Delay10ms(void) //延时10ms
{
uint i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
void init() //
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0; //定时50ms 11.0592
TH1=0x3c;
TL1=0xb0; //定时50ms 11.0592
TR0=1;
TR1=1;
ET0=1;
ET1=1;
EA=1;
}
void t0() interrupt 1 using 0
{
TH0=0x3c;
TL0=0xb0; //定时50ms
if((weight>5000)&&(chaozhong_flag==1))
{
clock=0;
}
else
{chaozhong_flag=0;TR0=0;clock=1;}
}
void t1() interrupt 3
{
TH1=0x3c;
TL1=0xb0; //定时50ms //
主要是这不明白
if(clock_flag==1)
{
clock_count++;
clock_count1++;
if(clock_count1==6000)
{
clock_flag=0;
clock_count1=0;
clock=1;
TR1=0;
}
if(clock_count<4)
{
clock=0;
}
else if(clock_count<11)
{
clock=1;
}
else if(clock_count<13)
{
clock=0;
}
else if(clock_count<16)
{
clock=1;
}
else if(clock_count<18)
{
clock=0;
}
else if(clock_count<27)
{
clock=1;
}
if(clock_count==27)
{clock_count=0;}
}
}
#endif
一周热门 更多>