文档库 最新最全的文档下载
当前位置:文档库 › 用单片机进行方波发生器的设计

用单片机进行方波发生器的设计

用单片机进行方波发生器的设计
用单片机进行方波发生器的设计

湖南文理学院课程设计报告

课程名称:单片机课程设计报告

院部:电信学院

专业班级:自动化05101班

学生姓名:刘明彪

指导教师:杨民生

完成时间:2008年06月17日

报告成绩:____________________________ __

评阅意见:

评阅教师日期

目录

一、概述 ------------------------------------------------------------------ 3

1.1、设计内容 ------------------------------------------------------ 3

1.2、设计的基本要求 ------------------------------------------------ 3

二、方波发生器设计方案 ---------------------------------------------------- 4

2.1、方案介绍 ------------------------------------------------------ 4

2.2、方波发生器的原理与功能 ---------------------------------------- 4

三、系统的硬件设计 -------------------------------------------------------- 6

3.1、单片机最小系统 ------------------------------------------------ 6

3.2、小键盘接口电路 ------------------------------------------------ 7

3.3、LED显示电路--------------------------------------------------- 7

四、系统的软件设计 -------------------------------------------------------- 8

4.1、主程序 -------------------------------------------------------- 8

4.2、系统初始化子程序 ---------------------------------------------- 9

4.3、显示子程序 ---------------------------------------------------- 9

4.4、键盘扫描程序 ------------------------------------------------- 10

4.5、定时器中断子程序 --------------------------------------------- 11

五、调试与性能分析 ------------------------------------------------------- 12

5.1硬件调试------------------------------------------------------- 12

5.2软件调试------------------------------------------------------- 12

六、设计体会 ------------------------------------------------------------- 13 参考文献 ----------------------------------------------------------------- 14 附录A:基于单片机方波发生器的原理图-------------------------------------- 15 附录B:基于单片机方波发生器的程序清单------------------------------------ 16

方波发生器设计

一、概述

单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。本课题讨论的方波发生器的核心是目前应用极为广泛的 51系列单片机。

1.1、设计内容

本课程设计是设计一个方波发生器,用4位数码管显示方波的频率。

1.2、设计的基本要求

频率可调,用一个变阻器来调整波形的频率,频率调节范围为20Hz~2000Hz;

占空比可调,采用两个按键来实现增加、减小波形的占空比作用,占空比调节步长为1%,即每按键一次,占空比增加或减少1%。占空比用另外两位数码管显示。

系统上电时频率依变阻器的阻值设定,占空比设定为50%。

而我们在此设计的方波发生器与要求要设计的有点区别,所设计的频率调节范围为1Hz~15000Hz,以调节变阻器的阻值来实现频率的调节相对来说要麻烦些。因此,频率也使用按键来进行调节,不同的频率及占空比可以使用不同的按键来实现,而以键盘扫描来实现各键的不同功能;显示部分可以使用ZLG7290芯片及数码管来实现。由此即可构成一个最小单片机应用系统。

二、方波发生器设计方案

在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。在此次设计中,有些地方与课题原本的具体要求有点不同。如实现频率调节时,不是按要求利用调整变阻器的阻值来完成的,而是用按键来实现的。 2.1、方案介绍

微处理器模块AT89S52,频率与占空比信息显示模块,2×4矩阵键盘模块,74LS164移位寄存器显示驱动模块。本设计中用到两个定时器,定时器0和定时器1,其中定时器0工作在定时方式下, 决定方波的频率;定时器1同样工作在定时方式下,用于设定占空比。用LED 显示器来显示频率与占空比,键盘的操作是通过外中断与单片机共同来控制的,键盘操作来完成按要求对频率与占空比进行调节。 2.2、方波发生器的原理与功能

方波发生器的原理方框图如图1所示

由于系统的要求不高,比较单一的,再加上我们是通过定时器来调节频率的,而非电阻,

键盘

单片机89S52

LED

频率与占

空比数据

频率与占空比数据

图1 方波发生器原理框图

因此实现起来就相对简化了。仅用键盘、AT89S52及串行显示便可完成设计,达到所要求实现的功能。

方波发生器工作原理与功能:

简单的流程为:主程序扫描键盘,将设置信息输入,处理后,输出到LED 显示器显示。

单片机的晶振为11.0592MHz ,用到了两个定时器,即定时器0与定时器1,分别进行频率与占空比的定时,两个定时器都是工作在方式1。根据计算定时器初值的公式:

12

2t

f TC osc L ?-

= 计算出定时器0与定时器1所要装入的初值。

频率及占空比的显示电路由74LS164构成的驱动电路和LED 数码显示管组成,利用八个数码管来显示,有五位是用来显示频率的,有两位是显示占空比的,在频率与占空比显示管中间有一个LED 数码管是用来显示“——”的,用以区分频率显示与占空比显示的。

此电路的键盘是由一个状态键,四个功能键(调节频率与占空比的增减)组成,其特殊之处在于利用外部中断实现键盘扫描。状态键有三种状态,当其处于状态0时,则其它的键会处于无用状态,当其处于状态1时,可通过按四个调节键来调节频率,处于第三种状态时,按四个调节键中的前两个便可对占空比进行调节了。

三、系统的硬件设计

3.1、单片机最小系统

单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。因而时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路方式有两种:一种是内部时钟方式,一种是外部时钟方式,这里采用的是内部时钟方式,外接晶振。时钟电路由片外晶体、微调电容和单片机的内部电路组成。选取频率为11.0592MHz的晶振,微调电容是瓷片电容。

89S52单片机的P0.7口作为波形输出口,若接示波器,则可通过示波器来观察波形,是一个矩形波。

此单元电路包括时钟电路、复位电路,具体电路如图2所示:

图2 单片机最小系统

3.2、小键盘接口电路

小键盘如图3所示。它包括8个键,系统中用到的键只有5个,分别为0号、1号、2号、3号、4号键。其中0号键是状态键,采用外部中断控制,用它来确定其它几个键的按键功能,具体作用在前述的系统功能中已做介绍了;另外4个键为功能键,调节频率与占空比的。小键盘中引出的6根线依次分别接单片机的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口。

图3 小键盘接口电路

3.3、LED显示电路

采用静态显示来实现显示功能,如图4所示。移位寄存器74LS164,实现串行输入,并行输出。串行数据由RXD输出,从74LS164的A、B端口输入寄存器,移位时钟由TXD 提供。在移位时钟作用下,存放显示器段码的串行发送缓冲器数据逐位由A、B端移入到74LS164中,再由Q0到Q7并行输出到显示数码管相应的LED上。8片74LS164首尾相串,而时钟端则接在一起。这部分的最终功能是显示频率与占空比。

显示部分具体电路如图4所示:

图4 LED显示电路

四、系统的软件设计

方波发生器的软件设计包括主程序、延时子程序、系统初始化程序、显示子程序、键盘扫描程序、定时器中断子程序。其中主程序用来控制整个程序的执行,它与各子程序紧密相联,共同实现方波发生器各种功能的执行。

