📄 训练项目十四:da转换器的应用.c
字号:
#include"iom128v.h"
#include"macros.h"
#define SetW_CLK PORTC|=BIT(PC1)
#define ClrW_CLK PORTC&=~BIT(PC1)
#define SetFQ_UD PORTC|=BIT(PC0)
#define ClrFQ_UD PORTC&=~BIT(PC0)
void Delay(unsigned int uin)
{
int i;
for(i=0;i<uin;i++);
}
void Delay_1ms (void)
{
unsigned int i;
for (i=0;i<2260;i++){
;
}
}
void Delay_nms(unsigned int uin)
{
unsigned int i=0;
for (i=0;i<uin;i++) {
Delay_1ms();
}
}
void Delay_ms (unsigned int uin)
{
int i;
for(i=0;i<uin;i++) {
Delay_nms(1000);
}
}
void Init9851 ()
{
DDRC|=0x03;
DDRB|=0x01;
PORTB=0xff;
ClrW_CLK ;
ClrFQ_UD;
Delay(2);
SetW_CLK ;
Delay(2);
ClrW_CLK ;
Delay(5);
SetFQ_UD ;
Delay(2);
ClrFQ_UD;
}
void WriteAD9851 (unsigned long int uldds)
{
unsigned char i;
ClrW_CLK ;
ClrFQ_UD;
for(i=0;i<40;i++) {
ClrW_CLK ;
if(uldds&0x000000001||i==32)
PORTB|=0x01;
else
PORTB&=0x00;
SetW_CLK ;
uldds=uldds>>1;
}
SetFQ_UD ;
ClrW_CLK ;
Delay(5);
ClrFQ_UD;
}
void Write_freq (unsigned long int ulfreq)
{
unsigned long uldds;
uldds=ulfreq*29.82617;
WriteAD9851(uldds);
}
void main()
{
unsigned long i;
i=100;
Init9851();
Write_freq(20000000);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -