欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

數字萬用表設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:190848 發表于 2017-4-19 10:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是其中的測交流程序
#include<reg52.h>
#include"Delay.h"
#include<KEY_FUNCTION_DEFINE.H>
#include<measure_define.h>
#include"AD.h"
#include"LCD.h"

extern uchar disp_value[5];
extern uchar key_number;
extern uchar code  DC_disp3[];
uchar code AC_disp[]="AC VOL Measure ";
uchar code AC_disp2[]="value=        ";
void AC_VOL_measure(void)                                //交流電壓測量函數
{
                uchar  ADTemp,num;
                float ValueTemp;
                WriteCom(0x01);                                                        //清屏
              WriteCom(0x80);                                                    //顯示
                for(num=0;AC_disp[num]!='\0';num++)
                {
                        WriteData(AC_disp[num]);                         
                        Delay(10);       
                }
                WriteCom(0x80+0x40);                                   //顯示
                for(num=0;AC_disp2[num]!='\0';num++)
                {
                        WriteData(AC_disp2[num]);                         
                        Delay(10);       
                }               
                       
                do{                                                                     
                             s1=0;                                         //選擇200v最高檔
                            s2=0;
                            s3=1;
                                Delay(50);
                ADTemp=ADSample(AC_VOL_adder);               
                if(ADTemp>253)                                          //當超過量程時,顯示為1
                {         WriteCom(0x80+0x46);                                //顯示
                        for(num=0;DC_disp3[num]!='\0';num++)
                        {
                                WriteData(DC_disp3[num]);
                                         Delay(10);
                        }
                }         
                else                
                        {
                        ValueTemp=ValueConver(ADTemp);         //測量的電壓值轉換         
                    ValueTemp=ValueTemp*100;                 //電壓值乘以檔位         
                                FloatToChar(ValueTemp);                 //電壓值轉換為字符串
                           WriteCom(0x80+0x46);                        //第二行顯示電壓值         
                                for(num=0;num<5;num++)
                                {
                                        WriteData(disp_value[num]);                         
                                        Delay(10);       
                                }
                         WriteData('V');
                        WriteData(' ');                               
                       
                        }
                                                                                                           
                }  while((ADTemp>20)&&(key_number==2));

                 do
                {                                                                                  
                            s1=0;                                                   //選擇20v檔
                            s2=1;
                            s3=0;
                                Delay(50);                                                 
                ADTemp=ADSample(AC_VOL_adder);             //起動AD進行采樣
                ValueTemp=ValueConver(ADTemp);                 //AD進行轉換
                ValueTemp=ValueTemp*10;                                 //電壓乘以檔位         
                FloatToChar(ValueTemp);                                 //電壓轉換為字符串
             WriteCom(0x80+0x46);                                 //第二行顯示所測電壓值
                for(num=0;num<5;num++)
                {
                        WriteData(disp_value[num]);
                                 Delay(10);
                }
                WriteData('V');
                WriteData(' ');                                         
            } while((ADTemp>24)&&(ADTemp<253)&&(key_number==2));       
do
           {
                            s1=1;                                                //選擇2V檔
                            s2=0;
                            s3=0;
                                Delay(50);
                ADTemp=ADSample(AC_VOL_adder);                //起動AD進行采樣
                ValueTemp=ValueConver(ADTemp);                 //電壓值轉換為字符串
        FloatToChar(ValueTemp);
           WriteCom(0x80+0x46);
                for(num=0;num<5;num++)
                {
                        WriteData(disp_value[num]);
                        Delay(15);       
                }
                WriteData('V');       
                WriteData(' ');
         } while((ADTemp<253)&&(key_number==2));

}

51黑論壇_單片機萬用表仿真及源碼.zip

1.91 MB, 下載次數: 60, 下載積分: 黑幣 -5

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表