Arduino只用一根信号线驱动Usart-GPU串口液晶屏

2014-09-141.6万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用Arduino通过一根信号线驱动Usart-GPU串口液晶屏。主要解决了串口被开发环境占用、IDE无法输入中文以及浮点数输出的问题。通过将Arduino的TX引脚连接到串口屏的RX引脚,实现了简单的驱动方式。展示了电压表示例,详细操作请参见附带的WORD文档。
Usart-GPU串口液晶屏自从推出后,由于低廉的价格,迅速得到广大单片机爱好者的青睐,STM32,STC,甚至古老的51系列都没问题;但是最近越来越多用户问Arduino如何使用串口屏,本想Arduino对串口编程非常方便,应该非常简单就可以驱动串口屏,但是实际并非如此,很多用户都卡在这里,于是立即TB下单了几块Arduino开发板,开始研究......
    发现主要难点:
    1、唯一的串口被开发环境占用;
    2、IDE开发环境无法输入中文,使用剪贴板贴入,中文也是UTF8,非串口屏要求的GB2312内码
    3、如何输出浮点数的到串口屏上

Arduino 就一个串口,而且用于和PC上的IDE环境相通信,编译的文件通过串口上传到MCU上,就是说该串口已经被占用了,那如何接串口屏呢?
    经过分析,PC一段主要使用PC(TX)-MCU(RX)这条上行通道;而下行MCU(TX)-PC(RX)这条PC只是接受而已,而串口液晶屏在下行通道的情况下与PC形式一样,因此在接法上出现了前所未有的一根信号线驱动一块液晶屏的现象!
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图8

从图上可以看到,单片机板和串口屏只接了3根线,分别是+5V线,GND线,和TX线;
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图1

注意:MCU(TX)-串口屏的TX还是RX需要视串口屏的型号而定,由于串口接反只是不起作用而已,因此当不起作用时尝试一下接另外一根线;

---------------------------
制作一个电压表示例:
源程序:

#include"e:\arduino\Udemo\hz.c"
// the setup routine runs once when you press reset:
void setup() {
  Serial.begin(115200);
   while (!Serial) {
    // wait for serial line to be ready
  }
      Serial.print("CLS(0);");
  Serial.print("DS16(20,2,'");Serial.print(hz[1]);Serial.print("',4);");
  Serial.print("DS16(20,22,'");Serial.print(hz[2]);Serial.print("',15);");
  Serial.println("PL(0,40,399,40,1);");Serial.flush();delay(200);

}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  float vol=sensorValue*2.5/1024;
  

  
  Serial.print("DS24(30,100,'");
  Serial.print(hz[0]);
  Serial.print(vol,2);
  Serial.println("V',1);");
  delay(150);        // delay in between reads for stability
}


hz.c:
const char hz[][32]={
"当前电压:",    //0-
"Arduino 电压表演示程序",    //1
"使用Usart GPU串口液晶屏",    //2
};


详细操作请参见WORD文档:
http://pan.baidu.com/share/link?shareid=2873136112&uk=3204894695


以下是串口屏显示的样例:
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图2
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图3
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图4
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图5
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图6
Arduino只用一根信号线驱动Usart-GPU串口液晶屏图7

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
20060606
20060606
屏幕能给个链接吗?
- 没有更多了 -