欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3340|回復: 3
打印 上一主題 下一主題
收起左側

[求助] 如何提高51單片機AD采集的頻率?

[復制鏈接]
跳轉到指定樓層
樓主
ID:387861 發表于 2018-8-19 17:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 gjxfree 于 2018-8-19 17:16 編輯

各位大佬求幫助,實驗需要采集一個7khz的正弦波,我用的stc89c51,晶振12m,ad轉換頻率125khz
根據時序圖寫的讀取ad的函數,但是12m的晶振,一條指令就是1us,這樣算下來讀取一次怎么都需要個0.5ms以上,一秒鐘是怎么也到不了7khz的,請問各位大佬現在該怎么處理。

uintRead_AD_Data(uchar cmd)
{
uint AD_Value;
CLK = 0;
CS  = 0;
SPI_Write(cmd);
for(AD_Value=6; AD_Value>0; AD_Value--);
CLK = 1;  
_nop_();
_nop_();
CLK = 0;
_nop_();
_nop_();
AD_Value=SPI_Read();  
CS = 1;
return AD_Value;
}



void SPI_Write(uchar dat)
{
uchar i;
CLK = 0;
for(i=0; i<8; i++)
{
  DIN = dat >> 7;   
  dat <<= 1;
  CLK = 0;   
  CLK = 1;
}
}


uint SPI_Read(void)
{
uint i, dat=0;
CLK = 0;
for(i=0; i<12; i++)  //????12λ????
{
  dat <<= 1;
  CLK = 1;
  CLK = 0;
  dat |= DOUT;
}
return dat;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:384109 發表于 2018-8-19 19:19 | 只看該作者
晶振是可以提高的,至少可以是22.1184MHz,再看看單片機的數據手冊,看是否可以以單周期指令的方式運行
回復

使用道具 舉報

無效樓層,該帖已經被刪除
地板
ID:388197 發表于 2018-8-20 17:35 | 只看該作者
樓主用的是AD芯片型號是什么
ADC0832么?
我當初學ADC0808的時候試過用一個外接時鐘源(當時好像是用一塊NE555接成方波發生器)提供的時鐘.
話說回來現在大部分的單片機都有片上AD.

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:386381 發表于 2018-8-20 21:36 來自觸屏版 | 只看該作者
那就采用高速芯片來做吧
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表