资源简介
该实验是利用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
- 下一篇:华为面试题目,经典的题目,有帮助
相关资源
- 篮球比赛电子记分牌 8086 proteus仿真
- Proteus课设:单片机仿真红绿灯
- 智能交通灯控制器keil程序代码+Prote
- 51单片机 按键控制流水灯左右两边中
- ad603中文资料和pcb制板 proteus仿真
- 基于8086 的proteus仿真的4路竞赛抢答器
- Proteus 8086 8259A
- 篮球记分牌proteus版本.zip
- proteus微机原理小程序;洗衣机控制器
- 8086计算器及Proteus电路图
- 8086Proteus交通灯
- 量程自动切换数字电压表proteus仿真
- 51单片机的电机测速
- Proteus 仿真运算器实验
- 基于51单片机的数字频率计及proteus仿
- 数字电压表及proteus仿真
- verilog编写基于FPGA的示波器核心实现
- 多路温度采集—8086与Proteus实现
- AVR-mega128单片机实现温度DS18B20,prot
- LabVIEW串口四通道示波器
- 双踪虚拟示波器 LabVIEW+PCI采集卡
- 交通灯课程设计数电 proteus实现
- DAC0832 VHDL
- labview示波器设计
- 基于单片机的dac0832阶梯波的proteus仿真
- 用proteus设计仿真硬件电路图:用808
- 用proteus设计仿真硬件电路图:利用
- 基于Proteus的数字钟设计及仿真.
- PROTEUS的光耦 NPN-4,TLP521,PC817的
- DAC0832产生三种波形DDS信号产生(测试
评论
共有 条评论