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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

新人學(xué) A/D0832 液晶顯示電壓(源程序+Proteus仿真下載)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:73187 發(fā)表于 2015-2-11 17:45 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
適合剛學(xué)習(xí)A/D0832的同學(xué)。液晶屏1602顯示0832采集到的電壓值  

源程序:


  1. //AD轉(zhuǎn)換的數(shù)據(jù)交換時間僅為32us
  2. #include<reg51.h>
  3. #include<intrins.h>

  4. #define uint unsigned int
  5. #define uchar unsigned char

  6. #define delay4us(){_nop_();_nop_();_nop_(); _nop_();}

  7. //******************adc0832****************//
  8. sbit CS=P1^0; //使能。
  9. sbit CLK=P1^1;//時鐘
  10. sbit DIO=P1^2; // 數(shù)據(jù)

  11. //***********1602**********//
  12. sbit RS=P2^0;
  13. sbit RW=P2^1;
  14. sbit E=P2^2;

  15. uchar Display_Buffer[]="0.00 V";
  16. uchar code Line1[]="Current Voltage" ;

  17. //延時函數(shù)
  18. void DelayMS(uint ms)
  19. {
  20.   uchar t;
  21.   while(ms--)
  22.   for(t=0;t<120;t++);
  23. }

  24. //LCD忙狀態(tài)檢測
  25. bit LCD_Busy_Check()
  26. {
  27.    bit result;
  28.    RS=0;
  29.    RW=1;
  30.    E=1;
  31.    delay4us();
  32.    result=(bit)(P0&0x80);
  33.    E=0;
  34.    return result;
  35. }

  36. //LED寫命令
  37. void LCD_Write_Command(uchar cmd)
  38. {
  39.             while(LCD_Busy_Check());
  40.          RS=0;
  41.      RW=0;
  42.      E=0;
  43.          _nop_();
  44.          _nop_();
  45.          P0=cmd;
  46.          delay4us();
  47.          E=1;
  48.          delay4us();
  49.          E=0;
  50.   }

  51. //LED顯示位置
  52. void Set_Disp_Pos(uchar pos)
  53. {
  54.    LCD_Write_Command(pos|0x80);
  55. }

  56. //寫LED數(shù)據(jù)
  57. void LCD_Write_Data(uchar dat)
  58. {
  59.   while(LCD_Busy_Check());
  60.   RS=1;
  61.   RW=0;
  62.   E=0;
  63.   P0=dat;
  64.   delay4us();
  65.   E=1;
  66.   delay4us();
  67.   E=0;
  68. }

  69. //LCD初始化
  70. void LCD_Initialise()
  71. {
  72.   LCD_Write_Command(0x38);
  73.   DelayMS(1);
  74.   LCD_Write_Command(0x0C);
  75.   DelayMS(1);
  76.   LCD_Write_Command(0x06);
  77.   DelayMS(1);
  78.   LCD_Write_Command(0x01);
  79.   DelayMS(1);
  80. }
  81. //獲取AD轉(zhuǎn)換結(jié)果
  82. uchar Get_AD_Result()
  83. {
  84.            uchar i,dat1=0,dat2=0;
  85.          
  86.          CS=0;  //CS高電平時芯片禁用  低電平時開始工作
  87.          CLK=0;
  88.          DIO=1;           //起始控制位          啟動信號
  89.          _nop_();
  90.          _nop_();
  91.          CLK=1;   //第一個脈沖上升沿
  92.          _nop_();
  93.          _nop_();
  94.          //第一個下降沿之前,設(shè)DI=1/0
  95.          //選擇單端/差分模式中的單端輸入模式
  96.          CLK=0;
  97.          DIO=1;                //DIO=1表示選擇通道1(CH2),DI=0時選擇通0(CH1)
  98.          _nop_();
  99.          _nop_();
  100.          CLK=1;   //第二個脈沖上升沿
  101.          _nop_();
  102.          _nop_();
  103.           //第二個下降沿之前,設(shè)DI=0/1          選擇CH0/CH1
  104.          CLK=0;
  105.          DIO=0;
  106.          _nop_();
  107.          _nop_();
  108.          CLK=1;          //第三個脈沖上升沿
  109.          DIO=1;
  110.          _nop_();
  111.          _nop_();
  112.          //第三個下降沿之前,設(shè)DI=1
  113.          CLK=0;
  114.          DIO=1;
  115.          _nop_();
  116.          _nop_();
  117.            for(i=0;i<8;i++) //4-11.共8個下降沿讀數(shù)據(jù)(MSB->LSB )
  118.            {
  119.              CLK=1;
  120.                  _nop_();
  121.              _nop_();
  122.                     CLK=0;
  123.                  _nop_();
  124.              _nop_();
  125.                  //addata1=(addata1|dout)<<1;  //dout是1位(bit),addata1是8位(Byte),不能直接按位或
  126.          //addata1=(addata1<<1)|0x01;   //左移
  127.               dat1=dat1<<1|DIO;
  128.             }
  129.           //11-18.共8個下降沿讀數(shù)據(jù)(LSB->MSB)
  130.          for(i=0;i<8;i++)
  131.           {          
  132.              dat2=dat2|(uchar)(DIO)<<i;
  133.              CLK=1;
  134.                  _nop_();
  135.              _nop_();
  136.                  CLK=0;
  137.                  _nop_();
  138.              _nop_();          
  139.           }
  140.          CS=1;
  141.           //如果MSB->LSB和LSB->MSB讀取的結(jié)果相同  則返回讀取結(jié)果  否則為0
  142.          return (dat1==dat2)?dat1:0;         //校驗
  143.          /*if(addata1==addata2) //校驗
  144.      return  addata1;
  145.      else
  146.      return  0;        */
  147. }                                          

  148. //主程序
  149. void main()
  150. {
  151.    uchar i;
  152.    uint d;                 //注意d的類型
  153.    LCD_Initialise();
  154.    DelayMS(10);
  155.    while(1)
  156.    {      
  157.           d=Get_AD_Result()*500.0/255; //獲取AD轉(zhuǎn)換值  最大255對應(yīng)最高電壓5V  顯示三位數(shù)  所以用500
  158.           //將AD轉(zhuǎn)換后的數(shù)據(jù)分成3個數(shù)
  159.           Display_Buffer[0]=d/100+'0';         
  160.           Display_Buffer[2]=d/10%10+'0';
  161.           Display_Buffer[3]=d%10+'0';
  162.           Set_Disp_Pos(0x00+0x01); ////設(shè)置顯示位置          (第幾行  第幾列)
  163.           i=0;
  164.           while(Line1[i]!='\0')
  165.           LCD_Write_Data(Line1[i++]) ;//設(shè)這第一行字符串
  166.           Set_Disp_Pos(0x40+0x05);         //設(shè)置顯示位置          (第幾行  第幾列)
  167.           i=0;
  168.           while(Display_Buffer[i]!='\0')
  169.           LCD_Write_Data(Display_Buffer[i++]);        //設(shè)置第二行字符串
  170.    }
  171. }


