您的位置:首页 > 其它

产生波形实验(DA转换)

2013-07-29 14:38 169 查看
/*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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: