标题: 新手求教51单片机电子称设计 [打印本页]

作者: Journey.    时间: 2018-6-8 16:56
标题: 新手求教51单片机电子称设计
做学校里的一个单片机项目
源程序都考进去了但是显示 不出来东西
最顶上一行白色方框
下面一行不显示

源程序附件里

部分截取
  1. #include "main.h"
  2. #include "HX711.h"
  3. #include "uart.h"
  4. #include "LCD1602.h"
  5. unsigned long HX711_Buffer = 0;
  6. unsigned long Weight_Maopi = 0;
  7. long Weight_Shiwu = 0;
  8. unsigned char flag = 0;
  9. bit Flag_ERROR = 0;
  10. sbit speak= P1^7;
  11. #define GapValue 400

  12. //****************************************************
  13. //??????
  14. //****************************************************
  15. void main()
  16. {
  17.     Uart_Init();
  18.     Send_Word("Welcome to use!\n");
  19.     Send_Word("Made by Beetle Electronic Technology!\n");

  20. Init_LCD1602();
  21. LCD1602_write_com(0x80);
  22. LCD1602_write_word("Welcome to use!");
  23. Delay_ms(1000);   //???,????????????
  24. Get_Maopi();    //????????

  25. while(1)
  26. {
  27.   EA = 0;
  28.   Get_Weight();   //????
  29.   EA = 1;
  30.   Scan_Key();
  31.   //??????????
  32.   if( Flag_ERROR == 1)
  33.   {
  34.             Send_Word("ERROR\n");
  35.    
  36.    LCD1602_write_com(0x80+0x40);
  37.    LCD1602_write_word("ERROR ");
  38.    speak=0;
  39.   }  
  40.   else
  41.   {         
  42.          speak=1;
  43.             Send_ASCII(Weight_Shiwu/1000 + 0X30);
  44.             Send_ASCII(Weight_Shiwu%1000/100 + 0X30);
  45.             Send_ASCII(Weight_Shiwu%100/10 + 0X30);
  46.             Send_ASCII(Weight_Shiwu%10 + 0X30);
  47.             Send_Word(" g\n");
  48.    
  49.    LCD1602_write_com(0x80+0x40);
  50.    LCD1602_write_data(Weight_Shiwu/1000 + 0X30);
  51.             LCD1602_write_data(Weight_Shiwu%1000/100 + 0X30);
  52.             LCD1602_write_data(Weight_Shiwu%100/10 + 0X30);
  53.             LCD1602_write_data(Weight_Shiwu%10 + 0X30);
  54.    LCD1602_write_word(" g");
  55.   }
  56.   
  57. }
  58. }
  59. //??谴??
  60. void Scan_Key()
  61. {
  62. if(KEY1 == 0)
  63. {
  64.   Delay_ms(5);
  65.   if(KEY1 == 0)
  66.   {
  67.    while(KEY1 == 0);
  68.    Get_Maopi();   //??
  69.   }
  70. }
  71. }
  72. //****************************************************
  73. //????
  74. //****************************************************
  75. void Get_Weight()
  76. {
  77. Weight_Shiwu = HX711_Read();
  78. Weight_Shiwu = Weight_Shiwu - Weight_Maopi;  //???????
  79. if(Weight_Shiwu > 0)   
  80. {
  81.   Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/GapValue);  //???????????????
  82.                   
  83.                   
  84.   if(Weight_Shiwu > 5000)  //???????
  85.   {
  86.    Flag_ERROR = 1;
  87.   }
  88.   else
  89.   {
  90.    Flag_ERROR = 0;
  91.   }
  92. }
  93. else
  94. {
  95.   Weight_Shiwu = 0;
  96. // Flag_ERROR = 1;    //???????
  97. }

  98. }
  99. //****************************************************
  100. //?????????
  101. //****************************************************
  102. void Get_Maopi()
  103. {
  104. Weight_Maopi = HX711_Read();
  105. }
  106. //****************************************************
  107. //MS???????(12M?????2???)
  108. //****************************************************
  109. void Delay_ms(unsigned int n)
  110. {
  111. unsigned int  i,j;
  112. for(i=0;i<n;i++)
  113.   for(j=0;j<123;j++);
  114. }

复制代码


(1)5Kg电子秤程序(LCD1602显示)推荐使用.zip

74.39 KB, 下载次数: 23

源程序


作者: 小猫猫爱吃鱼    时间: 2018-6-8 19:23
你好!源代码通过实物测试,显示正常;
检查你的硬件连接的是不是对。。。
作者: Journey.    时间: 2018-6-8 22:51
小猫猫爱吃鱼 发表于 2018-6-8 19:23
你好!源代码通过实物测试,显示正常;
检查你的硬件连接的是不是对。。。

刚刚搞定了 LCD的关系




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1