• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術(shù)熱線: 4007-888-234

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

    從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

    技術(shù)支持

    如何使用8051單片機(jī)制作一個(gè)數(shù)字電壓表?

    更新時(shí)間: 2019-11-05

    在現(xiàn)實(shí)生活中,我們經(jīng)常使用到電器產(chǎn)品,電磁爐、微波爐、熱水壺、冰箱等等。為了安全性,使用8051單片機(jī)的電壓表測(cè)量的電壓為0V至25V。所以,輸入電壓為直流電壓,在LCD上也能獲得準(zhǔn)確、穩(wěn)定的輸出。如果你施加交流電壓作為輸入,則隨著交流電壓的不斷變化,LCD上將顯示的數(shù)字并不是穩(wěn)定的,這也是市電的常見(jiàn)狀態(tài)。

    該方案的主要組件是8051單片機(jī),電壓傳感器模塊和IC ADC0804。在這個(gè)方案中,我們使用模擬到數(shù)字的轉(zhuǎn)換過(guò)程中顯示的電壓。

    一、數(shù)字電壓表模數(shù)轉(zhuǎn)換原理圖


    Interfacing.png

    此處,ADCIC根據(jù)輸入電壓生成輸出數(shù)字值。8051單片機(jī)讀取該數(shù)字值并將其顯示在LCD上。

    1.傳感器:傳感器或傳感器用于將物理量轉(zhuǎn)換為電能。光相關(guān)電阻器,溫度傳感器,濕度傳感器,氣體傳感器等是換能器的例子。

    2.ADC(模數(shù)轉(zhuǎn)換器):ADC將輸入電壓轉(zhuǎn)換為數(shù)字值。

    3.數(shù)字系統(tǒng):該系統(tǒng)讀取輸入的數(shù)字?jǐn)?shù)據(jù)并在LCD上顯示物理量以供理解。

    二、使用8051單片機(jī)的數(shù)字電壓表電路圖


    Digital-Voltmeter1.png

    三、使用8051單片機(jī)數(shù)字電壓表所需電路元件

    (1)AT89C51單片機(jī);
    (2)ADC0804集成電路;
    (3)25V電壓傳感器(如下圖);
    (4)AT89C51編程板;
    (5)可變電阻;
    (6)直流適配器或電池。

    QQ截圖20191105112053.png


    四、使用8051單片機(jī)的數(shù)字電壓表電路設(shè)計(jì)

    在上述電路中,模數(shù)轉(zhuǎn)換器IC數(shù)據(jù)位連接到PORT2。LCD數(shù)據(jù)引腳連接到控制器的POTR3,控制引腳RS和EN分別連接到P1.6和P1.7。

    什么是ADC0804?

    ADC0804是一個(gè)8位模數(shù)轉(zhuǎn)換器。該IC使用逐次逼近法將模擬值轉(zhuǎn)換為數(shù)字。它只能接受一個(gè)模擬數(shù)據(jù)作為輸入。該IC的步長(zhǎng)大小通過(guò)改變引腳9上的參考電壓來(lái)改變。如果未連接此引腳,則VCC將作為參考電壓。

    對(duì)于每19.53mV的輸入電壓,當(dāng)步長(zhǎng)為5V時(shí),輸出將增加1值。該IC的轉(zhuǎn)換時(shí)間取決于時(shí)鐘源。

    ADC功能:(1)0至5V模擬輸入電壓;(2)內(nèi)置時(shí)鐘發(fā)生器;(3)差分模擬輸入;(4)可調(diào)參考電壓。


    五、8051單片機(jī)的數(shù)字電壓表源代碼


    #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);    
    }#include<reg51.h>

    以上就是英銳恩單片機(jī)開(kāi)發(fā)工程師分享的使用8051單片機(jī)制作的數(shù)字電壓表。

    404
    返回首頁(yè) |  返回上一頁(yè)
    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>