您的位置:首页 > 其它

产生波形实验(DA转换)

2013-07-29 14:38 148 查看
/*DA转换实验 例如产生锯齿波*/

#include <reg52.h>

unsigned char xdata ad_cs0 _at_ 0xc000;
unsigned char xdata ad_cs1 _at_ 0xc001 ;
unsigned char xdata key_seg _at_ 0xd004;
unsigned char xdata key_bit _at_ 0xd002;

sbit EOC=P3^2;
unsigned char disp_ram[6];
unsigned char seg7[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71,0,0x80};
unsigned char scan[]={0x01,0x02,0x04,0x08,0x10,0x20};

void delay()
{
unsigned char i,j;
for (i=0;i<200;i++)
for (j=0;j<2;j++);
}

void main()
{
unsigned char i=0;
unsigned char ad_value;
unsigned char tmp,a;

disp_ram[0]=17;
disp_ram[1]=16;
disp_ram[2]=16;
disp_ram[3]=16;
disp_ram[4]=16;
disp_ram[5]=16;

ad_cs0=0;

while(1)
{
key_bit=scan[i];
a=seg7[disp_ram[i]];
if (i==5)
a=a|0x80;
key_seg=a;
delay();
i++;
i=i%6 ;

if (EOC)
{
ad_value=ad_cs0;
disp_ram[5]=ad_value*5/256;
tmp=(ad_value*5)%256;
disp_ram[4]=tmp/100;
disp_ram[3]=(tmp%100)/10;
}
ad_cs0=0;
} ;

}

DA转换 Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: