1 / 35
文档名称:

单片机原理及其接口技术课程设计总结报告-波形发生器.doc

格式:doc   页数:35
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机原理及其接口技术课程设计总结报告-波形发生器.doc

上传人:3346389411 2013/1/18 文件大小:0 KB

下载得到文件列表

单片机原理及其接口技术课程设计总结报告-波形发生器.doc

文档介绍

文档介绍:单片机原理及其接口技术课程设计总结报告
课题
波形发生器
指导教师
《波形发生器》
一、设计任务:
设计制作一个简易的波形发生器,该波形发生器能产生正弦波、锯齿波、三角波,通过按键控制可以改变输出信号的频率和幅度。
二、设计指标:
基本要求:
1、能产生正弦波、锯齿波、三角波3种周期波形
2、
3、,
4、,
三、系统框图:
各种波形输出
运放
D/A转换
AT89C51
开关

四、方案设计与论证:
利用韦福WAVE6000系列仿真系统实现。主要利用其中8051,D/A0832,按键等模块实现波形发生器的各类要求。
1、波形选择:
像C语言一样,在WAVE6000编程中设置一个变量,利用按键的控制使它在00H-02H之间变化,三种变化分别对应三种波形,,一旦检测到此按键为“0”,就对此变量加1,而后跳到对应的波形子程序上去。
2、三种波形的实现:
正弦波:
给R3赋值#03H,代表每调用一次,就输出三个周期后返回,这样在最低频时也能保证每秒钟检测三次按键,确保了键盘的灵敏度。再低的话由各程序初始化带来的误差会更明显。
正弦波低频表容量R1:100,正弦波高频表容量R1:16, R1为正弦波表容量-1,-1是由算法决定的。程序通过查表描点输出近似连贯的正弦波形。
~、调幅。
三角波:
(1)给R3赋值#03H,代表每调用一次,就输出三个周期后返回,这样在最低频时也能保证每秒钟检测三次按键,确保了键盘的灵敏度。再低的话由各程序初始化带来的误差会更明显。
(2)三角波低频表容量R1:100,三角波高频表容量R1:19, R1为三角波表容量-1,-1是由算法决定的。程序通过查表描点输出近似连贯的三角波形。
(3)~、调幅。
锯齿波:
(1)给R3赋值#06H,代表每调用一次,就输出六个周期后返回,这样在最低频时也能保证每秒钟检测六次按键,确保了键盘的灵敏度。再低的话由各程序初始化带来的误差会更明显。
(2)锯齿波低频表容量R1:50,正弦波高频表容量R1:10, R1为锯齿波表容量-1,-1是由算法决定的。程序通过查表描点输出近似连贯的锯齿波形。
(3)~、调幅。
3、频率调节:
在21H单元中赋值#13H,频率加、减子程序中变化范围:01H~14H(十进制为20),,步长为1.
4、幅度调节:
在22H单元中赋值#01H,幅度加、减子程序中变化范围:00H~0AH(十进制为10),,步长为1.
五、系统电路板接线图:
接线:(1)(所以其DPTR的地址最高位应该是0);
(2)、、、、、K2、K3、K4、K5;
(3)运放输出端接示波器输入端,示波器另一端接地。
六、各个模块程序流程图及程序:
:
开始
初始化(设置各变量)
主程序
调用按键检测子程序
Y
N
调用延时子程序
主程序:判断选波
调用相应波子程序
调用频率子程序
RET
:
ORG 0000H
LJMP MAIN
;*************************************电阻选用10k,电容120nf,电容最好不要超过200nf
MAIN:
MOV 20H,#01H ;,0-2分别为正弦波,三角波,锯齿波
MOV 21H,#13H ;,变化范围1-20
MOV 22H,#01H ;,变化范围1-10 本程序幅值的变化是通过查表实现的
;***************主程序************************本段的作用是处理各种参数,并判断该执行哪种波形子程序
START:
LCALL READKEY ;调用检测按键程序
MOV A,20H ;判断波形
CJNE A,#00H,NEXT0 ;载入波形标号,根据不同的变量值调用不同的子程序
LCALL SIFUNC ;然后再跳回主程序,根据READKEY刷新后的各种参数重新计算数据
LJMP START ;循环
NEXT0:
MOV A,20H
CJNE A,#