lesson8.c
来自「基于AVR的模数转换程序。是开发单片机必备的基本技巧。 本程序出自高手之手」· C语言 代码 · 共 68 行
C
68 行
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
#include "Skey.c"
void spi_init()
{
DDRB|=0XA0;
DDRA|=BIT(PA1);
SPCR=0X57;
}
void ad5300(uchar daword)
{
uchar temp1=0,temp2=0,status;
temp1|=daword<<4;//1101 1001
temp2|=daword>>4;
PORTA&=~BIT(PA1);
SPSR=0;
SPDR=temp2;
do
{
status=SPSR;
}while(!(status&=0X80));
delay(10);
SPSR=0;
SPDR=temp1;
do
{
status=SPSR;
}while(!(status&=0X80));
SPSR=0;
delay(10);
PORTA|=BIT(PA1);
}
void main()
{
uchar i,data=128;
DDRB=0XFF;
spi_init();
ad5300(0);
ad5300(data);
while(1)
{
if(key_press())
{
i=key_scan();
switch(i)
{
case 0:
data=data+16;
break;
case 1:
data=data-16;
break;
case 2:
data=0;
break;
case 3:
data=255;
break;
}
ad5300(data);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?