4.1、主程序

主程序包括系统初始化及显示程序,是一个死循环系统。其流程图如图5所示:

开始

系统初始化

显示

图5 主程序流程图

4.2、系统初始化子程序

在此程序中,给所有变量赋初值,有键盘扫描口、选择串行口工作方式SCON、状态标志位flag、初始频率与占空比及其定时、定时器0与定时器1的工作方式等。初始化时启动了定时器0与定时器1。

4.3、显示子程序

利用分离频率的各位数值,将各位数值分别显示出来。在程序中利用了频率显示的高位灭零的方法以致最高位为0时就不显示,以致显示效果美观化。一共有五位是显示频率的,若频率小于10000时,则万位不显示;若频率小于1000时,则万位与千位都不显示,依次类推。

占空比的显示规律与频率的一样。

显示子程序流程图如图6所示:

显示子程序入口

分离频率和占空比的各位数字

高位灭零处理

查表,串口发送各位数字字型码

软件延时

结束

图6 显示子程序流程图

4.4、键盘扫描程序

键盘扫描用外中断0实现,采用的是线反法,键盘扫描码采用逐行扫描的方法。

关于键盘扫描程序的说明:

频率可调时,占空比保持原状不变,反之亦然,只能进行单一变量的调节,状态标志flag的初始值为0。

(1)频率调节:

i==0时,按键为状态键,此时flag加1,即flag==1,此时进行频率的调节。可以进行加1Hz、减1Hz、加100Hz、减100Hz操作,分别由1号键、2号键、3号键、4号键控制。如果按住某个键不放,便会执行连续加值或减值操作。这里的频率的最大值为15000Hz,当频率增至最大值时,还按增值键,此时频率会自动跳到1Hz开始继续增加。同理,频率的最小值为1Hz,当减频率减至最小值时,再按减频率键,则频率会跳到15000Hz。

(2)占空比调节:

当状态值flag==2时,此时频率保持不变,进行占空比调节。只可进行加1与减1操作,分别由1号键、2号键控制。

要注意的是占空比的初值是50%,我们定义的ZKB为50(百分比的分子部分,为一整数),故调节占空比时,ZKB会进行加1,减1操作。ZKB的最大值为99,当增到最大值时,便会返回到值1,如此循环。

(3)为了减轻单片机的工作量,在软件设计中采取了这样的措施,在修改参数确定后才进行定时器初值TC0、TC1的计算。

键盘中断处理子程序流程图与键处理流程图分别如图7、图8所示:

4.5、定时器中断子程序

定时器中断子程序中有定时器0与定时器1中断,频率定时器0中断流程图与占空比定时器1流程图分别如图9、图10所示。

图7 键盘中断处理子程序流程图

Y

N

EA=0

软件延时消抖

外部中断0入口

键盘扫描,得到键码

查表取键值i

实时显示

键盘口初始化

EA=1

结束

键处理

是否为抖

N

Y

i==1 ZKB++ i==2 ZKB--

边界处理

Flag==2?

N

Y

i==0? Flag+=1 键处理

i==3 PL+=100

i==4 PL-=100 i==2 PL-- i==1 PL++ 边界处理

N

Flag==1Y

N

Flag==3? Flag=0,计算定时器0和1的初值

键处理结束

图8 键处理流程图

(1)定时器0遇中断执行的操作有复位,启动自身进行频率定时,同时启动定时器1,进行占空比定时,输出高电平。

(2)定时器1遇中断,停止自身的计时,输出低电平。

五、调试与性能分析

5.1硬件调试

硬件的测试首先是检查电路的逻辑线路是否正确,如果正确再检查原理图的线路连接是否正确,电路的布局安排是否合理等等。软件的测试只要是检查程序的语法是否正确,数据结构安排是否妥当,时序是否正确,整体流程安排是否合理。上面两部检查妥当后,就到了系统调试最关键的一步,软硬件的协同调试,问题往往在此才能被发现。 5.2软件调试

在软硬件协同调试时,硬件问题比较少,主要体现在上拉电阻的使用,滤波电容的使用等,极少发生逻辑上的错误。硬件的问题往往是致命的问题,其不易察觉,发现之后电路更改也不容易。这就需要我们不断的实验,在实战中摸索出规律,吸取经验教训,

定时器0中断入口

TR1=1 重装定时初值 输出高电平 结束

图9 频率定时器0中断流程

定时器1中断入口

TR1=0

重装定时初值

输出低电平

结束

图10占空比定时器1中断流程

在以后的电路设计中能设计出稳定的抗干扰能力强的电路。软件问题是调试中遇到问题最多的,此系统中出现过的问题有以下几处:

1、键盘中断处理程序中中断入口后,没有关掉外部中断,出现键值读取不正确,不能正确操作键盘。解决方法,在中断入口处关掉外中断,并在出口时再开外中断;

2、键盘扫描前没有软件延时消抖,出现键值读取不准确。解决方法,在键盘中断入口后在键值扫描前软件延时5ms,消去键盘抖动所带来的误操作;

3、程序中有个别地方将“=”与“==”混淆,造成结果不准确,解决办法,仔细查找,将混淆出更正。

再把到计时设定时子程序加进来,看是否能通过菜单正确调用,返回。能否修改到计时。整个调试完毕。

六、设计体会

在单片机课程设计中,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。

但是,由于平时对单片机知识学习得不够扎实,理解得不够透彻、一知半解,致使在运用是不能贯通,导致在设计过程中困难重重,往往无从下手,但是通过和同组的同学一起探讨,最后还是一步一步的把所有的问题给一一解决了。在这次设计过程中,我也对word、protel、画图板等软件有了更进一步的了解,这使我在以后的学习中更加熟练。

总之,本次单片机课程设计让我悟出了许多东西:第一,就是对资料的搜索、整理、归类、总结、保存的能力是一个至关重要的个人能力。如果没有这种能力,在大学学习阶段,那么我们的学习将会是一种负担;今后我们走出校门,甚至在整个人生阶段,也将会碌禄无为;第二,我们要学会坚持不懈,不轻易言弃,这对于我们非常的重要。如果我们没有这种精神,一旦我们遇到一点挫折,我们也许就会被打败,以后进入社会就

会没有我们的立足之地。因此,我们要珍惜大学时光,循序渐进的培养这些能力,这样才不会被瞬息万变的时代所淘汰。

参考文献

[1]何立民.MCS51单片机应用系统设计[M].北京:北京航空航天大学出版社,2003.

[2]徐君毅.单片微型机原理与应用[M].上海:上海科技出版社,1995

[3]公茂法.单片机人机接口实例集[M].北京:航空航天大学出版社,1998.

[4]沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版社, 2005.

[5] 李广弟,朱月秀等.单片机基础[M].北京:北京航空航天大学出版社, 2003.

15

附录A :基于单片机方波发生器的原理图

RP

R-10

SB1SW1SB2SW1SB3SW1SB4SW1SB5

SW1

SB6SW1

SB7SW1

SB8SW1

1A 21B 31C 41D 5NC 6GND 7NC 82D 9

2C 102B 112A 122Y 13Vcc 141Y 1U10CD4012

R22K PFO

5

NC 6MR 1Rst 8PFI 4GND 3

Vcc 2

Rst 7U11MAX708

C11SB0

VCC

GND

12

XP C1

Y C12

C13GND

GND

Vcc R1390

V1

电源输入

1

XP1波形输出

C10Vcc

GND

XP2INT0

Q 03

Q 14Q 25Q 36Q 47Q 58Q 69Q 7

10

A 1

B 2

C L K

8

C L R 9G N

D 7

V c c

14

U174164a b c d e f g h

G N D 3V c c

8

LED1Q 03

Q 14Q 25Q 36Q 47Q 58Q 69Q 7

1

0A 1B 2C L K

8

C L R 9G N

D 7

V c c

14

U374164a b c d e f g h

G N D 3V c c

8

LED3Q 03

Q 14Q 25Q 36Q 47Q 58Q 69Q 7

10

A 1

B 2

C L K 8

C L R 9G N

D 7

V c c

14

U574164a b c d e f g h

G N D 3V c c

8

LED5Q 03

Q 14Q 25Q 36Q 47Q 58Q 69Q 7

1

0A 1B 2C L K

8

C L R 9G N

D 7

V c c

14

U874164

a b c d e f g h

G N D 3V c c

8

LED7

Q 03

Q 14Q 25Q 36Q 47Q 58Q 69Q 7

10

A 1

B 2

C L K 8

C L R 9G N

D 7

V c c

14

U274164a b c d e f g h

G N D 3V c c

8

LED2Q 03

Q 14Q 25Q 36Q 47Q 58Q 69Q 7

10

A 1

B 2

C L K 8

C L R 9G N

D 7

V c c

14

U474164a b c d e f g h

G N D 3V c c

8

LED4Q 0

3Q 14Q 25Q 36Q 47Q 58Q 69Q 7

1

0A 1

B 2

C L K 8

C L R 9G N

D 7

V c c

14

U774164a b c d e f g h

G N D 3V c c

8

LED6Q 03Q 14Q 25Q 36Q 47Q 58Q 69Q 7

10

A 1

B 2

C L K

8

C L R 9G N

D 7

V c c

14

U9

74164a b c d e f g h

G N D 3V c c

8

LED8

1

2XP2

GND

RXD TXD GND Vcc C2GND Vcc C3GND Vcc C4GND Vcc C5GND Vcc C6GND Vcc C7GND Vcc C8

GND

Vcc C9

Vcc

Vss 40

Vcc 1P0.02P0.13P0.35P0.46P0.57P0.68P0.79EA 10ALE 11PSEN 12P2.713P2.614P2.515P2.416P2.317P2.218P2.119P2.0

20

P1.021P1.122P1.223P1.324P1.425P1.526P1.627P1.728RST 29RXD 30TXD 31INT032INT133T034T135WR 36RD 37XTAL238XTAL139P0.24U689S52

附录B:基于单片机方波发生器的程序清单

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define KEY_PORT P1 //P1口为键盘扫描口

sbit OutPut=P0^7; //矩形波输出口

/* 设全局变量 */

float fosc=11059200; //系统时钟频率

float length=65536; //方式1计数长度

uchar flag; //状态键标志

uchar ZKB; //占空比

uint PL; //频率

uchar TIMER0_L,TIMER0_H,TIMER1_L,TIMER1_H; //定时器0和1的定时初值

uchar code tabl[12]=

{0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00}; //LED共阴极代码

uchar code tabl2[18]=

{0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88}; //键值表

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

延时子程序

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

void delay1ms(uchar n) //延时n ms

{

uchar j;

while(n--)

for(j=0;j<122;j++)

{ ; }

}

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

系统初始化

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

void system_init(void )

{

KEY_PORT=0x0f;

SCON=0x00;

flag=0;

PL=1000;

ZKB=50;

TL0=0x66; //初始频率1KHz定时1ms

TH0=0xfc;

TL1=0x33; //初始占空比50定时0.5ms

TH1=0xfe;

TMOD=0x11; //定时器1和定时器0工作在方式1,的定时模式 IT0=0; //选择INT0为低电平触发方式

EX0=1; //外部中断0允许

ET0=1; //定时器1和定时器0中断允许

ET1=1;

EA=1; //系统中断允许

TR0=1; //定时器1和定时器0开始定时

TR1=1;

}

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

发送数据

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

void send(uchar d)

{

SBUF=d;

while(!TI);

TI=0;

}

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

显示子程序

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

void display(uint PL,uchar ZKB)

{

uchar a,b,c,d,e,m,n;

a=PL/10000; //分离频率的各位数值

b=PL/1000;

b=b%10;

c=PL/100;

c=c%10;

d=PL%100;

d=d/10;

e=PL%10;

if(a==0) //频率显示的高位灭零

{

a=10;

if(b==0)

{

b=10;

if(c==0)

{

c=10;

if(d==0)

{d=10;

if(e==0)e=10;

}

}

}

}

m=ZKB/10; //分离占空比各位数值

n=ZKB%10;

if(m==0)

{m=10; //占空比显示的高位灭零

if(n==0)n=10;

}

send(tabl[a]);

send(tabl[b]);

send(tabl[c]);

send(tabl[d]);

send(tabl[e]);

send(0x02); //频率和占空比中间加一横线“-”以示区别

send(tabl[m]);

send(tabl[n]);

delay1ms(200);

delay1ms(200); //延时开键盘中断,处理好(避免又利用)连击问题

}

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

键盘扫描(线反法)

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

void Key_Scan() interrupt 0 //键盘扫描用外中断0

{

uchar scancode,keycode,i;

float TC0,TC1;

EX0=0; //关中断

delay1ms(5);

scancode=0xef; //键盘扫描码,采用逐行扫描的方法

while(scancode!=0xff)

{

KEY_PORT=scancode; //输入扫描码,扫描P1.4对应的行

keycode=KEY_PORT; //读出数据,看是否在此行上的某列键盘被按下 if((keycode&0x0f)!=0x0f) break; //扫描到按下的键,则退出

scancode=(keycode<<1)|0x0f; //否则,更新扫描码继续扫描

}

keycode=~keycode;

for(i=0;i<8;i++)

if(tabl2[i]==keycode)break; //取得键号

if(i==0) flag++;

if(flag==1) //状态1下对频率进行调整

{

if(i==1) //按键为1号,频率加1

{PL++;

if(PL>15000) PL=15;

}

if(i==2) //按键为2号,频率减1

{PL--;

if(PL<15) PL=15000;

}

if(i==3) //按键为3号,频率加100

{PL+=100;

if(PL>15000) PL=15;

}

if(i==4) //按键为4号,频率减100

{PL=PL-100;

if(PL<15) PL=15000;

}

}

if(flag==2) //状态2下对占空比进行调整

{

if(i==1) //按键为1号,占空比加1

{ZKB++;

if(ZKB>99) ZKB=1;

}

if(i==2) //按键为2号,占空比减1

{ZKB--;

if(ZKB<1) ZKB=99;

}

}

if(flag==3) //状态返回,正常工作

{

flag=0; //清状态标志TC0=(length-fosc/(12*PL)+0.5); //频率定时初值

TC1=(length-(fosc*ZKB)/(12*100*PL)+0.5); //占空比定时初值

TIMER0_L=(uint)TC0/256; //计算定时器0和定时器1的初值TIMER0_H=(uint)TC0%256;

TIMER1_L=(uint)TC1/256;

TIMER1_H=(uint)TC1%256;

}

display(PL,ZKB);

KEY_PORT=0x0f; //给键盘扫描口赋初值,以便下次按键正确读入

EX0=1; //开中断

}

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

定时器中断子程序

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

void Timer0_PL() interrupt 1 //频率定时器0中断

{

TR1=1; //启动定时器1,占空比定时

TL0=TIMER0_L;

TH0=TIMER0_H;

OutPut=1; //输出高电平

}

void Timer1_PL() interrupt 3 //占空比定时器1中断

{

TR1=0; //定时器1停止

TL1=TIMER1_L;

TH1=TIMER1_H;

OutPut=0; //输出高电平

}

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

主函数

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

void main()

{

uint PL0=0;

uchar ZKB0=0;

system_init(); //系统初始化

while(1) //死循环,显示频率和占空比

{

if(flag==0) //状态0时,正常显示频率和占空比

display(PL,ZKB);

if(flag==1) //状态1时,频率调整状态,频率闪烁

{

display(PL0,ZKB);

display(PL,ZKB);

}

if(flag==2) //状态2时,占空比调整状态,占空比闪烁 {

display(PL,ZKB0);

display(PL,ZKB);

}

}

}

方波发生器设计(课程设计报告)

课程设计(论文)说明书 题目:方波发生器的设计 院(系): 专业:电子信息工程 学生姓名: 学号: 指导教师: 职称: 20 年月日

摘要 本次课程设计以AT89S51单片机为核心器件,外围采用按键作为控制以及LCD1602作为显示器所设计的方波发生器。该方波发生器能实现0-1kHz频率范围、占空比可调的方波输出。其核心技术为单片机并行端口的应用、单片机定时器中断应用和数字分离的ASCII码液晶显示技术。采用8个独立的按键组成控制模块,操作方便,按键控制模式可以通过程序进行设定;显示模块则由液晶屏1602构成,能显示出实时输出方波的频率及占空比,直观明了。设计过程中遇到的问题是输出方波的频率、占空比与液晶显示数据存在误差,通过不断调试程序,合理编写中断服务程序来修正误差提高精确度,达到设计要求。该方波发生器具有线路简单、结构紧凑、价格低廉、性能优越等优点。 关键词:方波发生器;AT89S51单片机;键盘;LCD1602

Abstract The course design AT89S51 microcontroller as the core device, the external use of buttons as a control and LCD1602 displays are designed as a square wave generator. The square wave generator to achieve 0-1kHz frequency range, adjustable duty cycle square wave output. The core technology for the application of single chip parallel port, SCM applications and digital timer interrupt ASCII code separate liquid crystal display technology. 8-independent component control module buttons, easy to operate key control mode can be set through the program; display module constituted by the LCD1602, can show real-time output frequency and duty cycle square wave, intuitive and clear. Problems encountered in the design process is the output square wave frequency, duty cycle and LCD display data errors exist, through continuous commissioning process, a reasonable write interrupt service routine to correct the error to improve accuracy, to meet the design requirements. The square wave generator has a simple circuit, compact, low cost, superior performance advantages. Keywords: Square wave generator;AT89S51 microcontroller;keyboard;liquid crystal 1602

课程设计波形发生器

一、设计任务和要求 要求:设计并制作用分立元件和集成运算放大器组成的能产生方波、三角波和正弦波的波形发生器。 二、原理电路设计: (1)方案的提出 方案一: ①先由文氏桥振荡产生一个正弦波信号(右图) ②把文氏桥产生的正弦波通过一个过零比较器 从而把正弦波转换成方波。 ③把方波信号通过一个积分器。转换成三角波。 方案二: ①由比较器和积分器构成方波三角波产生电路。(下图) ②然后通过低通滤波把三角波转换成正弦波信号。 方案三: ①由比较器和积分器构成方波三角波产生电路。(电路图与方案二相同) ②用折线法把三角波转换成正弦波。(下图) (2)方案的比较与确定 方案一:

文氏桥的振荡原理:正反馈RC网络与反馈支路构成桥式反馈电路。当R1=R2、C1=C2。即f=f 时,F=1/3、Au=3。然而,起振条件为Au略大于3。实际操作时, 如果要满足振荡条件R4/R3=2时,起振很慢。如果R4/R3大于2时,正弦波信号顶部失真。调试困难。RC串、并联选频电路的幅频特性不对称,且选择性较差。因此放弃方案一。 方案二: 把滞回比较器和积分比较器首尾相接形成正反馈闭环系统,就构成三角波发生器和方波发生器。比较器输出的风波经积分可得到三角波、三角波又触发比较器自动翻转形成方波,这样即可构成三角波和方波发生器。 通过低通滤波把三角波转换成正弦波是在三角波电压为固定频率或频率变化范围很小的情况下使用。然而,指标要求输出频率分别为102H Z、103H Z和104Hz。因此不满足使用低通滤波的条件。放弃方案二。 方案三: 方波三角波发生器原理如同方案二。 比较三角波和正弦波的波形可以发现,在正弦波从零逐渐增大到峰值的过程中,与三角波的差别越来越大;即零附近的差别最小,峰值附近差别最大。因此,根据正弦波与三角波的差别,将三角波分成若干段,按不同的比例衰减,就可以得到近似与正弦波的折线化波形。而且折线法不受频率范围的限制,便于集成化。 综合以上三种方案的优缺点,最终选择方案三来完成本次课程设计。 (3)单元电路设计 此电路由反相输入的滞回比较器和RC电路组成。RC回路既作为延迟环节,又作为反馈网络,通过RC充、放电实现输出状态的自动转换。设某一时刻输出

模拟电子电路课程设计正弦波三角波方波函数发生器样本

课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 题目: 正弦波-三角波-方波函数发生器 初始条件: 具备模拟电子电路的理论知识; 具备模拟电路基本电路的设计能力; 具备模拟电路的基本调试手段; 自选相关电子器件; 能够使用实验室仪器调试。 要求完成的主要任务: ( 包括课程设计工作量及其技术要求, 以及说明书撰写等具体要求) 1、频率范围三段: 10~100Hz, 100 Hz~1KHz, 1 KHz~10 KHz; 2、正弦波Uopp≈3V, 三角波Uopp≈5V, 方波Uopp≈14V; 3、幅度连续可调, 线性失真小; 4、安装调试并完成符合学校要求的设计说明书 时间安排: 一周, 其中3天硬件设计, 2天硬件调试 指导教师签名: 年月日 系主任( 或责任教师) 签名: 年月日

