0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

设计一个低频信号发生器

multisim 来源:multisim 2023-11-28 09:50 次阅读

一、实验目的

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

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66}// 0 1 2 3 4

unsigned char time1; //////延时函数参数///////

/////////////////////////////变量说明//////////////////////////////////////

unsigned char time2;

unsigned char time3;

unsigned char count;

unsigned char ms;

////////////////////////////////////////函数说明////////////////////////////////

void initial(void); ////初始化函数////

//void initial_time0(void); //////定时器0初始化///////

void anjian(void); ////////////按键函数////

void delay(unsigned char time1,time2,time3); ////延时函数////

void disp(unsigned char count); /////静态显示子函数/////

void delay1(char ms);

void fangbo(void); //方波函数//

void sanjiaobo(void); //三角波函数//

void juchibo(void); //锯齿波函数//

void tixingbo(void); //正弦波函数//

void main (void)

{

initial();

while(1)

{

anjian();

}

}

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

//函数名称:void anjian(void)

//函数说明:按键函数

//函数功能:

// 注意:

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

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

}

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

//函数名称:void fangbo(void)

//函数说明:方波函数

//函数功能:

// 注意:

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

void fangbo(void)

{

while(1)

{

unsigned char fangbo_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);

}

}

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

//函数名称:void sanjiaobo(void)

//函数说明:三角波函数

//函数功能:

// 注意:

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

void sanjiaobo(void)

{

while(1)

{

unsignedchar sanjiaobo_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);

}

}

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

//函数名称:void juchibo(void)

//函数说明:锯齿波函数

//函数功能:

// 注意:

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

void juchibo(void)

{

while(1)

{

unsignedchar juchibo_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);

}

}

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

//函数名称:void tixingbo(void)

//函数说明:梯形波函数

//函数功能:

// 注意:

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

void tixingbo(void)

{

while(1)

{

unsignedchar tixingbo_4;

if(tixingbo_4<120)

{P0=tixingbo_4;}

elseif(tixingbo_4==120)

delay1(1);

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

}

}

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

//函数名称:void initial(void)

//函数说明:初始化函数

//函数功能:

// 注意:

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

void initial(void)

{

P0=0xff;

P1=0xff;

P2=0xff;

P3=0xff;

}

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

//函数名称:delay(unsigned char time1,time2,time3)

//函数说明:延时函数

//函数功能:

//入口参数:unsigned char time1,time2,time3

//出口参数:

// 注意:延时时间的计算:(time1*time2*time3*8us)us

time1,time2,time3可以不进行变量说明

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

void delay(unsigned char time1,time2,time3)

{

unsignedchar i,j,k;

for(i=time1;i>0;i--)

{ for(j=time2;j>0;j--)

{

for(k=time3;k>0;k--);

}

}

}

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

//函数名称:disp(unsigned char count)

//函数说明:静态显示子函数

//函数功能:

//入口参数:unsigned char count

//出口参数:

// 注意:

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

void disp(unsigned char count)

{

P2=table[count];

delay(1,5,248);

}

voiddelay1(char ms)

{

char ti;

while(ms--)

{

for(ti=0;ti<16;ti++){}

}

}

5c30ae3a-8d8f-11ee-939d-92fbcf53809c.png

5c30ae3a-8d8f-11ee-939d-92fbcf53809c.png    

5c6cca1e-8d8f-11ee-939d-92fbcf53809c.png

5c869066-8d8f-11ee-939d-92fbcf53809c.png    

5c9ef8ae-8d8f-11ee-939d-92fbcf53809c.png

5c9ef8ae-8d8f-11ee-939d-92fbcf53809c.png

5cf2ed38-8d8f-11ee-939d-92fbcf53809c.png

5cf2ed38-8d8f-11ee-939d-92fbcf53809c.png

5d321990-8d8f-11ee-939d-92fbcf53809c.png

5d321990-8d8f-11ee-939d-92fbcf53809c.png    

5d69090a-8d8f-11ee-939d-92fbcf53809c.png

5d69090a-8d8f-11ee-939d-92fbcf53809c.png

5d9f58de-8d8f-11ee-939d-92fbcf53809c.png

5d9f58de-8d8f-11ee-939d-92fbcf53809c.png

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png    

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png

5e2fcfe0-8d8f-11ee-939d-92fbcf53809c.png

5e2fcfe0-8d8f-11ee-939d-92fbcf53809c.png

5e5ce6b0-8d8f-11ee-939d-92fbcf53809c.png

5e5ce6b0-8d8f-11ee-939d-92fbcf53809c.png

5e89b38e-8d8f-11ee-939d-92fbcf53809c.png

5e89b38e-8d8f-11ee-939d-92fbcf53809c.png    

