标题: stc89c52单片机串口程序和lcd程序不兼容的问题 [打印本页]

作者: 机型    时间: 2019-4-7 22:13
标题: stc89c52单片机串口程序和lcd程序不兼容的问题
A:我将lcd显示程序和串口程序这样写,插上开发板发现lcd有显示,但是串口不发送数据,  我将lcd显示程序部分删除,串口就恢复了正常,不知道这两个程序哪出现了冲突,有大佬能讲解一下吗?  
  1. void main()
  2. {        
  3.             unsigned char str[12];
  4.         
  5.         Delay(10000);     
  6.         InitLcd1602();
  7.         UART_INIT();
  8.         while(1)
  9.         {
  10.                 //DHT11
  11.                 RH();
  12.                 //lcd显示
  13.                 str[0] = U8T_data_H/10 + '0';
  14.     str[1] = U8T_data_H%10 + '0';
  15.                 Lcd1602Show(0,0,"WenDu:");
  16.                 Lcd1602Show(7,0,str);
  17.                 Lcd1602Show(10,0,"C");
  18.                 str[0] = U8RH_data_H/10 + '0';
  19.     str[1] = U8RH_data_H%10 + '0';
  20.                 Lcd1602Show(0,1,"ShiDu:");
  21.                 Lcd1602Show(7,1,str);
  22.                 Lcd1602Show(10,1,"%");
  23.                
  24.                 //串口显示程序
  25.                 PutString("TaskValueSet,2,1,");
  26.                 uart_send_byte(U8T_data_H/10 + '0');
  27.                 uart_send_byte(U8T_data_H%10 + '0');
  28.                 uart_send_byte('\n');
  29.                 Delay(30000);
  30.     PutString("TaskValueSet,2,2,");
  31.                 uart_send_byte(U8RH_data_H/10 + '0');
  32.                 uart_send_byte(U8RH_data_H%10 + '0');                        
  33.                 uart_send_byte('\n');
  34.                 Delay(30000);
  35.         }        
  36. }
复制代码


作者: xuyaqi    时间: 2019-4-8 08:31
不发InitLcd1602();,UART_INIT();不好判断,最好将全部工程发出来。
作者: zhb2004xp    时间: 2019-4-8 08:55
看看你的LCD1602并行数据接口是不是占用了P3口,或者占用了P30或P31
作者: 机型    时间: 2019-4-8 11:08
谢谢大佬的回复,我发现我每次查看串口是否传输数据的时候,都没有插lcd,所以导致程序无法运行.
插上lcd后,lcd和串口都可以正常运行了.
我太粗心了




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