目录 1.综述...........................................................1 1.1信号发生器概论...................................................1 1.2 Multisim简介....................................................2 1.3集成运放lm324简介...............................................3 2.方案设计与论证...............................................4 2.1方案一...................................................4 2.2方案二..................................................4 2.3方案三..................................................5 3.单元电路设计..............................................6

用模拟方式设计一个方波发生器和三角波发生器

用模拟方式设计一个方波发生器和三角波发生器,频率在100Hz到10KHz之间任意可调,幅度在±5V。 1、在图书馆查阅资料,分析目前常用的波形发生器种类,并进行对比; 1、用模拟方式设计一个方波发生器和三角波发生器,频率在100Hz到10KHz之间任意可调,幅度在±5V。 2、用Protel绘制电路图,说明电路的功能,并进行相关计算,确定元件参数。 3、编写设计报告。 1.直流稳压电源的设计与制作 要求设计制作一个多路输出直流稳压电源,可将220V/50HZ交流电转换为多路直流稳压输出:+12V/1A,-12V/1A,+5V/1A,-5V/1A,+5V/3A及一组可调正电压。 2.高保真音频功率放大器的设计与制作 要求设计制作一个高保真音频功率放大器,输出功率10W/8Ω,频率响应20~20KHZ,效率>60%,失真小。 3.函数发生器的设计与制作 要求设计制作一个方波-三角波-正选波发生器,频率范围10~100Hz,100Hz~1KHz,1KHz~10KHz;正弦波Upp≈3v,三角波Upp≈5v,方波Upp≈14v,幅度连续可调,线性失真小。 要求:1)课题名称。2)设计任务和要求。3)方案选择与论证。4)原理框图,总体电路图、布线图以及它们的说明;单元电路设计与计算说明;元器件选择和电路参数计算的说明等。5)电路调试。对调试中出现的问题进行分析,并说明解决的措施;测试、记录、整理与结果分析。6)收获体会、存在问题和进一步的改进意见等。 是这要求吗? 若是就如下 电路原理图如图一所示。图中的8038为函数发生器专用IC,它具有3种波形输出,分别正弦波、方波和三角波,8038的第10脚外接定时电容,该电容的容值决定了输出波形的频率,电路中的定时电容从C1至C8决定了信号频率的十个倍频程,从500μF开始,依次减小十倍,直到5500pF,频率范围相应地从0.05Hz~0.5 Hz~5Hz~50Hz~500Hz~5kHz~50kHz~500kHz,如果C8取250pF,频率可达1MHz。图中的V1、R7、R8构成缓冲放大器,R9为电位器,用于改变输出波形的幅值。 整个电路的频率范围为0.05Hz~1MHz,占空比可以从2%至98%调整,失真不大于1%,线性好,误差不大于0.1%,因此电路很有实用价值。 参考资料:更多详细资料: 这个我以前学校里有做过。大致设计思想是先用三极管振荡出1个正弦波,再经过一级放大(输出正弦波),后面加一级放大限幅的电路(输出方波),最后一级积分电路(输出3角波)。翻翻书吧,模拟电子书上有的 函数信号发生器的设计与制作 系别:电子工程系专业:应用电子技术届:07届姓名:李贤春 摘要 本系统以ICL8038集成块为核心器件,制作一种函数信号发生器,制作成本较低。适合学生学习电子技术

模电课程设计(波形发生器)

课程设计 课程名称模拟电子技术基础课程设计题目名称波形发生电路_ 学生学院物理与光电工程学院 专业班级电子科学与技术(5)班 学号 学生姓名 指导教师 2013-12-10

一、题目: 波形发生电路 二、设计任务与技术指标 要求:设计并制作用分立元件和集成运算放大器组成的能产生正弦波、方波和三 角波的波形发生器。 基本指标: 1、输出的各种波形基本不失真; 2、频率范围为50H Z ~20KH Z ,连续可调; 3、方波和正弦波的电压峰峰值V PP >10V ,三角波的V PP >20V 。 三、电路设计及其原理 1) 方案的提出 方案一 ①用RC 桥式振荡器产生正弦波。 ②正弦波经过一个过零比较器产生方波。 ③方波通过积分运算产生三角波。 方案二 ①由滞回比较器和积分运算构成方波和三角波发生电路。(如图1所示) ②再由低通滤波把三角波转成正弦波。 方案三 ①由滞回比较器和积分运算构成方波和三角波发生电路。(同方案二) ②利用折线法把三角波转换成正弦波。(如图2所示) 图1 图3 图2

2)方案的比较 方案一中以RC串并联网络为选频网络和正反馈网络、并引入电压串联负反馈,从而产生正弦波。为了稳定正弦波幅值,一般要在反馈电阻一边串联一对反向的并联二极管,但这样会使正弦波出现交越失真。R1/R2=2时,起振很慢; R1/R2>2时,正弦波会顶部失真。调试困难。还有,RC桥式振荡器对同轴电位器的精确度要求较高,否则,正弦波很容易失真。 方案二的低通滤波产生正弦波适宜在三角波频率固定或变化小时使用,而本次课程设计要求频率50Hz-20KHz,显然不适合。 方案三滞回比较器和积分比较器首尾相接形成正反馈闭环系统,这样就形成方波发生器和三角波发生器。滞回比较器输出的方波经积分产生三角波,三角波又触发比较器自动翻转成方波。 另外,根据正弦波与三角波的差别,将三角波分成若干段,按不同的比例衰减,就可以得到近似与正弦波的折线化波形。而且折线法不受频率范围的限制,便于集成化。虽然反馈网络中电阻的匹配困难,但可以通过理论计算出每个电阻阻值后再调试。这样可以省下很多功夫。 综合以上三种方案的优缺点,最终选择方案三来完成本次课程设计。 3)单元电路设计 方波---三角波产生电路

基于51单片机的函数信号发生器的设计

龙源期刊网 https://www.wendangku.net/doc/5b16664535.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

方波发生器

方波发生器 姓名:张敏靓学号:1007433014 一、实验任务 设计并制作一个方波振荡器及低通滤波器,观察振荡器和低通滤波器输出波形。 (1)用555设计一个频率为1k占空比为50%的方波发生器,(2)设计截止频率为1.6K的一阶RC低通滤波对(1)中的方波进行滤波。 二、实验元件

三、实验原理 1.方波振荡器 (1)555芯片 555定时器是一种集成电路芯片,常被用于定时器、脉冲发生器和振荡电路。555可被作为电路中的延时器件、触发器或起振元件。555电路由电阻分压器、电压比较器、基本RS触发器、放电管和输出缓冲器5个部分组成。 功能表

