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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用8051單片機(jī)制作一個簡單的0-5V電壓表

科技觀察員 ? 來源:英銳恩 ? 作者:英銳恩 ? 2023-07-07 11:29 ? 次閱讀

在本文中,使用8051單片機(jī)制作一個簡單的0-5V電壓表。該數(shù)字電壓表的靈敏度為200mV,這有點(diǎn)低,但該項(xiàng)目旨在演示如何將ADC和七段顯示器連接到8051單片機(jī)以獲得輸入電壓的數(shù)字讀數(shù)。

在這個案例中,ADC0804是ADC,使用的單片機(jī)是AT89S51。在嘗試這個案例之前,請先了解怎么將ADC連接到8051單片機(jī)和將七段顯示器連接到8051單片機(jī),這將使您對基礎(chǔ)知識有一個很好的了解。

一、數(shù)字電壓表電路圖

在電路中,ADC的Vref/2(pin9)保持開路,這意味著輸入電壓跨度可以是o到5V,步長將為5/255=19.6mV。ADC0804數(shù)字輸出的公式為Dout=Vin/步長。在該電路中,對于1V的輸入電壓,數(shù)字輸出將是1/19.6mV=51,因此51的二進(jìn)制等效值,即00110011。ADC的數(shù)字輸出連接到微控制器的P1.0。ADC的控制信號,即CS、RD、WR和INTR分別來自微控制器的P3.7、P3.6、P3.5和P3.4引腳。2位多路復(fù)用七段顯示器連接到微控制器的端口0。顯示驅(qū)動晶體管Q1和Q2的控制信號從微控制器的P3.2和P3.1獲得。按鈕開關(guān)為S1。

0-5-voltmeter.jpg

首先,程序控制ADC產(chǎn)生與輸入電壓相對應(yīng)的數(shù)字輸出。該數(shù)字輸出通過P1.0掃描并加載到累加器。然后將累加器中的值除以10以省略最后一位。例如,讓輸入電壓為4V。那么ADC對應(yīng)的數(shù)字輸出將是204D(D代表十進(jìn)制)。除以10后,累加器中剩下的值為20D。然后將該20D乘以2D,結(jié)果為40D。該程序的下一個目標(biāo)是操縱這個40D并在顯示器上進(jìn)行4.0讀數(shù)。為此,將40D再次除以10D。這導(dǎo)致累加器內(nèi)部為4,B寄存器內(nèi)部為0。然后程序使用查找表獲取4的數(shù)字驅(qū)動模式,將此模式放在端口0上并激活Q1。在1ms延遲后,10000000B被加載到P0,這就是點(diǎn)。再經(jīng)過1ms延遲Q1停用后,B中的內(nèi)容(即0)移至A,使用查找表獲取0的正確數(shù)字驅(qū)動模式,將此模式放在端口0上并激活Q2。再經(jīng)過1ms延遲后,Q2將停用,并重復(fù)整個周期。

二、基于8051數(shù)字電壓表程序

ORG 00H
MOV P1,#11111111B
MOV P0,#00000000B
MOV P3,#00000000B
MOV DPTR,#LABEL
MAIN: CLR P3.7
SETB P3.6
CLR P3.5
SETB P3.5
WAIT: JB P3.4,WAIT
CLR P3.7
CLR P3.6
MOV A,P1
MOV B,#10D
DIV AB
MOV B,#2D
MUL AB
MOV B,#10D
DIV AB
SETB P3.2
ACALL DISPLAY
MOV P0,A
ACALL DELAY
MOV P0,#10000000B
ACALL DELAY
MOV A,B
CLR P3.2
SETB P3.1
ACALL DISPLAY
MOV P0,A
ACALL DELAY
CLR P3.1
SJMP MAIN
DELAY: MOV R3,#02H
DEL1: MOV R2,#0FAH
DEL2: DJNZ R2,DEL2
DJNZ R3,DEL1
RET
DISPLAY: MOVC A,@A+DPTR
RET
LABEL: DB 3FH
DB 06H
DB 5BH
DB 4FH
DB 66H
DB 6DH
DB 7DH
DB 07H
DB 7FH
DB 6FH
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 電壓表
    +關(guān)注

    關(guān)注

    3

    文章

    318

    瀏覽量

    38755
  • 8051單片機(jī)
    +關(guān)注

    關(guān)注

    5

    文章

    153

    瀏覽量

    25431
收藏 人收藏

    評論

    相關(guān)推薦

    誰擁有用51單片機(jī)制作電流和電壓表的成功案例?

    各位您好!誰擁有用51單片機(jī)制作電流和電壓表的成功案例?
    發(fā)表于 11-02 08:47

    基于51單片機(jī)簡單數(shù)字電壓表

    51單片機(jī)簡單數(shù)字電壓表,可測0——10v電壓。
    發(fā)表于 01-29 15:19

    單片機(jī)的數(shù)字電壓表

    單片機(jī)為核心控制器設(shè)計(jì)能夠測量直流電壓的數(shù)字電壓表,具體要求如下:1.可實(shí)現(xiàn)對至少四路直流電壓
    發(fā)表于 07-07 11:08

    利用STC89C52單片機(jī)制作簡單的數(shù)字電壓表

    摘要:本設(shè)計(jì)中利用STC89C52單片機(jī)制作簡單的數(shù)字電壓表,主要通過A/D轉(zhuǎn)換器XPT2046把輸入的模擬信號即電位器的
    發(fā)表于 07-21 09:06

    設(shè)計(jì)簡單的直流數(shù)字電壓表

    單片機(jī)為核心器件,組成簡單的直流數(shù)字電壓表。(1)采用1路模擬量輸入,能夠測量0-5V之間
    發(fā)表于 11-19 08:24

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

    單片機(jī)制作的數(shù)字電壓表利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)數(shù)字電壓表,能夠測量
    發(fā)表于 05-16 01:25 ?3678次閱讀
    <b class='flag-5'>單片機(jī)制作</b>的數(shù)字<b class='flag-5'>電壓表</b>

    STC12C2052單片機(jī)電壓表_0-9.99V

    STC12C2052單片機(jī)電壓表_0-9.99V
    發(fā)表于 04-28 15:35 ?67次下載

    利用單片機(jī)ADC080設(shè)計(jì)數(shù)字電壓表,能夠直接測量0-5V范圍內(nèi)的直流電壓

    基于8051單片機(jī)的數(shù)字電壓表,能夠直接測量0-5V范圍內(nèi)的直流電壓。 1602顯示 proteus仿真圖
    發(fā)表于 01-04 16:38 ?13次下載

    如何使用單片機(jī)制作數(shù)字電壓表

    利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)數(shù)字電壓表,能夠測量0-5V之間的直流電壓值,四
    發(fā)表于 03-07 11:25 ?24次下載
    如何使用<b class='flag-5'>單片機(jī)制作</b><b class='flag-5'>一</b><b class='flag-5'>個</b>數(shù)字<b class='flag-5'>電壓表</b>

    單片機(jī)通過PAC芯片GP8101控制0-5V調(diào)速電機(jī)方案

    0-5V或者0-10V電壓是許多電機(jī)的通用調(diào)速接口,而般的主控芯片為3.3V供電的單片機(jī)或者D
    的頭像 發(fā)表于 11-12 09:11 ?7778次閱讀
    <b class='flag-5'>單片機(jī)</b>通過PAC芯片GP8101控制<b class='flag-5'>0-5V</b>調(diào)速電機(jī)方案

    使用單片機(jī)AT89S51和ADC0809設(shè)計(jì)數(shù)字電壓表的資料概述

    利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)數(shù)字電壓表,能夠測量0-5V之間的直流電壓值,四
    的頭像 發(fā)表于 06-21 11:39 ?4148次閱讀

    使用PIC單片機(jī)開發(fā)的簡易數(shù)字電壓表

    對于單片機(jī)初學(xué)者來說,數(shù)字電壓表不錯的練習(xí)項(xiàng)目。在本文中,單片機(jī)開發(fā)工程師們分享了
    發(fā)表于 06-29 10:28 ?3926次閱讀
    使用PIC<b class='flag-5'>單片機(jī)</b>開發(fā)的簡易數(shù)字<b class='flag-5'>電壓表</b>

    使用單片機(jī)制作多路輸入電壓表的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)制作多路輸入電壓表的程序免費(fèi)下載。
    發(fā)表于 03-19 15:21 ?14次下載

    基于單片機(jī)的簡易數(shù)字電壓表設(shè)計(jì)(電路+程序)

    單片機(jī)為核心器件,組成簡單的直流數(shù)字電壓表。(1)采用1路模擬量輸入,能夠測量0-5V之間
    發(fā)表于 11-12 20:06 ?55次下載
    基于<b class='flag-5'>單片機(jī)</b>的簡易數(shù)字<b class='flag-5'>電壓表</b>設(shè)計(jì)(電路+程序)

    使用STC12C5A60S2內(nèi)部AD測量電壓0-5V單片機(jī)應(yīng)使用5V電壓供電)

    使用STC12C5A60S2內(nèi)部AD測量電壓0-5V單片機(jī)應(yīng)使用5V電壓供電)main.c
    發(fā)表于 11-18 12:06 ?25次下載
    使用STC12C<b class='flag-5'>5</b>A60S2內(nèi)部AD測量<b class='flag-5'>電壓</b><b class='flag-5'>0-5V</b>(<b class='flag-5'>單片機(jī)</b>應(yīng)使用<b class='flag-5'>5V</b><b class='flag-5'>電壓</b>供電)