1 #include <reg52.h>
2 #include "hx711.h"
3
4 sbit Led0=P0^0; //ÓÃÒ»¿ÅСµÆµÄÁÁÃð´ú±íËøµÄ¿ª¹Ø
5 sbit Led1=P1^0; //ÓÃСµÆ±íʾÐÐÀîµÄÖØÁ¿£¬Ã¿Ò»¸öСµÆ´ú±í300g£¬¹²Îå¿ÅСµÆ
6 sbit Led2=P1^1;
7 sbit Led3=P1^2;
8 sbit Led4=P1^3;
9 sbit Led5=P1^4;
10
11 unsigned long HX711_Buffer = 0;
12 unsigned int Weight_Maopi = 0,Weight_Shiwu = 0;
13 unsigned int i=0;
14
15 void init_led()
16 {
17 Led0=0;
18 Led1=0;
19 Led2=0;
20 Led3=0;
21 Led4=0;
22 Led5=0;
23 }
24 //****************************************************
25 //³ÆÖØ
26 //****************************************************
27 void Get_Weight()
28 {
29 HX711_Buffer = ReadCount();
30 HX711_Buffer = HX711_Buffer/100;
31 if(HX711_Buffer > Weight_Maopi)
32 {
33 Weight_Shiwu = HX711_Buffer;
34 Weight_Shiwu = Weight_Shiwu - Weight_Maopi;
35 Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/2.08+0.05);
36 Weight_Shiwu=Weight_Shiwu/2;
37
38 }
39 }
40
41 void Get_Maopi()
42 {
43 unsigned char i = 0;
44 unsigned int Temp_Weight = 0;
45
46 Weight_Maopi = 0;
47
48 for( i = 0 ; i < 10 ; i++) //È¡10×éÊý¾Ý£¬ÒÔ×î´óµÄÒ»¸öÊý¾ÝΪëƤÖØÁ¿
49 {
50 HX711_Buffer = ReadCount();
51 Temp_Weight = HX711_Buffer/100;
52
53 if( Temp_Weight > Weight_Maopi)
54 {
55 Weight_Maopi = Temp_Weight;
56 }
57 }
58 }
59
60 void alarm()
61 {
62 if(Weight_Shiwu>=300&&Weight_Shiwu<600)
63 {
64 Led1=1;
65 Led2=0;
66 Led3=0;
67 Led4=0;
68 Led5=0;
69 }
70 if(Weight_Shiwu>=600&&Weight_Shiwu<900)
71 {
72 Led1=1;
73 Led2=1;
74 Led3=0;
75 Led4=0;
76 Led5=0;
77 }
78 if(Weight_Shiwu>=900&&Weight_Shiwu<1200)
79 {
80 Led1=1;
81 Led2=1;
82 Led3=1;
83 Led4=0;
84 Led5=0;
85 }
86 if(Weight_Shiwu>=1200&&Weight_Shiwu<1500)
87 {
88 Led1=1;
89 Led2=1;
90 Led3=1;
91 Led4=1;
92 Led5=0;
93 }
94 if(Weight_Shiwu>=1500)
95 {
96 Led1=1;
97 Led2=1;
98 Led3=1;
99 Led4=1;
100 Led5=1;
101 }
102 if(Weight_Shiwu<300)
103 {
104 Led1=0;
105 Led2=0;
106 Led3=0;
107 Led4=0;
108 Led5=0;
109 }
110 }
111 void main()
112 {
113 unsigned char ldat;
114 init_led();
115 TMOD=0X21; //ÉèÖö¨Ê±Æ÷1Ϊģʽ2£¬×öΪ²¨ÌØÂÊ·¢ÉúÆ
116 SCON=0x50; //ÉèÖô®¿Ú·½Ê½2
117 TL1=0xFd; //2400²¨ÌØÂʵÄ&s