实验心得

通过该课题的设计掌握以AT89S51为核心的单片机系统的软硬件开发过程和基本信号的产生原理、测量及误差分析方法,同时掌握函数发生器系统的设计流程;培养我们综合运用所学的基本知识、基本理论和基本技能的能力,学习解决一般工程技术和有关专业问题的能力,学习工程设计和科学研究的基本方法,完成对所学知识的综合训练。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 原理图
    +关注

    关注

    1268

    文章

    6183

    浏览量

    225738
  • 单片机
    +关注

    关注

    6001

    文章

    43978

    浏览量

    620862
  • C语言
    +关注

    关注

    180

    文章

    7533

    浏览量

    128769
  • 低频信号发生器

    关注

    1

    文章

    11

    浏览量

    11092

原文标题:低频信号发生器

文章出处:【微信号:A1411464185,微信公众号:multisim】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    低频信号发生器的使用

    低频信号发生器是为进行电子测量提供满足一定技术要求电信号的仪器设备。下面以FJ-XD22PS 低频信号发生器为例,介绍
    发表于 03-08 10:50 166次下载

    低频信号发生器电路及制作

    低频信号发生器电路及制作
    发表于 04-13 17:18 35次下载
    高<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>电路及制作

    低频信号发生器电路图

    低频信号发生器电路图
    发表于 04-11 12:14 1430次阅读
    高<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>电路图

    基于Matlab与声卡的低频信号发生器的设计

    介绍了用Matlab与声卡来实现低频信号发生器的设计过程。在普通的电子技术实验室中,要求的则是频率可调、性价比合适,而对精度要求不是太高,在这种情况,本着资源充分利用的考
    发表于 11-09 09:48 67次下载
    基于Matlab与声卡的<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>的设计

    数字低频信号发生器的软件设计方案

    采用一片8751 单片机和两片DAC0832 数模转换器组成数字式低频信号发生器, 该装置采用键盘操作控制输出方波、正弦波、三角波, 可用键盘方便地控制频率和幅值的变化, 并将幅值和频率用
    发表于 11-09 09:54 91次下载
    数字<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>的软件设计方案

    新型低频信号发生器的设计原理

    根据信号发生器的工作原理及工作特点,设计一款超低频信号发生器,该信号发生器可输出自定义波形,如正
    发表于 11-09 09:57 119次下载
    新型<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>的设计原理

    基于multisim的高低频信号发生器的设计与仿真

    低频信号发生器 低频信号发生器又称为音频信号发生器,用来产生频率范围为1Hz~1MHz的
    发表于 08-27 14:38 183次下载
    基于multisim的高<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>的设计与仿真

    低频信号发生器介绍_低频信号发生器结构解析

    低频信号发生器组成主要包括主振器、电压放大器、输出衰减器、功率放大器、阻抗变换器和指示电压表等。
    发表于 01-08 14:09 2.8w次阅读
    <b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>介绍_<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>结构解析

    低频信号发生器的程序和工程文件免费下载

    本文档的主要内容详细介绍的是低频信号发生器的程序和工程文件免费下载。
    发表于 06-04 17:39 13次下载
    <b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>的程序和工程文件免费下载

    17-基于单片机的函数信号发生器低频信号发生器

    低频信号发生器系统主要由CPU、D/A转换电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。
    发表于 11-04 17:51 25次下载
    17-基于单片机的函数<b class='flag-5'>信号</b><b class='flag-5'>发生器</b>(<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>)

    低频信号发生器测试微机消谐的谐振

    发生器分为正弦信号发生器低频信号发生器、高频信号发生器
    发表于 05-18 08:01 371次阅读

    精密低频信号发生器开源

    电子发烧友网站提供《精密低频信号发生器开源.zip》资料免费下载
    发表于 08-05 11:09 1次下载
    精密<b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>开源

    JJG 602 -2004低频信号发生器

    本规程是以GB12181-1990《低频信号发生器通用技术条件》和GB12180-1990《低频信号发生器通用测试方法》为基础,参考JJG230-1980《XFD-7A型
    发表于 02-17 13:41 0次下载

    低频信号发生器如何调节电压?

    低频信号发生器是一种用于产生不同频率、幅度和波形类型的信号的仪器。调节低频信号发生器的电压变化是指改变输出
    的头像 发表于 12-26 15:07 599次阅读
    <b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>如何调节电压?

    低频信号发生器如何调节电压?

    低频信号发生器是一种用于产生不同频率、幅度和波形类型的信号的仪器。调节低频信号发生器的电压变化是指改变输出
    的头像 发表于 04-26 09:07 46次阅读
    <b class='flag-5'>低频信号</b><b class='flag-5'>发生器</b>如何调节电压?