導航:首頁 > 操作系統 > 數字電位器的單片機

數字電位器的單片機

發布時間:2022-05-29 07:24:03

『壹』 51單片機如何控制x9c104p數字電位器

#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char

sbit inc=P0^0; //脈沖輸出端
sbit ud=P0^1; //方向端
sbit cs=P0^2; //片選端
sbit led=P2^0; //指示燈

/*以下是函數聲明*/
void x9c104s_inc(uchar number);
void x9c104s_dec(uchar number);
void x9c104s_set(uchar number);

/*設定初始值*/
void x9c104s_set(uchar number)
{
uchar i;
inc=1;
_nop_();
_nop_();
cs=0;
_nop_();
_nop_();
ud=0; //方向為減
_nop_();
_nop_();
for(i=0;i<100;i++) /*因為該晶元為100抽頭 所以先清零*/
{
inc=1;
_nop_();
_nop_();
inc=0;
_nop_();
_nop_();
}
ud=1; //方向朝上
_nop_();
_nop_();
for(i=0;i<number;i++) //設定初始值
{
inc=1;
_nop_(); //下降沿有效
_nop_();
inc=0;
_nop_();
_nop_();
}

inc=1; //以下為保存設定值
_nop_();
_nop_();
cs=1;
_nop_();
_nop_();
ud=1;
_nop_();
_nop_();
inc=1;
}

/*函數為重新增加阻值*/
void x9c104s_inc(uchar number)
{
uchar i;
inc=1;
_nop_();
_nop_();
cs=0;
_nop_();
_nop_();
ud=1;
_nop_();
_nop_();
for(i=0;i<number;i++) //設定阻值
{
inc=1;
_nop_();
_nop_();
inc=0;
_nop_();
_nop_();
}
inc=1; //以下為保存設定值
_nop_();
_nop_();
cs=1;
_nop_();
_nop_();
ud=1;
_nop_();
_nop_();
inc=1;
}

/*函數為阻值減小*/
void x9c104s_dec(uchar number)
{
uchar i;
inc=1; //選中該晶元
_nop_();
_nop_();
cs=1;
_nop_();
_nop_();
ud=0; //方向為減小
_nop_();
_nop_();
for(i=0;i<number;i++)
{
inc=1;
_nop_();
_nop_();
inc=0;
_nop_();
_nop_();
}
inc=1; //保存設定值
_nop_();
_nop_();
cs=1;
_nop_();
_nop_();
ud=1;
_nop_();
_nop_();
inc=1;
}

void main()
{
led=0;
x9c104s_set(10);
x9c104s_inc(60); //三個函數都使用一下 防止警告
x9c104s_dec(10);
}

『貳』 數字電位器的內部電路原理:

數字電位器一般由角度感測器電路、數據處理電路、信號轉換電路組成。角度感測器電路是數字電位器的重要組成部分,它將角度變化量採集轉換成隨角度變化的模擬信號。數據處理電路是一種特殊的模/數轉換電路,轉換後的數字量代表0~360°的角度值。信號轉換電路根據需要將角度值轉換成模擬量(電壓/電流)信號或串列數字信號輸出。
數字電位器一般帶有匯流排介面,可通過單片機或邏輯電路進行編程。它適合構成各種可編程模擬器件,如可編程增益放大器、可編程濾波器、可編程線性穩壓電源及音調/音量控制電路,真正實現了「把模擬器件放到匯流排上」(即單片機通過匯流排控制系統的模擬功能塊)這一全新設計理念。
由於數字電位器可代替機械式電位器,所以二者在原理上有相似之處。數字電位器屬於集成化的三端可變電阻器件其等效電路。當數字電位器用作分壓器時,其高端、低端、滑動端分別用VH、VL、VW表示;而用作可調電阻器時,分別用RH、RL和RW表示。
數字電位器的數字控制部分包括加減計數器、解碼電路、保存與恢復控制電路和不揮發存儲器等4個數字電路模塊。利用串入、並出的加/減計數器在輸入脈沖和控制信號的控制下可實現加/減計數,計數器把累計的數據直接提供給解碼電路控制開關陣列,同時也將數據傳送給內部存儲器保存。當外部計數脈沖信號停止或片選信號無效後,解碼電路的輸出端只有一個有效,於是只選擇一個MOS管導通。
數字控制部分的存儲器是一種掉電不揮發存儲器,當電路掉電後再次上電時,數字電位器中仍保存著原有的控制數據,其中間抽頭到兩端點之間的電阻值仍是上一次的調整結果。因此,數字電位器與機械式電位器的使用效果基本相同。但是由於開關的工作採用「先連接後斷開」的方式,所以在輸入計數有效期間,數字電位器的電阻值與期望值可能會有一定的差別,只有在調整結束後才能達到期望值。 ◆採用感測器原理生產,具有良好的線性、精度和溫度穩定性。
◆採用軟體實現功能,可以根據使用要求變化進行定製。
◆工作方式為非接觸,避免傳統電位器的磨損,壽命長,可靠性高。
◆由於取消了傳統電位器中的電刷基片,有效行程達到360°,實現無盲區測量。
◆輸出信號類型多(0-5V/0-10V/4-20mA/串列數字信號輸出),方便信號採集處理。
◆可以通過軟體實現有效行程和輸出信號的變化,滿足各種特殊要求。
◆應用范圍廣,使用靈活。