引脚图 实物图 (2)方波振荡器原理图 R R T C 占空比为 1 21 T T T +,C R T A 693.01=,C R T B 693.02= 若设计方波信号,使占空比为50%,令B A R R =,则 T A C R T T f 722 .0121= += 设计1kHz 的方波信号,选取μ22.0=T C F ,Ω==K R R B A 3.3

2. 低通滤波器 1 1 o V 传输函数为1 11 111)(C R j C R j H + Ω=Ω 因为∣H(j Ω)∣= 21,推得一阶低通滤波器截止频率为1 1121C R f S π= 设计截止频率为1.6KHz 的低通滤波器,则Ω=K R 11,μ1.01=C F 。 四、 实验内容 1. Multisim 仿真 (1)仿真电路图

(2)仿真结果 (3)改变R1或R2的阻值,可改变占空比 2.实物测试 (1)按电路图焊接电路 (2)按电路图连接电路 (3)观察示波器上的图像,改变R1或R2的阻值,使占空比为50% (4)改变R3的阻值,使低通滤波器的截止频率为1.6K (5)改变R1或R2的阻值,可改变占空比

微机原理课程设计波形发生器

微机原理课程设计 波形发生器 基本要求: (1)通过按键选择波形,波形选择(方波、三角波)。8255 A 和0832 (2)通过按键设定波形的频率,同时波形频率在数码管上显示。8255A (3)频率设定后,通过8253精确计时来设置波形宽度大小,比如方波的占空比。(4)8259A产生中断,用示波器显示输出波形。 附加要求: (1)通过按键可以增大或者降低频率; (2)显示正弦波。

目录 一理论部分 1.1 课程设计的目的 (2) 1.2 课程设计要求与内容 (2) 1.3 总体设计方案 (2) (1)设计思想及方案论证 (2) (2)总体设计方案框图 (3) 1.4 系统硬件设计 (4) 1.5 系统软件设计 (5) 二实践部分 2.1 系统硬件原理简介 (6) 2.2 程序调试 (9) 2.3 软件系统的使用说明 (9) 三课程设计结果分析 3.1 实验结果 (10) 3.2 结果分析 (11) 四课程设计总结 (11) 五附录 5.1源程序及说明 (12)

波形发生器 一 理论部分 1.1 课程设计的目的 (1)综合模拟电子线路、数字电子技术和微机原理等多门专业基础课程的知识,使学生对 以计算机为核心的通信、测量或控制系统有个全面了解和实践的过程。 (2)掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼同学们在微型计算机应用方面的实际工作能力,强化本学科内容并扩展知识面。 (3)体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程。 (4)培养学生的创造力和对专业的适应性。 1.2 课程设计的内容和要求 1、通过按键选择波形,波形选择(方波、三角波、正弦波)。8255 A 和0832 2、通过按键设定波形的频率,同时波形频率在数码管上显示。8255A 3、频率设定后,通过8253精确计时来设置波形宽度大小,比如方波的占空比。 4、8259A 产生中断,用示波器显示输出波形。 5、通过按键可以增大或者降低频率; 6、画出电路原理图,说明工作原理,编写程序及程序流程图。 1.3 总体设计方案 (1)设计思想及方案论证 由于要求达到模拟信号波形发生,因此要由D/A 转换芯片0832来来完成此项任务,由8253形成波形的主要做法是:先输出一个下限电平,将其保持t 然后输出一个稍高的电平,在保持t ,然后重复此过程,因此需要延长0832输入数据的时间间隔来改变频率。如图1信号发生波形图所示。0832输入的数据的延时可以通过软件完成,也可以通过硬件完成。由于实验要求输出的波的频率可以改变,且精确,所以选用硬件延时 硬件延时主要由计时器8253和中断控制器8259来实现。由8253输出的方波的高低电平,来触发8259的IR0端,8259给CPU 中断信号,CPU 中断来执行相应的中断子程序,中断子程序为向0832输出数据的程序,通过选择此程序可以产生锯齿波,方波,正弦波。由于0832产生的方波的频率可以控制,所以每次中断执行波形发生程序的时间间隔可以精确控制。以此来控制输出的波形频率。最后通过8255驱动LED 数码显示管,实现对输入的频率的显示,由键盘直接输入波形频率,通过LED 数码显示管显示。 +5V 0V 图1 信号发生波形图

基于51单片机的函数信号发生器

基于51单片机的函数信号发生器 设计方案 利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz—10kHz 的波形。通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 设计要求 1)、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及其频率 方案设计 1 信号发生电路方案

通过单片机控制D/A,输出四种波形。此方案虽输出的波形不够稳定,抗干扰能力弱,不易调节,但此方案电路简单、成本低。因此选用此方案。 2 单片机的选择 AT89C52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。 3 显示方案 采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。 4 键盘方案论证 采用独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 总体系统设计 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键

输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。下图为系统的总体框图: 总体方框图 硬件实现及单元电路设计 1单片机最小系统的设计 AT89C52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图(2) 89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点: (1)有可供用户使用的大量I/O口线。

课程设计—基于单片机的方波信号发生器汇总

微型计算机技术专业方向课程设计 任务书 题目名称:基于单片机的方波信号发生器 专业自动化班级122 姓名学号 学校: 指导教师: 2014年12月9日

课程设计任务书 课程名称:微型计算机技术 设计题目:基于单片机的方波信号发生器系 统硬件要求: 从P1.0口输出方波,分四个档:按下S1时输出1HZ,按下S2时输出10HZ,按下S3时输出1KHZ,按下S4时输出10KHZ的方波,要求误差少于1%, 软件设计: 1)主程序设计 2)各功能子程序设计 其他要求: 1、每位同学独立完成本设计。 2、依据题目要求,提出系统设计方案。 3、设计系统电路原理图。 1、调试系统硬件电路、功能程序。 2、编制课程设计报告书并装订成册,报告书内容(按顺序) (1)报告书封面 (2)课程设计任务书 (3)系统设计方案的提出、分析 (4)系统中典型电路的分析 (5)系统软件结构框图 (6)系统电路原理图 (7)源程序 (8)课设字数不少于2000字 成绩 评语

摘要 本实验是基于AT89C51单片机单片机所设计的,可以实现四种频率不同的方波信号的发生。本实验方波输出在89C51的P1.0口,分为四档,按下S1时输出1HZ,按下S2时输出10HZ,按下S3时输出1KHZ,按下S4时输出10KHZ的方波。 关键词:51单片机;方波;四档

目录 第一章前言 (5) 第二章系统总体设计 2.1系统介绍 (5) 2.2 硬件简介 (5) 2.3 软件简介 (5) 2.4 系统结构框图 (5) 第三章硬件电路 3.1硬件设计思想 (6) 3.2开关信号采集 (6) 3.3复位电路及晶振电路 (8) 3.4方波输出 (8) 第四章软件系统 4.1软件系统概述 (8) 4.2各部分程序 (10) 第五章总结 (15) 附录 (16)

课程设计——波形发生器

