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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3906|回復: 0
打印 上一主題 下一主題
收起左側

單片機控制adc0832數模轉換測電壓,lcd1602顯示

[復制鏈接]
跳轉到指定樓層
樓主
ID:130251 發表于 2016-7-13 09:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
//#define LCD_DATA  P0;  
sbit DI  = P3^4;//¶¨òåADC¸÷¿úêy¾Y
sbit D0   =P3^4;
sbit CLK = P3^5;
sbit CS  = P3^6;

sbit LCD_RS= P1^0;//¶¨òåLCDòy½Å
sbit LCD_RW= P1^1;
sbit LCD_E=  P2^5;  
uchar code DIS[]={"voltage:"};//ADC832;
uchar code dsptab[]={'0','1','2','3','4','5','6','7','8','9'};//×Ö·û′úÂë±í;
/*--------------------Ñóê±×ó3ìDò------------------------*/
void delay(uint a)
     {
         uint b;   
         for(b=0;b<a;b++);
     }  
void delay400ms(void)////400msÑóê±
                 {
         uchar a = 5;   
         uint b;
         while(a--)   
        {
              b=7269;
              while(b--);
        }
     }  /*---------------------------¶á×′ì¬-----------------------*/  
                 //¶á×′ì¬×ó3ìDò£»óD·μ»ØÖμ£»·μ»ØÖμààDíÎaCHARDí;
                 //¶á»ØμÄ×′ì¬í¨1yRETURN·μ»Ø;   
  uchar read_estate(void)     //¶¨òåóD·μ»ØÖμμÄoˉêy;
                 {
                          P0=0Xff;      //°ÑLCD¶Ë¿úè«ÖÃ1·½±ã¶áè¡DÅoÅ;
                           LCD_RS=0;        //RSÖÃ0;
                           LCD_RW=1;        //RWÖÃ1;
                           LCD_E=0;           //E¶ËÖÃ0;
                           delay(10);       //¶ìÑóê±;
                           LCD_E=1;        //E¶ËÖÃ1;òÔËø′æêy¾Y;
                           while(P0&0x80);  //¼ì2aÃ|,Ôòò»Ö±Ñ-»·;
                           return(P0);      //·μ»Ø¶áè¡μÄDÅoÅ;
                        }
/*----------------------------D′êy¾Y---------------------------*/  
                        //D′êy¾Y×ó3ìDò;ÎT·μ»ØÖμ;êäèë±äá¿I;
                        //IÎaòaD′èëLCDÖDμÄêy¾Y;
                        //êy¾YààDíCHARDí;

                        void write_data(uchar i)    //¶¨òåêäèë±äá¿ÖμI;
                        {        
                                      read_estate();      //¼ì2aÃ|DÅoÅ;  
                                       P0=i;       //°ÑIÖDêy¾YËíμ½LCDêy¾Y¶Ë;
                                      LCD_RS=1;        //RSÖÃ1;
                                      LCD_RW=0;        //RWÖÃ0;
                                      LCD_E=0;        //EÖÃ0;
                                      delay(10);       //¶ìÑóê±;
                                      LCD_E=1;        //E¶ËÖÃ1;òÔËø′æêy¾Y;
                        }
/*------------------------------D′Ö¸áî--------------------------*/   
                        //D′Ö¸áî×ó3ìDò;ÎT·μ»ØÖμ;êäèëὸö±äá¿IoíJ.
                        //IòaD′èëLCDμÄÖ¸áî;JÎaÅD¶Ïòa2»òa¼ì2aÃ|.
                        //èç1ûJÎa0Ôò2»ÅD¶Ï¼ì2aÃ|;
                        //èç1ûJÎa1ÔòÅD¶Ï¼ì2aÃ|;
                            void write_dictate(uchar i,j)   //¶¨òåὸö±äá¿;
                                {   
                                          if(j)read_estate();         //¸ù¾YDèòa¼ì2aÃ|;
                                                                   P0=i;                           //°ÑòaD′èëμÄêy¾YËíμ½LCDêy¾Y¶Ë;
                                                                  LCD_RS=0;                       //RSÖÃ0;
                                                                  LCD_RW=0;        //RWÖÃ0;
                                                                  LCD_E =1;        //E¶ËÖÃ0;
                                                                  delay(10);       //Ñóê±;
                                                                  LCD_E =0;        //E¶ËÖÃ1;òÔËø′æêy¾Y;
                                                        }  
