波形发生器.docx

上传人:b****7 文档编号:23860063 上传时间:2023-05-21 格式:DOCX 页数:19 大小:232.80KB
下载 相关 举报
波形发生器.docx_第1页
第1页 / 共19页
波形发生器.docx_第2页
第2页 / 共19页
波形发生器.docx_第3页
第3页 / 共19页
波形发生器.docx_第4页
第4页 / 共19页
波形发生器.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

波形发生器.docx

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

波形发生器.docx

波形发生器

单片机课程设计报告书

 

课题名称

波形发生器设计

姓名

学号

院、系、部

电气系

专业

指导教师

焦咏梅、高艳玲、马丽

 

2011年6月30日

波形发生器设计

一、设计目的

课程设计是为了提高自身的动手能力,实践能力,创新能力而开设的一门实践,它充分利用了学校实验室所能提供的各种仪器及器材,根据学生所掌握的知识,从实际情况出发而制定的实践项目。

本次设计是以单片机为基础,设计输出多种波形的波形发生器。

联系使用各个接口芯片(如STC89C52、DAC0832等)的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。

本次课程设计是一项重要的自我能力提高的实践过程,我们利用了所学专业课知识,将其分散的内容综合起来。

并且通过组合型波形发生器的练习,我对单片机程序的整体框架设计有了很大的提高,也使我的实践能力得到了很好的锻炼。

二、设计要求

1、设计一个能产生方波、三角波、梯形波、锯齿波、正弦波的波形发生器。

2、产生指定波形可以通过DAC来实现,不同波形产生实质上是对输出的二进制数字量进行相应改变来实现的。

方波信号可以利用定时器中断产生的,每次中断时,将输出的信号按位反即可;三角波信号是将输出的二进制数字信号依次加1,达到0xff时依次减1,并实时将数字信号经D/A转换得到;锯齿波信号是将输出的二进制数字信号依次加1,达到0xff时置为0x00,并实时将数字信号经D/A转换得到的;梯形波是将输出的二进制数字信号依次加1,达到0xff时保持一段时间,然后依次减1直至0x00,并实时将数字信号经D/A转换得到的;正弦波可以预先写出正弦波表,通过读出表中的值然后经D/A转换后输出。

3、用按键来控制输出的波形,如课设计5个按键S0、S1、S2、S3、S4,按一次S1键不断输出三角波等。

4、用一位数码管显示波形代码:

如输出方波,显示代码“1”。

三、硬件电路设

1、设计原理,元件选择

设计原理:

课设需要各个波形的基本输出,包括方波、三角波、梯形波、锯齿波、正弦波。

这些波形的实现的具体步骤:

方波的实现方法是连续输出一个值,延时一定时间后跳变为另一值,如此循环。

三角波得实现方法是先设寄存器初值从00H开始每次加1,直到溢出后执行减1操作,再溢出时重新加一。

梯形波是在三角波的基础上加入延时得到。

锯齿波则是在三角波加一操作溢出后重新回到初值。

由于正弦波的实现非常复杂,本次设计采用了先定义一系列正弦波数据,再直接输出这些数据的方式来进行。

元件选择:

主单片机芯片STC89C52,DAC0832一片,2个锁存器74HC753,PC机一台

0832内部逻辑结构如下图所示,同时带有一个8位输入寄存器,一个8位DAC寄存器,这样可以在前一数据进行DAC转换时,同时输入下一数据,提高了数模转换效率。

DAC0832的外部引脚及功能介绍图如下:

管脚功能如下:

DI0~DI7:

数据输入线,TLL电平。

ILE:

数据锁存允许控制信号输入线,高电平有效。

CS:

片选信号输入线,低电平有效。

WR1:

为输入寄存器的写选通信号。

XFER:

数据传送控制信号输入线,低电平有效。

WR2:

为DAC寄存器写选通输入线。

Iout1:

电流输出线。

当输入全为1时Iout1最大。

Iout2:

电流输出线。

其值与Iout1之和为一常数。

Rfb:

反馈信号输入线,芯片内部有反馈电阻.

Vcc:

电源输入线(+5v~+15v)

Vref:

基准电压输入线(-10v~+10v)

AGND:

模拟地,摸拟信号和基准电源的参考地.

DGND:

数字地,两种地线在基准电源处共地比较好

2、硬件连接图:

如下

 

4、使用说明

硬件图连接好后,执行程序,试验箱直流电机输出方波,数码管显示“1”;按下按键S17并保持不动,直流电机输出三角波,数码管显示“2”;按下按键S18不动,直流电机输出梯形波,数码管显示“3”;按下按键S19不动,直流电机输出锯齿波,数码管显示“4”;按下按键S20不动,直流电机输出正弦波,数码管显示“5”。

松开按键后直流电机输出方波,数码管显示“1”。

 

五、流程图设计

主流程图

 

调用正弦波子程序

按键S4是否按下

1、方波产生流程图

返回主函数

 

2、三角波产生流程图

返回主函数

 

3、梯形波发生流程图

 

4、锯齿波产生流程图

六、程序设计

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOVR7,#00H

MOVA,P1

MOVR0,A

MOVR1,#00H

LCALLBOXING

SJMPMAIN

BOXING:

JBP1.0,FANGBO

JBP1.1,SANJIAO

JBP1.2,TIXING

JBP1.3,JUCHI

JBP1.4,ZXBO

RET

FANGBO:

MOVR7,#06H

LCALLXIANSHI

MOVDPTR,#8000H

MOVR1,#0FFH

LP:

MOVA,R1

MOVX@DPTR,A

LCALLDELAY1

CLRA

MOVX@DPTR,A

LCALLDELAY1

JNBP1.0,MAIN

RET

SANJIAO:

MOVR7,#5BH

LCALLXIANSHI