1.概述 波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。本课程采用采用RC正弦波振荡电路、电压比较器、积分电路共同组成的正弦波—方波—三角波函数发生器的设计方法。先通过RC正弦波振荡电路产生正弦波,再通过电压比较器产生方波,最后通过积分电路形成三角波。

2.设计方案 采用RC正弦波振荡电路、电压比较器、积分电路共同组成的正弦波—方波—三角波函数发生器的设计方法。先通过RC正弦波振荡电路产生正弦波,再通过电压比较器产生方波,最后通过积分电路形成三角波。文氏桥振荡器产生正弦波输出,其特点是采用RC串并联网络作为选频和反馈网络,其振荡频率f=1/2πRC.改变RC的值,可得到不同的频率正弦波信号输出。用集成运放构成电压比较器,将正弦波变换成方

3. 设计原理 3.1正弦波产生电路 正弦波由RC 桥式振荡电路(如图3-1所示),即文氏桥振荡电路产生。文氏桥振荡器具有电路简单、易起振、频率可调等特点而大量应用于低频振荡电路。正弦波振荡电路由一个放大器和一个带有选频功能的正反馈网络组成。其振荡平衡的条件是AF =1以及ψa+ψf=2n π。其中A 为放大电路的放大倍数,F 为反馈系数。振荡开始时,信号非常弱,为了使振荡建立起来,应该使AF 略大于1。 放大电路应具有尽可能大的输入电阻和尽可能小的输出电阻以减少放大电路对选频特性的影响,使振荡频率几乎仅决定于选频网络,因此通常选用引入电压串联负反馈的放大电路。正反馈网络的反馈电压U f 是同相比例运算电路的输入电压,因而要把同相比例运算电路作为整体看成电路放大电路,它的比例系数是电压放大倍数,根据起振条件和幅值平衡条件有 31 1≥+ =R Rf Av (Rf=R2+R1//D1//D2) 且振荡产生正弦波频率 Rc f π210= 图中D1、D2的作用是,当Vo1幅值很小时,二极管D1、D2接近开路,近似有Rf =9.1K +2.7K =11.8K ,,Av=1+Rf/R1=3.3>=3,有利于起振;反之当Vo 的幅值较大时,D1或D2导通,Rf 减小,Av 随之下降,Vo1幅值趋于稳定。

基于51单片机函数信号发生器设计.

摘要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602. this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602. 目录

设计制作一个产生方波三角波正弦波函数转换器

模拟电路课程设计报告 课题名称:设计制作一个产生方波-三角波- 正弦波函数转换器。 姓名: 学号:45 专业班级:电信 指导老师: 设计时间: 1月3号 设计制作一个产生方波-三角波-正弦波函数转换器(一)设计任务和要求 ①输出波形频率范围为~20kHz且连续可调; ②正弦波幅值为±2V,; ③方波幅值为2V; ④三角波峰-峰值为2V,占空比可调; ⑤用桥式整流电容滤波集成稳压块电路设计电路所需的正负直流电源(±12V)(二)函数发生器的方案 (一):直流电源(将220V的交流电变成+12V和-12V的直流电) 直流电源的组成及各部分的作用:

1. 直 流电源发生电路图如下所示: (二)函数发生器 方案一: 如下图所示: 图(1) 方案二: 如下图所示 电网电压 负载

: 图(2) 方案三: 如下图所示: 图(3) 方案讨论:(我选择第三种方案) 制作一个函数发生器(方波-三角波-正弦波的转换),由电压比较器可以产生方波,方波通过积分可以产生三角波,对于三角波产生正弦波的方法较多。 方案一中了利用差分放大电路实现三角波-正弦波的转换,优点:差分放大电路具有工作稳定,输入阻抗高,抗干扰能力较强,特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变成正弦波,有效的利用了差分放大传输特性曲线的非线性。缺点:差分放大电路比较复杂,很容易造成虚焊,布局中有较多的晶体管,很容易错焊。 电压(滞回)比较器 积分运算电路 二阶低通滤波电路

方案二中利用了折线法实现三角波-正弦波的转换,优点:利用折线法焊接电路比较简单,不受输入电压频率范围的限制,便于集成化;缺点:反馈网络中的电阻要匹配很困难。 方案三中利用了低通滤波实现三角波-正弦波的转换,优点:电路焊接比较简单,减少工作量和器材,所需要的器材都比较容易购买 三、单元电路设计与参数计算 1、直流电源的参数设计 提供的是220V 的交流电源要变为12V 直流电源, 整流后的电压及电流为: 【1】整流电路:将交流变直流的过程。 设变压器副边电压U2=wt U sin 22, U 2为其有效值。 则:输出电压的平均值 输出电流的平均值 I O(AV)=R L 脉动系数 S=) (1AV O M O U U = 2/3= 二极管的选择 最大镇流电流I F > L R U π2 2 最高反向工作电压 U RM >22U 【2】滤波电路:将脉动的直流电压变为平滑的直流电压。 如图所示按照三角形相似关系可得: U O(AV)=2U 2(1-T/4R L C) 当R L C=(3~5)T/2时,U O(AV) = 脉动系数为 S= T C R T L -4 (b)理想情况下的波形 (c)考虑整流电路内阻时的波形

基于51单片机的简易函数信号发生器

创新性实验研究报告实验项目名称_简易函数信号发生器

四、实验内容

2、实验内容 1、运用keil软件对程序进行编写,运行程序,并进行程序修改。 2、运用protues软件进行硬件电路仿真设计。 3、将程序下载到仿真单片机中,并观测输出波形。 4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。 5、仿照仿真软件进行硬件电路的焊接。 6、将程序下载到单片机,并用示波器测试输出波形。 7、对程序进行修改,直到输出满意的波形为止。

3、实验步骤 1、首先打开keil软件. 2、运用keil软件对程序进行编写,程序见附件。 3、打开protues软件. 4、运用protues软件对硬件电路进行设计。 9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。单片机引脚分配如下:?XTAL1,XTAL2:外接晶振,产生时钟信号。 ?RST:复位电路; ?P2口:8位数字信号输出输出,外接DAC0832; ?P3.6口和P3.7口:DAC0832的时钟信号; 单片机模块 单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。最后通过示波器显示输出的波形。

波形发生器课程设计

1.设计题目:波形发生电路 2.设计任务和要求: 要求:设计并用分立元件和集成运算放大器制作能产生方波和三角波波形的波形发生器。 基本指标:输出频率分别为:102H Z 、103H Z ;输出电压峰峰值V PP ≥20V 3.整体电路设计 1)信号发生器: 信号发生器又称信号源或振荡器。按信号波形可分为正弦信号、函数(波形)信号、脉冲信号和随机信号发生器等四大类。各种波形曲线均可以用三角函数方程式来表示,如三角波、锯齿波、矩形波(含方波)、正弦波。通过模拟电子技术设计的波形发生器是一个不需要外加输入信号,靠自身振荡产生信号的电路。2)电路设计: 整体电路由RC振荡电路,反相输入的滞回比较器和积分电路组成。 理由:a)矩形波电压只有两种状态,不是高电平,就是低电平,所以电压比较器是它的重要组成部分; b)产生振荡,就是要求输出的两种状态自动地相互转换,所以电路中必须引入反馈; c)输出状态应按一定的时间间隔交替变化,即产生周期性变化,所以电路中要有延迟环节来确定每种状态维持的时间。 RC振荡电路:即作为延迟环节,又作为反馈电路,通过RC充放电实现输出状态的自动转换。 反相输入的滞回比较器:矩形波产生的重要组成部分。 积分电路:将方波变为三角波。 3)整体电路框图: 为实现方波,三角波的输出,先通过 RC振荡电路,反相输入的滞回比较器得到方波,方波的输出,是三角波的输入信号。三角波进入积分电路,得出的波形为所求的三角波。其电路的整体电路框图如图1所示:

