资源简介
51写的波形发生器仿真程序,里面有protues电路图和C语言程序,开关切换波形。含有正弦波、三角波、锯齿波、方波等波形、

代码片段和文件信息
#include
#include
#include
#define DAC0832 XBYTE[0x7fff]
#define pi 3.14
sbit k1 = P1 ^ 0;
sbit k2 = P1 ^ 1;
sbit k3 = P1 ^ 2;
sbit k4 = P1 ^ 3;
sbit k5 = P1 ^ 4;
sbit k6 = P1 ^ 5;
sbit k7 = P1 ^ 6;
int flag1 = 0;
int flag2 = 0;
int flag3 = 0;
int flag4 = 0;
int flag5 = 0;
int flag6 = 0;
int flag7 = 0;
int zhengxian(int i)
{
int j;
float T;
j = i;
T = pi * j / 32;
T = 100 * sin(T) + 100;
return (int) T;
}
int zhengxian_1(int i)
{
int j;
float T;
j = i;
T = pi * j / 32;
T = 100 * sin(2*T) + 100;
return (int) T;
}
int zhengxian_2(int i)
{
int j;
float T;
j = i;
T = pi * j / 32;
T = 100 * sin(4*T) + 100;
return (int) T;
}
void delay() //延时程序
{
int i;
for (i = 0; i < 1000; i++)
;
}
void panduan(void) //函数panduan用于扫描按键状态,判断输出波形
{
if (k1 == 0)
{ //按键消抖
flag1 = 1;
flag2 = 0;
flag3 = 0;
flag4 = 0;
flag5 = 0;
flag6 = 0;
flag7 = 0;
}
if (k2 == 0)
{
flag1 = 0;
flag2 = 1;
flag3 = 0;
flag4 = 0;
flag5 = 0;
flag6 = 0;
flag7 = 0;
}
if (k3 == 0)
{
flag1 = 0;
flag2 = 0;
flag3 = 1;
flag4 = 0;
flag5 = 0;
flag6 = 0;
flag7 = 0;
}
if (k4 == 0)
{
flag1 = 0;
flag2 = 0;
flag3 = 0;
flag4 = 1;
flag5 = 0;
flag6 = 0;
flag7 = 0;
}
if (k5 == 0)
{
flag1 = 0;
flag2 = 0;
flag3 = 0;
flag4 = 0;
flag5 = 1;
flag6 = 0;
flag7 = 0;
}
if (k6 == 0)
{
flag1 = 0;
flag2 = 0;
flag3 = 0;
flag4 = 0;
flag5 = 0;
flag6 = 1;
flag7 = 0;
}
if (k7 == 0)
{
flag1 = 0;
flag2 = 0;
flag3 = 0;
flag4 = 0;
flag5 = 0;
flag6 = 0;
flag7 = 1;
}
}
void boxing(void) //函数boxing用于产生选择好的波形
{
if (flag1 == 1) //产生方波
{
DAC0832=0x00;
delay();
DAC0832=0xff;
delay();
}
else if(flag2==1) //产生正弦波
{ int i;
for(i=0;i<256;i++)
{ DAC0832=(int)zhengxian(i);}
}
else if(flag3==1) //三角波
{ int i;
for(i=0;i<=255;i++)
DAC0832=i;
for(i=255;i>=0;i--)
DAC0832=i;}
else if(flag4==1) //梯形波
{ int i;
for(i=0;i<=255;i++)
DAC0832=0;
for(i=0;i<=255;i++)
DAC0832=i;
for(i=255;i>=0;i--)
DAC0832=0XFF;
for(i=255;i>=0;i--)
DAC0832=i;
}
else if(flag5==1) //锯齿波
{ int i;
for(i=0;i<=255;i++)
DAC0832=i;
}
else if(flag6==1)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-31 15:11 51黑论坛_DAC0832\
目录 0 2018-05-31 16:00 51黑论坛_DAC0832\DAC0832\
文件 22479 2018-05-31 15:47 51黑论坛_DAC0832\DAC0832\Backup Of zhangjisingba.pdsbak
文件 22732 2018-05-31 15:53 51黑论坛_DAC0832\DAC0832\Last Loaded last.pdsbak
文件 126642 2017-01-06 15:22 51黑论坛_DAC0832\DAC0832\Last Loaded zhangjisingba.DBK
文件 116183 2016-12-24 12:59 51黑论坛_DAC0832\DAC0832\Last Loaded 长记性吧.DBK
文件 23550 2018-05-31 16:00 51黑论坛_DAC0832\DAC0832\last.pdsprj
文件 2312 2018-05-31 16:02 51黑论坛_DAC0832\DAC0832\last.pdsprj.ANOOP.PC1.workspace
文件 135943 2017-05-22 12:52 51黑论坛_DAC0832\DAC0832\zhangjisingba.DSN
文件 1174 2017-05-22 12:52 51黑论坛_DAC0832\DAC0832\zhangjisingba.PWI
文件 22734 2018-05-31 15:53 51黑论坛_DAC0832\DAC0832\zhangjisingba.pdsprj
文件 2105 2018-05-31 15:47 51黑论坛_DAC0832\DAC0832\zhangjisingba.pdsprj.ANOOP.PC1.workspace
文件 766 2016-12-25 23:04 51黑论坛_DAC0832\DAC0832\长记性吧.PWI
文件 20124 2018-05-31 15:17 51黑论坛_DAC0832\DAC0832\长记性吧.pdsprj
文件 2359 2018-05-31 15:17 51黑论坛_DAC0832\DAC0832\长记性吧.pdsprj.ANOOP.PC1.workspace
文件 1185 2016-12-24 14:35 51黑论坛_DAC0832\DAC0832\长记性吧.pdsprj.USER-20161220CF.Administrator.workspace
目录 0 2018-05-31 15:11 51黑论坛_DAC0832C\
目录 0 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\
文件 6376 2009-05-07 14:37 51黑论坛_DAC0832C\DAC0832C\STARTUP.A51
文件 14051 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\STARTUP.LST
文件 749 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\STARTUP.OBJ
文件 7309 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\chengxv.LST
文件 8398 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\chengxv.OBJ
文件 19151 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\chengxv.SRC
文件 57 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\chengxv.__i
文件 3415 2018-05-31 15:59 51黑论坛_DAC0832C\DAC0832C\chengxv.c
文件 70161 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\chengxv.ls1
文件 5761 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\加油
文件 31282 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\加油.M51
文件 2602 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\加油.hex
文件 44 2018-05-31 16:27 51黑论坛_DAC0832C\DAC0832C\加油.lnp
............此处省略5个文件信息
相关资源
- 电子时钟 有C语言程序,PROTEUS仿真图
- Proteus 8.6仿真STM32F103C6
- Proteus仿真:动态数码管
- Proteus仿真:基于定时器的可调时钟
- Proteus仿真:DS1302(时钟or日历).rar
- Proteus仿真:LCD液晶屏显示.rar
- Proteus仿真:LED流水+定时器.rar
- Proteus仿真:PID算法输出.rar
- 基于VC、MATLAB的汽车制动性能仿真
- MATLAB通信仿真及应用详解附超星阅读
- 通用弹道仿真计算程序(简版)V1.0
- 单片机C语言与PROTUES仿真技能实训
- 我见过最漂亮的CS仿真程序openGL和C+
- C语言实现51单片机和ADC0809芯片的AD模
- 基于80C51单片机的20多个仿真实验
- 基于MFC的电梯调度仿真程序
- IC卡读写仿真
- 质点弹簧织布仿真
- VC++编写的示波器模拟仿真程序
- 基于单片机控制的LED点阵屏 含设计报
-
simuli
nk仿真模型到C语言的转化 - 楼宇对讲系统proteus仿真+源代码
- STK/VC仿真程序
- 电容恒流充电模糊控制matlab仿真与实
- ns3教程,非常适合初学者
- 纯mfc绘图制做三维仿真图形魔方
- 在vs中仿真uc/gui的例程,摆脱vc++
- 电梯仿真系统 c++
- 先进PID控制MATLAB仿真
- 数字通信计算机仿真设计
评论
共有 条评论