導航:首頁 > 操作系統 > 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相關的資料

熱點內容
linux升級kernel 瀏覽:174
入侵伺服器挖礦是什麼罪 瀏覽:44
房屋解壓資料丟了怎麼辦 瀏覽:806
java文件行讀寫 瀏覽:542
影城網上售票系統源碼 瀏覽:634
防疫就是命令歌曲 瀏覽:204
滴滴號碼加密怎麼解除 瀏覽:844
模具編程的職責 瀏覽:943
華為ssh改加密演算法 瀏覽:149
文件夾空白合同 瀏覽:763
pythonwebpy開發 瀏覽:671
不是c編譯器的有 瀏覽:662
win10壓縮包下載 瀏覽:905
逆戰手機app怎麼樣 瀏覽:948
自嗨自我解壓圖片 瀏覽:397
電子書導入kindle哪個文件夾 瀏覽:420
pythontcpserver性能 瀏覽:546
linux文件夾改名 瀏覽:566
單片機開發板是什麼 瀏覽:853
阿里雲伺服器不能截屏 瀏覽:868