单片机实现波形发生器的课程设计报告.doc

上传人:仙人指路1688 文档编号:4147363 上传时间:2023-04-07 格式:DOC 页数:12 大小:583.50KB
返回 下载 相关 举报
单片机实现波形发生器的课程设计报告.doc_第1页
第1页 / 共12页
单片机实现波形发生器的课程设计报告.doc_第2页
第2页 / 共12页
单片机实现波形发生器的课程设计报告.doc_第3页
第3页 / 共12页
单片机实现波形发生器的课程设计报告.doc_第4页
第4页 / 共12页
单片机实现波形发生器的课程设计报告.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《单片机实现波形发生器的课程设计报告.doc》由会员分享,可在线阅读,更多相关《单片机实现波形发生器的课程设计报告.doc(12页珍藏版)》请在三一办公上搜索。

1、通信工程专业通信技术课程设计报告设计题目: 单片机实现波形发生器的课程设计 年级(班级): 学生学号: 学生姓名: 指导教师: 设计时间: 设计地点: 设计题目:单片机实现波形发生器的设计设计内容:1. PC机 (安装keil uvision 软件,Pretues 软件)2. DICE-5203K 实验开发系统设计原理:方波信号是利用定时器中断产生的,每次中断时,将输出的信号按位取反即可。其他波形可以通过单片机控制DAC来实现。1. 三角波信号是将输出的二进制数字信号依次加1,达到0xff时依次减1,并实时将数字信号经D/A转换得到;2. 锯齿波信号是将输出的二进制数字信号依次加1,达到0xf

2、f时置为0x00,并实时将数字信号经D/A转换得到的;3. 梯形波信号是将输出的二进制数字信号依次加1,达到0xff时保持一段时间,然后依次减1,直至0x00,并实时将数字信号经D/A转换得到的4. 正弦波是将正弦曲线均匀取样后,得到等间隔时刻正弦波取样值,然后依次输出后经D/A转换得到。实验原理图:电源电路系统硬件组成框图:复变电路AT89S52 主控电路输出电路按键电路设计过程及数据:一、信号发生器程序流程图:开始 扫描P1口 P1=0xfe P1=0xef P1=0xfd P1=0xfb P1=0xf7梯形波函数正弦波函数三角波函数锯齿波函数方波函数二、设计步骤:1、结合DICE-520

3、4K实验开发系统资源进行硬件设计;2、编写各个模块的程序;3、利用proteus进行系统仿真,不能达到设计要求时,重新调整或修改程序,进一步调试,直到满足设计要求;4、依据硬件电路设计,连接DICE-5203K实验开发系统相关插针及引脚;5、用数据线将PC机的串口与实验箱相连,加载程序;6、利用示波器、万用表在DICE-5203K实验开发系统上进行功能性测试。三、子程序设计思路:1、方波:利用定时器中断产生,每次中断时,将输出的信号按位取反;2、三角波:将输出的二进制数字信号依次加1,达到0xff时依次减1;3、锯齿波:将输出的二进制数字信号依次加1,达到0xff时置为0x00;4、梯形波:将

4、输出的二进制数字信号依次加1,达到0xff时保持一段时间,然后依次减1,直至0x00;5、正弦波:将正弦曲线均匀取样后,得到等间隔时刻正弦波取样值;四、程序如下:#include#include#include#define DAC0832 XBYTE0x8800 #define uint unsigned int#define uchar unsigned charuchar code table=0x7f,0x8c,0x98,0xa5,0xb0,0xbc,0xc7,0xd1,0xda,0xe2,0xea,0xf0,0xf6,0xfa,0xfd,0xfe,0xff,0xfe,0xfd,0xf

5、a,0xf6,0xf0,0xea,0xe2,0xda,0xd1,0xc7,0xbc,0xb0,0xa5,0x98,0x8c,0x80,0x73,0x67,0x5a,0x4f,0x43,0x38,0x2e,0x25,0x1d,0x15,0x0f,0x09,0x05,0x02,0x01,0x00,0x01,0x02,0x05,0x09,0x0f,0x15,0x1d,0x25,0x2e,0x38,0x43,0x4f,0x5a,0x67,0x73;void delay(uint i) while(i-);void fang() DAC0832=0; delay(15); DAC0832=0xff; d

6、elay(15);void jvchi() uchar i; for(i=0;i255;i+) DAC0832=i;void sanj() uchar i; for(i=0;i0;i-) DAC0832=i;void sin() uint i; for(i=0;i64;i+) DAC0832=tablei;void tix() uchar i; for(i=0;i0;i-) DAC0832=i; delay(100);void main(void) while(1) if(P1=0xfe)fang(); if(P1=0xfd)jvchi(); if(P1=0xfb)sanj(); if(P1=

7、0xf7)sin(); if(P1=0xef) tix(); if(P1=0xff)DAC0832=0;五、 功能扩展及其设计思路: 通过控制位于P15和P16的开关S6和S7,经过外部中断0和定时/计数器1来计算输入的各种波形的周期个数。开关S6闭合时,开启外部中断0,接着开始进行进行计数;开关S6打开时,结束外部中断0,同时停止计数。而开关S7用于控制 数码管的显示,闭合时,数码管根据定时/计数器1来显示数值。当结束外部中断0时,数码管保持某一数值不变。 设计结果及分析:1、方波:Proteus仿真软件产生的方波波形与示波器产生的波形基本相同。2、锯齿波:Proteus仿真软件产生的锯齿波

8、波形与示波器产生的波形基本相同。3、三角波:Proteus仿真软件产生的三角波波形与示波器产生的波形基本相同。4、正弦波:Proteus仿真软件产生的正弦波波形与示波器产生的波形基本相同。5、梯形波:Proteus仿真软件产生的梯形波波形与示波器产生的波形基本相同。实验数据: 波形测试值方波锯齿波三角波正弦波梯形波峰峰值(V) 5.62 5.265.245.355.23频率值(HZ) 164.3281.3140.2826.2973.5设计总结与体会: 一、 在实验过程中,我发现了很多问题:首先是proteus仿真软件的使用,从中寻找电路图中所需的各种器件,遇到了一些问题,通过和同学之间的交流还有上网查资料,对proteus有了更多的了解和掌握。接下来遇到的问题是,运用proteus中的示波器显示波形,由于对这个示波器的不了解,导致调不出来波形。后来,通过上网查资料获得了一些帮助,使各种波形显示了出来。还有就是将程序导入实验箱中,运行程序,未显示出理想波形。经过老师的帮助,发现了问题所在,原来是总线的接法有问题,不适合我们所做的实验。 二、实验体会: 对MCS-51单片机有了更深入的了解,掌握了MCS-51单片机应用系统开发的电路设计、装调及性能参数的测试方法,还有系统开发的程序设计方法与调试技术。教师评语:指导教师:成 绩:年 月 日

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号