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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3528|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:223880 發(fā)表于 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. }
復(fù)制代碼


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

使用道具 舉報

沙發(fā)
ID:162136 發(fā)表于 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;
}
把上面的數(shù)據(jù)口P2改為P0試試,肯定不會是P2了。P0,P1,P3都有可能。P0可能性較大。
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天干狠狠 | 成人在线看片 | 国产精品中文字幕在线 | 日韩欧美在线免费观看 | 亚洲性人人天天夜夜摸 | 国产目拍亚洲精品99久久精品 | 国产精品福利网站 | 日本久久黄色 | 国产精品污www一区二区三区 | 亚洲精品乱码久久久久久蜜桃 | 国产亚洲精品精品国产亚洲综合 | 久久久高清 | 性色av一区 | 极品国产视频 | 韩日一区二区 | 精品成人免费视频 | 成人伊人| 亚洲日韩第一页 | 日韩久久精品 | 九九九国产 | 亚洲精品专区 | 成人在线中文字幕 | 中文字幕一区在线观看视频 | 欧美高清视频一区 | 狠狠操狠狠干 | 欧美极品少妇xxxxⅹ免费视频 | 久草视频网站 | 干干干操操操 | 精品一区二区免费视频 | 一级黄色在线 | 羞羞涩涩在线观看 | av一区二区三区四区 | 亚洲精品福利视频 | 欧美成人自拍视频 | 日韩免费在线视频 | 成人精品国产一区二区4080 | 手机av免费在线 | 亚洲国产成人精品女人久久久 | 国产91在线 | 亚洲 | 国产在线激情视频 | av大片|