资源简介
该实验是利用DAC0832芯片并结合AT89C52主控模块,在一定的运算下制造出不同波形的原理来设计的,通过结合示波器以及键盘,可以模拟出按键产生不同波形的效果。
本实验可以产生锯齿波、正弦波、方波和三角波这四种波形,祝大家学习愉快。

代码片段和文件信息
#include
#define uint unsigned int
#define uchar unsigned char
sbit cs = P2^4;
sbit wr = P3^6;
sbit stw_check = P1^0;
sbit sin_check = P1^1;
sbit square_check = P1^2;
sbit triangle_check = P1^3;
sbit led = P2^5;
bit flag;
uchar inums_numt_numsqar_num = 128f1;
code unsigned char sin_num[] = {
0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2
2 3 3 4 4 4 5 5 6 6 7 7 8 8 9 9
10 10 11 12 12 13 14 15 15 16 17 18 18 19 20 21
22 23 24 25 25 26 27 28 29 30 31 32 34 35 36 37
38 39 40 41 42 44 45 46 47 49 50 51 52 54 55 56
57 59 60 61 63 64 66 67 68 70 71 73 74 75 77 78
80 81 83 84 86 87 89 90 92 93 95 96 98 99 101102
104 106 107 109 110 112 113 115 116 118 120 121 123 124 126 128
129 131 132 134 135 137 139 140 142 143 145 146 148 149 151 153
154 156 157 159 160 162 163 165 166 168 169 171 172 174 175 177
178 180 181 182 184 185 187 188 189 191 192 194 195 196 198 199
200 201 203 204 205 206 208 209 210 211 213 214 215 216 217 218
219 220 221 223 224 225 226 227 228 229 230 230 231 232 233 234
235 236 237 237 238 239 240 240 241 242 243 243 244 245 245 246
246 247 247 248 248 249 249 250 250 251 251 251 252 252 253 253
253 253 254 254 254 254 254 255 255 255 255 255 255 255 255 255
};
void delay(uint iuint j) //delay(182)为1.01779ms
{
uint xy; //delay(x0):15.19,39.07,62.94,86.9,110.68,134.55,158.42,182.29,206.17,230.04,253.91(x取0 ~ 10)us
for(x = i;x > 0;x --)
for(y = j;y > 0;y --); //执行此句约需24us,24x + 14 = delay(x0)的延时时间
}
void sin() //正弦波
{
if(!flag)
{
P0 = sin_num[num++];
if(num == 0)
{
num = 255;
flag = 1;
}
}
else if(flag)
{
P0 = sin_num[num--];
if(num == 255)
{
num = 0;
flag = 0;
}
}
}
void square() //方波
{
if(i ++ < sqar_num)
{
P0 = 0xff;
}
else
{
P0 = 0x00;
}
}
void triangle() //三角波
{
if(~flag)
{
P0 = t_num ++;
if(t_num == 0)
{
t_num = 255;
flag = 1;
}
}
else if(flag)
{
P0 = t_num --;
if(t_num == 255)
{
t_num = 1;
flag = 0;
}
}
}
void stw() //锯齿波
{
P0 = s_num ++;
}
void main()
{
led = 0;
wr = 0;
cs = 0;
while(1)
{
if(stw_check == 0 && sin_check == 1 && square_check == 1 && triangle_check == 1)
{
if(stw_check == 0)
{
f1 = 0;
while(!stw_check);
}
}
else if(stw_check == 1 && sin_check == 0 && square_check == 1 && triangle_check == 1)
{
if(sin_check == 0)
{
f1 = 1;
while(!sin_check);
}
}
else if(stw_check == 1 && sin_check == 1 && square_check == 0 && triangle_check == 1)
{
if(square_check == 0)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 19 2012-04-20 12:57 Signal\ExtDll.iex
文件 403258 2012-05-11 16:23 Signal\Last Loaded Signal.DBK
文件 5311 2012-05-11 16:31 Signal\signal
文件 3535 2012-05-11 16:31 Signal\signal.c
文件 403756 2012-05-11 16:30 Signal\Signal.DSN
文件 2072 2012-05-11 16:31 Signal\signal.hex
文件 44 2012-05-11 16:31 Signal\signal.lnp
文件 9788 2012-05-11 16:31 Signal\signal.LST
文件 9210 2012-05-11 16:31 Signal\signal.M51
文件 6056 2012-05-11 16:31 Signal\signal.OBJ
文件 376 2012-05-11 16:50 Signal\signal.plg
文件 766 2012-05-11 16:33 Signal\Signal.PWI
....... 143079 2012-05-11 16:50 Signal\signal.uvgui.Administrator
....... 140322 2012-04-22 15:31 Signal\signal.uvgui_Administrator.bak
....... 6241 2012-05-11 16:50 Signal\signal.uvopt
文件 13273 2012-04-19 17:18 Signal\signal.uvproj
....... 6243 2012-04-22 15:31 Signal\signal_uvopt.bak
文件 0 2012-04-19 15:24 Signal\signal_uvproj.bak
文件 498688 2012-05-11 16:52 Signal\操作说明.doc
目录 0 2012-05-11 16:52 Signal
----------- --------- ---------- ----- ----
1652037 20
- 上一篇:verilog 开方 pdf
- 下一篇:华为面试题目,经典的题目,有帮助
相关资源
- DAC0832波形发生器幅值及频率都精确可
- 51单片机PWM程序,占空比、周期可调整
- proteus仿真 AT89C51输出各种波形
- 00
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- proteus_24C08—有注释(proteus里面使用的
- DS18B20分布式多点测温的Proteus仿真
- 2007年全国大学生电子设计竞赛一等奖
- 基于proteus的单片机仿真--交通灯控制
- 带时间温度显示的室内灯光控制系统
- 51多机通信(内附Proteus及.hex文件)
- IIC proteus仿真实验
- 8086交通灯 Proteus原理图及程序
- 单片机仿真软件proteus6.7免安装绿色版
- 关于proteus仿真arm7出现错误的问题
- 基于PROTEUS的ARM7显示系统设计与仿真实
- TDS1012 使用说明书
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- ADC0832ADC0809DAC0832三种芯片程序,c程序
- 8086微机应用DAC0832控制小直流电机转速
- 单片机驱动4相步进电机proteus仿真
- 基于protues的信号发生器,protues详细教
- proteus元件库对照表 (整理清晰)
- 微机原理 十字路口交通灯控制 prot
- 中央空调室内智能温控器设计论文、
- 基于51单片机的交通灯设计
- 基于AT89C51的十字路口交通灯设计pro
- Proteus单片机仿真大全几百个part4
评论
共有 条评论