久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3441|回復: 5
打印 上一主題 下一主題
收起左側

用ds18b20,LCD1602顯示,可是什么都顯示不了

[復制鏈接]
跳轉到指定樓層
樓主
ID:223880 發表于 2017-8-10 09:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用ds18b20,LCD1602顯示,可是什么都顯示不了;下面是我的我的程序,幫我看看哪里錯了。
  1. #include<at89x52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar  diplay[2];
  5. uint temp;
  6. sbit RS=P2^5;
  7. sbit RW=P2^6;
  8. sbit E=P2^7;
  9. sbit DQ=P1^1;

  10. uchar code tab[]="temperature:";
  11. uchar code tab1[]="00oC";
  12. void delay1ms(unsigned int ms)
  13. {
  14.   unsigned int i,j;
  15.   for(i=0;i<ms;i++)
  16.    for(j=0;j<100;j++);
  17. }

  18. void delay1us(unsigned int i)
  19. {
  20.         while(i--);
  21. }

  22. void write_com(uchar com)
  23. {
  24.   RS=0;
  25.   RW=0;
  26.   E=0;
  27.   P2=com;
  28.   delay1ms(5);
  29.   E=1;
  30.   delay1ms(5);
  31.   E=0;
  32. }

  33. void write_dat(uchar dat)
  34. {
  35.   RS=1;
  36.   RW=0;
  37.   E=0;
  38.   P2=dat;
  39.   delay1ms(5);
  40.   E=1;
  41.   delay1ms(5);
  42.   E=0;
  43. }

  44. void init()
  45. {
  46.    
  47.   write_com(0x38);

  48.   write_com(0x0c);
  49.    
  50.   write_com(0x06);
  51.   
  52.   write_com(0x01);     
  53. }

  54. void ds18b20init()
  55. {
  56.   DQ=0;
  57.   delay1us(480);
  58.   DQ=1;
  59.   delay1us(80);
  60.   DQ=0;
  61.   delay1us(480);
  62. }     

  63. void ds18b20write_dat(uchar dat)
  64. {
  65.   unsigned char i;
  66.   for(i=0;i<8;i++)
  67.   {
  68.     DQ=0;
  69.     delay1us(15);
  70.     DQ=dat;
  71.     dat<<=1;
  72.     delay1us(60);
  73.     DQ=1;
  74.   }
  75. }

  76. uchar ds18b20read_dat( )
  77. {
  78.   uchar i,bi,byte;
  79.   uchar dat;
  80.   for(i=8;i>0;i--)
  81.   {
  82.    DQ=0;
  83.    delay1us(1);
  84.    DQ=1;
  85.    delay1us(10);
  86.    bi=dat;
  87.    byte=(byte>>1)|(bi<<7);
  88.    delay1us(45);
  89.   }
  90. return dat;
  91. }

  92. void ds18b20Changtemp()
  93. {
  94.    ds18b20init();
  95.    ds18b20write_dat(0xcc);
  96.    ds18b20write_dat(0x44);
  97.    
  98. }
  99.                                     
  100. uint ds18b20readtemp()
  101. {  
  102.    uchar tmh,tml;
  103.    temp=0;
  104.    ds18b20init();
  105.    ds18b20write_dat(0xcc);
  106.    ds18b20write_dat(0xbe);
  107.    tml=ds18b20read_dat();
  108.    tmh=ds18b20read_dat();
  109.    temp=tmh;
  110.    temp<<=8;
  111.    temp=temp|tml;
  112.    return temp;
  113. }

  114. void dispplay()
  115. {
  116.   uchar i,tp;
  117.   tp=temp*0.625;

  118.   diplay[0]=tp/10+0x30;
  119.   diplay[1]=tp/1+0x30;

  120.   write_com(0x80);  
  121.    for(i=0;i<14;i++)  
  122.    {
  123.      write_dat(tab[i]);     
  124.    }

  125.    write_com(0x80+0x40);
  126.    for(i=0;i<5;i++)   
  127.    {
  128.       write_dat(tab1[i]);
  129.    }     
  130. }

  131. void main()
  132. {
  133.   init();
  134.   while(1)
  135.   {
  136.      ds18b20readtemp();
  137.      dispplay();
  138.   }
  139. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:162136 發表于 2017-8-10 10:05 | 只看該作者
void write_com(uchar com)
{
  RS=0;
  RW=0;
  E=0;
  P2=com;
  delay1ms(5);
  E=1;
  delay1ms(5);
  E=0;
}

void write_dat(uchar dat)
{
  RS=1;
  RW=0;
  E=0;
  P2=dat;
  delay1ms(5);
  E=1;
  delay1ms(5);
  E=0;
}
把上面的數據口P2改為P0試試,肯定不會是P2了。P0,P1,P3都有可能。P0可能性較大。
回復

使用道具 舉報

板凳
ID:223214 發表于 2017-8-12 00:34 | 只看該作者
你可以就用數碼管顯示呀,簡單點。
回復

使用道具 舉報

地板
ID:179958 發表于 2017-8-13 16:54 | 只看該作者
個人認為LCD1602比數碼管還好用呢,正確驅動過后寫成庫文件,以后都直接調用,很方便的。你這個問題的話,我建議先只寫1602的程序先,達到想讓1602顯示什么就顯示什么的地步后,再回入18b20程序。
回復

使用道具 舉報

5#
ID:227425 發表于 2017-8-13 17:28 | 只看該作者
背景燈亮嗎?
回復

使用道具 舉報

6#
ID:136110 發表于 2017-8-14 09:37 | 只看該作者
1602第三腳直接接地試試,我上回有個2402沒顯示,把3腳直接接地,就會有很淡的顯示了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 四虎最新视频 | 性精品 | 91视频中文 | 日韩欧美国产一区二区三区 | 成人国产精品久久 | 最新日韩av | 在线 丝袜 欧美 日韩 制服 | 亚洲一区二区三区免费 | 成人av网页 | 黄色在线免费观看视频网站 | 91亚洲精品久久久电影 | 国产精品99久久久久久久vr | www.狠狠干| 日日摸夜夜添夜夜添精品视频 | 精品欧美二区 | 欧美久久综合 | 亚洲国产精品视频一区 | 中文字幕视频在线观看 | 男女免费视频网站 | 国产激情一区二区三区 | av看看| 人人澡人人爱 | 视频在线一区二区 | www.久草.com | 国产91精品在线 | 日韩精品久久一区二区三区 | 久久涩涩| 青青久久久 | 午夜私人影院在线观看 | 中文字幕成人免费视频 | 免费av手机在线观看 | 欧美久久一区二区 | 一区二区在线 | av免费看片 | 久久爱黑人激情av摘花 | 中文字幕观看 | 免费成人高清在线视频 | 国产精品久久国产愉拍 | 亚洲人成在线观看 | 日韩电影免费在线观看中文字幕 | 欧美在线观看免费观看视频 |