0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于微控制器的數字電壓表設計方案,使用8051微控制器的數字電壓表的實現方法

科技觀察員 ? 來源:electricaltechnology ? 作者:electricaltechnology ? 2023-07-18 16:07 ? 次閱讀

數字電壓表是一種測量電信號電壓的電子儀器。它用于各種應用,包括電子、電力系統(tǒng)和自動化領域。在本文中,我們將討論使用8051微控制器的數字電壓表的實現。

8051微控制器是一種廣泛使用的微控制器,適用于各種應用。它具有 4KB 片上 ROM、128 字節(jié)片上 RAM、32 個 I/O 引腳和一個 16位定時器。微控制器可以用匯編語言或高級語言(如C)進行編程。

該微控制器具有多種特性,非常適合用作數字電壓表,例如內置ADC模數轉換器)和8位定時器。

所需組件

要使用 8051 微控制器構建數字電壓表,我們需要以下組件:

8051微控制器(AT89C51)。

LCD 顯示屏 –(7 段 4 位)。

模數轉換器(ADC0804 IC)。

電壓傳感器(25V)。

電池或直流適配器。

微控制器編程板。

晶體振蕩器 = 12MHz。

3 個電阻數 = 10kΩ。

4 個電容器 = 2 個 33pF,1 個 150pF,第四個為 10μF/16V。

電路圖

1.png

電路概述:

使用8051微控制器的數字電壓表電路由多個組件組成,例如8051微控制器、LCD顯示器、分壓器網絡和一些其他無源組件。分壓器網絡用于將電壓降低到微控制器可以讀取的水平。

分壓器電路(ADC0804 IC)

分壓器電路用于將輸入信號的ADC范圍增加到25V或將輸入電壓降壓到安全水平,這可以通過微控制器進行測量。電位器用于調節(jié)電壓表的電壓范圍。ADC用于將模擬電壓信號轉換為數字信號,并可顯示在LCD顯示屏上。

分壓器電路由兩個電阻R1和R2組成,串聯(lián)連接。輸入電壓施加在R1和R2的串聯(lián)組合上,輸出電壓施加在R2上。R2與(R1+R2)之比決定了輸出電壓。我們可以通過改變R1和R2的值來調整輸出電壓范圍。

ADC通過將輸入電壓與基準電壓進行比較,將模擬電壓信號轉換為數字信號。ADC的分辨率取決于轉換器中使用的位數。例如,8位ADC可以測量0-5V的電壓范圍,每步分辨率為19.53
mV。

數字電壓表的軟件是用匯編語言或C語言編寫的。該軟件從ADC讀取電壓信號,將其轉換為數字值,并將其顯示在LCD顯示屏上。該軟件還可以編程以實現其他功能,例如峰值電壓測量、電壓平均和電壓記錄。

總而言之,使用8051微控制器的數字電壓表是一種簡單且經濟高效的解決方案,用于測量各種應用中的電壓信號。它需要一個分壓器電路、一個ADC、一個電位計和一個LCD顯示器。微控制器可以用匯編語言或C語言進行編程,以實現其他功能。

電路工作:

分壓器網絡由兩個串聯(lián)電阻組成。其中一個電阻器是電位計,可以調節(jié)以校準電壓表。分壓器網絡的輸出連接到微控制器的模擬輸入引腳。微控制器使用其內置ADC將模擬電壓轉換為數字值。

然后,數字值顯示在LCD顯示屏上。LCD顯示屏通過數字接口連接到微控制器。微控制器將數字值發(fā)送到LCD顯示屏,然后LCD顯示屏以可讀格式顯示。

微控制器的編程包括初始化ADC,讀取模擬電壓,將其轉換為數字值,然后將其發(fā)送到LCD顯示器。微控制器持續(xù)讀取電壓并更新顯示。

如何為數字電壓表編程微控制器AT89C51?

上述過程概述了測試已編程和構建的電路的步驟(電路圖和項目代碼如下所述)。以下是比較和更詳細解釋的步驟:

將程序刻錄到 AT89C51 微控制器:此步驟涉及使用程序員將編譯的程序代碼傳輸到微控制器。程序代碼通常用編程語言(如 C
或匯編語言)編寫。程序代碼包含微控制器為執(zhí)行所需功能而執(zhí)行的指令。

