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

📄 正弦波.c

📁 under the keil c 51 enviorenment creat sina wave
💻 C
字号:
#include<reg52.h>
#include<absacc.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
#define DAT XBYTE[0x0A800]
#define value 



uchar code sin_tab[256]=
      {0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,
       0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5,
       0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7,
       0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,
       0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4,
       0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE,
       0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,0xE4,
       0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7,
       0xE7,0xE7,0xE7,0xE7,0xE6,0xE6,0xE5,0xE5,
       0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF,
       0xDE,0xDD,0xDC,0xDB,0xDA,0xD8,0xD7,0xD6,
       0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9,
       0xC7,0xC5,0xC3,0xC1,0xBF,0xBD,0xBB,0xB9,
       0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA,0xA7,
       0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94,
       0x92,0x8F,0x8D,0x8A,0x88,0x85,0x83,0x80,
       0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C,
       0x69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x59,
       0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47,
       0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,
       0x35,0x34,0x32,0x30,0x2F,0x2D,0x2C,0x2A,
       0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,
       0x20,0x1F,0x1E,0x1D,0x1D,0x1C,0x1C,0x1B,
       0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19,
       0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B,
       0x1B,0x1C,0x1C,0x1D,0x1D,0x1E,0x1F,0x20,
       0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,
       0x2A,0x2C,0x2D,0x2F,0x30,0x32,0x34,0x35,
       0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45,
       0x47,0x49,0x4B,0x4D,0x4F,0x52,0x54,0x56,
       0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69,
       0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D
};





uint data THHL=65535;
uchar data keyword, n=0;





void keyscan()
{
	
	keyword=0;
	switch (keyword)
	{
	 	case 1:
		{
    		if (THHL>=65235) 
        
          		THHL=65535;
          
			else
				{ 
    				THHL+=255;
				}
    	break;  
		}
		case 2:
		{
    		if (THHL<=500) 
        
          		THHL=0;
          
			else
				{ 
    				THHL-=255;
				}
   	    break;  
		}
		default:{break;}

	}
}
//-----------------------------------------------------
//                     主程序
//-----------------------------------------------------
void main()
{  
    
     EA=1;
    ET0=1;    
    TMOD=0x01; 
    TH0=0xff;
	TL0=0xff;     
	TR0=1; 

	while (1)
{
keyscan();
}	
	
	
 }  
void time0(void) interrupt 1 
{
	TR0=0;
	TH0=0xff;
	TL0=0xff; 
	TR0=1;  

	DAT=sin_tab[n];
	if (n>=255)
    	{n=0;}
	else
	  {n=n+1;}
}
  
  

⌨️ 快捷键说明

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