欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機的PM2.5溫濕度仿真LCD不顯示是怎么回事? [打印本頁]

作者: a1s2d3f4555    時間: 2022-4-6 14:31
標題: 單片機的PM2.5溫濕度仿真LCD不顯示是怎么回事?

仿真里面LCD不顯示是怎么回事,大家幫忙看看

程序.zip

4.38 KB, 下載次數: 11


作者: a1s2d3f4555    時間: 2022-4-6 14:40
仿真圖片

51hei圖片_20220406143410.png (66.64 KB, 下載次數: 82)

51hei圖片_20220406143410.png

作者: lkc8210    時間: 2022-4-6 23:31
代碼不全,我把adc0832.h相關的注釋掉就正常顯示了




作者: a1s2d3f4555    時間: 2022-4-7 12:10
lkc8210 發表于 2022-4-6 23:31
代碼不全,我把adc0832.h相關的注釋掉就正常顯示了

我把0832代碼加上怎么不行呢
作者: a1s2d3f4555    時間: 2022-4-7 12:11
lkc8210 發表于 2022-4-6 23:31
代碼不全,我把adc0832.h相關的注釋掉就正常顯示了
  1. #include"delay.h"                    //添加延時函數頭文件
  2. #include<intrins.h>
  3. sbit CS   = P1^2;
  4. sbit Clk  = P1^1;
  5. sbit DATI = P1^0;
  6. sbit DATO = P1^0;
  7. /****************************************************************************
  8. 函數功能:AD轉換子程序
  9. 入口參數:CH
  10. 出口參數:dat
  11. ****************************************************************************/
  12. unsigned char adc0832(unsigned char CH)
  13. {
  14.         unsigned char dat = 0x00;      //AD值
  15.     unsigned char i,test,adval;
  16.     adval = 0x00;
  17.     test = 0x00;
  18.     Clk = 0;       //初始化
  19.     DATI = 1;
  20.     _nop_();
  21.     CS = 0;
  22.     _nop_();
  23.     Clk = 1;
  24.    _nop_();
  25.         if ( CH == 0x00 )      //通道選擇
  26.            {
  27.             Clk = 0;
  28.                DATI = 1;      //通道0的第一位
  29.                _nop_();
  30.               Clk = 1;
  31.         _nop_();
  32.         Clk = 0;
  33.               DATI = 0;      //通道0的第二位
  34.               _nop_();
  35.               Clk = 1;
  36.       _nop_();
  37.     }        
  38.     else
  39.     {
  40.        Clk = 0;
  41.               DATI = 1;      //通道1的第一位
  42.        _nop_();
  43.        Clk = 1;
  44.        _nop_();
  45.               Clk = 0;
  46.               DATI = 1;      //通道1的第二位
  47.             _nop_();
  48.              Clk = 1;
  49.              _nop_();
  50.     }
  51.     Clk = 0;
  52.     DATI = 1;
  53.     for( i = 0;i < 8;i++ )      //讀取前8位的值
  54.     {
  55.               _nop_();
  56.                adval <<= 1;
  57.                Clk = 1;
  58.                _nop_();
  59.                Clk = 0;
  60.                if (DATO)
  61.                   adval |= 0x01;
  62.               else
  63.                   adval |= 0x00;
  64.     }
  65.     for (i = 0; i < 8; i++)      //讀取后8位的值
  66.     {
  67.         test >>= 1;
  68.         if (DATO)
  69.                    test |= 0x80;
  70.         else
  71.             test |= 0x00;
  72.         _nop_();
  73.         Clk = 1;
  74.                _nop_();
  75.         Clk = 0;
  76.      }
  77.      if (adval == test)      //比較前8位與后8位的值,如果不相同舍去。若一直出現顯示為零,請將該行去掉
  78.           dat = test;
  79.       _nop_();
  80.       CS = 1;        //釋放ADC0832
  81.       DATO = 1;
  82.       Clk = 1;
  83.       return dat;
  84. }
  85. sbit vled  = P1^7;

  86. void Delay1us(uint t)                //@12MHz
  87. {
  88.         while(t--)_nop_();
  89. }
  90. uint read_data(uchar N)
  91. {
  92.         uint val=0;
  93.         vled=0;
  94.         Delay1us(20);
  95.         val=adc0832(N);
  96.         vled=1;
  97.         Delay1us(400);       
  98.         return val;
  99. }
復制代碼





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1