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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 88053|回復(fù): 235
收起左側(cè)

開源基于STC單片機(jī)內(nèi)部基準(zhǔn)mini電壓表—極簡(jiǎn)設(shè)計(jì)創(chuàng)新制作

  [復(fù)制鏈接]
ID:123732 發(fā)表于 2016-10-20 15:32 | 顯示全部樓層 |閱讀模式
開源基于STC單片機(jī)內(nèi)部基準(zhǔn)(Bandgap voltage reference)mini電壓表—極簡(jiǎn)設(shè)計(jì)創(chuàng)新制作
1.hello-壇友們大家好!今天開源制作一款9.99v量程的電壓表(改變一下電阻和程序可以改為更大量程),只需要單片機(jī)數(shù)碼管電阻三種4個(gè)元件(沒(méi)有用到TL431之類的外接基準(zhǔn)芯片),極簡(jiǎn)設(shè)計(jì)精簡(jiǎn)制作。感覺(jué)贊的話在評(píng)論區(qū)留個(gè)評(píng)論,謝謝支持,大家的支持就是我發(fā)帖的最大動(dòng)力。
2.利用STC單片機(jī)STC15W408AS內(nèi)部自帶的基準(zhǔn)電壓Bandgap voltage reference)最為參考電壓,用ADC測(cè)量出外部輸入的電壓。
3.昨晚奮斗到凌晨把程序改好,今天畫了原理圖,拍了照片。(發(fā)帖是一件辛苦的活,請(qǐng)?jiān)u論一下帖子順便贊)
4.Bandgap voltage reference,常常有人簡(jiǎn)單地稱它為Bandgap。最經(jīng)典的帶隙基準(zhǔn)是利用一個(gè)與溫度成正比的電壓與一個(gè)與溫度成反比的電壓之和,二者溫度系數(shù)相互抵消,實(shí)現(xiàn)與溫度無(wú)關(guān)的電壓基準(zhǔn),約為1.25V。因?yàn)槠?/font>基準(zhǔn)電壓與硅的帶隙電壓差不多,因而稱為帶隙基準(zhǔn)。實(shí)際上利用的不是帶隙電壓。現(xiàn)在有些Bandgap結(jié)構(gòu)輸出電壓與帶隙電壓也不一致。(來(lái)自百度百科的解釋)
圖片中沒(méi)有測(cè)別的電源電壓,測(cè)量的是USB的供電電壓
電壓表 300.jpg

mini電壓表測(cè)出來(lái)的是4.75v 萬(wàn)用表測(cè)出來(lái)的是4.76v
電壓表 301.jpg

下圖為在實(shí)驗(yàn)板上的布局先插入電阻‘’插座、單片機(jī)
電壓表 296.jpg

數(shù)碼管直接壓在單片機(jī)上插入實(shí)驗(yàn)板(焊接過(guò)程自行腦補(bǔ))
電壓表 298.jpg

下圖為PADS畫的原理圖,附件中有原版。
ADC測(cè)電壓原理圖.png

看過(guò)留個(gè)評(píng)論謝謝!
  1. /********************************************/
  2. //2016.10.20日 1:01編寫完成
  3. //作者:劉海龍 (讀單片機(jī)內(nèi)部BandGap基準(zhǔn)電壓值參考的STC官網(wǎng)程序)
  4. //硬件:STC15W408AS+3位共陰數(shù)碼管+2個(gè)10K的電阻(1/4w)
  5. //晶振無(wú)說(shuō)明的情況選12M
  6. //測(cè)量口P1.7
  7. #include <STC15W.h>
  8. #include <intrins.h>
  9. #include<4LED_YIN.H>//數(shù)碼管驅(qū)動(dòng)顯示程序
  10. #include <BandGap.H>//包含讀單片機(jī)內(nèi)部BandGap基準(zhǔn)電壓值        
  11. /********************************/
  12. void main (void)
  13. {        Delay20ms();//待系統(tǒng)穩(wěn)定
  14.     InitADC();//初始化ADC
  15.     P1M1=0X80;//P1.7高阻輸入
  16.         init();//IO口設(shè)置初始化
  17.     while (1)
  18.     {
  19.         ShowResult(7);//顯示通道P1.7的測(cè)量值、單位為毫伏
  20.                 disp();        //數(shù)碼管顯示電壓值
  21.     }
  22. }
