国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于51單片機(jī)的電壓采集(ADC0804)

這篇具有很好參考價值的文章主要介紹了基于51單片機(jī)的電壓采集(ADC0804)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.ADC0804簡介
工作電壓:+5V,即VCC=+5V。
模擬轉(zhuǎn)換電壓范圍:0~+5V,即0≤Vin≤+5V。
分辨率:8位,即分辨率為1/(2^8)=1/256,轉(zhuǎn)換值介于0~255之間。
轉(zhuǎn)換時間:100us(fCK=640KHz時)。
轉(zhuǎn)換誤差:±1LSB。
參考電壓:2.5V,即Vref/2=2.5V。
Vin(+)、Vin(-):兩個模擬信號輸入端,可以接收單極性、雙極性和差模輸入信號。
DB0-DB7:具有三態(tài)特性數(shù)字信號輸出端,輸出結(jié)果為八位二進(jìn)制結(jié)果。
CLKIN:時鐘信號輸入端。
CLKR:內(nèi)部時鐘發(fā)生器的外接電阻端,與CLK端配合可由芯片自身產(chǎn)生時鐘脈沖,其頻率計算方式是:fck=1/(1.1RC)。
CS:片選信號輸入端,低電平有效。
WR:寫信號輸入端,低電平啟動AD轉(zhuǎn)換。
RD:讀信號輸入端,低電平輸出端有效。
INTR:轉(zhuǎn)換完畢中斷提供端,AD轉(zhuǎn)換結(jié)束后,低電平表示本次轉(zhuǎn)換已完成。
VREF/2:參考電平輸入,決定量化單位。
VCC:芯片電源5V輸入。
AGND:模擬電源地線。
DGND:數(shù)字電源地線。
2.程序代碼
delay.h

#ifndef __DELAY_H__
#define __DELAY_H__

//延時1us
void Delay_1us(void);   
//延時xus
void Delay_xus(unsigned int x); 

#endif

delay.c

#include "delay.h"
#include <intrins.h>

void Delay_1us(void)
{
	_nop_();
}

void Delay_xus(unsigned int x)
{
	unsigned int i,j;
	for(i=x;i>0;i--)
	    Delay_1us();
}

adc.h

#ifndef __ADC_H__
#define __ADC_H__

#include <reg51.h>
#include "delay.h"

#define ADC0804_Port P1

sbit ADC0804_CS  = P3^5;//ADC_CS低電平有效
sbit ADC0804_WR  = P3^6;//ADC_WR低電平有效
sbit ADC0804_RD  = P3^7;//ADC_RD低電平有效

unsigned char ADC0804_Read(void);//ADC0804讀取數(shù)據(jù)0-255
unsigned int ADC0804_Convert(void);//將0-255轉(zhuǎn)換為0-5V

#endif

adc.c

unsigned char ADC0804_Read(void)
{
	unsigned char dat;
	ADC0804_Port = 0xff;
	ADC0804_CS = 1;
	ADC0804_WR = 1;
	ADC0804_CS = 0;
	ADC0804_WR = 0;
	//Delay_xus(100);
	ADC0804_CS = 1;
	ADC0804_WR = 1;
	//Delay_xus(500);
	ADC0804_CS = 0;
	ADC0804_RD = 0;
	//Delay_xus(50);
	dat = ADC0804_Port;
	ADC0804_RD = 1;
	ADC0804_CS = 1;
	return dat;
}
unsigned int ADC0804_Convert(void)
{
	unsigned char n;
	unsigned int sum = 0;
	unsigned int temp;
	for(n = 0;n < 3;n++)
	{
	  sum = sum + ADC0804_Read(); 
		Seg_dis(temp);
	}
	temp = sum / 3;
	//temp = temp * 19.60784;  //5/255=0.01960784313
	return temp;
}

seg.h

#ifndef __SEG_H__
#define __SEG_H__

#include "delay.h"

void Seg_dis(unsigned int dat);

#endif

seg.c

#include <reg51.h>
#include "seg.h"
#include "delay.h"

#define Duan_Port    P0
#define Wei_Port     P2

sbit wei1=P2^0;
sbit wei2=P2^1;
sbit wei3=P2^2;
sbit wei4=P2^3;

unsigned char code Seg_Duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0xf1};//顯示0~F的值

