<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è) > 嵌入式系統 > 設計應用 > TLC5620產(chǎn)生頻率可調三相正弦信號

TLC5620產(chǎn)生頻率可調三相正弦信號

作者: 時(shí)間:2012-08-15 來(lái)源:網(wǎng)絡(luò ) 收藏
/*********************************************************/
//一般說(shuō)明
// 串行通信
//定時(shí)器控制其3路正弦波輸出頻率
/*********************************************************/
#include reg51.h> //用于調試子程序

/*********************************************************/
//的核心子程序
/*********************************************************/
#define uint unsigned int
#define uchar unsigned char
#define STC5620_A 0 //通道A,增益0 由于先寫(xiě)高位所以已經(jīng)做過(guò)左移5位處理
#define STC5620_B 64 //通道B,增益0
#define STC5620_C 128 //通道B,增益0
sbit STC5620_LDAC=P3^2; //定義與單片機的接口
sbit STC5620_LOAD=P3^3;
sbit STC5620_CLK=P3^5;
sbit STC5620_DATA=P3^4;
uchar code DAC_SIN[100]={128,136,144,152,160,168,175,182,190,197,
203,210,216,221,227,232,236,240,244,247,
250,252,254,255,255,255,255,255,254,252,
250,247,244,240,236,232,227,221,216,210,
203,197,190,182,175,168,160,152,144,136,
128,120,112,104,96, 88, 81, 74, 66, 59,
53, 46, 40, 35, 29, 24, 20, 16, 12, 9,
6, 4, 2, 1, 0, 0, 0, 1, 2, 4,
6, 9, 12, 16, 20, 24, 29, 35, 40, 46,
53, 59, 66, 74, 81, 88, 96, 104,112,120,
}; //對正弦波采100個(gè)樣點(diǎn)
void STC5620_write_com(uchar channel,uchar vol) // 選通道,寫(xiě)輸出電壓命令
{
uchar i;
STC5620_LDAC=1;
STC5620_LOAD=1; //總線(xiàn)拉高準備寫(xiě)入
for(i=0;i3;i++) //寫(xiě)入選擇通道命令,其中默認了增益為1
{

STC5620_DATA=(bit)(channel0x80);
STC5620_CLK=1; //下降沿鎖存數據
STC5620_CLK=0;
channel=1 ;
}
for(i=0;i8;i++) //寫(xiě)入輸出電壓命令
{

STC5620_DATA=(bit)(vol0x80);
STC5620_CLK=1; //下降寫(xiě)數據入串口緩沖器
STC5620_CLK=0;
vol=1;
}
STC5620_LOAD=0; //下降沿寫(xiě)串口緩沖器入通道指定的中間緩沖器
STC5620_LDAC=0; //下降沿寫(xiě)中間緩沖器入通道對應的輸出緩沖器
}
void STC5620_sin(void)
{
static uchar ii=0,jj=33,kk=66; //總點(diǎn)數為100個(gè)點(diǎn),可以用于設定相位差
//定義靜態(tài)變量 每次更新上次值
{
STC5620_write_com(STC5620_A,DAC_SIN[ii]);
ii=ii+2; //控制通道A采樣點(diǎn)數
if(ii>99) ii=0;
STC5620_write_com(STC5620_B,DAC_SIN[jj]);
jj=jj+2; //控制通道B采樣點(diǎn)數
if(jj>99) jj=0;
STC5620_write_com(STC5620_C,DAC_SIN[kk]);
kk=kk+2; //控制通道C采樣點(diǎn)數
if(kk>99) kk=0;
}
}
/*********************************************************/
//設置定時(shí)中斷控制TLC5620輸出正弦波的頻率
/*********************************************************/
void Init_T0(void)
{
EA=1;
ET0=1;
TMOD=0x02; //自動(dòng)裝載計數
TR0=1;
TL0=TH0=256-90; //設置頻率 具體使用時(shí)計算出參數后再幅值
//頻率計算公式a:計數個(gè)數;p:晶振頻率;b:取樣點(diǎn)數;則在單片機12分頻工作模式情況下頻率=p/(12ab)
//此時(shí)頻率為
}

void time0() interrupt 1
{
STC5620_sin();
}

/*********************************************************/
//主函數
/*********************************************************/
void main()
{
Init_T0(); //初始化定時(shí)器
while(1); //等待中斷
}


評論


相關(guān)推薦

技術(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>