導航:首頁 > 操作系統 > 51單片機adc

51單片機adc

發布時間:2023-01-24 15:36:04

1. 51單片機AD轉換不穩定

單片機一般的ADC是沒有問題的,
我覺得很有可能是下述原因之一:
1.是不是電平有跳動的不穩定,比如輸入電平抖動(干擾導致),你只是肉眼沒看出來而已,所以認為它是穩定的。這個解決方法如果輸入是穩定電壓(直流),那就在電壓之間加上個電容就完事了。
2.是不是輸入電壓的范圍超了?如果是范圍超了,加個分壓電路,然後在單片機程序裡面再按比例的增加就行了。

2. 51單片機c語言,ADC模數轉換的問題

對於這個,要這么看:
假設中斷A是優先順序高的中斷,中斷B是優先順序低的中斷
如果在正常執行的過程中,發生中斷A,那麼,中斷A執行完成後,會返回正常程序;
如果在正常執行過程中,發生中斷B,又在中斷B處理過程中發生中斷A,那麼,中斷A執行完成後,一定要返回的是中斷B,這是由硬體決定的,不是軟體決定的,所以,軟體沒有任何指令可以讓中斷A執行完成後直接跳過還沒有執行完的中斷B而直接回到主程序,因為這是硬體決定的,軟體做不到,即便你在高級中斷A中關閉了中斷B,但是因為你原來的中斷B還沒有執行完,所以,仍然要把沒執行完的部分執行下去,才能返回到正常程序.
對於ARM系列的可以,對於51來說,是不行的,因為51軟體指令不允許修改PC寄存器的值

3. 51單片機adc模塊的功能是

ADC模塊當然是實現模數轉換。

4. 怎樣用51單片機的四個帶ADC的I/O口來檢測四個電容觸摸按鍵的觸摸

怎樣用51單片機的四個帶ADC的I/O口來檢測四個電容觸摸按鍵的觸摸10分

相關說明: 只用I/O口,不要再額外加振盪電路電路。現在使用的是STC12c2052ad單片機

at的51本身就不帶ad

是無需外加電路,需要用到其pwm,還有電容
觸摸處理看一下杜洋的觸摸電子琴就差不多了,網站上面有開源

5. 為什麼51單片機中的ADC轉換。沒有輸入電壓。他也一直變動

只要啟動轉換了就會有AD轉換的結果,你沒加AD電壓,那麼輸出有值,說明電源電壓的地不太干凈,或者你的AD電路有寫問題。

6. 51單片機連電位器一定要adc嗎

一定。51單片機連電位器需要adc的,因為作AD用必須一個接電源一個接地,兩個電阻中間即VREF接單片機引腳或接一個1K的電阻再接單片機引腳。

7. 51單片機 C語言ADC程序怎麼寫

typedef unsigned char BYTE;
typedef unsigned int WORD;
#include "reg51.h"
#include "intrins.h"

/*Declare SFR associated with the ADC */
sfr ADC_CONTR = 0xBC;
sfr ADC_RES = 0xBD;
sfr ADC_LOW2 = 0xBE;
sfr P1ASF = 0x9D;
sfr P2M0 = 0x96;
sfr P2M1 = 0x95;

/*Define ADC operation const for ADC_CONTR*/
#define ADC_POWER 0x80
#define ADC_FLAG 0x10
#define ADC_START 0x08
#define ADC_SPEEDLL 0x00
#define ADC_SPEEDL 0x20
#define ADC_SPEEDH 0x40
#define ADC_SPEEDHH 0x60

//延時
void Delay(WORD n)
{
WORD x;

while (n--)
{
x = 5000;
while (x--);
}
}

//初始AD寄存器
void InitADC()
{
P1ASF = 0xff;
ADC_RES = 0;
ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
Delay(2);
}

//AD轉換
BYTE GetADCResult(BYTE ch)
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
_nop_();
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & ADC_FLAG));
ADC_CONTR &= ~ADC_FLAG;

return ADC_RES;
}

void main()
{ BYTE temp;
P2M1=0; P2M0=0x03; //P2.0和P2.1強推挽
InitADC();
while (1)
{
temp=GetADCResult(0);//轉換P1.0
if(temp>1)
P2|=0x03; //P1.0有電壓 P2.0和P2.1輸出高
else
P2&=0xFC; //P1.0無電壓 P2.0和P2.1輸出低
}
}

8. 51單片機的adc介面在哪

埠引腳P3.4至P3.7處。
51單片機的P1是輸入埠,P0是輸出埠。ADC的控制信號(INTR、WR、RD和CS)分別在埠引腳P3.4至P3.7處可用。
51單片機是對兼容英特爾8051指令系統的單片機的統稱。

9. 51單片機ad采樣可以採集什麼

51單片機有很多型號,普通的51單片機是沒有ADC的,需要外接ADC晶元,一般是ADC0832等等,網上很多,利用51單片機驅動AD晶元進行采樣就可以實現AD採集,利用定時器設置好采樣率就OK了,為了得到較高精度,你將除數乘以100,再除被除數。所以最好定義為int型。內存中肯定以十六進制形式(二進制)存儲的。

10. 用51單片機的ADC採集信號,定義通道#define Channel0 0x02後,Channel0的值在函數調用時發生改變為什麼

什麼晶元?是不是有擴展rom ram ,有擴展的話,你要在keil里選上使用擴展的rom ram

閱讀全文

與51單片機adc相關的資料

熱點內容
給編譯原理論文起個題目 瀏覽:141
手機app底色變紅了該怎麼辦 瀏覽:522
flash命令行 瀏覽:666
反詐騙app怎麼找回密碼 瀏覽:631
java方法和函數 瀏覽:420
程序員衣服穿反 瀏覽:959
java多類繼承 瀏覽:159
怎麼用多玩我的世界連接伺服器地址 瀏覽:483
為什麼華為手機比安卓流暢 瀏覽:177
javamap多線程 瀏覽:228
卡西歐app怎麼改時間 瀏覽:843
jquery壓縮圖片 瀏覽:970
用紙筒做解壓東西 瀏覽:238
神奇寶貝伺服器如何tp 瀏覽:244
雲伺服器支持退貨嗎 瀏覽:277
貸款等額本息演算法 瀏覽:190
根伺服器地址配置 瀏覽:501
單片機是軟體還是硬體 瀏覽:624
vivo手機怎麼看編譯編號 瀏覽:320
塑鋼扣條演算法 瀏覽:301