极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17683|回复: 6

Atmega8+DHT11+1602的显示问题

[复制链接]
发表于 2012-8-18 13:48:18 | 显示全部楼层 |阅读模式
本帖最后由 lionelg 于 2012-8-18 13:49 编辑
  1. #include <LiquidCrystal.h>
  2. #include <dht11.h>
  3. dht11 DHT11;
  4. #define DHT11PIN 3 //DHT11 PIN 3 连接UNO 3
  5. LiquidCrystal lcd(10,9, 8,7,6,5);
  6. char hum[10];
  7. void setup()
  8. {

  9.   // Setup LCD to 16x2 characters
  10.   lcd.begin(16, 2);

  11. }

  12. void loop()
  13. {
  14.   // Display time centered on the upper line
  15.   lcd.setCursor(0,0);
  16.   int chk = DHT11.read(DHT11PIN);
  17.   lcd.clear();
  18.   switch (chk)
  19.   {
  20.     case DHTLIB_OK:
  21.                 lcd.print("OK");
  22.                 break;
  23.     case DHTLIB_ERROR_CHECKSUM:
  24.                 lcd.print("Checksum error");
  25.                 break;
  26.     case DHTLIB_ERROR_TIMEOUT:
  27.                 lcd.print("Time out error");
  28.                 break;
  29.     default:
  30.                 lcd.print("Unknown error");
  31.                 break;
  32.   }
  33.   lcd.setCursor(0,1);
  34.   lcd.print("%");
  35.   int ih = (int)DHT11.humidity;
  36.   itoa(ih,hum,10);
  37.    lcd.print(hum);
  38.   lcd.setCursor(7,1);
  39.   int lo = DHT11.temperature;
  40.   itoa(lo,hum,10);
  41.   lcd.print(lo);
  42.   delay (1000);
  43. }
复制代码
根据上面的代码, 温度和湿度显示都是0, 硬件测试过,应该是没问题.有哪位知道是什么情况不?
回复

使用道具 举报

发表于 2012-8-18 19:17:50 | 显示全部楼层
你要明白,如果是硬件本身是可以通过串口显示出数据的话,用LCD1602也是OK的,原因只有一个,那就是你在用LCD显示的函数段没写好,自己检查检查一下!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-18 22:23:23 | 显示全部楼层
Randy 发表于 2012-8-18 19:17
你要明白,如果是硬件本身是可以通过串口显示出数据的话,用LCD1602也是OK的,原因只有一个,那就是你在用L ...

使用的是arduino官方的那个1602的库,在Uno上调试的时候串口是可以显示,换到用atmega8在1602上就不行了,atmega8使用的最小系统。
回复 支持 反对

使用道具 举报

发表于 2012-8-19 08:20:24 | 显示全部楼层
lionelg 发表于 2012-8-18 22:23
使用的是arduino官方的那个1602的库,在Uno上调试的时候串口是可以显示,换到用atmega8在1602上就不行了, ...

俺道理说,这点代码是不可能溢出的,你还是看看你修改的代码!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-19 11:56:10 | 显示全部楼层
上面的代码就是修改后了的。。。。。。
回复 支持 反对

使用道具 举报

发表于 2012-8-19 20:02:14 | 显示全部楼层
试试刷optiboot给M8看看。。。
回复 支持 反对

使用道具 举报

发表于 2012-8-20 16:27:12 | 显示全部楼层
是不是itoa函数的问题,你把它去掉试下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-3 16:36 , Processed in 0.058708 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表