精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

基于ADC0832的電位器數值顯示

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

目錄

一、前言

二、芯片介紹

1、ADC0832

2、74HC245

三、硬件連接

四、軟件代碼

五、效果展示

六、代碼鏈接

一、前言

通過ADC0832對電位器進行檢測根據電壓的不同主控芯片計算出不同的數值,將所得數值進行數模轉換顯示在數碼管上。電位器種類有很多,搖桿式電位器在可在遙控小車、遙控飛機等電子制作時進行使用,電位器數值顯示是電位器使用的基礎,后期可進行多電路的添加與應用。

二、芯片介紹

1、ADC0832

pYYBAGKt64SAIAloAAAMEPW2Wyg053.png

引腳功能:

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

2、74HC245

poYBAGKt626AYN1ZAAAauTq7wSU866.png

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

引腳功能:

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

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

OE=0導通,OE=1關閉;

三、硬件連接

pYYBAGKt61eAGsZOAACcQYpwvZA428.png

仿真

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

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

四、軟件代碼

pYYBAGKt65SAdkSxAADUsQbI-tc374.png

main主函數

進行定時器的初始化,ADC0832的初始化,以及數碼管段顯示的使用。

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];//個分位
	}
}

數碼管位選函數。

通過switch語句進行位選,P3口為數碼管段顯示口;數碼管顯示使用的是數碼管動態掃描。

void DigDisplay()
{
	int i;
	for(i=0;i<8;i++)
	{
		switch(i)	 //位選,選擇點亮的數碼管,
		{
			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];//發送段碼
		delayms(1); //間隔一段時間掃描	
		P3=0x00;//消隱
	}
}

ADC0832通道選擇函數。

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

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

delay.c

根據需要進行調用。

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

五、效果展示

實物展示 https://live.csdn.net/v/217316

六、代碼鏈接

歡迎留言評論分享自己的看法;關注公眾號“小小創客”回復“數碼管顯示電位器值”獲得代碼,如有錯誤歡迎指正。

審核編輯:湯梓紅

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

    關注

    6032

    文章

    44525

    瀏覽量

    633266
  • 電位器
    +關注

    關注

    14

    文章

    1005

    瀏覽量

    66731
  • 數值
    +關注

    關注

    0

    文章

    80

    瀏覽量

    14352
收藏 人收藏

    評論

    相關推薦

    8腳電位器怎么測量好壞

    測量8腳電位器(特別是雙聯八腳電位器)的好壞,主要涉及到對其電阻值的檢測和調節功能的驗證。以下是一個詳細的測量步驟,用于評估8腳電位器的性能和健康狀況:
    的頭像 發表于 09-15 11:24 ?8166次閱讀

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

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

    電位器壞了有什么現象_如何判斷電位器壞了

    電位器壞了可能會表現出多種現象,這些現象通常與電位器的功能失效或性能下降有關。以下是一些常見的電位器故障現象:   調節失效或不穩定:電位器的主要功能是調節電路中的電壓或電流,如
    的頭像 發表于 09-15 10:39 ?9128次閱讀

    電位器的作用是什么_電位器調電壓還是電流

    電位器最直觀的作用之一就是調節電壓。通過旋轉或滑動電位器的旋鈕或滑柄,可以改變電路中的電阻值,進而調整電壓分壓比例。這種能力使得電位器能夠精確地控制電路的輸出電壓,滿足各種電路對電壓的不同需求。
    的頭像 發表于 09-15 10:37 ?8853次閱讀

    數字電位器可直接替換普通電位器

     數字電位器與普通電位器在外觀上有相似之處,但它們在原理、結構和使用上存在顯著差異。關于數字電位器是否可以直接替換普通電位器,這主要取決于具體的應用場景和需求。
    的頭像 發表于 09-15 10:32 ?587次閱讀

    電位器接觸不良用什么清洗

    電位器接觸不良是電子設備中常見的問題之一,它會導致設備性能下降,甚至出現故障。為了解決這個問題,我們需要對電位器進行清洗。本文將介紹電位器接觸不良的清洗方法。 一、電位器接觸不良的原因
    的頭像 發表于 07-16 14:24 ?1409次閱讀

    數字電位器失靈如何修復

    微控制、一個數字-模擬轉換(DAC)、一個模擬-數字轉換ADC)和一個電阻網絡組成。數字電位器可以通過編程來改變其電阻值,從而實現對
    的頭像 發表于 07-16 14:12 ?666次閱讀

    電位器上的電路板的作用

    電位器是一種常見的電子元件,廣泛應用于各種電子設備中,用于調節電路中的電阻值。電位器上的電路板是電位器的重要組成部分,它的作用主要體現在以下幾個方面: 連接電位器與電路
    的頭像 發表于 07-10 15:30 ?572次閱讀

    ADC0832一直輸出255

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

    帶開關電位器的工作原理 帶開關電位器的分類 帶開關電位器的特點

    帶開關電位器的工作原理 帶開關電位器的分類 帶開關電位器的特點 帶開關電位器是一種常見的電子元件,它常用于電子設備中對電流和電壓進行調節和控制。 一、帶開關
    的頭像 發表于 03-05 17:06 ?1.2w次閱讀

    電位器的種類、特點及作用

    合成碳膜電位器:具有阻值范圍寬、分辨力較好、工藝簡單、價格低廉等特點,但動噪聲大、耐潮性差。這類電位器宜作函數式電位器,在消費類電子產品中大量應用。采用印刷工藝可使碳膜片的生產實現自動化。
    發表于 02-15 10:00 ?1234次閱讀
    <b class='flag-5'>電位器</b>的種類、特點及作用

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

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

    電位器調亂了該怎么復原?

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

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

    數字電位器的基本工作原理 數字電位器在電路中的作用 數字電位器是一種用于調節電路中電阻值的裝置。它與傳統的模擬電位器相比,采用了數字控制方式,可以通過數字信號來改變電阻值。數字
    的頭像 發表于 02-02 13:51 ?4730次閱讀
    數字<b class='flag-5'>電位器</b>的基本工作原理 數字<b class='flag-5'>電位器</b>在電路中的作用

    淺談ADC0832芯片電路原理圖

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