<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MAX5307程序調試中遇到的時(shí)鐘問(wèn)題

MAX5307程序調試中遇到的時(shí)鐘問(wèn)題

作者: 時(shí)間:2012-10-27 來(lái)源:網(wǎng)絡(luò ) 收藏

調試了好久終于調試出來(lái)了啊,原來(lái)罪魁禍首竟然是一個(gè)時(shí)鐘的問(wèn)題:

DAC0(uchar t)
{ uchar i;
uint x,y;//控制轉換的命令字節
uint p_up;
p_up=0xffff;
EN138=1;
A138=0;
B138=0;
//DA_CLK=1;//由于在下降沿輸出,故先拉高
delay(5);
for(i=0;i16;i++)
{
DA_DIN=(bit)(p_up0x8000);//取最高位傳送
DA_CLK=1;
delay(10);
DA_CLK=0;
delay(10);
p_up=1;
}
EN138=1;//將5307的CS端拉高,準備下次的數據輸入.
A138=1;
B138=1;
delay(10);
//********************************************以上將全部DA使能輸出
EN138=1;
A138=0;
B138=0;
//DA_CLK=1;//由于在下降沿輸出,故先拉高
delay(5);
for(i=0;i16;i++)
{
DA_DIN=(bit)(dandc0x8000);//取最高位傳送
DA_CLK=1;
delay(10);
DA_CLK=0;
delay(10);
dandc=1;
}
EN138=1;//將5307的CS端拉高,準備下次的數據輸入.
A138=1;
B138=1;
delay(5);

//**********************以上部分僅僅完成了數據的傳送
x=0x0010;
x=xt;//用1選中要進(jìn)行轉換的通道.
y=0xe000;//啟動(dòng)轉換的命令
y=y|x;
EN138=1;
A138=0;
B138=0;
//DA_CLK=1;//由于在下降沿輸出,故先拉高
delay(10);
for(i=0;i16;i++)
{
DA_DIN=(bit)(y0x8000);//取最高位傳送
DA_CLK=1;
delay(10);
DA_CLK=0;
delay(10);
y=1;
}
delay(10);
EN138=1;
A138=1;
B138=1;
} 以上為正確的程序,嘔心瀝血啊。有看的就要回貼啊,哪怕是罵兩句。

下面把錯誤的程序也貼出來(lái),以供參考學(xué)習:

DAC0(uchar t)
{ uchar i;
uint x,y;//控制轉換的命令字節
uint p_up;
p_up=0xffff;
EN138=1;
A138=0;
B138=0;
DA_CLK=1;//由于在下降沿輸出,故先拉高
delay(5);
for(i=0;i16;i++)
{
DA_DIN=(bit)(p_up0x8000);//取最高位傳送
DA_CLK=0;
delay(10);
DA_CLK=1;
delay(10);
p_up=1;
}
EN138=1;//將5307的CS端拉高,準備下次的數據輸入.
A138=1;
B138=1;
delay(10);
//********************************************以上將全部DA使能輸出
EN138=1;
A138=0;
B138=0;
DA_CLK=1;//由于在下降沿輸出,故先拉高
delay(5);
for(i=0;i16;i++)
{
DA_DIN=(bit)(dandc0x8000);//取最高位傳送
DA_CLK=0;
delay(10);
DA_CLK=1;
delay(10);
dandc=1;
}
EN138=1;//將5307的CS端拉高,準備下次的數據輸入.
A138=1;
B138=1;
delay(5);

//**********************以上部分僅僅完成了數據的傳送
x=0x0010;
x=xt;//用1選中要進(jìn)行轉換的通道.
y=0xe000;//啟動(dòng)轉換的命令
y=y|x;
EN138=1;
A138=0;
B138=0;
DA_CLK=1;//由于在下降沿輸出,故先拉高
delay(10);
for(i=0;i16;i++)
{
DA_DIN=(bit)(y0x8000);//取最高位傳送
DA_CLK=0;
delay(10);
DA_CLK=1;
delay(10);
y=1;
}
delay(10);
EN138=1;
A138=1;
B138=1;
}

兩個(gè)程序中綠色的部分為不一樣的地方,其實(shí)也就是時(shí)鐘的下降沿的時(shí)間有沒(méi)有延時(shí)的問(wèn)題,由于DA轉換和單片機部分用了光藕隔離所以才會(huì )出現這種需要延時(shí)的情況,如果沒(méi)有隔離的話(huà),完全可以不用延時(shí),因為的最高可以達到15MHZ的轉換和數字傳輸頻率。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>