復(fù)制代碼





ADC極簡(jiǎn)電壓表.rar

910.9 KB, 下載次數(shù): 1530, 下載積分: 黑幣 -5

原理圖+源程序

評(píng)分

參與人數(shù) 15黑幣 +154 收起 理由
dsbk123 + 5 支持開源,向樓主學(xué)習(xí)!
Lthrwy + 4
shengzhen2007 + 5
zbfdyw + 5 你發(fā)帖子,我點(diǎn)贊,鼓勵(lì)繼續(xù)做貢獻(xiàn)!
都市郎 + 15 很給力!
piplxh + 15 贊一個(gè)!
angmall + 35 共享資料的黑幣獎(jiǎng)勵(lì)!
逐輕舟 + 5 很給力!
vvv64 + 5 贊一個(gè)!
madell + 5 贊一個(gè)!
15625539232 + 5
huyin + 5 贊一個(gè)!
王朗的誘惑 + 35 贊一個(gè)!
下雨天.25 + 5 贊一個(gè)!
滴~電子小白 + 5 贊一個(gè)!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:66416 發(fā)表于 2021-7-13 01:21 | 顯示全部樓層
@樓主,過(guò)來(lái)幫忙看一下,為什么我用的共陽(yáng)極的,改了程序還是沒(méi)有顯示:
一、原理圖:
二、STC15ADC.c
/********************************************/
//2016.10.20日 1:01編寫完成
//作者:劉海龍 (讀單片機(jī)內(nèi)部BandGap基準(zhǔn)電壓值參考的STC官網(wǎng)程序)
//硬件:STC15W408AS+3位共陰數(shù)碼管+2個(gè)10K的電阻(1/4w)
//晶振無(wú)說(shuō)明的情況選12M
//測(cè)量口P1.3
#include <STC15W.h>
#include <intrins.h>
#include<4LED_YIN.H>//數(shù)碼管驅(qū)動(dòng)顯示程序
#include <BandGap.H>//包含讀單片機(jī)內(nèi)部BandGap基準(zhǔn)電壓值       
/********************************/
void main (void)
{        Delay20ms();//待系統(tǒng)穩(wěn)定
    InitADC();//初始化ADC
    P1M1=0X08;//P1.3高阻輸入
          init();//IO口設(shè)置初始化
    while (1)
    {
        ShowResult(3);//顯示通道P1.3的測(cè)量值、單位為毫伏
                    disp();        //數(shù)碼管顯示電壓值
    }
}


三、4LED_YIN.H
/***********四位共陰數(shù)碼管驅(qū)動(dòng)程序************/
//stc15w單片機(jī)
//1在主程序前加上初始化init();程序
//2硬件連接變動(dòng)時(shí)需修改下面的參數(shù)
sbit H1        = P1^0;//設(shè)置第1位數(shù)碼管陽(yáng)極連接的I/O口
sbit H2        = P1^1;//設(shè)置第2位數(shù)碼管陽(yáng)極連接的I/O口
sbit H3        = P1^2;//設(shè)置第3位數(shù)碼管陽(yáng)極連接的I/O口
//sbit H4        = P1^7;//設(shè)置第4位數(shù)碼管陽(yáng)極連接的I/O口
sbit a        = P3^7;
sbit b        = P3^6;
sbit c        = P3^5;
sbit d        = P3^4;
sbit e        = P3^3;
sbit f        = P3^2;
sbit g        = P3^1;
sbit dp        = P3^0;
unsigned char PWM;//顯示亮度
unsigned int v;//定義測(cè)量電壓變量
#define P1M0SET                0x00 //設(shè)置I/O口工作方式//00000000(左到右,高到低位)
#define P1M1SET                0x00 //設(shè)置I/O口工作方式//00000000
#define P3M0SET                0xFF //設(shè)置I/O口工作方式//11111111
#define P3M1SET                0x00 //設(shè)置I/O口工作方式//00000000
/*****以上定義需要根據(jù)實(shí)際硬件情況更改******/
#define light                        9         //設(shè)置LED顯示的亮度(值域:1~9)
#define DELAY_L                12         //設(shè)置每一個(gè)點(diǎn)顯示的時(shí)間長(zhǎng)度(1~20)
/********* 延時(shí)函數(shù)    ***************/
void delay (unsigned int a){ // 用于點(diǎn)掃描的延時(shí)
        unsigned int i;
        while( a-- != 0){
                for(i = 0; i < DELAY_L; i++);
        }                                     
}
/*********************************************************************************************/
unsigned char code disdata[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09}; //顯示0~9的段碼

//數(shù)碼管:負(fù)向位置;共陽(yáng)極;負(fù)向連接

void dis_off (void){
        P3 = P3M0SET; //關(guān)所有顯示
        P1 = ~P1M0SET;
        delay(10-PWM);
}
/*********************************************************************************************/
void displayHH1 (unsigned char q){ //第1位數(shù)碼管顯示程序
        unsigned char i;
        i = q & 0x7F;
        if(i == 0x7F){
                H1 = 0;a = 0;}delay(PWM);dis_off();
        i = q & 0xBF;
        if(i == 0xBF){
                H1 = 0;b = 0;}delay(PWM);dis_off();
        i = q & 0xDF;
        if(i == 0xDF){
                H1 = 0;c = 0;}delay(PWM);dis_off();
        i = q & 0xEF;
        if(i == 0xEF){
                H1 = 0;d = 0;}delay(PWM);dis_off();
        i = q & 0xF7;
        if(i == 0xF7){
                H1 = 0;e = 0;}delay(PWM);dis_off();
        i = q & 0xFB;
        if(i == 0xFB){
                H1 = 0;f = 0;}delay(PWM);dis_off();
        i = q & 0xFD;
        if(i == 0xFD){
                H1 = 0;g = 0;}delay(PWM);dis_off();
        i = q & 0xFE;
        if(i == 0xFE){
                H1 = 0;dp = 0;}delay(PWM);dis_off();
}
/*********************************************************************************************/
void displayHH2 (unsigned char q){ //第2位數(shù)碼管顯示程序
        unsigned char i;
        i = q & 0x7F;
        if(i == 0x7F){
                H2 = 0;a = 0;}delay(PWM);dis_off();
        i = q & 0xBF;
        if(i == 0xBF){
                H2 = 0;b = 0;}delay(PWM);dis_off();
        i = q & 0xDF;
        if(i == 0xDF){
                H2 = 0;c = 0;}delay(PWM);dis_off();
        i = q & 0xEF;
        if(i == 0xEF){
                H2 = 0;d = 0;}delay(PWM);dis_off();
        i = q & 0xF7;
        if(i == 0xF7){
                H2 = 0;e = 0;}delay(PWM);dis_off();
        i = q & 0xFB;
        if(i == 0xFB){
                H2 = 0;f = 0;}delay(PWM);dis_off();
        i = q & 0xFD;
        if(i == 0xFD){
                H2 = 0;g = 0;}delay(PWM);dis_off();
        i = q & 0xFE;
        if(i == 0xFE){
                H2 = 0;dp = 0;}delay(PWM);dis_off();
}
/*********************************************************************************************/
void displayHH3 (unsigned char q){ //第3位數(shù)碼管顯示程序
        unsigned char i;
        i = q & 0x7F;
        if(i == 0x7F){
                H3 = 0;a = 0;}delay(PWM);dis_off();
        i = q & 0xBF;
        if(i == 0xBF){
                H3 = 0;b = 0;}delay(PWM);dis_off();
        i = q & 0xDF;
        if(i == 0xDF){
                H3 = 0;c = 0;}delay(PWM);dis_off();
        i = q & 0xEF;
        if(i == 0xEF){
                H3 = 0;d = 0;}delay(PWM);dis_off();
        i = q & 0xF7;
        if(i == 0xF7){
                H3 = 0;e = 0;}delay(PWM);dis_off();
        i = q & 0xFB;
        if(i == 0xFB){
                H3 = 0;f = 0;}delay(PWM);dis_off();
        i = q & 0xFD;
        if(i == 0xFD){
                H3 = 0;g = 0;}delay(PWM);dis_off();
        i = q & 0xFE;
        if(i == 0xFE){
                H3 = 0;dp = 0;}delay(PWM);dis_off();
}
void diplay_data (unsigned char l,unsigned char q){
                switch (l){//顯示的數(shù)碼管位置               
                                case 1://                       
                                        displayHH1(q); //將顯示數(shù)據(jù)送入               
                                        break;//               
                                case 2://                       
                                        displayHH2(q); //將顯示數(shù)據(jù)送入               
                                        break;//               
                                case 3://                       
                                        displayHH3(q); //將顯示數(shù)據(jù)送入               
                                        break;//
//                                case 4://                       
//                                        displayHH4(q); //將顯示數(shù)據(jù)送入               
//                                        break;//                       
                               
                }
}

/*****************IO口初始化**************************/
void init (void){       
                P3M1=P3M1SET;
                P3M0=P3M0SET;
                P1M0=P1M0SET;
                P1M1=P1M1SET;
                dis_off();
                PWM = light;}
/*******************************************/
/******************顯示程序*************************/
void disp(){
unsigned int i;
        for(i=0;i<50;i++){
                diplay_data (1,disdata[v/1000]+0x80);
                diplay_data (2,disdata[v%1000/100]);
                diplay_data (3,disdata[v%100/10]);
        }
}


四、BandGap.H
//內(nèi)部BandGap為基準(zhǔn)測(cè)電壓
//-----------------------------------------
#define  uchar unsigned char  
#define uint  unsigned int
unsigned int v;       
//ADC相關(guān)設(shè)定參數(shù)
#define ADC_POWER   0x80            //ADC電源控制位
#define ADC_FLAG    0x10            //ADC完成標(biāo)志
#define ADC_START   0x08            //ADC起始控制位
#define ADC_SPEEDLL 0x00            //540個(gè)時(shí)鐘
#define ADC_SPEEDL  0x20            //360個(gè)時(shí)鐘
#define ADC_SPEEDH  0x40            //180個(gè)時(shí)鐘
#define ADC_SPEEDHH 0x60            //90個(gè)時(shí)鐘
//-----------------------------------------
//BandGap相關(guān)參數(shù)
//注意:需要在下載代碼時(shí)選擇"在ID號(hào)前添加重要測(cè)試參數(shù)"選項(xiàng),才可在程序中獲取此參數(shù)
//#define ID_ADDR_ROM 0x03f7      //1K程序空間的MCU
//#define ID_ADDR_ROM 0x07f7      //2K程序空間的MCU
//#define ID_ADDR_ROM 0x0bf7      //3K程序空間的MCU
//#define ID_ADDR_ROM 0x0ff7      //4K程序空間的MCU
//#define ID_ADDR_ROM 0x13f7      //5K程序空間的MCU
#define ID_ADDR_ROM 0x1ff7      //8K程序空間的MCU
//#define ID_ADDR_ROM 0x27f7      //10K程序空間的MCU
//#define ID_ADDR_ROM 0x2ff7      //12K程序空間的MCU
//#define ID_ADDR_ROM 0x3ff7      //16K程序空間的MCU
//#define ID_ADDR_ROM 0x4ff7      //20K程序空間的MCU
//#define ID_ADDR_ROM 0x5ff7      //24K程序空間的MCU
//#define ID_ADDR_ROM 0x6ff7      //28K程序空間的MCU
//#define ID_ADDR_ROM 0x7ff7      //32K程序空間的MCU
//#define ID_ADDR_ROM 0x9ff7      //40K程序空間的MCU
//#define ID_ADDR_ROM 0xbff7      //48K程序空間的MCU
//#define ID_ADDR_ROM 0xcff7      //52K程序空間的MCU
//#define ID_ADDR_ROM 0xdff7      //56K程序空間的MCU
//#define ID_ADDR_ROM 0xeff7      //60K程序空間的MCU


//-----------------------------------------
//聲明

void Delay20ms()                //@12.000MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 1;
        j = 234;
        k = 113;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}


/*----------------------------
初始化ADC
----------------------------*/
void InitADC()
{
           P1ASF = 0x00;                   //不設(shè)置P1口為AD口
    ADC_RES = 0;                    //清除結(jié)果寄存器
    ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
        Delay20ms();
}
/*----------------------------
讀取ADC結(jié)果
----------------------------*/
uint GetADCResult(uchar ch)
{
    uint ADC_10BIT_RES;
    ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
    _nop_();                        //等待4個(gè)NOP
    _nop_();
    _nop_();
    _nop_();
    while (!(ADC_CONTR & ADC_FLAG));//等待ADC轉(zhuǎn)換完成
    ADC_CONTR &= ~ADC_FLAG;         //關(guān)閉 ADC
    ADC_10BIT_RES=ADC_RES;      //得到高8位
    ADC_10BIT_RES<<=2;
    ADC_10BIT_RES+=ADC_RESL;     //得到低2位
    return ADC_10BIT_RES;                 //返回ADC結(jié)果

}

/*----------------------------
發(fā)送ADC結(jié)果
----------------------------*/
void ShowResult(uchar ch)
{
    uint adc_res10,//測(cè)量設(shè)定通道adc值
    bandgap,       //bandgap預(yù)儲(chǔ)存校準(zhǔn)值,單位毫伏
    adc_9gallery_res; //測(cè)量第九通道(bandgap)值
    float power_voltage,        //系統(tǒng)供電電壓,單位毫伏
    ADC_voltage;     //設(shè)定通道電壓值,單位毫伏

    uchar  code *cptr; //定義ROM(代碼)區(qū)指針
    //uchar  idata *iptr;//定義RAM(內(nèi)存)區(qū)指針

    cptr = ID_ADDR_ROM;         //從程序區(qū)讀取BandGap電壓值(單位:毫伏mV)
    bandgap=*cptr++;
    bandgap<<=8;
    bandgap+=*cptr;
    /*iptr = ID_ADDR_RAM;         //從內(nèi)存區(qū)讀取BandGap電壓值(單位:毫伏mV)
    bandgap=*iptr++;              //兩種方法結(jié)果一樣,上面的方法需要在下載式勾選"在ID號(hào)前添加重要測(cè)試參數(shù)"選項(xiàng),才可在程序中獲取此參數(shù)
    bandgap<<=8;                  //下面的方法不需要
    bandgap+=*iptr;    */
    //測(cè)量設(shè)定通道adc值
    ADC_RES = 0;                    //清除結(jié)果寄存器
    P1ASF = 0x08;                   //設(shè)置P1.3口為AD口
    GetADCResult(ch);
    GetADCResult(ch);                 //讀三次獲得穩(wěn)定
    adc_res10= GetADCResult(ch);
    //測(cè)量第九通道(bandgap)值
    ADC_RES = 0;                    //清除結(jié)果寄存器
    P1ASF = 0x00;                   //設(shè)置讀第九通道
    GetADCResult(0);                 //測(cè)bandgap時(shí),調(diào)用此函數(shù)時(shí)通道數(shù)只能填0
    GetADCResult(0);                 //讀三次獲得穩(wěn)定
    adc_9gallery_res=GetADCResult(0);
    //計(jì)算系統(tǒng)供電電壓
    power_voltage=(float)bandgap*1024/adc_9gallery_res;
    //計(jì)算ADC通道測(cè)得電壓值
    ADC_voltage=(float)bandgap*adc_res10/adc_9gallery_res;
        v=ADC_voltage;
        v=v*2;
}


原理圖

原理圖
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-10-20 16:39 | 顯示全部樓層
下載說(shuō)明.png
下載時(shí)要勾選圖片中紅色圈內(nèi)的選項(xiàng)
回復(fù)

使用道具 舉報(bào)

ID:98618 發(fā)表于 2016-10-20 19:52 | 顯示全部樓層
電路還是很簡(jiǎn)潔的,stc的內(nèi)部基準(zhǔn)不知道精度怎么樣。先收藏備用了,對(duì)了樓主你那個(gè)原理圖還漂亮 請(qǐng)教下是用什么軟件做的啊?
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-10-20 21:13 | 顯示全部樓層
taoran 發(fā)表于 2016-10-20 19:52
電路還是很簡(jiǎn)潔的,stc的內(nèi)部基準(zhǔn)不知道精度怎么樣。先收藏備用了,對(duì)了樓主你那個(gè)原理圖還漂亮 請(qǐng)教下是用 ...

用的PADS9.5畫的
回復(fù)

使用道具 舉報(bào)

ID:126608 發(fā)表于 2016-11-3 04:02 | 顯示全部樓層
做出來(lái)了,引腳可以任意改,非常好用。
回復(fù)

使用道具 舉報(bào)

ID:69271 發(fā)表于 2016-11-3 14:50 | 顯示全部樓層
這個(gè)做和不錯(cuò)。
回復(fù)

使用道具 舉報(bào)

