📄 text1.c
字号:
#include <reg51.h>
#define uchar unsigned char
#define dataout P0
void clearmen();
unsigned int a;
void keyscan();
void delay1ms(unsigned char ms);
sbit fangbo=P3^7;
//=============正弦波数据====================
uchar code sin_tab[128]={64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,
109,111,113,115,117,118,120,121,123,124,125,126,126,
127,127,127,127,127,127,127,126,126,125,124,123,121,
120,118,117,115,113,111,109,106,104,102,99,96,94,91,
88,85,82,79,76,73,70,67,64,60,57,54,51,48,45,42,39,
36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,
1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23,
25,28,31,33,36,39,42,45,48,51,54,57,60
};
unsigned int data THHL =65535;
uchar n=0;
sbit K1=P1^4;
bdata sinthr;
//===============================================================
void main()
{
clearmen();
while(1)
{keyscan();}
}
//===============================================================
void keyscan()
{
if(K1==0)
{
delay1ms(10);
while(K1==0);
THHL=THHL+255;
if(THHL >= 65235)THHL=65535;
}
}
//================================================================
void clearmen()
{
dataout=0x00;THHL=56555;
P3=0xff;
TH1=THHL/256;TL1=THHL%256;
TMOD=0x11;ET1=1;TR1=1;EA=1;
P3=0x00;
a=0;
}
//===============================================================
void time_intt1(void) interrupt 3
{
EA=0;TR1=0;TH1=THHL/256;TL1=THHL%256;TR1=1;
dataout=sin_tab[a];
fangbo=~fangbo;
n++;
a++;
if(n> 255){n=0;}
if(a>127){a=0;}
EA=1;
}
//===============================================
void delay1ms(unsigned char ms)
{
unsigned char i;
while(ms--)
{for(i=0;i<120;i++);}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -