目錄
一、前言
二、芯片介紹
1、ADC0832
2、74HC245
三、硬件連接
四、軟件代碼
五、效果展示
六、代碼鏈接
一、前言
通過ADC0832對電位器進行檢測根據(jù)電壓的不同主控芯片計算出不同的數(shù)值,將所得數(shù)值進行數(shù)模轉換顯示在數(shù)碼管上。電位器種類有很多,搖桿式電位器在可在遙控小車、遙控飛機等電子制作時進行使用,電位器數(shù)值顯示是電位器使用的基礎,后期可進行多電路的添加與應用。
二、芯片介紹
1、ADC0832

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

74HC245是方向可控的八路緩沖器,主要用于實現(xiàn)數(shù)據(jù)總線的雙向異步通信。 74HC245是兼容TTL器件引腳的高速CMOS總線收發(fā)器,典型的CMOS型三態(tài)緩沖門電路,八路信號收發(fā)器,。由于單片機或CPU的數(shù)據(jù)/地址/控制總線端口都有一定的負載能力,如果負載超過其負載能力,一般應加驅動器。74HC245通常在主控芯片的并行接口與外部受控設備的并行接口間添加。主要應用于大屏顯示,以及其它的消費類電子產(chǎn)品中增加驅動。
引腳功能:
| 引腳編號 | 引腳編號 | 描述 |
|---|---|---|
| 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導通,OE=1關閉;
三、硬件連接

仿真圖
P3口連接共陰極數(shù)碼管的段碼位;P20、P21、P22、P23為數(shù)碼管的位選;
P10連接CS-;P11連接CLK;P12連接DIDO;
四、軟件代碼

main主函數(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];//個分位
}
}
數(shù)碼管位選函數(shù)。
通過switch語句進行位選,P3口為數(shù)碼管段顯示口;數(shù)碼管顯示使用的是數(shù)碼管動態(tài)掃描。
void DigDisplay()
{
int i;
for(i=0;i<8;i++)
{
switch(i) //位選,選擇點亮的數(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); //間隔一段時間掃描
P3=0x00;//消隱
}
}
ADC0832通道選擇函數(shù)。
該芯片在上篇文章中有進行解釋,這里不進行解釋了。
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第三個下降沿,發(fā)送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; //數(shù)據(jù)左移
}
return (dat);
CS = 1; //ADC0832停止工作
}
delay.c
根據(jù)需要進行調用。
/*------------------------------------------------
uS延時函數(shù)
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
mS延時函數(shù)
------------------------------------------------*/
void delayms(unsigned char t)
{
while(t--)
{
//大致延時1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
五、效果展示
實物展示 https://live.csdn.net/v/217316
六、代碼鏈接
歡迎留言評論分享自己的看法;關注公眾號“小小創(chuàng)客者”回復“數(shù)碼管顯示電位器值”獲得代碼,如有錯誤歡迎指正。
審核編輯:湯梓紅
-
單片機
+關注
關注
6076文章
45495瀏覽量
670277 -
電位器
+關注
關注
14文章
1028瀏覽量
69243 -
數(shù)值
+關注
關注
0文章
80瀏覽量
14735
發(fā)布評論請先 登錄
采用電位器怎樣控制變頻器的頻率
變頻器外接電位器阻值的選擇
深入剖析ADC0831-N/ADC0832-N/ADC0834-N/ADC0838-N 8位串行I/O A/D轉換器
?TPL0202 數(shù)字電位器技術規(guī)格書總結
TPL0102-100 雙路 256 抽頭非易失性數(shù)字電位器產(chǎn)品總結
TPL0501-100 單通道 256 抽頭 SPI 數(shù)字電位器技術文檔總結
Vishay Spectrol 157型精密工業(yè)電位器技術解析與應用指南
Vishay Sfernice P16FNP金屬陶瓷旋鈕電位器技術解析:工業(yè)控制與音頻應用的革新設計
Vishay Sfernice TS7密封型表面貼裝微調電位器技術解析
?Vishay Sfernice P16F/PA16F金屬陶瓷旋鈕電位器技術解析
Vishay Sfernice M61系列金屬陶瓷微調電位器技術解析
?基于Vishay TSM41微調電位器的精密電路設計與應用解析
TPL1401 帶緩沖游標的 256 抽頭高精度數(shù)字電位器技術手冊
基于ADC0832的電位器數(shù)值顯示
評論