MOVDPTR,#8000H

MOVR2,#0FFH

MOVR1,#00H

MOVX@DPTR,A

LP1:

MOVA,R1

MOVX@DPTR,A

INCR1

JNBP1.1,MAIN

DJNZR2,LP1

MOVR3,#0FFH

MOVR4,#0FFH

LP2:

MOVA,R3

MOVX@DPTR,A

JNBP1.1,MAIN

DECR3

DJNZR4,LP2

RET

TIXING:

MOVR7,#4FH

LCALLXIANSHI

MOVDPTR,#8000H

MOVR2,#0FFH

MOVR1,#00H

LP3:

MOVA,R1

MOVX@DPTR,A

INCR1

JNBP1.2,MAIN

DJNZR2,LP3

LCALLDELAY1

MOVR1,#0FFH

MOVR3,0FFH

LP4:

MOVA,R1

MOVX@DPTR,A

JNBP1.2,LP7

DECR1

DJNZR3,LP4

LCALLDELAY1

RET

JUCHI:

MOVR7,#66H

LCALLXIANSHI

MOVDPTR,#8000H

MOVR2,#0FFH

MOVR1,#00H

LP5:

MOVA,R1

MOVX@DPTR,A

INCR1

JNBP1.3,LP7

DJNZR2,LP5

RET

ZXBO:

MOVR7,#6DH

LCALLXIANSHI

MOVR1,#00H

MOVR2,#0FFH

LP6:

MOVA,R1

MOVDPTR,#SETTAB

MOVCA,@A+DPTR

MOVDPTR,#8000H

MOVX@DPTR,A

INCR1

LCALLDELAY2

JNBP1.4,LP7

DJNZR2,LP6

RET

XIANSHI:

MOVA,R7

MOVDPTR,#9004H

MOVX@DPTR,A

RET

LP7:

LJMPMAIN

DELAY1:

MOVR3,#1000

D1:

MOVR4,#248

D2:

DJNZR4,D2

DJNZR3,D1

RET

DELAY2:

MOVR3,#10

D3:

MOVR4,#248

D4:

DJNZR4,D4

DJNZR3,D3

RET

SETTAB:

DB80H,83H,86H,89H,8DH,90H,93H,96H

DB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH

DB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H

DB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H

DB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H

DB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H

DB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH

DB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH

DB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H

DB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH

DB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH

DB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H

DB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H

DB0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H

DB96H,93H,90H,8DH,89H,86H,83H,80H

DB80H,7CH,79H,78H,72H,6FH,6CH,69H

DB66H,63H,60H,5DH,5AH,57H,55H,51H

DB4EH,4CH,48H,45H,43H,40H,3DH,3AH

DB38H,35H,33H,30H,2EH,2BH,29H,27H

DB25H,22H,20H,1EH,1CH,1AH,18H,16H

DB15H,13H,11H,10H,0EH,0DH,0BH,0AH

DB09H,08H,07H,06H,05H,04H,03H,02H

DB02H,01H,00H,00H,00H,00H,00H,00H

七、设计总结

本次的设计中利用STC89C52和DAC0832以及放大器完成电路的设计,用按键来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。

编程工作是一项繁重,系统的脑力劳动,需要编程者具有足够的耐心和毅力,耐心细致的工作态度和严谨务实的工作作风。

通过这次课程设计使对单片机语言的理解和掌握上有了很大的进步,以前所了解的单片机语言仅限于一些片面的知识,通过这次编程,将这些零零碎碎的知识汇集起来,编写出了一个完整的系统,并且对单片机语言的应用能力有了极大的提高,对于硬件接口的问题也有了深刻的了解,体会到了单片机的独具一格的思想。

本次所编写的多功能波形发生器的源程序总共几百行,系统庞大而且繁杂,在编写过程中,所遇到的问题非常多,整个编写过程就是一个不断面临问题,不断解决问题的过程,这一过程充满了挑战性,也充满了各种困难,但不断的追踪错误的来源也是很有趣味的一件事情。

在这次的软件设计中,程序设计采用的是汇编语言。

汇编语言具有速度快,可以直接对硬件进行操作的优点,它可以极好的发挥硬件的功能。

但是汇编语言也存在编写的代码非常难懂,不好维护,很容易产生错误,难于调试的缺点。

因此,在大型程序的设计中,多采用C语言进行程序编译。

C语言简洁高效,是最贴近硬件的高级编程语言,经过多年的发展,现在已成熟为专业水平的高级语言。

而且,现在单片机产品推出时纷纷配套了C语言编译器,应用广泛。

不过就本次课程设计来说,汇编语言还是适用的。

由于真正意义上的程序设计还不多,因此还不是很得心应手,所以在设计中遇到一些问题和一些难点。

比如:

在程序设计中如何实现程序结构的最优化,以达到较高的质量。

这是以后设计中要注意的问题。

通过这次课程设计,我进一步了解了波形发生器的原理,在实际动手操作过程中,使我接触了许多我以前没接触过的元件,而且重新温习了刚学不久的汇编语言,使我学得了许多知识,使我获益匪浅。

这次课程设计,使我的动手能力得到了很大的提高,更使我们懂得理论知识的重要性,没有理论的指导一切实际行动都是盲目的,且实际操作是我们得到的理论知识得到验证,更能增加对理论知识的理解。

八、参考文献

[1].高峰.单片微型计算机原理与接口技术.科学出版社,2007.

[2].潘永雄,沙河,刘向阳.电子线路CAD实用教程〔M〕.西安:

西安电子科技大学出版社,2001.13-118.

[3].朱定华,戴汝平等,单片微机原理与应用[M].北京交通大学出版社,清华大学出版社.

[4].彭介华.电子技术课程设计指导[J].北京:

高等教育出版社,1997.

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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