ID:143203 發(fā)表于 2016-11-15 10:44 | 顯示全部樓層
并沒(méi)有sch原理圖,,。
回復(fù)

使用道具 舉報(bào)

ID:143203 發(fā)表于 2016-11-15 10:45 | 顯示全部樓層
尚尚網(wǎng) 發(fā)表于 2016-11-3 14:50
這個(gè)做和不錯(cuò)。

你下載的文件有原理圖么,有的話郵一份1218946827  企鵝
回復(fù)

使用道具 舉報(bào)

ID:69271 發(fā)表于 2016-11-15 16:18 | 顯示全部樓層
Y!NG 發(fā)表于 2016-11-15 10:45
你下載的文件有原理圖么,有的話郵一份1218946827  企鵝

我看過(guò)刪了。
回復(fù)

使用道具 舉報(bào)

ID:69271 發(fā)表于 2016-11-15 16:19 | 顯示全部樓層
Y!NG 發(fā)表于 2016-11-15 10:45
你下載的文件有原理圖么,有的話郵一份1218946827  企鵝

http://c.51hei.com/d/forum/201610/20/152000q1w7oikbv1bo2oek.png
上面不上有嗎?
回復(fù)

使用道具 舉報(bào)

ID:148068 發(fā)表于 2016-11-15 17:05 | 顯示全部樓層
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2016-11-15 17:35 | 顯示全部樓層
Y!NG 發(fā)表于 2016-11-15 10:44
并沒(méi)有sch原理圖,,。

有的,你解壓出來(lái)后有個(gè)ADC.sch文件就是,之前是手工畫的圖,后來(lái)改成電腦畫的了。
回復(fù)

使用道具 舉報(bào)

ID:148440 發(fā)表于 2016-11-18 16:03 | 顯示全部樓層
頂一頂,下載
回復(fù)

使用道具 舉報(bào)

ID:135950 發(fā)表于 2016-11-18 16:27 | 顯示全部樓層
這是好東西啊,收藏起來(lái)先。。。
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-11-20 21:32 | 顯示全部樓層
Y!NG 發(fā)表于 2016-11-15 10:45
你下載的文件有原理圖么,有的話郵一份1218946827  企鵝

上面有圖直接復(fù)制一份不就好了 又不需要你改
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2016-11-20 21:33 | 顯示全部樓層
只有我一個(gè)人覺(jué)得很浪費(fèi)嗎???那么多IO口都沒(méi)用。不知道精度怎么樣
回復(fù)

使用道具 舉報(bào)

ID:108508 發(fā)表于 2016-11-25 21:01 | 顯示全部樓層
很好,收藏了!
回復(fù)

使用道具 舉報(bào)

ID:161954 發(fā)表于 2017-1-16 08:20 | 顯示全部樓層
非常棒,我也要學(xué)著做一個(gè)裝在電源上。
回復(fù)

使用道具 舉報(bào)

ID:84565 發(fā)表于 2017-3-21 19:59 來(lái)自觸屏版 | 顯示全部樓層
頂貼了,下載下來(lái)看看,嘿嘿
回復(fù)

使用道具 舉報(bào)

ID:183837 發(fā)表于 2017-3-27 15:35 | 顯示全部樓層
求附件內(nèi)容
回復(fù)

使用道具 舉報(bào)

ID:184936 發(fā)表于 2017-3-30 22:23 | 顯示全部樓層
正好學(xué)習(xí),能郵到,O(∩_∩)O謝謝
回復(fù)

使用道具 舉報(bào)

ID:185829 發(fā)表于 2017-4-20 19:53 | 顯示全部樓層
精簡(jiǎn)的設(shè)計(jì),精度0.5mv嗎
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2017-4-21 12:18 | 顯示全部樓層
nnq 發(fā)表于 2017-4-20 19:53
精簡(jiǎn)的設(shè)計(jì),精度0.5mv嗎

精度沒(méi)有那么高,兩個(gè)分壓電阻也有誤差的。
回復(fù)

使用道具 舉報(bào)

ID:129858 發(fā)表于 2017-4-24 22:04 | 顯示全部樓層
這個(gè)的頂起來(lái)啊,這么好的源碼
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2017-4-29 18:54 | 顯示全部樓層
怎么修改測(cè)量范圍?具體辦法是?
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2017-4-30 23:03 | 顯示全部樓層
越快樂(lè)越墮落 發(fā)表于 2017-4-29 18:54
怎么修改測(cè)量范圍?具體辦法是?

