娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年04月22日(星期一)

正在發生

2020年04月21日 | 51單片機:用ADC0832做模數轉換,測量電壓大小

發布者:Yuexiang 來源: eefocus關鍵字:51單片機  ADC0832  模數轉換  量電壓 手機看文章 掃描二維碼
隨時隨地手機看文章

問題要求

利用51單片機,外加一個ADC0832模數轉換器,設計一個可以實時測量電壓的電路。測量電壓的范圍是0-5V(允許誤差),要求測出的電壓用數碼管實時顯示,精確到小數點后兩位。


代碼編寫:

//----------------------------------------------------------

//       用ADC0832測量電壓,并將測量值顯示在數碼管上

//----------------------------------------------------------

#include

#include

#define uchar unsigned char

#define uint  unsigned int 

uchar Get_AD_Result();   //模數轉換結果

void ET0_init();         //定時器0中斷

void RT1_init();          //定時器1中斷



//ADC0832引腳定義

sbit CS   = P1^0;

sbit CLK  = P1^1;

sbit DIDO = P1^2;


//數碼管位選

sbit qian = P2^4;   

sbit bai  = P2^5;

sbit shi  = P2^6;

sbit ge   = P2^7;


//數碼管位選

unsigned char date[4];

//共陰極七段數碼

unsigned char code tb[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

          0x7f,0x6f,0x77,0x7c,0x39,0x5e,

  0x79,0x71,0x00,0X80};




//------------------------------

//            主函數

//-------------------------------

void main()

{  

   ET0_init();    //定時器0初始化

   RT1_init();    //定時器1初始化

   ET0  = 1;

   TR0  = 1;

   ET1  = 1;

   TR1  = 1;

   EA   = 1;     //打開總中斷

   CLK = 0;      //ADC0832初始化

   CS   = 1;   

   while(1);


}


//---------------------------------

//            定時器0中斷

//---------------------------------

void ET0_INT() interrupt 1   

{

    static uchar i;

    

TH0  = (65536-2000)/256; // 重裝初值

    TL0  = (65536-2000)%256;


P2 |= 0xf0;  //消影

switch(i) //位選,選擇點亮的數碼管,

{

    case(0):

  P0 = date[0];qian = 0;break;//顯示千位

    case(1):

  P0 = date[1];bai  = 0;break;//顯示百位

    case(2):

  P0 = date[2];shi  = 0;break;//顯示十位

case(3):

  P0 = date[3];ge   = 0;break;//顯示個位

  }


i++;

    if(i==4)

   {

  i=0;

   }


}


//---------------------------------------------

//        定時器T1中斷服務程序

//---------------------------------------------

void ET1_INT() interrupt 3   

{

 // float L = 500.0/256.0;

  uint vt;

  uchar AD;


  TH1  = (65536-2000)/256; // 重裝初值

  TL1  = (65536-2000)%256;

  

  AD = Get_AD_Result();

  vt = (500.0/256.0)*AD; //測量電壓值

 

  date[0] =tb[vt/1000];

  date[1] =tb[vt/100%10]|0x80; //點亮小數點

  date[2] =tb[vt/10%10];

  date[3] =tb[vt%10];

}


//------------------------------

//     獲取AD轉換結果(0通道)

//------------------------------

uchar Get_AD_Result()         //包含11個CLK下降沿      

{

    uchar i, dat;

    CS = 1;              //ADC0832未工作時,CS端為高電平,此時芯片禁用

    _nop_;               //對于延時很短的,要求在us級的,采用“_nop_”函數      

    CLK =1;                  

    CS = 0;

    DIDO = 1; CLK = 0; _nop_; CLK = 1; _nop_; //SCLK第一個下降沿來到時,DI = 1啟動ADC0832

    DIDO = 1; CLK = 0; _nop_; CLK = 1; _nop_; //SCLK第二個下降沿 

    DIDO = 0; CLK = 0; _nop_; CLK = 1; _nop_; //SCLK第三個下降沿,發送1,0選擇通道cho

    DIDO = 1;                                //釋放總線

    for(i = 0; i < 8; i++)                  //第4個下降沿到第11個下降沿

    {

        CLK = 0;                           //clk處于下降沿,每一個下降沿DO端輸入下一個

        _nop_;                              //對于延時很短的,要求在us級的,采用_nop_函數      

        if(DIDO) dat |= 0x01;              // dat = dat | 0x01,dat和0x01做“或”的運算,意思是最低位置1,其它位保持不變。

        CLK = 1; _nop_;                      //clk處于上升沿

        dat <<= 1;                          //數據左移

    }

    return (dat);

    CS = 1;                                  //ADC0832停止工作

}


//------------------------------

//定時器0初始化

//------------------------------

void ET0_init()             

{

TMOD &= 0xf0; //定時器0

    TMOD |= 0x01;

    TH0  = (65536-2000)/256; //2ms溢出

    TL0  = (65536-2000)%256; 

}


//---------------------------------

//         定時器1初始化

//-----------------------------------

void RT1_init()   

{

   TMOD &= 0x0f;  

   TMOD |= 0x10;

   TH1  = (65536-2000)/256; //2ms溢出

   TL1  = (65536-2000)%256; 

}


電路設計圖:

在這里插入圖片描述

仿真結果:

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

關鍵字:51單片機  ADC0832  模數轉換  量電壓 引用地址:51單片機:用ADC0832做模數轉換,測量電壓大小

上一篇:#51單片機#A/D模數轉換的初步認識和主要指標
下一篇:模數轉換器ADC

推薦閱讀