『叄』 製作功放用的數字電位器用那種單片機最理想

數字電位器的控制IO一般可以連接大多單片機,控制方式及時序比較簡單,沒有什麼特殊要求,所以建議你從整個BOM成本考慮,可用STM8S系列單片機,批量采購成本1元人民幣左右,如果需要更嚴格的控製成本,可以採用台灣鴻晶的STC系列8位單片機,批量采購成本0.3-0.4元。

『肆』 如何用51單片機控制電路中電阻的大小 我想用51單片機實現數字電位器

用「數→模」轉換晶元(例如DAC0832),將單片機輸出的數值轉換為電位。
具體電路及程序請參閱教科書或有關資料。

『伍』 數字電位器X9110的單片機控製程序

美國Bourns電位器一級代理穩得實業戴先生

『陸』 單片機控制數字電位器的c語言程序

數字電位器用的是X9C103

#include<reg51.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

//設定四個按鍵
sbit X9C102=P2^0;
sbit X9C202=P2^1;
sbit X9C302=P2^2;
sbit X9C402=P2^3;

sbit X9C103_CS=P1^0;
sbit X9C103_INC=P1^1;
sbit X9C103_UD=P1^2;

void delay_nus(uint i)
{
while(i--);
}

void delay_nms(uchar i)
{
for(i;i>0;i++)
{
delay_nus(1000);
}
}

void set_x9c103(uchar num,uchar ud,uchar save)
{
X9C103_CS=0;
delay_nus(1);
if(ud==1)
{
X9C103_UD=1;
}
else
{
X9C103_UD=0;
}
delay_nus(4);
for(num;num>0;num--)
{
X9C103_INC=1;
delay_nus(2);
X9C103_INC=0;
delay_nus(2);
}
delay_nus(2);
if(save==1)
{
X9C103_INC=1;
delay_nus(2);
X9C103_CS=1;
delay_nms(22);
}
X9C103_CS=1;
delay_nus(10);
}

void clear_down()
{
set_x9c103(100,0,1);
}

void main_init()
{
X9C103_CS=0;
clear_down();
}

void main()
{
main_init();
set_x9c103(70,1,1);
while(1)//掃描按鍵,對應不同倍數的輸出
{
if (X9C102==0){
clear_down();
set_x9c103(10,1,1);}
if (X9C202==0){
clear_down();
set_x9c103(30,1,1);}
if (X9C302==0){
clear_down();
set_x9c103(60,1,1);}
if (X9C402==0){
clear_down();
set_x9c103(90,1,1);}
}
}

『柒』 用單片機控制數字電位器那麼知道電位器的阻值具體被控制到了多少

單片機控制數字電位器是通過模擬量信號,根據單片機的取樣位數不同,將電阻分為2的N次方,電阻的精度就是2的N次方分之一。例如:單片機取樣位數是4位,電阻就可以分成2的4次方,就是16分,精度就是1/16,如果是8位,就是2的8次方,精度就是1/256。單片機位數越高,控制電位器電阻的精度就越高。

『捌』 單片機如何控制數字電位器

數字電位器一般都是串列或並行通信方式,在完成簡單的外圍電路搭建後,你還需要根據器件本身的器件手冊,編寫訪問電位器的程序,才能控制電位器阻值的大小。

『玖』 哪個型號的數字電位器能和單片機相連,怎麼連

現在,單片機技術這么發達,好像很少使用數字電位器了。
數字電位器完全可以由單片機來實現,何必畫蛇添足呢?
數字電位器一般是接 加、減的按鍵,裡面是簡易的D/A迴路(一般是2^4 或2^5,個別的能達到2^6)。如果實在要用,把數字電位器的輸出接單片機的ADC埠,讓單片機AD採集即可。
難道你再用單片機的ADC採集D/A的輸出?
為什麼不直接把加、減的按鍵直接接在單片機上,軟體實現高精度D/A,或者根本不用D/A,直接是內部數據的運算。相對更簡單、實用、精度高(輕松達到2^8,稍加處理,完全可以實現2^16)。

『拾』 怎麼用51單片機控制數字電位器x9241

找到數字電位器x9241器件資料,根據器件定義、編程要求和波形參數等來進行51單片機程序設計。硬體可以選擇I/O口,也可以選擇串口或者其它,取決於你對單片機應用的實際能力。具體說就是按照器件指令要求編程,通過讀寫操作控制滑動端的位置。

閱讀全文

與數字電位器的單片機相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:419
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:189
pdf劈開合並 瀏覽:27
不能修改的pdf 瀏覽:750
同城公眾源碼 瀏覽:488
一個伺服器2個埠怎麼映射 瀏覽:297
java字元串ascii碼 瀏覽:78
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:945
安卓導航無聲音怎麼維修 瀏覽:332
app怎麼裝視頻 瀏覽:430
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491