模电课程设计样本Word文档格式.docx
- 文档编号:16862787
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:12
- 大小:519.86KB
模电课程设计样本Word文档格式.docx
《模电课程设计样本Word文档格式.docx》由会员分享,可在线阅读,更多相关《模电课程设计样本Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
题目简易波形发生器
任务与要求
以单片机为主控制器,扩展适当的接口电路,制作一个简易波形发生器,通过示波器观察所得的信号波形。
通过功能选择,使信号发生器分别输出阶梯波、正弦波、三角波和方形波。
学会查询文献资料,撰写论文的方法,并提交课程设计报告和实验成品。
开始日期2010年12月7日完成日期2010年12月23日
简易波形发生器
学生:
陈建泽纪婧如蔡国英指导老师:
刘丹
摘要:
本系统是基于STC89C52单片机的波形发生器。
采用STC89C52单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)和按键等。
通过按键控制可产生方形波、三角波、正弦波和阶梯波。
其设计简单、性能优良,具有一定的实用性。
文中简要介绍了DAC0832数模转换器的结构原理和使用方法,STC89C52的基础理论,着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。
关键词:
波形发生器、STC89C52、DAC0832
Abstract:
WaveformThesystemisageneratorbasedonsinglechipcomputer.STC89C52isusedasacontrolmicrocontrollercore.Thesystemiscomposedbydigital/analogconversion(DAC0832)andbuttons..Itcangeneratethesquare,triangle,sineandstepwave.Itisverypractical.ThispaperintroducesdifferentsignalsthatareproducedbySTC89C52SCMandDAC0832,andbrieflyintroducesthestructureprincipleandusageofDAC0832,thebasictheoryofSTC89C52.ThispaperemphasizedhowtouseSCMtocontrolthehardwarecircuitandsoftwareprogramofthesignalsabovewhichproducedbyDAC0832aswell.
Keywords:
waveformgenerator,STC89C52,DAC0832
1引言
波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。
通过按键控制可产生方波、三角波、正弦波和阶梯波。
本文介绍的波形发生器基本达到预定的目标。
2总体结构
2.1总体设计流程
2.2总电路图
本系统由单片机最小系统、功能选择电路和数模转换(D/A)电路等三部分构成,仿真电路如下图所示。
3基本原理
3.1硬件原理
波形的产生是通过STC89S52单片机执行某一波形发生程序,向D/A转换器的输入端按一定的规律发送数据,从而在D/A转换电路的输出端将8位数字量转换成模拟量输出,得到相应的电压波形。
数字量输入的范围为0~255,单极性输出时对应的模拟量输出的范围在0到VREF+之间;
双极性输出时,对应的模拟量输出的范围在VREF-到VREF+之间。
根据这一特性,可以利用单片机的并行口输出的数字量,产生常用的波形。
3.1.1STC89C52电路
功能:
波形选择识别与处理、参数设置;
形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。
典型的MCS-51单片机芯片集成了以下几个基本组成部分:
1)一个8位的CPU
2)128B或256B单元内数据存储器(RAM);
3)4KB或8KB片内程序存储器(ROM或EPROM);
4)4个8位并行I/O接口P0~P3;
5)两个定时/计数器;
6)5个中断源的中断管理控制系统;
7)一个全双工串行I/O口UART(通用异步接收、发送器);
8)一个片内振荡器和时钟产生电路。
下图是89C52的引脚排列:
其中,CPU是单片机的核心部件,它由运算器和控制器等部件组成。
存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。
它根据控制器指定的位置存入和取出信息。
P0~P3口是与外部交换信息的8位并行接口,均是准双向口。
本系统所使用的P1口作为通用I/O接口使用,P1.7—P1.0用于传送CPU的输入/输出数据。
单片机的时钟信号用来提供单片机内各种微操作的时间基准;
复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。
此次设计单片机外接12M晶振作为时钟频率,并采用按键复位设计。
3.1.2DAC0832电路
将波形样值的编码转换成模拟值,完成双极性的波形输出。
DAC0832是8分辨率的D/A转换集成芯片,与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。
输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
下图是DAC0832的逻辑框图和引脚排列:
1、DAC0832结构:
D0~D7:
8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
ILE:
数据锁存允许控制信号输入线,高电平有效;
CS:
片选信号输入线(选通数据锁存器),低电平有效;
WR1:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
XFER:
数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
WR2:
DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。
由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换;
IOUT1:
电流输出端1,其值随DAC寄存器的内容线性变化;
IOUT2:
电流输出端2,其值与IOUT1值之和为一常数;
Rfb:
反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
Vcc:
电源输入端,Vcc的范围为+5V~+15V;
VREF:
基准电压输入线,VREF的范围为-10V~+10V;
AGND:
模拟信号地;
DGND:
数字信号地。
2、DAC0832的主要特性参数如下:
1)分辨率为8位;
2)电流稳定时间1us;
3)可单缓冲、双缓冲或直接数字输入;
4)只需在满量程下调整其线性度;
5)单一电源供电(+5V~+15V);
6)低功耗,200mW。
3.2软件原理
系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。
周期的改变可采用插入延时子程序的方法来实现。
主程序的功能是:
开机以后负责查键,即做键盘扫描及显示工作,然后根据用户所按的键转到相应的子程序进行处理,主程序流程图如图所示。
主程序流程图
子程序的功能有:
开关检测、正弦波输出、三角波输出、方形波输出、阶梯波输出、延时等。
总程序如下所示:
//*****************课程设计(单片机实现简易波形发生器)*************
;
实验名称:
单片机实现简易波形发生器
功能:
通过功能选择,使信号发生器分别输出正弦波、三角波、阶梯波和方波。
编写人:
纪婧如、蔡国英、陈建泽
编写时间:
2010年12月7日
//********************************程序代码**************************
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVA,P2;
P2口接选择开关,读选择信息到A
JNBACC.0,ZXBO;
P2.0控制正弦波的输出
JNBACC.1,SJBO;
P2.1控制三角波的输出
JNBACC.2,JTBO;
P2.2控制阶梯波的输出
JNBACC.3,FXBO;
P2.3控制方形波的输出
SJMPMAIN
//********************************正弦波****************************
ZXBO:
MOVR7,#6EH;
正弦函数数据表共有110个数,即6EH个
MOVDPTR,#TAB;
函数表首地址给DPTR
DA0:
MOVA,#00H
MOVCA,@A+DPTR
MOVP0,A
INCDPTR;
将数据表的数据一个个输出
DJNZR7,DA0;
数据输完则返回重新检查波形选择是否改变
RET
//*******************************三角波******************************
SJBO:
MOVA,#00H
UP0:
MOVP0,A
INCA
CJNEA,#250,UP0;
A=250跳转反之顺序执行
DOWN1:
DECA
CJNEA,#00,DOWN1;
为了对称性,使用相同的跳转语句
//**************************方波(频率为250Hz)********************
FXBO:
SETBP2.4;
P2.4口输出方波,用于检测系统工作是否正常
ACALLDELAY1;
调高2ms延时程序
CLRP2.4
ACALLDELAY1;
调低电平延时程序
//**************************阶梯波(频率为500Hz)*******************
JTBO:
MOVA,#00H
LOOP:
MOVP0,A
ADDA,#50;
每次幅值增量为50
ACALLDELAY2;
调用1ms延时子程序
CJNEA,#250,LOOP
RET
//***************************正弦波数据表****************************
TAB:
DB00H,00H,00H,01H,02H,03H,04H,05H,06H,08H
DB0AH,0CH,0EH,10H,12H,15H,18H,1BH,1EH,21H
DB24H,27H,2AH,2DH,31H,35H,39H,3DH,41H,45H
DB49H,4DH,51H,55H,59H,5DH,61H,64H,67H,6AH
DB6DH,70H,73H,76H,79H,7BH,7DH,7FH,81H,83H
DB85H,86H,87H,88H,89H,8AH,8BH,8CH,8CH,8CH
DB8CH,8CH,8CH,8BH,8AH,89H,88H,87H,86H,85H
DB83H,81H,7FH,7DH,7BH,79H,76H,73H,70H,6DH
DB6AH,67H,64H,61H,5DH,59H,55H,51H,4DH,49H
DB45H,41H,3DH,39H,35H,31H,2DH,2AH,27H,24H
DB21H,1EH,1BH,18H,15H,12H,10H,0EH,0CH,0AH
//**************************两个延时子程序***************************
DELAY1:
;
2ms延时子程序
MOVR5,#20
DE1:
MOVR6,#50
DJNZR6,$
DJNZR5,DE1
RET
DELAY2:
1ms延时子程序
MOVR5,#20
DE2:
MOVR6,#25
DJNZR5,DE2
END
//*****************************程序编写结束**************************
4结果检测
4.1总体电路实物图
4.2各种波形输出
5结束语
基于89C52单片机的波形发生器产生的波形基本能够满足一般测量、实验中的使用要求。
采用的高性能数模转换芯片保证了输出波形的精度和稳定性。
通过编制软件可以实现输出更多的波形。
随着电子设备信号的多样化,基于89C52单片机的波形发生器具有很高的实际使用价值。
总结:
经过半个月的单片机课程设计,终于完成了波形发生器的制作,基本达到设计要求。
在本次设计的过程中,我们组内三人进行了热烈深入的讨论,并在实践过程中不断完善电路设计。
对于单片机设计,其硬件电路是比较简单的,程序设计成为主要问题,它反映了解决问题的逻辑思维和创新能力,是一个设计的灵魂所在。
因此在整个设计过程中大部分时间是用在程序上面的。
跟以往一样,我们首先在电脑上用虚拟仿真软件模拟出效果,再到实验室焊接电路,最后用示波器进行调试检测。
在实验过程中,我们也遇到了许多问题,如输出波形有毛刺、阶梯波的输出幅度差不相等、正弦波波峰和波谷处不圆滑等,但是经过不断的探索、思考、验证,以及请教指导老师,我们最终克服了种种困难,解决了所遇到的问题,成功地完成了这个课程设计。
经过本次课程设计实验,我们巩固了理论知识,对编程有了更深入的理解和运用,加强了与他人的交流合作,提高了动手能力,获得宝贵的实践经验。
参考文献
[1]李朝青.单片机原理与接口技术.北京:
北京航空航天大学出版社,2006.12
[2]王守中,赵朋朋,索世文.北京:
51单片机应用开发速查手册——指令、模块、实例.人民邮电出版社,2009.4
[3]杨兴瑶,张益清,杨震绪.新编实用电子电路500例.北京:
北京航空航天大学出版社,2008.1
[4]XX文库,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 样本
![提示](https://static.bdocx.com/images/bang_tan.gif)