起初,紅外光源主要應用于光通信領域;進入20世紀80年代,紅外LED開始被整合到各種消費類應用中,如遙控器;然后,紅外光源市場受夜視應用驅動,如安防監控攝像機;近期,隨著智能手機的發展,紅外LED和激光器又煥發新的生機,預計紅外光源市場將迎來10年的增長!3D成像、氣體感測、自動對焦等應用將使紅外光源市場在2027年達到3.8億美元。受幾項新應用的...
蘋果進一步推進循環利用領域的研究,該公司今天宣布啟用位于德克薩斯州奧斯汀的材料回收實驗室,該實驗室占地面積9000平方英尺,“將尋求各種創新的解決方案,運用機器人和技術來改進針對性拆解、分選和粉碎等傳統的回收方法”。 該實驗室還會與蘋果的工程設計團隊及眾多學術機構合作,共同應對當今工業循環利用領域的各種挑戰,并提出相應的解決方案。...
藍牙技術發展勢頭的迅猛,大家有目共睹。從聯盟成員會員數和設備出貨量也可窺見一斑。 每年這個時候,肩負著藍牙技術規格標準制定、資格認證以及品牌推廣的藍牙技術聯盟,都會聯合研究公司ABI推出最新版本的《藍牙市場最新資訊》,今年也不例外。這份有數據、有分析、有解讀、有期許的報告,旨在幫助全球物聯網(IoT)行業中的決策者能夠與時俱進,了解藍牙...
隨著化石類能源的日益減少,以及溫室氣體的過度排放導致全球變暖問題越來越受到重視,人們一方面在積極開發各類可再生新能源,另一方面也在倡導節能減排的綠色環保技術。太陽能作為取之不盡、用之不竭的清潔能源,成為眾多可再生能源的重要代表;而在照明領域,壽命長、節能、安全、綠色環保、色彩豐富、微型化的LED固態照明也已被公認為世界一種節能環保...

史海拾趣

問答坊 | AI 解惑

AD6智能PDF導出時,中文字符無顯示

Altium Designer 6 中,制件的原理圖文件中若有中文字,用自帶的"智能PDF"導出時,則在產生的PDF中顯示不了中文字符.本人用Altium Designer 6.3~Altium Designer 6.9都試過,均有此問題,不知能否解決,請哪位大俠指點,若不能人為修改,是否要等 ...…

查看全部問答∨

請教:時序分析警告的1個警告

請教:時序分析警告的1個警告 做時序分析的時候,只有一條路徑不滿足: -0.044 ns  99.56 MHz ( period = 10.044 ns ) 。。。。。。。。 再約束的話效果反而越來越差,我想知道,這樣能否正常運行,出錯的幾率有多大? 謝謝請高手指 ...…

查看全部問答∨

6個變態的C語言Hello World程序

下面的六個程序片段主要完成這些事情: 輸出Hello, World混亂C語言的源代碼下面的所有程序都可以在GCC下編譯通過,只有最后一個需要動用C++的編譯器g++才能編程通過。 hello1.c 01     #define _________ }   02 ...…

查看全部問答∨

談談天線錫焊要點

錫焊要點可以簡單歸納如下:   1.使用烙鐵(包括火烙鐵)前,必須使烙鐵頭表面蒙上一層錫(俗稱“吃錫”),這樣烙鐵頭才能拉住錫。上錫的方法是在烙鐵未加熱前,將烙鐵頭挫光,除去氧化物或污垢,然后對刮亮后的烙鐵頭加熱,直到光亮部分變成紫 ...…

查看全部問答∨

請教Modbus高手makesoft:實現Modbus協議一定需要超時檢測嗎?

首先聲明,我對Modbus不熟悉,尤其是如何實現它,最近才從網上下載了協議研究了一下,特此向高手請教。搞清楚這些問題,才能有效地在芯片中實現相應的功能,滿足大家的需要。此帖的目的是繼續另一帖的討論:建議STM32的芯片加上串口超時功能, ...…

查看全部問答∨

向高手請教一個關于STM32的PF,PG口的問題

                                 在STM32的DS里面,管腳介紹的表格中Main&nbsp;function(after&nbsp;reset)一欄中,大部分的IO口都是如PA7樣式 ...…

查看全部問答∨

關于正弦余弦函數的問題

我用CCS編程調試時,出現了“error: identifier \\&quot;sinwt\\&quot; is undefined”的錯誤信息,請請教一下是怎么回事?是不是需要加入某個頭文件?還是我的寫法有問題啊?謝謝大家~~~…

查看全部問答∨

關于CCS在軟件延時上的探討

      在使用CCS的過程中,我發現在有關于有軟件延時的程序中會出現問題,感覺延時沒起到作用,比如一個簡單的例子,讓燈閃爍,使用delay函數(函數體內用兩個for循環嵌套那種),這種延時就不會有效果,而用i=50000;   while ...…

查看全部問答∨

關于nios的問題,請高手指點

使用Nios時出現如下問題 No Nios II target connection paths were located.Check connections and that a Nios II .sof is downloaded.點擊refresh connection,也沒有反應???…

查看全部問答∨

Kernel - Common Problems Booting Linux中文手冊改1

Kernel - Common Problems Booting Linux中文手冊改1…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 揭西县| 福建省| 当雄县| 仁布县| 潼关县| 宁乡县| 墨脱县| 龙陵县| 中牟县| 馆陶县| 区。| 武山县| 炎陵县| 木里| 汕尾市| 金寨县| 黄山市| 城固县| 黎川县| 双流县| 环江| 吉林省| 金沙县| 汾阳市| 沙坪坝区| 洪洞县| 汕尾市| 华阴市| 平山县| 雷波县| 介休市| 镇江市| 蓬莱市| 宜城市| 巴青县| 贵州省| 托里县| 鸡泽县| 腾冲县| 常宁市| 肇源县|