资源简介
在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\ob
文件 23244 2018-12-29 09:03 Renew\ob
文件 20022 2019-02-10 21:10 Renew\ob
文件 1002 2019-02-10 21:10 Renew\ob
文件 7811 2019-02-10 21:10 Renew\ob
文件 89 2019-02-10 21:10 Renew\ob
文件 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
- 上一篇:netkeeper破解
- 下一篇:山东大学汇编试验报告
相关资源
- 基于8086的电子琴proteus仿真有代码
- 51与adc0832++++信号发生器+可产生正弦波
- pic单片机实现的频率计
- 基于AT89C51的串口通信
- ctrt5000红外寻迹
- 基于AT89C51单片机的温度控制系统
- tdc-gp2的测试程序
- 单片机proteus设计有倒计时的红绿灯
- 51单片机上实现对短信猫控制的程序
- 51单片机读电池电量
- 51单片机最小系统Protel99SE原文件
- 51单片机汇编语言音乐程序
- IAR EW8051 V8.10.3程序和注册机
- iar for 8051 v9.30.1 带安装和破解文件
- C51的单片机底层串口程序
- 单片机英文参考文献有中文对照
- 点阵式LED滚动汉字显示屏的Proteus仿真
- 51单片机迷宫小车
- dS18b20的C8051F020程序
- 基于51单片机的记分器
- AT89C51RC2驱动TFT320240显示图片
- 单片机温度测量,与protues仿真
- 基于51单片机的比赛用记分器
- IEC62351-8-2011(TS)电力系统数据和通信
- 用DS1302与LCD12864设计的可调电子钟及仿
- 顾晖的《微机原理与接口技术-基于
- ftp-0.17-51.1.el6.x86_64.rpm
- 16×16点阵屏-四块8x8并排的效果
- 51单片机nrf24L01遥控小车
- 51单片机的数字温度,使用DS18B20,数
评论
共有 条评论