欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
AD9850串行與并行編程實例
[打印本頁]
作者:
lichenjie
時間:
2017-11-12 16:49
標題:
AD9850串行與并行編程實例
包括AD9850串行和并行代碼所有資料51hei提供下載::
AD9850-串行.rar
(46.25 KB, 下載次數: 29)
2017-11-12 16:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
ad9850-并行.rar
(39.72 KB, 下載次數: 23)
2017-11-12 16:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機源程序(串行)如下:
# include <reg51.h>
# include <stdio.h>
# include <intrins.h>
sbit ad9850_w_clk =P0^2; //P2.2口接ad9850的w_clk腳/PIN7
sbit ad9850_fq_up =P0^1; //P2.1口接ad9850的fq_up腳/PIN8
sbit ad9850_rest =P0^0; //P2.0口接ad9850的rest腳/PIN12
sbit ad9850_bit_data =P0^3; //P1.3口接ad9850的D7腳/PIN25
sbit ad9850_w_clks =P0^6; //P2.6口接ad9850的w_clk腳/PIN7
sbit ad9850_fq_ups =P0^5; //P2.5口接ad9850的fq_up腳/PIN8
sbit ad9850_rests =P0^4; //P2.4口接ad9850的rest腳/PIN12
sbit ad9850_bit_datas =P0^7; //P1.7口接ad9850的D7腳/PIN25
//***************************************************//
// ad9850復位(串口模式) //
//---------------------------------------------------//
void ad9850_reset_serial()
{
ad9850_w_clk=0;
ad9850_fq_up=0;
//rest信號
ad9850_rest=0;
ad9850_rest=1;
ad9850_rest=0;
//w_clk信號
ad9850_w_clk=0;
ad9850_w_clk=1;
ad9850_w_clk=0;
//fq_up信號
ad9850_fq_up=0;
ad9850_fq_up=1;
ad9850_fq_up=0;
}
void ad9850_reset_serials()
{
ad9850_w_clks=0;
ad9850_fq_ups=0;
//rest信號
ad9850_rests=0;
ad9850_rests=1;
ad9850_rests=0;
//w_clk信號
ad9850_w_clks=0;
ad9850_w_clks=1;
ad9850_w_clks=0;
//fq_up信號
ad9850_fq_ups=0;
ad9850_fq_ups=1;
ad9850_fq_ups=0;
}
//***************************************************//
// 向ad9850中寫命令與數據(串口) //
//---------------------------------------------------//
void ad9850_wr_serial(unsigned char w0,double frequence)
{
unsigned char i,w;
long int y;
double x;
//計算頻率的HEX值
x=4294967295/125;//適合125M晶振
//如果時鐘頻率不為180MHZ,修改該處的頻率值,單位MHz !!!
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
//寫w4數據
w=(y>>=0);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w3數據
w=(y>>8);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w2數據
w=(y>>16);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w1數據
w=(y>>24);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w0數據
w=w0;
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//移入始能
ad9850_fq_up=1;
ad9850_fq_up=0;
}
void ad9850_wr_serials(unsigned char w0,double frequence)
{
unsigned char i,w;
long int y;
double x;
//計算頻率的HEX值
x=4294967295/125;//適合125M晶振
//如果時鐘頻率不為180MHZ,修改該處的頻率值,單位MHz !!!
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
//寫w4數據
w=(y>>=0);
for(i=0;i<8;i++)
{
ad9850_bit_datas=(w>>i)&0x01;
ad9850_w_clks=1;
ad9850_w_clks=0;
}
//寫w3數據
w=(y>>8);
for(i=0;i<8;i++)
{
ad9850_bit_datas=(w>>i)&0x01;
ad9850_w_clks=1;
ad9850_w_clks=0;
}
//寫w2數據
w=(y>>16);
for(i=0;i<8;i++)
{
ad9850_bit_datas=(w>>i)&0x01;
ad9850_w_clks=1;
ad9850_w_clks=0;
}
//寫w1數據
w=(y>>24);
for(i=0;i<8;i++)
{
ad9850_bit_datas=(w>>i)&0x01;
ad9850_w_clks=1;
ad9850_w_clks=0;
}
//寫w0數據
w=w0;
for(i=0;i<8;i++)
{
ad9850_bit_datas=(w>>i)&0x01;
ad9850_w_clks=1;
ad9850_w_clks=0;
}
//移入始能
ad9850_fq_ups=1;
ad9850_fq_ups=0;
}
void delay(int max)
{
int i,j,k;
for(i=0;i<max;i++)
for(j=0;j<6144;j++)
k++;
}
//***************************************************//
// 測試程序1000Hz //
//---------------------------------------------------//
main()
{
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
作者:
zxy2266
時間:
2017-11-25 19:57
看來關心的不多啊,玩信號的少
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1