連接電路:將程序刻錄到微控制器上后,可以使用電路圖作為指導組裝電路。該電路包括at89c51微控制器、電壓傳感器和顯示元件。應小心連接,以確保電路接線正確且所有組件均正確供電。

連接電壓源:電壓源連接到電壓傳感器的輸入端。確保最大模擬輸入電壓小于25V DC以防止損壞電路非常重要。

連接數字萬用表:數字萬用表連接到電壓傳感器的輸入端子。萬用表用于驗證LCD和萬用表上顯示的電壓讀數是否相同或非常相似。

打開電路板電源:電路的電源已打開。這為微控制器和電路的其他組件提供電源。

觀察顯示:LCD和數字萬用表顯示器應顯示相同或非常相似的電壓讀數。這表明電壓表工作正常。

改變輸入電壓:如果可能,可以緩慢改變輸入電壓,以驗證電壓表是否繼續(xù)顯示準確的讀數。

關閉電路板電源:關閉電路的電源以關閉組件的電源。
編程代碼:

#include
#define lcd P3
#define dat P2
sbit rs=P1^6;
sbit e=P1^7;

void delay (int);
void display (unsigned char);
void cmd (unsigned char);
void init (void);
void string (char *);
void intro (void);
char i=0;

void delay (int d)
{
unsigned char i=0;
for(;d >0;d--)
{
for(i=250;i >0;i--);
for(i=248;i >0;i--);
}
}
void cmd (unsigned char c)
{
lcd=c;
rs=0;
e=1;
delay(10);
e=0;
}
void display (unsigned char c)
{
lcd=c;
rs=1;
e=1;
delay(10);
e=0;
}
void string (char *c)
{
while(*c)
{
display(*c++);
}
}
void init (void)
{
cmd(0x38);
cmd(0x01);
cmd(0x0c);
cmd(0x80);
}
void intro (void)
{
string(" Electronics ");
cmd(0xc0);
string(" Hub ");
delay(2000);
cmd(0x01);
string(" Digital ");
cmd(0xc0);
string(" Voltmeter ");
delay(2000);
cmd(0x01);
cmd(0x80);
}

void main()
{
unsigned int temp=0;
unsigned int temp1=0;
float val=0.0;

init();
intro();
dat=0xff;
while(1)
{
if(i==0)
{
string(" Volts - ");
i++;
}
val=dat*0.02; // 0.02 is resolution of adc
val=val/0.2; // 0.2 is nothing but (R2/(R1+R2)) resistor values in the voltage sensor
cmd(0x89);
if((val >=1.0) && (val< 10.0)) { display(' '); temp=val*1000; temp1=((temp/1000)+48); display(temp1); display('.'); temp1=(((temp/100)%10)+48); display(temp1); } else if((val >=10.0) && (val< 100.0))
{
temp=val*100;
temp1=((temp/1000)+48);
display(temp1);

temp1=(((temp/100)%10)+48);
display(temp1);

display('.');

temp1=(((temp/10)%10)+48);
display(temp1);
}
else
{
display(' ');
string("0.0");
}
delay(1000);
}
while(1);
}

使用8051微控制器的數字電壓表的優(yōu)點:

1.數字電壓表比模擬電壓表更準確,更精密。

  1. 微控制器可以編程為執(zhí)行除測量電壓之外的其他任務。

3.數字顯示易于閱讀和解釋。

4.電路簡單,建造成本低廉。

5.電壓表可以使用電池供電,便于攜帶,易于現場使用。

局限性

該電路只能用于測量低壓應用(高達25V)。

模擬電壓的輸入信號應在0V至5V之間。

該系統(tǒng)在任何給定時間只能測量單個模擬輸入值。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7454

    瀏覽量

    150853
  • 8051
    +關注

    關注

    3

    文章

    309

    瀏覽量

    51426
  • 數字電壓表
    +關注

    關注

    4

    文章

    183

    瀏覽量

    33040
  • 電子儀器
    +關注

    關注

    2

    文章

    1341

    瀏覽量

    23080
收藏 人收藏

    評論

    相關推薦

    EDA數字電壓表的研究和設計應用

    電壓表  數字電子系統(tǒng)通常由ASIC芯片和外圍硬件設備組成,具有靈活性不強等缺陷。如圖1所示的數字電壓表,A/D轉換
    發(fā)表于 10-26 15:43

    單片機的數字電壓表

    以單片機為核心控制器設計一個能夠測量直流電壓數字電壓表,具體要求如下:1.可實現對至少四路直流電壓
    發(fā)表于 07-07 11:08

    采用CPLD實現的智能數字電壓表設計

    求一款以CPLD為控制核心的16位高精度數字電壓表設計方案
    發(fā)表于 04-13 06:59

    直流數字電壓表設計 精選資料推薦

    分辨率0.01V,誤差在0.05V范圍內。關鍵詞:數字電壓表;STC15F2K60S2;共陰數碼管目錄一、數字電壓表簡介5二、數字
    發(fā)表于 07-28 09:42

    數字電壓表的VHDL設計與實現

    數字電壓表的VHDL設計與實現 介紹數字電壓表的組成及工作原理,論述了基于VHDL語言和FPGA芯片的
    發(fā)表于 10-12 19:14 ?1799次閱讀
    <b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>的VHDL設計與<b class='flag-5'>實現</b>

    數字電壓表的設計

    數字電壓表的設計 設計內容與要求: 1)設計數字電壓表電路;要求直流電壓測量范圍:0V~1.999V,0V~19.99V, 0V~199
    發(fā)表于 05-24 18:10 ?5591次閱讀
    <b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>的設計

    基于Proteus的數字電壓表仿真設計

    為了提高電壓表的測量精度和性價比,提出了一種以AT89C51單片機為控制核心的,基于Proteus仿真技術的數字電壓表設計方案。詳細介紹了
    發(fā)表于 01-30 14:24 ?337次下載
    基于Proteus的<b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>仿真設計

    基于ADC0832數字電壓表

    基于ADC0832數字電壓表基于ADC0832數字電壓表
    發(fā)表于 01-11 16:59 ?234次下載

    電壓表protues仿真 基于51數字電壓表仿真設計 電壓表程序

    電壓表protues仿真 基于51數字電壓表仿真設計 電壓表程序設計
    發(fā)表于 01-14 22:32 ?234次下載

    數字電壓表設計方案匯總(六款數字電壓表的設計原理圖詳解)

    本文主要介紹了數字電壓表設計方案匯總(六款數字電壓表的設計原理圖詳解)。利用單片機AT89C51與ADC0808設計一個
    發(fā)表于 02-08 17:32 ?8w次閱讀
    <b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>的<b class='flag-5'>設計方案</b>匯總(六款<b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>的設計原理圖詳解)

    基于LabVIEW8.2的虛擬數字電壓表的設計和實現

    。對虛擬數字電壓表的設計和實現進行了詳細描述,包括基于LabVIEW 8.2的虛擬信號發(fā)生實現過程,它能產生正弦、方波、三角波及由輸入數
    的頭像 發(fā)表于 08-13 08:08 ?7426次閱讀
    基于LabVIEW8.2的虛擬<b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>的設計和<b class='flag-5'>實現</b>

    如何使用單片機實現數字電壓表的設計

    數字電壓表是對電子電路進行現場檢測的常用儀表,本文討論了一種基于單片機的數字電壓表設計方式,將檢測到的數據送入微計算機系統(tǒng),完成計算、存儲、控制
    發(fā)表于 04-08 08:00 ?29次下載
    如何使用單片機<b class='flag-5'>實現</b><b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>的設計

    積分式數字電壓表設計方法

    積分式數字電壓表設計方法。
    發(fā)表于 03-22 17:18 ?26次下載
    積分式<b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>設計<b class='flag-5'>方法</b>

    直流數字電壓表設計

    分辨率0.01V,誤差在0.05V范圍內。關鍵詞:數字電壓表;STC15F2K60S2;共陰數碼管目 錄一、數字電壓表簡介 5二、數字
    發(fā)表于 12-01 17:36 ?36次下載
    直流<b class='flag-5'>數字</b><b class='flag-5'>電壓表</b>設計

    數字電壓表的原理與特點

    數字電壓表(DVM,也稱為數字多用表或簡稱DMM)是現代電子測量領域中不可或缺的一種測量儀器。與傳統(tǒng)的模擬電壓表相比,數字
    的頭像 發(fā)表于 05-21 16:54 ?1797次閱讀