void Seg_dis(unsigned int dat)
{	
	wei1 = 0;//選通高位數(shù)碼管(左邊第1位)
	Duan_Port = Seg_Duan[dat/1000%10];//賦段碼
	Delay_xus(50);
	wei1 = 1;
	Duan_Port = 0xff;//關(guān)閉消影
	
	wei2 = 0;
	Duan_Port = Seg_Duan[dat/100%10];
	Delay_xus(50);
	wei2 = 1;
	Duan_Port = 0xff;
	
	wei3 = 0;
	Duan_Port = Seg_Duan[dat/10%10];
	Delay_xus(50);
	wei3 = 1;
	Duan_Port = 0xff;
	
	wei4 = 0;
	Duan_Port = Seg_Duan[dat%10];
	Delay_xus(50);
	wei4 = 1;
	Duan_Port = 0xff;	
}

main.c

#include <reg51.h>

#include "seg.h"
#include "delay.h"
#include "adc.h"

int main(void)
{
	unsigned int Vo;
	while(1)
	{
		Vo = ADC0804_Convert();
		Seg_dis(Vo);	
	}
}

3.仿真電路
基于51單片機(jī)的電壓采集(ADC0804)文章來源地址http://www.zghlxwxcb.cn/news/detail-405368.html

到了這里,關(guān)于基于51單片機(jī)的電壓采集(ADC0804)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于51單片機(jī)的數(shù)字電壓表設(shè)計

    基于51單片機(jī)的數(shù)字電壓表設(shè)計

    簡介 1、數(shù)字電壓表簡稱DVM,數(shù)字電壓表基本原理是將輸入的模擬電壓信號轉(zhuǎn)化為數(shù)字信號,再進(jìn)行輸出顯示。而A/D轉(zhuǎn)換器的作用是將連續(xù)變化的模擬信號量轉(zhuǎn)化為離散的數(shù)字信號,器基本結(jié)構(gòu)是由采樣保持,量化,編碼等幾部分組成。因此AD轉(zhuǎn)換是此次設(shè)計的核心元件。輸入

    2024年02月05日
    瀏覽(25)
  • 畢設(shè)--基于51單片機(jī)數(shù)字電壓表的設(shè)計

    畢設(shè)--基于51單片機(jī)數(shù)字電壓表的設(shè)計

    注:本畢設(shè)資源可在微信公眾號:“Kevin的學(xué)習(xí)站” 中獲取! 3.1、基本功能 利用51單片機(jī)作為主控芯片,模擬量輸入范圍直流0v-5v。模擬量經(jīng)A/D(ADC0809)模數(shù)轉(zhuǎn)換芯片,把模擬量轉(zhuǎn)換為數(shù)字量輸入到單片機(jī)的P0口,再由單片機(jī)控制LCD1602液晶顯示模擬量輸入的電壓值。 3.2、主

    2023年04月08日
    瀏覽(21)
  • 基于51單片機(jī)的數(shù)字電壓表(PCF8591)(Proteus仿真+程序)

    基于51單片機(jī)的數(shù)字電壓表(PCF8591)(Proteus仿真+程序)

    ? ? ? ? 本設(shè)計由51單片機(jī)最小系統(tǒng)+PCF8591模塊+四路模擬量輸入模塊+一路DA輸出+液晶1602顯示模塊 1、主控制器是89C82單片機(jī)。 2、PCF8591模數(shù)轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換,讀取四路電壓數(shù)據(jù),電壓檢測范圍0-5V 精度(8位);實現(xiàn)一路數(shù)模轉(zhuǎn)換(D/A)輸出電壓范圍0-5V(8位)。 3、利用四個

    2024年02月05日
    瀏覽(30)
  • 基于51單片機(jī)和proteus的電流采集系統(tǒng)

    基于51單片機(jī)和proteus的電流采集系統(tǒng)

    此系統(tǒng)是基于51單片機(jī)和proteus的仿真設(shè)計,功能如下: 1. LCD1602實時顯示獲取到電流值及設(shè)定值。 2. 按鍵可調(diào)整電流設(shè)定值。 3. 電流值過高則蜂鳴器報警。 4. 指示燈指示電流及系統(tǒng)狀態(tài)。 5. 系統(tǒng)信息可通過串口實時更新。 功能框圖如下: Proteus仿真界面如下: 下面就各個模

    2024年02月16日
    瀏覽(26)
  • 基于GD32單片機(jī)的12位ADC壓力采集(50kg壓力),附源碼和原理圖

    基于GD32單片機(jī)的12位ADC壓力采集(50kg壓力),附源碼和原理圖

    上位機(jī)監(jiān)測到的ADC采集到的數(shù)據(jù),該處采集的電壓值是3.287mv,電壓及壓力值如下圖: ?示波器采集的電壓值:3.26V,與上述單片機(jī)采集的數(shù)值基本一致 上位機(jī)監(jiān)測到的ADC采集到的數(shù)據(jù),該處采集的電壓值是2.454mv,電壓及壓力值如下圖: ?示波器采集的電壓值:2.50V,與上述單

    2024年04月22日
    瀏覽(34)
  • 122、仿真-基于51單片機(jī)的電量監(jiān)測電壓電流和溫度報警系統(tǒng)設(shè)計(Proteus仿真+程序+流程圖+配套資料等)

    122、仿真-基于51單片機(jī)的電量監(jiān)測電壓電流和溫度報警系統(tǒng)設(shè)計(Proteus仿真+程序+流程圖+配套資料等)

    方案選擇 單片機(jī)的選擇 方案一:STM32系列單片機(jī)控制,該型號單片機(jī)為LQFP44封裝,內(nèi)部資源足夠用于本次設(shè)計。STM32F103系列芯片最高工作頻率可達(dá)72MHZ,在存儲器的01等等待周期仿真時可達(dá)到1.25Mip/MHZ(Dhrystone2.1)。內(nèi)部128k字節(jié)的閃存程序存儲器,也就是說代碼量可以寫到128k字

    2024年02月16日
    瀏覽(27)
  • 51單片機(jī)制作簡易數(shù)字電壓表

    51單片機(jī)制作簡易數(shù)字電壓表

    首先打開proteus軟件導(dǎo)入各個元器件,并連線。 ?接下來介紹下adc0808的導(dǎo)入方法 ?頻率發(fā)生器的導(dǎo)入方法: ?接下來就要編寫c程序了,代碼都是經(jīng)過測試的,可以方型復(fù)制使用。 最后就是編譯成hex文件并導(dǎo)入proteus中仿真了,然后調(diào)節(jié)滑動變阻器,就可以發(fā)現(xiàn)電壓表的值和l

    2024年02月11日
    瀏覽(24)
  • 單片機(jī)】51單片機(jī),TLC2543,驅(qū)動程序,讀取adc

    單片機(jī)】51單片機(jī),TLC2543,驅(qū)動程序,讀取adc

    TLC2543 是一款 12 位精密模數(shù)轉(zhuǎn)換器 (ADC)。 1~9、11、12——AIN0~AIN10為模擬輸入端; 15——CS 為片選端; 17——DIN 為串行數(shù)據(jù)輸入端;(控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式) 16——DOUT為A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端;(A/D轉(zhuǎn)換結(jié)果的輸出端。) 19——EOC為轉(zhuǎn)換結(jié)束端

    2024年02月14日
    瀏覽(22)
  • 【單片機(jī)】51單片機(jī),TLC2543,驅(qū)動程序,讀取adc

    【單片機(jī)】51單片機(jī),TLC2543,驅(qū)動程序,讀取adc

    TLC2543 是一款 12 位精密模數(shù)轉(zhuǎn)換器 (ADC)。 1~9、11、12——AIN0~AIN10為模擬輸入端; 15——CS 為片選端; 17——DIN 為串行數(shù)據(jù)輸入端;(控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式) 16——DOUT為A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端;(A/D轉(zhuǎn)換結(jié)果的輸出端。) 19——EOC為轉(zhuǎn)換結(jié)束端

    2024年02月14日
    瀏覽(26)
  • 51單片機(jī)——ADC模數(shù)轉(zhuǎn)換實驗

    51單片機(jī)——ADC模數(shù)轉(zhuǎn)換實驗

    目錄 一、功能描述 二、ADC介紹 2.1 逐次逼近型ADC轉(zhuǎn)換原理 2.2 ADC的主要技術(shù)指標(biāo) 三、XPT2046芯片介紹 3.1 XPT2046外部引腳 3.2 XPT2046的命令字 3.3 XPT2046時序圖 四、測試文件test.c 五、實驗現(xiàn)象 ????????我們使用的 STC89C51單片機(jī)內(nèi)部不含 ADC 接口,所以需要外接一個 ADC 轉(zhuǎn)換芯片將

    2024年02月06日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包