📄 mxh.c
字号:
/**********************************************************
制作者:长江大学电信学院梅旭红
QQ:707378760
Email:mxh20999@163.com
**********************************************************/
#include<reg52.h>
#include<absacc.h>
#define DAC0832 XBYTE[0x0fff]
float code table2[]={
100.0000 , 102.4541 , 104.9068 , 107.3565 , 109.8017 ,112.2411 , 114.6730 , 117.0962, 119.5090,
121.9101 , 124.2980, 126.6713 , 129.0285, 131.3682 , 133.6890 , 135.9895, 138.2683, 140.5241,
142.7555 , 144.9611, 147.1397, 149.2898 ,151.4103 , 153.4998 , 155.5570, 157.5808 , 159.5699,
161.5232 , 163.4393 , 165.3173, 167.1559 , 168.9541, 170.7107, 172.4247 , 174.0951, 175.7209,
177.3010 , 178.8346, 180.3208 , 181.7585 , 183.1470, 184.4854 , 185.7729, 187.0087 ,188.1921,
189.3224 , 190.3989 , 191.4210 , 192.3880 , 193.2993 , 194.1544 , 194.9528 , 195.6940 , 196.3776,
197.0031 , 197.5702 , 198.0785, 198.5278 , 198.9177 , 199.2480 , 199.5185 , 199.7290, 199.8795,
199.9699 , 200.0000 , 199.9699, 199.8795 , 199.7290 , 199.5185 , 199.2480 ,198.9177 ,198.5278,
198.0785, 197.5702, 197.0031 , 196.3776, 195.6940 , 194.9528 , 194.1544, 193.2993 , 192.3880,
191.4210 , 190.3989 , 189.3224 , 188.1921, 187.0087, 185.7729 , 184.4854, 183.1470, 181.7585,
180.3208, 178.8346 , 177.3010, 175.7209 , 174.0951 , 172.4247 , 170.7107, 168.9541 , 167.1559,
165.3173 , 163.4393 , 161.5232, 159.5699 , 157.5808 , 155.5570 , 153.4998 ,151.4103 , 149.2898,
147.1397 , 144.9611 , 142.7555 , 140.5241 , 138.2683 , 135.9895 , 133.6890, 131.3682, 129.0285,
126.6713 , 124.2980 , 121.9101 , 119.5090 , 117.0962 , 114.6730 , 112.2411, 109.8017, 107.3565,
104.9068, 102.4541 , 100.0000 , 97.5459 , 95.0932, 92.6435, 90.1983 , 87.7589 , 85.3270,
82.9038 , 80.4910 , 78.0899 , 75.7020 , 73.3287 , 70.9715, 68.6318, 66.3110 , 64.0105,
61.7317 , 59.4759 , 57.2445 , 55.0389, 52.8603 , 50.7102 , 48.5897, 46.5002 , 44.4430,
42.4192 , 40.4301, 38.4768 , 36.5607 , 34.6827, 32.8441 , 31.0459 , 29.2893 , 27.5753,
25.9049, 24.2791, 22.6990 , 21.1654 , 19.6792 , 18.2415 , 16.8530 , 15.5146 , 14.2271,
12.9913, 11.8079, 10.6776, 9.6011 , 8.5790, 7.6120, 6.7007, 5.8456 , 5.0472,
4.3060 , 3.6224 , 2.9969 , 2.4298 , 1.9215 , 1.4722 , 1.0823 , 0.7520 , 0.4815,
0.2710 , 0.1205, 0.0301 , 0 , 0.0301 , 0.1205 , 0.2710 , 0.4815 , 0.7520,
1.0823 , 1.4722 , 1.9215 , 2.4298, 2.9969 , 3.6224 , 4.3060 , 5.0472 , 5.8456,
6.7007 , 7.6120 , 8.5790, 9.6011 , 10.6776, 11.8079 , 12.9913 , 14.2271, 15.5146,
16.8530 , 18.2415, 19.6792 , 21.1654 , 22.6990 , 24.2791 , 25.9049 , 27.5753 , 29.2893,
31.0459 , 32.8441 , 34.6827, 36.5607 , 38.4768 , 40.4301, 42.4192 , 44.4430 , 46.5002,
48.5897 , 50.7102 , 52.8603, 55.0389 , 57.2445 , 59.4759, 61.7317 , 64.0105 , 66.3110,
68.6318 , 70.9715 , 73.3287 ,75.7020 , 78.0899, 80.4910, 82.9038 , 85.3270 , 87.7589,
90.1983, 92.6435 , 95.0932 , 97.5459 , 100.0000
};
/**********************延时函数*************************/
void delay(unsigned int i)
{
while(i--);
}
/*********************方波**********************/
void fang()
{
DAC0832=0;
delay(15);
DAC0832=0xff;
delay(15);
}
/********************锯齿波********************/
void jvchi()
{
unsigned char i;
for(i=0;i<255;i++)
{
DAC0832=i;
// delay(10);
}
}
/*********************三角波*******************/
void tran()
{
unsigned char i;
for(i=0;i<255;i++)
{
DAC0832=i;
// delay(10);
}
for(i=255;i>0;i--)
{
DAC0832=i;
// delay(10);
}
}
/******************正弦波*********************/
void sin()
{
unsigned int i;
for(i=0;i<256;i++)
{
DAC0832=table2[i];
// delay(10);
}
}
/*********************主函数********************/
void main(void)
{
while(1)
{
if(P1==0xfe)fang();
if(P1==0xfd)jvchi();
if(P1==0xfb)tran();
if(P1==0xf7)sin();
if(P1==0xff)DAC0832=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -