⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aa.c

📁 DSP的PWM波形程序,可用与TI公司的2407等DSP,用于电机控制
💻 C
字号:
#include<at89x52.h>

//显示1-8 0xbf00-0xbf07
//显示8,9 0xdf02,0xdf03
//ad      0xdf00(3,4电流,5,6电压)
//da      0xdf01
//开关量  P1_2,3输出 P1_4 ~ P1_7输入
#define kI1 1.0		//放大系数
#define kI2 1.0
#define kU1 1.0
#define kU2 1.0

#define dispAdd 0xbf00
#define dispAdd2 0xdf02
#define adAdd 0xdf00
#define daAdd 0xdf01
#define adBusy P1_0

char InBuff[16];	//输入缓冲区
char OutBuff[16];	//输出缓冲区
unsigned char InP;	//输入指针
unsigned char OutP;
unsigned char RsTemp;
char xdata *xdataAdd;
unsigned char dispBuff[10];
unsigned char code segTab[16]=
	{0x3F,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
	 0x3F,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f};
char ad(char i);
void disp();
unsigned char I1=0,I2=0,U1=0,U2=0;//电流1,2;电压1,2
main()
{
  //unsigned char i;
  unsigned char KeyInOut;//
  unsigned char Vout;//DA
  while(1)
  {
	//I1=ad(3);
//	I2=ad(4);
//	U1=ad(5);
	//U2=ad(6);
	//I1=kI1*I1;
	//I2=kI2*I2;
//	U1=kU1*U1;
//	U2=kU2*U2;	

	KeyInOut=P1;
	disp();
	xdataAdd=daAdd;
	*xdataAdd=Vout;
	TI=1;
  }
}
char ad(char i)
{
  xdataAdd=adAdd;
  *xdataAdd=i;
  while(!adBusy);
  return *xdataAdd;
}
void disp()
{
  char i;
  dispBuff[0]=I1/100;
  dispBuff[1]=I1/10%10;
  dispBuff[2]=I1%10;
  dispBuff[3]=I2/100;
  dispBuff[4]=I2/10%10;
  dispBuff[5]=I2%10;
  dispBuff[6]=U1/10%10;
  dispBuff[7]=U1%10;
  dispBuff[8]=U2/10%10;
  dispBuff[9]=U2%10;
  xdataAdd=dispAdd;
  for(i=0;i<8;i++)
  {
	if(i==1||i==4||i==6)
     *xdataAdd=dispBuff[i]+0x80;
	else 
	  *xdataAdd=dispBuff[i];
     xdataAdd++;
  }
  xdataAdd=dispAdd2;
  *xdataAdd=dispBuff[8]+0x80;
  xdataAdd++;
  *xdataAdd=dispBuff[9];
}
void setRs()
{
}
intRs() interrupt 4
{
	if(TI)
	{
		TI=0;
		RsTemp=OutP>>1;
		if(CY)
		{
			SBUF=(OutBuff[OutP]&0xf0)>>4+0x30;
		}
		else
			SBUF=OutBuff[OutP]&0x0f+0x30;
	}  
	else
	{
		RI=0;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -