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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4126|回復: 0
打印 上一主題 下一主題
收起左側(cè)

基于C51單片機和ADC0804顯示電壓以及0-255數(shù)值(仿真加程序)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:390748 發(fā)表于 2018-9-18 16:10 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


單片機源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5.        
  6. uchar code table1[]="0123456789";
  7. uchar  table2[]="Vo:0.00V;Nu:000";          
  8. uchar  table3[]="made by Xfei";         

  9. uchar num,x,adval,wen,dy,date;
  10. sbit lcden=P3^2;  //使能
  11. sbit lcdrs=P3^0;  //數(shù)據(jù)/指令
  12. sbit lcdrw=P3^1;  //讀/寫
  13. sbit lcds1=P3^3;  
  14. sbit lcds2=P3^4        ;
  15. sbit adwr=P3^6;                //寫信號輸入端
  16. sbit adrd=P3^7;                //讀信號輸入端
  17. sbit adcs=P3^5;            //片選信號


  18. //延時ms//
  19. void  delay(uint x)
  20. {
  21.    uint i,j;
  22.    for(i=0;i<x;i++)
  23.      for(j=0;j<110;j++);
  24. }


  25. //MCU寫指令//
  26. void write_com(uchar com)
  27. {
  28.    lcdrs=0;
  29.    P2=com;
  30.    delay(5);
  31.    lcden=1;
  32.    delay(5);
  33.    lcden=0;
  34. }                                  


  35. //MCU寫數(shù)據(jù)//
  36. void write_date(uchar date)
  37. {
  38.    lcdrs=1;
  39.    P2=date;
  40.    delay(5);
  41.    lcden=1;
  42.    delay(5);
  43.    lcden=0;
  44. }


  45. //初始化//
  46. void init()
  47. {
  48.   adcs=0;
  49.   lcdrw=0;
  50.   lcden=0;
  51.    write_com(0x38);         
  52.    write_com(0x0c);
  53.    write_com(0x06);
  54.    write_com(0x01);         
  55. /*
  56.     while(table3[num]!='\0')
  57.     {
  58.         write_date(table3[num++]);
  59.         delay(100);
  60.         }
  61.         lcden=1;
  62.         delay(1000);
  63.         lcden=0;
  64.    

  65.         write_com(0x80+0x40);
  66.         num=0;//很重要!
  67.         while(table2[num]!='\0')
  68.            {
  69.                     write_date(table2[num++]);
  70.            }                               */
  71. }

  72. /*小改嘻嘻*/


  73. //顯示第一行//
  74. void disp1()
  75. {
  76. uchar i;
  77. write_com(0x80+0x00);
  78. for (i=0;i<12;i++)
  79.         {
  80.         write_date(table3[i]);
  81.         delay(100);
  82.         }
  83. }


  84. //顯示第二行//
  85. void disp2()
  86. {
  87. uchar i;
  88. write_com(0x80+0x40);
  89. for (i=0;i<12;i++)
  90.         {
  91.         write_date(table2[i]);
  92.         delay(100);
  93.         }
  94. }

  95.    
  96. void set_shu1(uchar  add,uchar date)
  97.    {
  98.      uchar bai,shi,ge;
  99.          bai=date/51;
  100.          shi=((date%51)*10/51);         
  101.          ge=((date%51)*10%51)*10/51;
  102.          write_com(0x80+0x40+add);                 //地址
  103.              {
  104.                  write_date(table1[bai]);          //百位數(shù)值
  105.                  }                                                         
  106.          write_com(0x80+0x40+add+2);         //地址右移二位
  107.              {
  108.                  write_date(table1[shi]);         //十位數(shù)值
  109.                  }
  110.           write_com(0x80+0x40+add+3);         //地址右移三位
  111.              {
  112.                  write_date(table1[ge]) ;         //個位數(shù)值 //將值轉(zhuǎn)換成具體數(shù)
  113.              }         
  114.         }         


  115. void set_shu2(uchar  add,uchar date)
  116. {
  117.      uchar bai,shi,ge;
  118.          bai=date/100;
  119.          shi=date%100/10;
  120.          ge=date%10;
  121.          write_com(0x80+0x40+add);               
  122.          {
  123.          write_date(table1[bai]);
  124.          }
  125.          write_com(0x80+0x40+add+1);
  126.         {
  127.          write_date(table1[shi]);
  128.          }
  129.          write_com(0x80+0x40+add+2);         
  130.         {
  131.          write_date(table1[ge])  ;
  132.          }                                           //將電壓值轉(zhuǎn)換為0~225的值*/
  133. }

  134. void st_ad() //開AD
  135. {
  136.    adwr=1;
  137.    _nop_();
  138.    adwr=0;
  139.    _nop_();
  140.    adwr=1;

  141. }
  142. void red_ad()//讀AD
  143. {
  144.    adrd=1;
  145.    _nop_();
  146.    adrd=0;
  147.    _nop_();
  148.    adrd=0;

  149. }


  150. void main()
  151. {       
  152.    
  153.         init();
  154.         disp1();
  155.         disp2();
  156.        
  157.        
  158.          while(1)
  159.          {           
  160.            write_com(0x80+0x40+7);
  161.           
  162.            st_ad();
  163.            set_shu1(3,adval);
  164.            set_shu2(12,adval);
  165.            red_ad();
  166.            adval=P1;   //P1的值送給date
  167.           // dy=adval/255;
  168.           // P2=wen;
  169.           }
  170.           //while(1);

  171. }
復制代碼

所有資料51hei提供下載:
ADC0804顯示電壓.rar (61.54 KB, 下載次數(shù): 69)


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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一区二区三区四区 | 日韩手机视频 | 国产成人av一区二区三区 | 看a级黄色毛片 | 午夜影院官网 | 一区二区三区在线免费观看 | 韩国av一区二区 | 粉嫩高清一区二区三区 | 日韩成人精品在线观看 | 一区二区三区免费 | 最新国产视频 | 日本涩涩网 | 精品国产一区二区三区久久久久久 | 正在播放国产精品 | 亚洲日本中文 | 久久久久久综合 | 亚洲国产成人av好男人在线观看 | 国产亚洲精品精品国产亚洲综合 | 久久蜜桃精品 | 超碰精品在线观看 | 超碰3| 国产美女免费视频 | 亚洲v日韩v综合v精品v | 四虎精品在线 | 精品美女视频在免费观看 | 国产视频中文字幕 | 欧美一卡二卡在线观看 | 亚洲一区二区三区四区五区中文 | 久久精品亚洲精品国产欧美kt∨ | 成人在线视频观看 | 亚洲免费一区二区 | 欧美一级片黄色 | 亚洲欧洲视频 | 免费在线观看一区二区三区 | 日韩一区二区av | 久久亚洲国产精品 | 久久精品欧美一区二区三区不卡 | 久久一区二 | 中文字幕11页 | 黄视频免费观看 | 9色网站 |