兩個(gè)電阻串聯(lián)分壓原理,改變兩個(gè)電阻的比值可以改變分壓多少,從而改變量程。
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2017-5-2 18:50 | 顯示全部樓層
劉海龍 發(fā)表于 2017-4-30 23:03
兩個(gè)電阻串聯(lián)分壓原理,改變兩個(gè)電阻的比值可以改變分壓多少,從而改變量程。

程序如何修改呢
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2017-5-2 22:34 | 顯示全部樓層

具體修改方法見圖片
21.png
回復(fù)

使用道具 舉報(bào)

ID:55565 發(fā)表于 2017-5-3 16:27 | 顯示全部樓層
很好,不錯(cuò)學(xué)習(xí)下。
回復(fù)

使用道具 舉報(bào)

ID:195456 發(fā)表于 2017-5-3 17:41 | 顯示全部樓層
贊一個(gè),給力
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2017-5-4 11:11 | 顯示全部樓層
劉海龍 發(fā)表于 2017-5-2 22:34
具體修改方法見圖片

這樣就可以了?數(shù)碼管的百位會(huì)不會(huì)亂碼?是繼續(xù)用三位數(shù)碼管嗎?如果是,那么小數(shù)點(diǎn)的位移怎么解決?比如測(cè)的電壓為30.5v時(shí)。
回復(fù)

使用道具 舉報(bào)

ID:195950 發(fā)表于 2017-5-4 14:55 | 顯示全部樓層
劉海龍 發(fā)表于 2017-5-2 22:34
具體修改方法見圖片

我理解能力有問(wèn)題!一直很蒙你直接說(shuō)量程到30V要怎么修改這樣好明白一點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2017-5-4 22:32 | 顯示全部樓層
本帖最后由 劉海龍 于 2017-5-4 22:39 編輯
人工智能威力 發(fā)表于 2017-5-4 14:55
我理解能力有問(wèn)題!一直很蒙你直接說(shuō)量程到30V要怎么修改這樣好明白一點(diǎn)

電阻R2改為2k,程序中的v=v*2改為v=v*6顯示程序也需要改為下面的這樣/******************顯示程序*************************/
void disp(){
unsigned int i;
        for(i=0;i<50;i++){
                diplay_data (1,disdata[v/10000]);
                diplay_data (2,disdata[v%10000/1000]+0x80);
                diplay_data (3,disdata[v%1000/100]);
        }
}

回復(fù)

使用道具 舉報(bào)

ID:123732 發(fā)表于 2017-5-4 22:38 | 顯示全部樓層
越快樂(lè)越墮落 發(fā)表于 2017-5-4 11:11
這樣就可以了?數(shù)碼管的百位會(huì)不會(huì)亂碼?是繼續(xù)用三位數(shù)碼管嗎?如果是,那么小數(shù)點(diǎn)的位移怎么解決?比如 ...

/******************顯示程序*************************/
void disp(){
unsigned int i;
        for(i=0;i<50;i++){
                diplay_data (1,disdata[v/10000]);
                diplay_data (2,disdata[v%10000/1000]+0x80);
                diplay_data (3,disdata[v%1000/100]);
        }
}
回復(fù)

使用道具 舉報(bào)

ID:99130 發(fā)表于 2017-5-5 14:05 | 顯示全部樓層
劉海龍 發(fā)表于 2017-5-4 22:38
/******************顯示程序*************************/
void disp(){
unsigned int i;

還請(qǐng)?jiān)敿?xì)說(shuō)一下,我不太懂你的意思,謝謝
回復(fù)

使用道具 舉報(bào)

ID:200118 發(fā)表于 2017-5-12 21:52 | 顯示全部樓層
謝謝分享,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:200118 發(fā)表于 2017-5-12 21:54 | 顯示全部樓層
下載學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:205616 發(fā)表于 2017-5-28 14:23 | 顯示全部樓層
電壓變化公式是什么
回復(fù)

使用道具 舉報(bào)

ID:205616 發(fā)表于 2017-5-28 17:20 | 顯示全部樓層
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:205616 發(fā)表于 2017-5-28 17:20 | 顯示全部樓層
很好,值得分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表