/*------------------------------¶áêy¾Y---------------------*/
                                                        //¶áêy¾Y×ó3ìDò;óD·μ»ØÖμ,·μ»ØÖμààDíÎaCHARDí;  
                                                        /*uchar read_data(void)     //¶¨òåóD·μ»ØÖμμÄ×óoˉêy;
                                                        {   
                                                              LCD_DATA=0Xff;      //LCDêy¾Y¶Ë¿úÖÃ1;
                    LCD_RS=1;        //RSÖÃ1;
                                                              LCD_RW=1;        //RWÖÃ1;
                                                              LCD_E=0;        //EÖÃ0;
                                                              delay(10);       //¶ìÑóê±;
                                                              LCD_E=1;        //EÖÃ1;òÔËø′æêy¾Y;
                                                              return(LCD_DATA);      //·μ»Ø¶áè¡μÄÖμ;
                                                        }  
/*----------------------------3õê¼»ˉ-----------------------*/  
                                                        //LCD3õê¼»ˉ3ìDò;Ö÷òa×÷óÃ3õê¼»ˉLCD,¶ÔLCD½øDD¸′λòÔ¼°éèÖÃ;
                                void initialization(void)    //¶¨òåoˉêy;
                                                        {  
                                                                  delay(50);       //Ñóê±5MS;
                                                                  write_dictate(0x38,0);    //D′Ö¸áî38H;2»¼ì2aÃ|;
                                                                  delay(50);       //Ñóê±5MS;
                                                                  write_dictate(0x38,0);    //D′Ö¸áî38H;2»¼ì2aÃ|;
                                                                  delay(50);       //Ñóê±5MS;
                                                                  write_dictate(0x38,0);    //D′Ö¸áî38H;2»¼ì2aÃ|;
                                                                  delay(50);
                                                                  write_dictate(0x38,1);    //ÏÔê¾Ä£ê½éèÖÃ;¼ì2aÃ|;
                                                                  write_dictate(0x08,1);    //1رÕÏÔê¾;¼ì2aÃ|;
                                                                  write_dictate(0x01,1);    //ÏÔê¾ÇåÆá;¼ì2aÃ|;
                                                                  write_dictate(0x06,1);    //ÏÔê¾1a±êòƶˉéèÖÃ;¼ì2aÃ|;
                                                                  write_dictate(0x0C,1);    //ÏÔ꾿a1ؼ°1a±êéèÖÃ;¼ì2aÃ|;
                                                                }  
/*---------------------------ÔúÖ¸¶¨Î»ÖÃÏÔê¾ò»¸ö×Ö·û----------------------*/
                                                                void displayonechar(uchar x, y,ddata)                                       
                                                                {
                                                                        y &= 0x01;
                                                                        x &= 0x0f;           //ÏTÖÆX2»Äü′óóú15,Y2»Äü′óóú1
                                                                        if (y) x+= 0x40;     //μ±òaÏÔê¾μú¶tDDê±μØÖ·Âë+0x40;
                                                                        x+= 0x80;            //Ëã3öÖ¸áîÂë
                                                                        write_dictate(x,0);  //Õaàï2»¼ì2aÃ|DÅoÅ,·¢ËíμØÖ·Âë
                                                                        write_data(ddata);
                }  
/*-------------------------ÔúÖ¸¶¨Î»ÖÃÏÔê¾ò»′®×Ö·û--------------*/
                                                                void displaylistchar(uchar x,y,uchar code *ddata)
                           {
                                                                                                                 uchar a=0;  
                                                                                                                 y&=0x01;  
                             x&=0xf;
                             while(ddata[a]>0x20)
                                                                                                                         {
                                                                                                                                 if(x<=0xff)
                                                                                                                                         {   
                                                                                                                                                 displayonechar(x, y,ddata[a]);
                                                                                                                                                 a++;   
                                                                                                                                                 x++;                                                                                                                                                   
                                                                                                                                         }   
                                                                                                                         }
                                                                                                         }  