图1 4)单元电路设计及元器件选择 a ) 方波产生电路 根据本实验的设计电路产生振荡,通过RC 电路和滞回比较器时将产生幅值约为12V 的方波,因为稳压管选择1N4742A (约12V )。电压比较电路用于比较模拟输入电压与设定参考电压的大小关系,比较的结果决定输出是高电平还是低电平。滞回比较器主要用来将信号与零电位进行比较,以决定输出电压。图3为一种滞回电压比较器电路,双稳压管用于输出电压限幅,R 3起限流作用,R 2和R 1构成正反馈,运算放大器当u p >u n 时工作在正饱和区,而当u n >u p 时工作在负饱和区。从电路结构可知,当输入电压u in 小于某一负值电压时,输出电压u o = -U Z ;当输入电压u in 大于某一电压时,u o = +U Z 。运算放大器在两个饱和区翻转时u p =u n =0,由此可确定出翻转时的输入电压。u p 用u in 和u o 表示,有 2 1o 1in 22 1o 2 in 1p 111 1R R u R u R R R u R u R u ++= ++= 根据翻转条件,令上式右方为零,得此时的输入电压 th Z 2 1 o 21in U U R R u R R u ==-= U th 称为阈值电压。滞回电压比较器的直流传递特性如图4所示。设输入电压初始值小于-U th ,此时u o = -U Z ;增大u in ,当u in =U th 时,运放输出状态翻转,进入正饱和区。如果初始时刻运放工作在正饱和区,减小u in ,当u in = -U th 时,运放则开始进入负饱和区。 RC 振荡电路 积分电路 方波 三角波 反相输入的滞回比较 生成 生成 输入 积分电路 输入

基于51单片机函数信号发生器设计

摘要:本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602.this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602.

波形发生器课程设计报告

课程设计报告书 波形发生器 学院电子与信息学院 专业班级 学生姓名 学生学号 指导教师 课程编号 课程学分1 起始日期2017 波形发生器 一、选题背景 波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、矩形波的函数波形发生器。 二、方案论证 1、设计题目要求 1.1、功能要求 同时三通道输出,采用正弦波、矩形波、三角波的级联结构; 电源由稳压电源供给; 1.2、指标要求: 输出电压要求正弦波Vp-p>10V、矩形波Vp-p>10V、三角波Vp-p>4V; 输出波形频率范围为100Hz—2kHz;

通带内输出电压幅度峰峰值误差不大于5%; 矩形波占空比可调整,调整范围:10%~90%; 2、总体设计方案 2.1设计思路 根据模拟电子技术基础课程,可通过RC桥式正弦波振荡电路产生正弦波,通过比较器变换成矩形波,再通过积分电路变换成三角波;或者同过滞回比较器和RC电路组成的矩形波发生电路产生矩形波,通过积分电路变换成三角波,再用滤波法变换成正弦波。 2.2设计方案 满足上述设计功能可以实施的方案很多,现提出以下几种方案: 2.2.1方案一 ①原理框图 图2.2.1方案一原理框图 ②基本原理 通过RC桥式正弦波振荡电路,产生正弦波,改变电阻R和电容C的值实现频率可调;通过单限比较器,产生矩形波,接入参考电压,通过改变与参考电压串联电阻的阻值,实现占空比可调;通过积分电路,产生三角波。 2.2.2方案二 ①原理框图

多种波形发生器的设计与制作

课题三 多种波形发生器的设计与制作 方波、三角波、脉冲波、锯齿波等非正弦电振荡信号是仪器仪表、电子测量中最常用的波形,产生这些波形的方法较多。本课题要求设计的多种波形发生器是一种环形的波形发生器,方波、三角波、脉冲波、锯齿波互相依存。电路中应用到模拟电路中的积分电路、过零比较器、直流电平移位电路和锯齿波发生器等典型电路。通过对本课题的设计与制作,可进一步熟悉集成运算放大器的应用及电路的调试方法,提高对电子技术的开发应用能力。 1、 设计任务 设计并制作一个环形的多种波形发生器,能同时产生方波、三角波、脉冲波和锯齿波,它们的时序关系及幅值要求如图3-3-1所示。 图3-3-1 波形图 设计要求: ⑴ 四种波形的周期及时序关系满足图3-3-1的要求,周期误差不超过%1±。 ⑵ 四种波形的幅值要求如图3-3-1所示,幅值误差不超过%10±。 ⑶ 只允许采用通用器件,如集成运放,选用F741。

要求完成单元电路的选择及参数设计,系统调试方案的选取及综合调试。 2、设计方案的选择 由给定的四种波形的时序关系看:方波决定三角波,三角波决定脉冲波,脉冲波决定锯齿波,而锯齿波又决定方波。属于环形多种波形发生器,原理框图可用3-3-2表示。 图3-3-2 多种波形发生器的方框图 仔细研究时序图可以看出,方波的电平突变发生在锯齿波过零时刻,当锯齿波的正程过零时,方波由高电平跳变为低电平,故方波发生电路可由锯齿波经一个反相型过零比较器来实现。三角波可由方波通过积分电路来实现,选用一个积分电路来完成。图中的u B电平显然上移了+1V,故在积分电路之后应接一个直流电平移位电路,才能获得符合要求的u B波形。脉冲波的电平突变发生在三角波u B的过零时刻,三角波由高电平下降至零电位时,脉冲波由高电平实跳为低电平,故可用一个同相型过零比较器来实现。锯齿波波形仍是脉冲波波形对时间的积分,只不过正程和逆程积分时常数不同,可利用二极管作为开关,组成一个锯齿波发生电路。由上,可进一步将图3-3-2的方框图进一步具体化,如图3-3-3所示。 图3-3-3 多种波形发生器实际框图 器件选择,设计要求中规定只能选用通用器件,由于波形均有正、负电平,应选择由正、负电源供电的集成运放来完成,考虑到重复频率为100Hz(10ms),故选用通用型运放F741(F007)或四运放F324均可满足要求。本设计选用F741。其管脚排列及功能见附录三之三。

相关文档
相关文档 最新文档