實時重量計算,附帶可分部拿走部分的重量,OLED顯示 同時可通過串口上位機顯示拿去部分的重量
51hei.png (662.29 KB, 下載次數: 40)
下載附件
2020-4-19 15:24 上傳
單片機源程序如下:
- #include "delay.h"
- #include "sys.h"
- #include "oled.h"
- #include "bmp.h"
- #include "adc.h"
- #include "pwm.h"
- #include "key.h"
- #include "pwm.h"
- #include "HX711.h"
- #include "usart.h"
- int main(void)
- {
-
- char current[]={"current:"};
- char take[]={"t a k e:"};
- char carry[]={"current:"};
- u8 i=0 ;
- SystemInit(); /*系統時鐘初始化*/
- delay_init(); /*延時函數初始化*/
- OLED_Init(); /*OLED初始化*/
- OLED_Clear(); /*OLED清屏*/
- Init_HX711pin();
- USART1_Config();
- delay_ms(100);
- key_init();
- OLED_ShowString(0,2,current,16);
- OLED_ShowString(0,4,take,16);
- Get_Weight();
- offset=Weight_Shiwu;
- while(1)
- {
- Get_Weight();
- tot=Weight_Shiwu-offset;
- if(tot<=0)tot=0;
- OLED_ShowNum(80,2,tot,6,16);
-
- if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_10) == 0)
- {
- delay_ms(500);
- if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_10) == 0)
- {
- i++;
- }
- }
- if(i==1)
- {
- tot_old=tot;
- i=2;
- err=0;
- OLED_ShowChar(75,4,'*',16);
- OLED_ShowChar(65,4,' ',16);
- OLED_ShowNum(80,4,err,6,16);
- }
- if(i==3)
- {
- err=tot_old-tot;
- i=0;
- if(err<=0)
- {
- err=-err;
- }
- OLED_ShowChar(75,4,'*',16);
- OLED_ShowChar(65,4,'*',16);
- OLED_ShowNum(80,4,err,6,16);
- USART_SendData(USART1,err);
- }
- // USART_SendData(USART1,err);
- }
-
- }
-
復制代碼
所有資料51hei提供下載:
電子秤串口 oled 拿去重量.7z
(206.11 KB, 下載次數: 87)
2020-4-19 15:16 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|