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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

能不能幫忙解釋下這段mcu代碼的意思?

[復制鏈接]
跳轉到指定樓層
樓主
ID:893163 發表于 2021-3-17 17:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void read_eeprom()
{
        PH_H = byte_read(0x2000);
  PH_L = byte_read(0x2001);
        a_a    = byte_read(0x2058);
}
void init_eeprom()
{
        read_eeprom()
        if(a_a != 1||k2==0||k3==0)PH_H=90;
                PH_L=40;
                a_a = 1;
                write_eeprom();         
        }        
}
void dispaly()//
{

        if(flag==0)
        {
        lcd1602_write(0,0x80);
        lcd1602_writebyte("PH:");
        lcd1602_write(1,PH/1000 + 0x30);
        lcd1602_write(1,PH%1000/100 + 0x30);
        lcd1602_write(1,'.');
        lcd1602_write(1,PH%100/10+ 0x30);
        lcd1602_write(1,PH%10 + 0x30);
        lcd1602_writebyte("  ");

        if(flagU==1)
        {
        lcd1602_writebyte("U:");
        lcd1602_write(1,Vdisbuff[0]);
        lcd1602_write(1,Vdisbuff[1]);
        lcd1602_write(1,Vdisbuff[2]);
        lcd1602_writebyte("V");
        }
        else
                lcd1602_writebyte("      ");

        lcd1602_write(0,0xC0);
        lcd1602_writebyte("Temp:");
        lcd1602_write(1,temp/1000 + 0x30);
        lcd1602_write(1,temp%1000/100 + 0x30);
        lcd1602_write(1,temp%100/10 + 0x30);
        lcd1602_write(1,'.');
        lcd1602_write(1,temp%10 + 0x30);
        lcd1602_write(1,0xdf);
        lcd1602_writebyte("C    ");
  }
        if(flag>0)
        {
                lcd1602_write(0,0x80);
                lcd1602_writebyte("PH_H:");
                lcd1602_write(1,PH_H/100 + 0x30);
                lcd1602_write(1,PH_H%100/10+ 0x30);
                lcd1602_write(1,'.');
                lcd1602_write(1,PH_H%10 + 0x30);
                lcd1602_writebyte("       ");

                if(flag==1)
                {
                        lcd1602_write(0,0x80+14);
                        lcd1602_writebyte("<<");
                }



                lcd1602_write(0,0xc0);
                lcd1602_writebyte("PH_L:");
                lcd1602_write(1,PH_L/100 + 0x30);
                lcd1602_write(1,PH_L%100/10+ 0x30);
                lcd1602_write(1,'.');
                lcd1602_write(1,PH_L%10 + 0x30);
                lcd1602_writebyte("       ");

                if(flag==2)
                {
                        lcd1602_write(0,0xc0+14);
                        lcd1602_writebyte("<<");
                }
        }
}

void alarm()
{
        altt++;
        if(altt>50)
        {
                altt=0;
                if(PHV>PH_H){rled=~rled; gled=1; beep=~beep;}
                else if(PHV<PH_L){rled=1; gled=~gled; beep=~beep;}
                else {rled=1; gled=1; beep=1;}
        }

}

void cekey()
{

        if(k1==0)
        {
                delay(10);
                if(k1==0)
                {
                        flag++;
                        if(flag>2) flag=0;
                }
                while(!k1);
        }
        if(k2==0&&flag>0)
        {
                delay(10);
                if(k2==0)
                {
                        altk=0;
                        switch(flag)
                        {
                                case 1: PH_H++; if(PH_H>140) PH_H=140;   break;
                                case 2: if(PH_H>PH_L) PH_L++;  break;
                        }
                        write_eeprom();
                }
                while(!k2);
//                {
//                        dispaly();
//                        altk++;
//                        if(altk>30)
//                        {
//                                altk=305;
//                                switch(flag)
//                                {
//                                        case 1: PH_H=PH_H+10;  PH_H=140;   break;
//                                        case 2: if(PH_H>PH_L) PH_L=PH_L+10;  break;
//                                }
//                        write_eeprom();
//                                write_eeprom();
//                        }
//                        delay(100);
//                        dispaly();
//                }
        }

        if(k3==0&&flag>0)
        {
                delay(10);
                if(k3==0)
                {
                        altk=0;
                        switch(flag)
                        {
                                case 1: if(PH_H>PH_L) PH_H--;   break;
                                case 2: if(PH_L>0) PH_L--;  break;
                        }
                        write_eeprom();
                }
                while(!k3);
//                {
//                        dispaly();
//                        altk++;
//                        if(altk>30)
//                        {
//                                altk=305;
//                                switch(flag)
//                                {
//                                        case 1: if(PH_H>PH_L) PH_H=PH_H-10;   break;
//                                        case 2: if(PH_L>0) PH_L=PH_L-10;  break;
//                                }
//                                write_eeprom();
//                        }
//                        delay(100);
//                        dispaly();
//                        
//                }
        }



        if(k3==0&&flag==0)
        {
                delay(10);
                if(k3==0)
                {
                        flagU=~flagU;
                }
                while(!k3);
        }

}

