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

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

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

基于ADC0832的電位器數(shù)值顯示

王子變青蛙_35400519 ? 來(lái)源:王子變青蛙_35400519 ? 作者:王子變青蛙_35400 ? 2022-06-20 08:54 ? 次閱讀

目錄

一、前言

二、芯片介紹

1、ADC0832

2、74HC245

三、硬件連接

四、軟件代碼

五、效果展示

六、代碼鏈接

一、前言

通過(guò)ADC0832對(duì)電位器進(jìn)行檢測(cè)根據(jù)電壓的不同主控芯片計(jì)算出不同的數(shù)值,將所得數(shù)值進(jìn)行數(shù)模轉(zhuǎn)換顯示在數(shù)碼管上。電位器種類有很多,搖桿式電位器在可在遙控小車、遙控飛機(jī)等電子制作時(shí)進(jìn)行使用,電位器數(shù)值顯示是電位器使用的基礎(chǔ),后期可進(jìn)行多電路的添加與應(yīng)用。

二、芯片介紹

1、ADC0832

pYYBAGKt64SAIAloAAAMEPW2Wyg053.png

引腳功能:

引腳編號(hào) 引腳功能 描述
1 CS- 低電平芯片使能端
2 CH0 模擬信號(hào)輸入通道0
3 CH1 模擬信號(hào)輸入通道1
4 GND 低電平(地)
5 D1 數(shù)據(jù)信號(hào)輸入,選擇通道控制
6 D0 數(shù)據(jù)信號(hào)輸入,轉(zhuǎn)換數(shù)據(jù)輸出
7 CLK 時(shí)鐘輸入
8 VCC 高電平

2、74HC245

poYBAGKt626AYN1ZAAAauTq7wSU866.png

74HC245是方向可控的八路緩沖器,主要用于實(shí)現(xiàn)數(shù)據(jù)總線的雙向異步通信。 74HC245是兼容TTL器件引腳的高速CMOS總線收發(fā)器,典型的CMOS型三態(tài)緩沖門電路,八路信號(hào)收發(fā)器,。由于單片機(jī)CPU的數(shù)據(jù)/地址/控制總線端口都有一定的負(fù)載能力,如果負(fù)載超過(guò)其負(fù)載能力,一般應(yīng)加驅(qū)動(dòng)器。74HC245通常在主控芯片的并行接口與外部受控設(shè)備的并行接口間添加。主要應(yīng)用于大屏顯示,以及其它的消費(fèi)類電子產(chǎn)品中增加驅(qū)動(dòng)。

引腳功能:

引腳編號(hào) 引腳編號(hào) 描述
1 DIR 方向控制
2 A0 數(shù)據(jù)輸入/輸出
3 A1 數(shù)據(jù)輸入/輸出
4 A2 數(shù)據(jù)輸入/輸出
5 A3 數(shù)據(jù)輸入/輸出
6 A4 數(shù)據(jù)輸入/輸出
7 A5 數(shù)據(jù)輸入/輸出
8 A6 數(shù)據(jù)輸入/輸出
9 A7 數(shù)據(jù)輸入/輸出
10 GND 邏輯地
11 B7 數(shù)據(jù)輸入/輸出
12 B6 數(shù)據(jù)輸入/輸出
13 B5 數(shù)據(jù)輸入/輸出
14 B4 數(shù)據(jù)輸入/輸出
15 B3 數(shù)據(jù)輸入/輸出
16 B2 數(shù)據(jù)輸入/輸出
17 B1 數(shù)據(jù)輸入/輸出
18 B0 數(shù)據(jù)輸入/輸出
19 OE- 輸出使能
20 VCC 邏輯電源

DIR=1,A-B;DIR=0,B-A;

OE=0導(dǎo)通,OE=1關(guān)閉;

三、硬件連接

pYYBAGKt61eAGsZOAACcQYpwvZA428.png

仿真

P3口連接共陰極數(shù)碼管的段碼位;P20、P21、P22、P23為數(shù)碼管的位選;

P10連接CS-;P11連接CLK;P12連接DIDO;

四、軟件代碼

pYYBAGKt65SAdkSxAADUsQbI-tc374.png

main主函數(shù)

進(jìn)行定時(shí)器的初始化,ADC0832的初始化,以及數(shù)碼管段顯示的使用。

void main()
{
    uchar AD1;
	uint vt1;   
	uint while_times = 0;
	
	delayms(300);
	ET0  = 1;
    TR0  = 1;
    ET1  = 1;
    TR1  = 1;
    EA   = 1;     //打開總中斷
    CLK = 0;      //ADC0832初始化
    CS   = 1; 
	 
	while(1)
	{	
	   DigDisplay(); 	
	   AD1 = Get_AD_Result1();
	   vt1=	(500.0/256.0)*AD1;
	   date[0] =smgduan[vt1/100];//千分位
       date[1] =smgduan[vt1/10%10]; //百分位
       date[2] =smgduan[vt1%10];//十分位
       date[3] =smgduan[vt1];//個(gè)分位
	}
}