/*-------------------------------¶áADC0832μÄêy¾Y----------------------------*/
          unsigned char readadc(void)
                                                                {   
                                                                        unsigned char dat,i;     
                                                                        CLK=0;         //D¾Æ¬¸′λ     
                                                                        CS=1;
                                                                        _nop_();
                                                                        CS=0;
                                                                        _nop_();  
                                                                        DI=1;         //Æô¶ˉλ   
                                                                        CLK=1;   
                                                                        _nop_();  
                                                                        CLK=0;   
                                                                        DI=1;         //ÅäÖÃλ1   
                                                                        CLK=1;   
                                                                        _nop_();   
                                                                        CLK=0;   
                                                                        DI=0;         //ÅäÖÃλ2   
                                                                        CLK=1;   
                                                                        _nop_();   
                                                                        CLK=0;         //¿ÕÏDλ
                                                                        _nop_();   
                                                                        CLK=1;
                                                                        DI=1;
                                                for(i=0;i<=8;i++){  //¶á3ö8×Ö½úêy¾Y   
                                                            dat=dat<<1;   
                                                            _nop_();     
                                                             CLK=1;//ÕaàïòaÏè1oó0...èç1ûÏè0oó1Ôòêä3ö½á1û′íÎó...
                                                if(DI){   
                 dat|=0x01;   
                          }     
                                                                        _nop_();
                  CLK=0;   
                             }     
                        CS=1;//1رÕD¾Æ¬   
                  return(dat);//·μ»Øêy¾Y
                                                 }  
                                                 
                        void main()
                                        {  uint dat;  
                                                delay400ms();//Ñóê±400MS   
                                                initialization();//LCD¸′λ;
                                                displaylistchar(0,0,DIS);//ÏÔê¾ADC832 2aêÔ;
                                                displayonechar(0,1,'O'); //ÔúLCDêÇÏÔê¾OUT:_.___V
                                                displayonechar(1,1,'U');  
                                                displayonechar(2,1,'T');
                                                displayonechar(3,1,':');  
                                                displayonechar(5,1,'.');   
                                                displayonechar(8,1,'V');  
                                                while(1)//ÎTÏTÑ-»·...ò»Ö±¶á3öμçÑ1ÖμÏÔê¾ÔúLCDéÏ;  
                                { displayonechar(13,1,dsptab[readadc()/100]);
                                        displayonechar(14,1,dsptab[(readadc()%100)/10]);
                                        displayonechar(15,1,dsptab[readadc()%10]);//ÔúLCD×îóò±ßÏÔê¾255ÖDμÄÄ3ò»¸öêy¾Y;  
                                        dat=readadc()/0.542;//0.542êÇ2553yòÔ»ù×¼μçÑ1ò2¾íêÇADC0832μÄVCC...μÿ′3öà′...Õa¸öÖμ¿éÄüÿ¸öèË2»í¬.
                                        displayonechar(4,1,dsptab[dat/100]);//ÏÂÃæèyDDÏÔê¾μçÑ1...
                                        displayonechar(6,1,dsptab[(dat%100)/10]);
                                        displayonechar(7,1,dsptab[dat%10]);  
                                        delay400ms();//Ñóê±400MS  
                                        }
        }

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频一区 | 97久久久久久久久 | 一区二区三区欧美在线 | 国产亚洲成av人在线观看导航 | 亚洲欧美中文日韩在线 | 蜜桃视频在线观看免费视频网站www | 国产在线网站 | 国产精品视频久久久 | 日本成人中文字幕 | 亚洲3级| 国产一区二区欧美 | 成人在线观看免费观看 | 午夜网站视频 | 成人免费一区二区三区牛牛 | 国内成人免费视频 | 国产成人精品久久二区二区 | 久久一区二区免费视频 | 91福利电影在线观看 | 欧美日韩久久精品 | 日韩成年人视频在线 | 大伊人久久| 亚洲乱码一区二区三区在线观看 | 日韩欧美中文 | 久久国产欧美一区二区三区精品 | 国产午夜精品一区二区三区四区 | 国产精品美女一区二区 | 日韩欧美在线不卡 | 91性高湖久久久久久久久_久久99 | 在线免费av观看 | 波多野结衣电影一区 | 日韩精品在线网站 | 欧美亚洲视频在线观看 | 操人视频在线观看 | 一级在线 | 亚洲精品一区二区三区蜜桃久 | 久久av一区 | 久久精品99 | 中文字幕日韩欧美 | 精品国产1区2区3区 在线国产视频 | 少妇淫片aaaaa毛片叫床爽 | 国产欧美在线观看 |