void TU_Collection()
{

        ad_red=ADC0832(1,0)
  adGet=adGet+ad_red;
        numt++;
        if(numt>=100)
        {
                numt=0;        
                Value=adGet/100;
                adv=Value * 500.0/ 256;
                PH_V =Value * 5.0 / 256;
//                PH_Value=-5.887*PH_V+21.677;
                PH_Value=-5.9647*PH_V+22.255;
                if(PH_Value<=0){PH_Value=0;}
                if(PH_Value>=14){PH_Value=14;}
                temp=check_wendu();

                disbuff[0]=(int)(PH_Value*100)/1000;
                disbuff[1]=(int)(PH_Value*100)%1000/100;        
                disbuff[2]=(int)(PH_Value*100)%100/10;
                disbuff[3]=(int)(PH_Value*100)%10;
                PH=disbuff[0]*1000+disbuff[1]*100+disbuff[2]*10+disbuff[3];
                PHV=disbuff[0]*100+disbuff[1]*10+disbuff[2];
                Vdisbuff[0]=(int)(PH_V*100)/100+'0';
                Vdisbuff[1]=(int)(PH_V*100)%100/10+'0';
                Vdisbuff[2]=(int)(PH_V*100)%10+'0';
                adGet=0;

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

使用道具 舉報

沙發
ID:230742 發表于 2021-3-17 18:56 | 只看該作者
從0832讀取的數據顯示在1602上,有兩個按鍵。有蜂鳴器。好像是一個類似可調溫度報警的程序。還有寫內部EEPROM的部分,掉電不丟失。
回復

使用道具 舉報

板凳
ID:893163 發表于 2021-3-17 21:17 | 只看該作者
啤酒瓶子老大 發表于 2021-3-17 18:56
從0832讀取的數據顯示在1602上,有兩個按鍵。有蜂鳴器。好像是一個類似可調溫度報警的程序。還有寫內部EEPR ...

   lcd1602_write(1,PH_L/100 + 0x30);
                lcd1602_write(1,PH_L%100/10+ 0x30);
這段是什么意思
回復

使用道具 舉報

地板
ID:287575 發表于 2021-3-18 01:26 | 只看該作者
PH_L/100 是求出ph的百位數,加上0x30是把數字轉換成字符,比如求的值是1,你要轉換成‘1’才能顯示
PH_L%100/10是求十位的數
回復

使用道具 舉報

5#
ID:584814 發表于 2021-3-18 03:20 | 只看該作者
1820184992 發表于 2021-3-17 21:17
lcd1602_write(1,PH_L/100 + 0x30);
                lcd1602_write(1,PH_L%100/10+ 0x30);
這段是 ...

在1602的屏上顯示PH_L百位和十位的值(兩位)
回復

使用道具 舉報

6#
ID:420836 發表于 2021-3-18 04:54 | 只看該作者
該代碼包括ADC模數轉換,警報,LCD顯示,EEPROM讀寫。
回復

使用道具 舉報

7#
ID:517951 發表于 2021-3-18 09:04 | 只看該作者
lcd1602_write(1,PH_L/100 + 0x30);   //在1602液晶顯示屏上顯示變量PH_L的百位數值
                lcd1602_write(1,PH_L%100/10+ 0x30); //在1602液晶顯示屏下一個字符位上顯示變量PH_L的十位數值
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久69精品久久久久久久电影好 | 亚洲精品在线免费播放 | 亚洲精品国产成人 | 欧美九九| www.久久久.com | 欧美三区 | 午夜精品久久久久久久99黑人 | 国产一区二区精 | 一区二区三区欧美 | 日韩精品a在线观看图片 | 欧美成年黄网站色视频 | 国产成人福利视频 | 欧美区日韩区 | 婷婷桃色网 | 久操伊人 | 国产精品久久久久久久久久久久 | 欧美a v在线 | 欧美福利一区 | 日本特黄a级高清免费大片 特黄色一级毛片 | www.国产视频 | 精品免费国产一区二区三区四区介绍 | 美女一级毛片 | 成人免费久久 | 国产亚洲精品久久久优势 | 久久国产精品一区二区三区 | 天堂av在线影院 | 亚洲欧美国产毛片在线 | 成人国产一区二区三区精品麻豆 | 精品国产精品三级精品av网址 | 欧美日韩视频在线第一区 | 91在线观看 | 男女性毛片 | 日韩欧美视频免费在线观看 | 在线观看中文字幕亚洲 | 国产精品视频综合 | 国产一区中文字幕 | 嫩草视频入口 | 免费久久精品视频 | 国产乱码精品1区2区3区 | 国产精品一区二区三区四区 | 日日做夜夜爽毛片麻豆 |