數(shù)碼管位選函數(shù)。

通過(guò)switch語(yǔ)句進(jìn)行位選,P3口為數(shù)碼管段顯示口;數(shù)碼管顯示使用的是數(shù)碼管動(dòng)態(tài)掃描。

void DigDisplay()
{
	int i;
	for(i=0;i<8;i++)
	{
		switch(i)	 //位選,選擇點(diǎn)亮的數(shù)碼管,
		{
			case(0):
				qian=0;bai=1;shi=1; ge=1;break;//顯示第0位
			case(1):
				qian=1;bai=0;shi=1; ge=1;break;//顯示第1位
			case(2):
				qian=1;bai=1;shi=0; ge=1;break;//顯示第2位
			case(3):
				qian=1;bai=1;shi=1; ge=0;break;//顯示第3位
		}
		P3=date[i];//發(fā)送段碼
		delayms(1); //間隔一段時(shí)間掃描	
		P3=0x00;//消隱
	}
}

ADC0832通道選擇函數(shù)。

該芯片在上篇文章中有進(jìn)行解釋,這里不進(jìn)行解釋了。

uchar Get_AD_Result1()         //包含11個(gè)CLK下降沿      
{
    uchar i, dat;
    CS = 1;              //ADC0832未工作時(shí),CS端為高電平,此時(shí)芯片禁用
    CLK =1;                  
    CS = 0;
    DIDO = 1; CLK = 0;  CLK = 1; //SCLK第一個(gè)下降沿來(lái)到時(shí),DI = 1啟動(dòng)ADC0832
    DIDO = 1; CLK = 0;  CLK = 1;  //SCLK第二個(gè)下降沿 
    DIDO = 0; CLK = 0;  CLK = 1; //SCLK第三個(gè)下降沿,發(fā)送1,0選擇通道cho
    DIDO = 1;                                //釋放總線
    for(i = 0; i < 8; i++)                  //第4個(gè)下降沿到第11個(gè)下降沿
    {
        CLK = 0;                           //clk處于下降沿,每一個(gè)下降沿DO端輸入下一個(gè)
        if(DIDO) dat |= 0x01;              // dat = dat | 0x01,dat和0x01做“或”的運(yùn)算,意思是最低位置1,其它位保持不變。
        CLK = 1;                       //clk處于上升沿
        dat <<= 1;                          //數(shù)據(jù)左移
    }
    return (dat);
    CS = 1;                                  //ADC0832停止工作
}

delay.c

根據(jù)需要進(jìn)行調(diào)用。

/*------------------------------------------------
 uS延時(shí)函數(shù) 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
 while(--t);
}
/*------------------------------------------------
 mS延時(shí)函數(shù)
------------------------------------------------*/
void delayms(unsigned char t)
{
     
 while(t--)
 {
     //大致延時(shí)1mS
     DelayUs2x(245);
	 DelayUs2x(245);
 }
}

五、效果展示

實(shí)物展示 https://live.csdn.net/v/217316

六、代碼鏈接

