低频信号发生器.docx

上传人:b****6 文档编号:2816808 上传时间:2022-11-15 格式:DOCX 页数:21 大小:1.38MB
下载 相关 举报
低频信号发生器.docx_第1页
第1页 / 共21页
低频信号发生器.docx_第2页
第2页 / 共21页
低频信号发生器.docx_第3页
第3页 / 共21页
低频信号发生器.docx_第4页
第4页 / 共21页
低频信号发生器.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

低频信号发生器.docx

《低频信号发生器.docx》由会员分享,可在线阅读,更多相关《低频信号发生器.docx(21页珍藏版)》请在冰豆网上搜索。

低频信号发生器.docx

低频信号发生器

低频信号发生器

-------期末课程设计

 

学院:

班级:

学号:

姓名:

指导老师:

2010-6-12

 

第0章实验室基础3

第1章交换机基本配置7

1.1使用交换机的命令行管理界面7

1.2交换机的全局配置10

1.3交换机端口的基本配置12

1.4查看交换机的系统和配置信息14

第2章虚拟局域网VLAN16

2.1交换机端口隔离16

2.2跨交换机实现VLAN18

第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

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)

//函数说明:

按键函数

//函数功能:

//注意:

*************************************************************************/

voidanjian(void)

{

if(P3_7==0)

{delay(1,50,248);

if(P3_7==0)

{count=1;

disp(count);

fangbo();

}

}

while(P3_7==0);

count=0;

disp(count);

anjian();

}

/*************************************************************************

//函数名称:

voidfangbo(void)

//函数说明:

方波函数

//函数功能:

//注意:

*************************************************************************/

voidfangbo(void)

{

while

(1)

{

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();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函数名称:

voidsanjiaobo(void)

//函数说明:

三角波函数

//函数功能:

//注意:

*************************************************************************/

voidsanjiaobo(void)

{

while

(1)

{

unsignedcharsanjiaobo_2;

if(sanjiaobo_2<=128)

{P0=sanjiaobo_2;}

else

{P0=255-sanjiaobo_2;}

sanjiaobo_2+=5;

if(sanjiaobo_2>=255)

{sanjiaobo_2=0x00;}

if(P3_7==0)

{

delay(1,50,248);

if(P3_7==0)

{count=3;

disp(count);

juchibo();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函数名称:

voidjuchibo(void)

//函数说明:

锯齿波函数

//函数功能:

//注意:

*************************************************************************/

voidjuchibo(void)

{

while

(1)

{

unsignedcharjuchibo_3;

if(juchibo_3<180){P0=juchibo_3;}

juchibo_3+=4;

if(juchibo_3>=180){juchibo_3=0x00;}

if(P3_7==0)

{

delay(1,50,248);

if(P3_7==0)

{count=4;

disp(count);

tixingbo();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函数名称:

voidtixingbo(void)

//函数说明:

梯形波函数

//函数功能:

//注意:

*************************************************************************/

voidtixingbo(void)

{

while

(1)

{

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>240)

{

tixingbo_4=0x00;

}

tixingbo_4+=10;

if(P3_7==0)

{delay(1,50,248);

if(P3_7==0)

{count=0;

disp(count);

anjian();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函数名称:

voidinitial(void)

//函数说明:

初始化函数

//函数功能:

//注意:

*************************************************************************/

voidinitial(void)

{

P0=0xff;

P1=0xff;

P2=0xff;

P3=0xff;

}

/*************************************************************************

//函数名称:

delay(unsignedchartime1,time2,time3)

//函数说明:

延时函数

//函数功能:

//入口参数:

unsignedchartime1,time2,time3

//出口参数:

//注意:

延时时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1