復(fù)制代碼



AD0832 液晶屏顯示.zip

98.11 KB, 下載次數(shù): 122, 下載積分: 黑幣 -5

評分

參與人數(shù) 2黑幣 +55 收起 理由
掃福11 + 5 贊一個!
admin + 50 共享資料的積分獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2015-2-11 19:58 來自手機 | 只看該作者
謝謝分享。
回復(fù)

使用道具 舉報

板凳
ID:26188 發(fā)表于 2015-2-11 23:11 | 只看該作者
資料真的很詳細(xì),收下了,樓主好人啊.
回復(fù)

使用道具 舉報

地板
ID:73187 發(fā)表于 2015-2-12 09:56 | 只看該作者
hujia 發(fā)表于 2015-2-11 23:11
資料真的很詳細(xì),收下了,樓主好人啊.

互相學(xué)習(xí)
回復(fù)

使用道具 舉報

5#
ID:73187 發(fā)表于 2015-2-12 09:56 | 只看該作者

互相學(xué)習(xí)
回復(fù)

使用道具 舉報

6#
ID:46091 發(fā)表于 2015-2-17 01:33 | 只看該作者
正好需要這個
回復(fù)

使用道具 舉報

7#
ID:16408 發(fā)表于 2015-3-8 21:48 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

8#
ID:16408 發(fā)表于 2015-3-8 22:03 | 只看該作者
不錯很周到,不用自己弄了。
回復(fù)

使用道具 舉報

9#
ID:73187 發(fā)表于 2015-3-10 21:56 | 只看該作者
kvlhn 發(fā)表于 2015-3-8 22:03
不錯很周到,不用自己弄了。

建議還是自己  做一下  光是COPY別人的東西  是學(xué)不到東西的
回復(fù)

使用道具 舉報

10#
ID:16408 發(fā)表于 2015-3-13 22:15 | 只看該作者
岳達(dá) 發(fā)表于 2015-3-10 21:56
建議還是自己  做一下  光是COPY別人的東西  是學(xué)不到東西的

謝謝指點,實際還是要自己寫的,上面只是信口說說。
回復(fù)

使用道具 舉報

11#
ID:74687 發(fā)表于 2015-3-15 18:21 | 只看該作者
瞎點了,浪費幾分
回復(fù)

使用道具 舉報

12#
ID:75354 發(fā)表于 2015-3-25 22:27 | 只看該作者
謝謝分享!
回復(fù)

使用道具 舉報

13#
ID:75851 發(fā)表于 2015-4-1 00:11 | 只看該作者
看看學(xué)習(xí)一下
回復(fù)

使用道具 舉報

14#
ID:75461 發(fā)表于 2015-4-1 08:27 | 只看該作者
不錯的資料,謝謝分享。
回復(fù)

使用道具 舉報

15#
ID:76408 發(fā)表于 2015-4-9 08:09 | 只看該作者
謝謝學(xué)習(xí)了!
回復(fù)

使用道具 舉報

16#
ID:61343 發(fā)表于 2015-4-9 08:56 | 只看該作者
謝謝分享。
回復(fù)

使用道具 舉報

17#
ID:61343 發(fā)表于 2015-4-9 08:57 | 只看該作者
謝謝分享。
回復(fù)

使用道具 舉報

18#
ID:75807 發(fā)表于 2015-4-9 17:24 | 只看該作者
謝謝樓主好人
回復(fù)

使用道具 舉報

19#
ID:79152 發(fā)表于 2015-5-7 09:50 | 只看該作者
資料真的很詳細(xì),收下了,樓主好人啊.
回復(fù)

使用道具 舉報

20#
ID:79152 發(fā)表于 2015-5-7 09:51 | 只看該作者
謝謝分享!
回復(fù)

使用道具 舉報

21#
ID:79016 發(fā)表于 2015-5-16 22:19 | 只看該作者
謝謝分享,樓主好人
回復(fù)

使用道具 舉報

22#
ID:110866 發(fā)表于 2016-4-15 23:27 | 只看該作者
好東西,感謝
回復(fù)

使用道具 舉報

23#
ID:512403 發(fā)表于 2019-4-23 11:03 來自手機 | 只看該作者
資料很詳細(xì),多謝樓主
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲啪啪 | 日韩淫片免费看 | 在线播放日韩 | 日韩男人天堂 | 日本免费一区二区三区四区 | 宅女噜噜66国产精品观看免费 | 欧美日韩亚洲视频 | 国产精品99999 | 欧美a区| 久久久久免费精品国产 | 精精国产xxxx视频在线播放 | av在线一区二区三区 | 国产精品第2页 | 国产精品1区2区3区 国产在线观看一区 | 国产一区二 | 欧美在线视频观看 | 午夜影院免费体验区 | 日本黄色激情视频 | 精品一区视频 | 日韩一区二区三区视频 | 亚洲精品一区二区三区 | 天天宗合网 | 国产精品毛片无码 | www.99re5.com | 国产成人自拍av | 日本福利在线 | 亚洲视频免费在线观看 | 成人久久久久久久久 | 四虎影院新地址 | 一区二区三区四区国产 | 成年无码av片在线 | 国产成人亚洲精品 | 二区三区av | 国产激情视频在线免费观看 | 精品一区二区三 | 久久小视频 | 欧美一区二区三区在线观看 | 狠狠躁18三区二区一区 | 视频在线观看一区 | 亚洲国产一区二区三区四区 | 日韩精品免费视频 |