Ⅰ AD晶元與51單片機通訊
你直接用AD0804進行信號採集,將會得到8位數字輸出信號,將這八位用線連接到51單片機的8個輸入埠上就可以了。單路採集的話,AD0804就可以了,AD0809是8路採集的。
Ⅱ 51單片機AD讀取外界數據,存儲在單片機那裡
51單片機AD讀取外界數據,存儲在單片機的寄存器中,00H~7FH都可以存儲,一般存在30H~7FH中,00H~1FH是工作寄存器區域,20H~2FH為位地址區域,最好不佔用。
Ⅲ 請教stc自帶ad的51單片機的使用方法
#include<reg52.h>#include<intrins.h>
#define uchar unsigned char#define uint unsigned int
sfr ADC_CONTR = 0xbc; //ADC控制寄存器
sfr ADC_RES = 0xbd; //ADC轉換結果高八位寄存器
sfr ADC_LOW2 = 0xbe; //ADC轉換結果低兩位寄存器
sfr P1ASF = 0x9d; //P1口模擬功能控制寄存器
#define ADC_POWER 0x80 //ADC電源控制位
#define ADC_FLAG 0x10 //ADC結束標志位
#define ADC_START 0x08 //ADC啟動標志位
#define ADC_SPEEDLL 0x00 //540個時鍾周期
#define ADC_SPEEDL 0x20 //360個時鍾周期
#define ADC_SPEEDH 0x40 //180個時鍾周期
#define ADC_SPEEDHH 0x60 //90 個時鍾周期
void InitUart();
void SendData(uchar);
void Delay(uint n);
void InitADC();
uchar ch=0; //ADC通道選擇
void main()
{
InitUart(); //初始化串口
InitADC(); //初始化ADC
IE = 0xa0; //打開總中斷
while(1);}
/*ADC中斷函數*/
void ads_isr() interrupt 5 using 1
{
ADC_CONTR&=!ADC_FLAG; //將ADC結束標志位清零
SendData(ch); //將對應ADC通道號發送給電腦 SendData(ADC_RES); //將轉換結果發送給電腦
if(++ch > 7)ch = 0; //下一個ADC通道 ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch; //打開ADC電源、轉換時間540個時鍾周期、開始轉換、選擇通道號
}
/*初始化ADC寄存器*/
void InitADC()
{
P1ASF = 0xff; //定義p1口為ADC轉換口
ADC_RES = 0;
ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch; //打開ADC電源、轉換時間540個時鍾周期、開始轉換、選擇通道號
Delay(2); //等待ADC上電穩定然後開始ADC轉換?應該是先開電源,等待後再START,可能STC官方程序有問題
}
/*初始化串口*/
void InitUart()
{
SCON = 0x5a;
TMOD = 0x20;
TH1 = 0xfd; //在11.0592MHZ晶振下,波特率為9600
TL1 = 0xfd;
TR1 = 1;
}
/*串口發送數據*/
void SendData(uchar dat)
{
while(!TI);
TI = 0;
SBUF = dat;
}
/*延時函數*/
void Delay(uint n)
{
uint x;
while(n--)
{
x=5000;
while(x--);
}
}
注釋原創
Ⅳ 51單片機在ad中怎麼找
51單片機在ad中怎麼找,打開ad的原理圖庫,雙擊,滑鼠移到原理圖中就有你點擊的原理圖元器件了,運算符中選擇包含,然後---范圍---選擇---庫文件路徑 搜索直接輸入c51或者c52就行,引腳兼容的。
Ⅳ 我這個51單片機AD轉換電路錯在哪裡呢,怎麼老是運行不起
模擬圖中,用單片機的ALE輸出信號,又用D觸發器分頻後送到ADC0809上,要是實物這種做法還可以。但是,用proteus 模擬就不行了,單片機的ALE是沒有信號輸出的,所以ADC電路無時鍾信號。其實,模擬時,可以直接用時鍾信號的,在proteus 左邊工具欄中選信號源,就是S字母那個,從中選DCLOCK,就是時鍾脈沖信號,放到模擬圖中後與ADC0809的CLOCK連接,並把信號頻率改為500K即可。把分頻的D觸發器都刪掉,這樣,模擬圖就簡單多了,而且也是對的。最後,順便說一句,那程序要顯示出標準的英文字母,看得清楚,別弄些亂七八糟的英文字體,顯示的像鳥文,實在是看不清楚。
Ⅵ 在altium designer中找到51單片機
找ATMEL的8位單片機庫或菲利普的8位單片機庫,有類似的