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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機(jī)的ADC0832在LCD1602顯示程序與連接圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:269551 發(fā)表于 2017-12-31 18:18 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
單片機(jī)源程序如下:

  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit RS=P2^0;        /***LCD1602工作端口定義***/
  6. sbit E=P2^2;
  7. sbit RW=P2^1;
  8. //sbit qp=P3^5;                                  /***清屏按鍵***/
  9. sbit cs=P1^4;                                  /***adc0832端口定義***/
  10. sbit clk=P1^5;
  11. sbit di=P1^6;
  12. sbit DO1=P1^7;
  13. char table5[5];                                        /***用來存儲數(shù)字轉(zhuǎn)換成字符的***/
  14. uint temp,i,time;                          /***速度、角度、循環(huán)/定時(shí)時(shí)間變量定義***/
  15. uchar data2; //char型
  16. void delay(uint z)                                        /***延時(shí)子程序***/
  17. {
  18.         uint x,y;
  19.         for(x=z;x>0;x--)
  20.         for(y=110;y>0;y--);
  21. }
  22. void write_com(uchar com)                                 /***LCD1602寫命令子程序***/
  23. {        RW=0;
  24.         RS=0;
  25.         P0=com;
  26.         delay(5);
  27.         E=1;
  28.         delay(5);
  29.         E=0;
  30. }
  31. void write_data(uchar dat)           /***LCD1602寫數(shù)字子程序***/
  32. {        RW=0;
  33.         RS=1;
  34.         P0= dat;
  35.         delay(5);
  36.         E=1;
  37.         delay(5);
  38.         E=0;

  39. }
  40. void LCD_write_char(uchar x,uchar y,uchar Data1)           /***LCD1602在指定位置寫字符子程序***/
  41. {
  42.     if (y == 0)
  43.     {
  44.         write_com(0x80 + x);
  45.     }
  46.     else
  47.     {
  48.         write_com(0xC0 + x);
  49.     }
  50.     write_data( Data1);
  51. }
  52. void init()                  /***LCD1602初始化子程序***/
  53. {
  54.         E=0;
  55.         write_com(0x38);
  56.         write_com(0x0e);
  57.         write_com(0x06);
  58.         write_com(0x01);
  59.         write_com(0x80+ 0x1);
  60. }
  61. void convector_num(uint x)          /***把數(shù)字 轉(zhuǎn)化成 字符串***/
  62. {
  63.         if(x<100)
  64.         {
  65.         table5[0]=x/10+0x30;
  66.         table5[1]=x%10+0x30;
  67.         table5[2]=' ';
  68.         table5[3]=' ';
  69.         table5[4]=' ';
  70.         }
  71.         else if(x>=100)
  72.         {
  73.         table5[0]=x/100+0x30;
  74.         table5[1]=(x/10)%10+0x30;
  75.         table5[2]=x%10+0x30;
  76.         table5[3]=' ';
  77.         table5[4]=' ';
  78.         }               
  79. }

  80. void convector_float(float x)          /***把數(shù)字 轉(zhuǎn)化成 float***/
  81. {
  82.         uint y=x*10;

  83.         table5[0]=y/10+0x30;
  84.         table5[1]='.';
  85.         table5[2]=y%10+0x30;
  86.         table5[3]=' ';
  87.         table5[4]=' ';               
  88. }

  89. void zhczfc(uint x)          /***把數(shù)字 轉(zhuǎn)化成 字符串***/
  90. {
  91.         if(x<10)
  92.         {
  93.         table5[0]=x/1000+0x30;
  94.         table5[1]= '.';
  95.         table5[2]=x%1000/100+0x30;
  96.         table5[3]= x%100/10+0x30;
  97.         table5[4]= x%10+0x30;
  98.         }
  99.         if(x>=10)
  100.         {
  101.         table5[0]=x/10000+0x30;
  102.         table5[1]=x%10000/1000+0x30;
  103.         table5[2]= '.';
  104.         table5[3]=x%1000/100+0x30;
  105.         table5[4]= x%100/10+0x30;
  106.         }               
  107. }

  108. readadc0832()           /***adc0832數(shù)據(jù)量讀取***/
  109. {
  110.         uchar j;
  111.         data2=0;
  112.         data2<<=3;
  113.         data2|=3;
  114.         cs=0;
  115.         for(i=0;i<3;i++)
  116.         {
  117.                 clk=0;
  118.                 delay(5);
  119.                 di=data2;
  120.                 data2>>=1;
  121.                 delay(5);
  122.                 clk=1;
  123.                 di=0 ;
  124.         }
  125.         clk=0;
  126.         delay(5);
  127.         clk=1;
  128.         for(j=0;j<8;j++)
  129.         {
  130.                 clk=0;
  131.                 delay(5);
  132.                 if(DO1==1)data2|=0x01;
  133.                 data2<<=1;
  134.                 delay(5) ;
  135.                 clk=1;
  136.         }
  137.         cs=1;
  138. }

  139. float voltage;        //電壓值
  140. void main()
  141. {        
  142.         init();                                 /***lcd1602初始化***/
  143.         delay(100);
  144.         while(1)
  145.         {        
  146.                 readadc0832();

  147.                 convector_num(data2);
  148.                 for(i=0;i<5;i++)
  149.                 {
  150.                         LCD_write_char(i,0,table5[i]);        
  151.                         delay(20);
  152.                 }

  153.                 voltage=data2*5.0/255;                  /***500為5*100,100為保留2位小數(shù)***/
  154.                 //zhczfc(data2);
  155.                 convector_float(voltage);
  156.                 for(i=0;i<5;i++)
  157.                 {
  158.                         LCD_write_char(i,1,table5[i]);        
  159.                         delay(20);
  160.                 }
  161. }
  162. }
復(fù)制代碼



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

使用道具 舉報(bào)

沙發(fā)
ID:495323 發(fā)表于 2019-8-1 14:17 | 只看該作者
能顯示嗎?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美性大战xxxxx久久久 | 国产人成精品一区二区三 | 国产成人一区二区 | 免费精品久久久久久中文字幕 | 亚洲在线看 | 精品九九 | 国产亚洲第一页 | 久久亚洲国产精品 | 在线观看国产www | 亚洲成av人影片在线观看 | 日韩av免费在线观看 | 99re在线视频观看 | 国产一区二区精 | 欧美精品一区二区三区蜜桃视频 | 久久久久国产精品 | 亚洲二区在线 | 黄色大片视频 | 成人在线观看网站 | 日本超碰 | 91久久| 欧美激情a∨在线视频播放 成人免费共享视频 | 欧美h版 | 亚洲国产一区视频 | 粉嫩高清一区二区三区 | japanhd成人| 国产一区 | 日韩成人av在线 | 日韩免费视频一区二区 | 久久久久久国产 | 日韩精品一区二区三区免费视频 | 九色91视频 | 在线三级网址 | 中文字幕乱码视频32 | 欧美日韩一区二区三区不卡视频 | 国产精品久久国产精品久久 | 久久久精品一区二区三区 | 精品在线一区 | 精品国产乱码久久久久久闺蜜 | 欧美成人精品一区二区男人看 | 就操在线 | 国产一区二区三区在线 |