专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

用单片机产生双正弦波的c程序

作者:佚名   来源:本站原创   点击数:  更新时间:2009年09月12日   【字体:

下面是一个用51系列单片机产生双正弦波的c语言程序
//开发设计:51hei单片机教程网
#include< at89x51.h>
#include< absacc.h>

typedef unsigned char uint8;
typedef unsigned int uint16;
typedef unsigned long uint32;

#define ON_Y_DATAS XBYTE[0xDFFF]//Y点控制 ADDRESS:0xDFFF
#define ON_X_DATAS XBYTE[0xBFFF]//X点控制 ADDRESS:0xBFFF
#define OPEN_XY_DATAS XBYTE[0x7FFF]//Y点控制 ADDRESS:0x7FFF

void delayUs(uint16 User)
  {
 while(User--);
}

  //测试波形 三角波
void testPulse(void)
{
 uint8 data q;

 ON_Y_DATAS=0;
 ON_X_DATAS=0;
 OPEN_XY_DATAS=0xFF;
 delayUs(100);

 for(q=0;q<15;q++)
 {
  ON_Y_DATAS = (q*0x10)+0x10;
  ON_X_DATAS = (q*0x10)+0x10;
  OPEN_XY_DATAS = 0xFF;
  delayUs(100);
 }
 
 for(q=16;q>0;q--)
 {
  ON_Y_DATAS=(q*0x10)-0x10;
  ON_X_DATAS=(q*0x10)-0x10;
  OPEN_XY_DATAS=0xFF;
 delayUs(100);
 }
}
void main(void) //波形测试
{
 while(1)
 {
  testPulse();
 }
}

注意:转载必须保留文章出处.

关闭窗口

相关文章