低频信号发生器Word文件下载.docx
《低频信号发生器Word文件下载.docx》由会员分享,可在线阅读,更多相关《低频信号发生器Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
第3章提供交换网络中的冗余链路21
3.1端口聚合提供冗余备份链路21
3.2快速生成树配置24
第4章路由器的基本配置30
4.1使用命令行界面30
4.2路由器的全局配置33
4.3路由器端口的基本配置34
4.4查看路由器的系统和配置信息38
一、实验目的
1、学习和运用keilC的C语言;
2、学习通过proteus软件画原理图,并利用keilC软件形成的HEX文件运行;
3、实现利用单片机AT98C51和8位D/A转换芯片DAC0832共同实现方波、三角波、锯齿波、梯形波这四种常见波形的发生
4、进一步学习和利用protel软件,画出实验原理图,并生成PCB图;
5、AT89S51为核心的单片机系统的软硬件开发过程;
6、基本信号的产生原理及函数发生器系统的设计流程
二、实验要求
设计一个低频信号发生器:
1、查阅相关资料,完成原理图设计;
2、编写软件,使该系统能输出方波、三角波、锯齿波和梯形波;
波形频率均为1khz,双极性输出。
3、用protel软件完成系统的硬件设计,并通过电器规则检查;
4、仿真实现;
5、画pcb图;
6、写综合课程设计报告。
三、器件清单
1、AT80C51一个;
2、DAC0832一个;
3、OPAMP两个;
4、数码管一个;
5、按键开关一个;
6、电阻、电感若干;
四、实验原理
#include<
AT89X51.H>
unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66}//01234
unsignedchartime1;
//////延时函数参数///////
/////////////////////////////变量说明//////////////////////////////////////
unsignedchartime2;
unsignedchartime3;
unsignedcharcount;
unsignedcharms;
////////////////////////////////////////函数说明////////////////////////////////
voidinitial(void);
////初始化函数////
//voidinitial_time0(void);
//////定时器0初始化///////
voidanjian(void);
////////////按键函数////
voiddelay(unsignedchartime1,time2,time3);
////延时函数////
voiddisp(unsignedcharcount);
/////静态显示子函数/////
voiddelay1(charms);
voidfangbo(void);
//方波函数//
voidsanjiaobo(void);
//三角波函数//
voidjuchibo(void);
//锯齿波函数//
voidtixingbo(void);
//正弦波函数//
voidmain(void)
{
initial();
while
(1)
{
anjian();
}
}
/*************************************************************************
//函数名称:
voidanjian(void)
//函数说明:
按键函数
//函数功能:
//注意:
*************************************************************************/
if(P3_7==0)
{delay(1,50,248);
{count=1;
disp(count);
fangbo();
while(P3_7==0);
count=0;
anjian();
}
voidfangbo(void)
方波函数
{
unsignedcharfangbo_1;
fangbo_1+=8;
if(fangbo_1>
128&
fangbo_1<
256){P0=0x00;
}
if(fangbo_1<
128){P0=0xff;
if(P3_7==0)
{delay(1,50,248);
if(P3_7==0)
{count=2;
disp(count);
sanjiaobo();
}
}
voidsanjiaobo(void)
三角波函数
unsignedcharsanjiaobo_2;
if(sanjiaobo_2<
=128)
{P0=sanjiaobo_2;
else
{P0=255-sanjiaobo_2;
sanjiaobo_2+=5;
if(sanjiaobo_2>
=255)
{sanjiaobo_2=0x00;
{
delay(1,50,248);
if(P3_7==0)
{count=3;
juchibo();
}
}
voidjuchibo(void)
锯齿波函数
unsignedcharjuchibo_3;
if(juchibo_3<
180){P0=juchibo_3;
juchibo_3+=4;
if(juchibo_3>
=180){juchibo_3=0x00;
{
delay(1,50,248);
{count=4;
tixingbo();
voidtixingbo(void)
梯形波函数
unsignedchartixingbo_4;
if(tixingbo_4<
120)
{P0=tixingbo_4;
elseif(tixingbo_4==120)
delay1
(1);
elseif(tixingbo_4<
240)
{P0=240-tixingbo_4;
if(tixingbo_4==240)
{delay1
(1);
if(tixingbo_4>
tixingbo_4=0x00;
}
tixingbo_4+=10;
{count=0;
anjian();
voidinitial(void)
初始化函数
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay(unsignedchartime1,time2,time3)
延时函数
//入口参数:
unsignedchartime1,time2,time3
//出口参数:
延时时