• 大小: 100KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: 其他
  • 标签: Proteus  51  

资源简介

在Proteus,基于51单片机,实现一个波形发生器,可在三角波、方波、正弦波三种波形之间转换,可手动调节(用矩阵键盘实现按键输入效果)频率(1到400HZ)和幅度。

资源截图

代码片段和文件信息

#include 
typedef unsigned char u8;
#define __BEGIN(ms) static unsigned long _clk = 0; \
if(ALL_Clk - ms > _clk)do{_clk = ALL_Clk
#define __END() }while(0)

#define KEY P1
#define DAC P2
#define DISPLAY P0


typedef struct{
u8 key_value;
u8 port_value;
}Table;

Table code keyTable[16]={
00x1110x2120x4130x81
40x1250x2260x4270x82
80x1490x24100x44110x84
120x18130x28140x48150x88
};

u8 code smgTableNumber[]={
0x3f0x060x5b0x4f
0x660x6d0x7d0x07
0x7f0x6f0x770x7c
0x390x5e0x790x71
};

u8 code smgTableSelect[]={
0xef0xdf0xbf0x7f
0xfe0xfd0xfb0xf70xff
};

u8 code Waveform_sin_5[40]={
128148167186203
218231242249254
255254249241231
217202185166147
127106876851
36231351
0161425
38547190109
};
u8 code Waveform_sin_4[40]={
102117133148162
174184193199202
203202198192184
173161147132117
10185695441
29181041
0151120
3043567187
};
u8 code Waveform_sin_3[40]={
7789100112122
131139145150153
153153150145139
13112111110088
7664524131
2214830
014815
2332435466
};
u8 code Waveform_sin_2[40]={
5158667481
87929699101
101101999692
8680736658
5042342720
149520
002510
1521283543
};
u8 code Waveform_sin_1[40]={
2630343741
4447495051
5151504946
4441373329
2521171310
74210
00125
711141822
};
u8 code Waveform_triangular_5[40]={
012253851
637689102114
127140153165178
191204216229242
255242229216204
191178165153140
1271141028976
6351382512 
};
u8 code Waveform_triangular_4[40]={
010203040
5161718191
102112122132142
153163173183193
204193183173163
153142132122112
10291817161
5140302010
};
u8 code Waveform_triangular_3[40]={
07152230
3845536168
76849199107
114122130137145
153145137130122
114107999184
7668615345
383022157
};
u8 code Waveform_triangular_2[40]={
05101520
2530354045
5156616671
7681869196
10296918681
7671666156
5145403530
252015105
};
u8 code Waveform_triangular_1[40]={
025710
1215172022
2528303335
3840434548
5148454340
3835333028
2522201715
1210752
};

static unsigned long ALL_Clk = 0;
static u8 KeyValue = 0;
static u8 KeyStatus = 0;
// 0 为 脉冲波,1 为三角波,2 为正弦波
static unsigned int WaveType = 0;
// 0 为可以输入数字模式改频率,1为输入值为改变幅度
static u8 KeyInFlag = 0;
static u8 KeyInStart = 0;
static unsigned int KeyInput = 10; //显示的数
static unsigned int FreInput = 10; //实际的频率数
static unsigned int Timer = 100;
static unsigned int Tim1Low = 0;
static unsigned int Tim1Hei = 0;
static unsigned int D

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-02-10 21:11  Renew\
     文件       24860  2019-02-10 21:08  Renew\Last Loaded MakeWave.pdsbak
     目录           0  2019-02-10 21:10  Renew\Listings\
     文件       21229  2018-12-29 09:03  Renew\Listings\Main.lst
     文件       14084  2018-12-27 14:09  Renew\Listings\Task.lst
     文件       20092  2018-12-27 15:17  Renew\Listings\Task.m51
     文件       22520  2019-02-10 21:10  Renew\Listings\Wave.m51
     文件       10890  2018-12-29 09:03  Renew\Main.c
     文件       24846  2019-02-10 21:11  Renew\MakeWave.pdsprj
     文件        2357  2019-02-10 21:11  Renew\MakeWave.pdsprj.DESKTOP-1LVPF52.wolov.workspace
     目录           0  2019-02-10 21:10  Renew\objects\
     文件       23244  2018-12-29 09:03  Renew\objects\Main.obj
     文件       20022  2019-02-10 21:10  Renew\objects\Wave
     文件        1002  2019-02-10 21:10  Renew\objects\Wave.build_log.htm
     文件        7811  2019-02-10 21:10  Renew\objects\Wave.hex
     文件          89  2019-02-10 21:10  Renew\objects\Wave.lnp
     文件       91248  2019-02-10 21:10  Renew\Wave.uvgui.wolov
     文件        5380  2018-12-27 15:18  Renew\Wave.uvopt
     文件       14274  2018-12-27 15:18  Renew\Wave.uvproj

评论

共有 条评论