歡迎留言評(píng)論分享自己的看法;關(guān)注公眾號(hào)“小小創(chuàng)客”回復(fù)“數(shù)碼管顯示電位器值”獲得代碼,如有錯(cuò)誤歡迎指正。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628311
  • 電位器
    +關(guān)注

    關(guān)注

    14

    文章

    996

    瀏覽量

    66501
  • 數(shù)值
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    14324
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    用什么清洗電位器好_電位器最佳的修復(fù)方法

    清洗電位器時(shí),選擇合適的清洗劑至關(guān)重要,以確保既能有效去除污垢,又能保護(hù)電位器的性能和壽命。以下是一些推薦的清洗電位器的方法及清洗劑:
    的頭像 發(fā)表于 09-15 11:22 ?151次閱讀

    電位器壞了有什么現(xiàn)象_如何判斷電位器壞了

    電位器壞了可能會(huì)表現(xiàn)出多種現(xiàn)象,這些現(xiàn)象通常與電位器的功能失效或性能下降有關(guān)。以下是一些常見的電位器故障現(xiàn)象:   調(diào)節(jié)失效或不穩(wěn)定:電位器的主要功能是調(diào)節(jié)電路中的電壓或電流,如
    的頭像 發(fā)表于 09-15 10:39 ?165次閱讀

    數(shù)字電位器可直接替換普通電位器

     數(shù)字電位器與普通電位器在外觀上有相似之處,但它們?cè)谠?、結(jié)構(gòu)和使用上存在顯著差異。關(guān)于數(shù)字電位器是否可以直接替換普通電位器,這主要取決于具體的應(yīng)用場(chǎng)景和需求。
    的頭像 發(fā)表于 09-15 10:32 ?137次閱讀

    數(shù)字電位器失靈如何修復(fù)

    微控制、一個(gè)數(shù)字-模擬轉(zhuǎn)換(DAC)、一個(gè)模擬-數(shù)字轉(zhuǎn)換ADC)和一個(gè)電阻網(wǎng)絡(luò)組成。數(shù)字電位器可以通過(guò)編程來(lái)改變其電阻值,從而實(shí)現(xiàn)對(duì)
    的頭像 發(fā)表于 07-16 14:12 ?347次閱讀

    ADC0832一直輸出255

    STC89C52 LCD1602上一直顯示255! 主函數(shù) 仿真圖 ADC0832函數(shù)
    發(fā)表于 04-13 11:16

    帶開關(guān)電位器的工作原理 帶開關(guān)電位器的分類 帶開關(guān)電位器的特點(diǎn)

    帶開關(guān)電位器的工作原理 帶開關(guān)電位器的分類 帶開關(guān)電位器的特點(diǎn) 帶開關(guān)電位器是一種常見的電子元件,它常用于電子設(shè)備中對(duì)電流和電壓進(jìn)行調(diào)節(jié)和控制。 一、帶開關(guān)
    的頭像 發(fā)表于 03-05 17:06 ?1.2w次閱讀

    什么是脈沖電位器?它和普通電位器一樣嗎?

    什么是脈沖電位器?它和普通電位器一樣嗎? 脈沖電位器是一種特殊類型的電位器,也被稱為數(shù)字電位器或數(shù)字控制
    的頭像 發(fā)表于 02-05 10:32 ?4553次閱讀

    電位器調(diào)亂了該怎么復(fù)原?

    電位器調(diào)亂了該怎么復(fù)原? 如何復(fù)原電位器? 電位器常常用于電子設(shè)備中,用于調(diào)整電路中的電壓或電流。但有時(shí)候,由于誤操作或其他原因,電位器可能會(huì)被調(diào)亂。在這種情況下,需要采取正確的步驟來(lái)
    的頭像 發(fā)表于 02-04 09:42 ?1265次閱讀

    數(shù)字電位器的基本工作原理 數(shù)字電位器在電路中的作用

    數(shù)字電位器的基本工作原理 數(shù)字電位器在電路中的作用 數(shù)字電位器是一種用于調(diào)節(jié)電路中電阻值的裝置。它與傳統(tǒng)的模擬電位器相比,采用了數(shù)字控制方式,可以通過(guò)數(shù)字信號(hào)來(lái)改變電阻值。數(shù)字
    的頭像 發(fā)表于 02-02 13:51 ?3794次閱讀
    數(shù)字<b class='flag-5'>電位器</b>的基本工作原理 數(shù)字<b class='flag-5'>電位器</b>在電路中的作用

    淺談ADC0832芯片電路原理圖

    ADC0832芯片的D1端和DO端均接到了單片機(jī)的P1^2口,選擇數(shù)據(jù)信號(hào)從D1端進(jìn)行輸入,數(shù)據(jù)由D0端進(jìn)行輸出;CLK端接到了單片機(jī)的P1^1口為AD芯片提供時(shí)鐘輸入。
    的頭像 發(fā)表于 01-23 17:36 ?1.2w次閱讀
    淺談<b class='flag-5'>ADC0832</b>芯片電路原理圖

    什么是電位器?電位器在電路中的作用

    什么是電位器?電位器在電路中的作用? 電位器是一種可以調(diào)節(jié)電阻值,從而改變電路中電流和電壓的元件。它由一個(gè)可旋轉(zhuǎn)的運(yùn)動(dòng)電滑動(dòng)電阻和一個(gè)固定的固定電阻組成。 電位器的主要作用是產(chǎn)生可變的
    的頭像 發(fā)表于 11-22 16:55 ?4979次閱讀

    電位器三個(gè)引腳怎么接?怎么判斷電位器的好壞?

    電位器三個(gè)引腳怎么接?怎么判斷電位器的好壞? 電位器,也被稱為可調(diào)電阻,是一種用于調(diào)節(jié)電路中電阻值的元件。它通常有三個(gè)引腳,兩個(gè)是固定的端子,一個(gè)是可調(diào)的中間引腳。在電路中,
    的頭像 發(fā)表于 11-22 16:55 ?1.5w次閱讀

    電位器是什么?

    電位器:電子設(shè)備中的關(guān)鍵元件 在電子設(shè)備中,調(diào)節(jié)、控制和轉(zhuǎn)換電路參數(shù)的關(guān)鍵元件之一就是電位器。電位器是一種可調(diào)電阻,通過(guò)改變電阻值來(lái)調(diào)整電壓、電流等電路參數(shù)。本文將詳細(xì)介紹
    的頭像 發(fā)表于 10-18 09:22 ?3538次閱讀
    <b class='flag-5'>電位器</b>是什么?

    adc0832轉(zhuǎn)換的結(jié)果是1到255,怎么才能0到255?

    adc0832轉(zhuǎn)換的結(jié)果是1到255,怎么才能0到255
    發(fā)表于 10-18 06:34

    ADC0832程序里面的這個(gè)公式是什么意思啊?

    uchar ADC0832() { cs=1; clk=0; cs=0; di=1; clk=1; clk=0; di=1; clk=1; clk=0; di=0; clk=1; clk=0
    發(fā)表于 09-28 07:16