单片机课设——多功能信号发生器——C语言编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

沈阳工程学院课程设计设计题目:多功能信号发生器程序设计系别自控系班级学生姓名学号2009308103指导教师职称教授起止日期:2012年1月2日起——至2013年1月13日止┊┊多功能信号发生器程序设计II沈阳工程学院课程设计任务书课程设计题目:多功能信号发生器程序设计系别自控系班级学生姓名学号2009308103指导教师职称教授课程设计进行地点:F422任务下达时间:2012年1月2日起止日期:2012年1月2日起——至2012年1月13日止教研室主任2012年1月13日批准多功能信号发生器的设计多功能信号发生器程序设计III1.设计主要内容及要求编写多功能信号发生器程序。要求:1)能够产生正弦信号、方波信号和三角波信号。2)输出三种波形能够转换。2.对设计论文撰写内容、格式、字数的要求(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。(3).论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。(4).课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。3.时间进度安排顺序阶段日期计划完成内容备注11月2日教师讲解题目,学生查阅相关资料21月3日查阅相关资料、进行方案论证31月4日参数计算、确定信号产生方法41月5、6、9日编写程序51月10、11日调试程序61月12日撰写论文71月13日论文答辩多功能信号发生器程序设计IV沈阳工程学院C8051F020单片机原理及应用课程设计成绩评定表系(部):自控系班级:学生姓名:指导教师评审意见评价内容具体要求权重评分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12)分加权分合计指导教师签名:年月日评阅教师评审意见评价内容具体要求权重评分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力。0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评阅教师签名:年月日课程设计总评成绩分多功能信号发生器程序设计V中文摘要随着电子技术的飞快发展,单片机也应用得越来越广泛,基于单片机的智能仪器的设计技术不断成熟。单片机构成的仪器具有高可靠性,高性价比。单片机技术在智能仪表和自动化等诸多领域有了极为广泛的应用,并用到各种家庭电器,单片机技术的广泛应用推动了社会的进步。利用单片机采用程序设计方法来产生波形,线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强等优点,而且还能对波形进行细微的调整,改良波形,易于程序控制。只要对电路稍加修改,调整程序,就能实现功能的升级。目前,市场上的信号发生器多种多样,一般按频带分为超高频、高频、低频、超低频信号发生器其中高频、低频和超低频信号发生器,大多使用文氏电桥。用以上原理设计的信号发生器,其输出波形壁板只有两种,即正弦波和脉冲波。多功能信号发生器是一种低频信号发生器,其基本波形主要是正弦波,三角波和方波。用单片机来产生这些基本信号是现在教学中一种基本措施,同时又能训练同学的动手动脑能力。在通信、仪器和控制等领域的信号处理系统中,正弦信号发生器是信号中最常见的一种,它能输出一个幅度可调、频率可调的正弦信号。其中又以低频信号发生器最为常用。本次课程设计就是多功能信号发生器,以正弦波、方波、三角波为主。并能同时调节它们的幅值、频率,然后显示出来。关键词C8051F020单片机示波器正弦波方波三角波调频调幅液晶显示多功能信号发生器程序设计VI目录1设计任务描述.........................................................11.1设计题目:多功能信号发生器程序设计.................................11.2设计要求...........................................................11.2.1设计目的.................................................................................................................11.2.2基本要求.................................................................................................................11.2.3发挥部分.................................................................................................................12设计思路.............................................................23主程序流程图.........................................................34各部分程序的设计及参数计算...........................................44.1定义所需的参数变量及整体程序的设置.................................44.2正弦波的程序设计、调试及参数计算...................................64.3方波的程序设计、调试及参数计算.....................................74.4三角波的程序设计、调试及参数计算...................................84.5各波形之间的调幅...................................................94.6各波形之间的调频..................................................104.7液晶显示程序......................................................115多功能信号发生器工作过程分析........................................135.1方波的工作过程分析................................................135.2正弦波的工作过程分析..............................................135.3三角波的工作过程分析..............................................146设计过程中未解决的问题..............................................15小结..................................................................16致谢..................................................................17参考文献..............................................................18附录源程序代码.......................................................19多功能信号发生器程序设计11设计任务描述1.1设计题目:多功能信号发生器程序设计1.2设计要求1.2.1设计目的通过以汇编语言为基础的程序设计,编写多功能信号发生器的C程序;使我们更好的理解单片机的功能。1.2.2基本要求编写多功能信号发生器程序。要求:1)能够产生正弦信号、方波信号和三角波信号。2)输出三种波形能够转换。1.2.3发挥部分1)产生的正弦波、方波、三角波能够调节频率、幅值。2)能够将频率、幅值显示出来。多功能信号发生器程序设计22设计思路本次程序设计一共有两周时间。第一天老师主要对每个题目做了解释并提出每个课题的基本要求。我组设计的是多功能信号发生器,经过老师的提示,我决定将其分为几个模块,分别设计,最后再整合在一起。一共可分为五大模块:正弦波模块、方波模块、三角波模块、调频模块、调幅模块。正弦波:由于单片机处理的都是数字信号,而正弦波是连续的信号,所以首先想到的是用D/A转换来实现模拟信号。D/A转换是将二进制数转换成对应的电压量,即结果还是单个的数值,但是当程序运行时,由于时间很短,所以在示波器上看到的就是连续的信号,实际上是很多个点组成的。我用的是C语言编程,可以直接用正弦函数的公式就能实现。这样,就能在示波器上看到正弦波。方波:方波的实现很简单,因为我们平时实验的波形就是方波,可以用定时器T0或T1通过任意的端口来实现。用C语言只需用一条if语句就能实现。同时,可以利用给T0赋不同的初值来改变频率。这样就能实现方波的显示。三角波:显然,三角波的实现比正弦波简单。三角波形本身就是呈线性增加,可以通过for循环语句来实现,然后直接用DA转换的结果就能实现。其设计的关键在于怎样控制幅值,不能太大,必须防止溢出。调频:调频可以在中断程序中实现。频率的倒数就是周期,即一个波形在示波器上所需的扫描时间。因此,我只要调节各个波形的延迟时间,就能实现频率的调节。调频的难点在于怎样控制使波形在设定的范围内改变频率。调幅:调幅也可以在中断程序中实现。对于正弦波和三角波,调节幅值必须乘以一个倍数才能保持与原来的波形同步;方波就只需要改变幅值。接下来就是怎样实现波形的相互转换,我组成员通过查资料得出:可以通过P5端口来控制波形的选择,于是我采用了他的想法来实现波形的转换。根据要求,程序完成后,实现各个功能时是不能改动的,所以调频、调幅就得另想办法。所以我用中断6和7来控制调频和调幅。以上就是整个程序的设计思路。多功能信号发生器程序设计33主程序流程图开始执行主函数各功能设置方波正弦波三角波无波形显示液晶初始化其它P5P5=01key3液晶显示调频调幅P5=02P5=04key4key3key3key4key4多功能信号发生器程序设计44各部分程序的设计及参数计算4.1定义所需的参数变量及整体程序的设置在编写程序之前必不可少的是写头文件,然后定义所需的变量。此程序使用的各种变量如下:头文件:#includeC8051F020.h#includemath.h定义参数:sfr16DAC0=0xd2;sfr16T0=0X8A;inta=0,b=0,c=0,s1=200,s2=200,fbv=0xffff,fsv=1,j=0,m=0,w=0,k=0,fb=0,fzv=1,t=1024,n,d=1,p=2;floatx,y;在调用每个函数之前,也必须定义,如下:unsignedchar*Point;//指针voidyejing(void);voidL

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功