專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

用單片機產(chǎn)生雙正弦波的c程序

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2009年09月12日   【字體:

下面是一個用51系列單片機產(chǎn)生雙正弦波的c語言程序
//開發(fā)設計:51hei單片機教程網(wǎng)
#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();
 }
}

注意:轉載必須保留文章出處.

關閉窗口

相關文章