《2022年单片机课设——多功能函数信号发生器,推荐文档 .pdf》由会员分享,可在线阅读,更多相关《2022年单片机课设——多功能函数信号发生器,推荐文档 .pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、沈阳工程学院课 程 设 计设计题目:多功能信号发生器程序设计系别自控系班级学生姓名学号2009308103 指导教师职称教授起止日期:2012 年 1 月 2 日起至 2013 年 1 月 13 日止名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 18 页 -多功能信号发生器程序设计II 沈 阳 工 程 学 院课程设计任务书课程设计题目:多功能信号发生器程序设计系别自控系班级学生姓名学号2009308103 指导教师职称教授课程设计进行地点:F422 任 务 下 达 时 间:2012 年1 月2 日起止日期:2012 年 1 月 2 日起至 2012 年 1 月 13 日止教研
2、室 主 任2012 年 1 月 13 日批准名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 18 页 -多功能信号发生器程序设计III 多功能信号发生器的设计1.设计主要内容及要求编写多功能信号发生器程序。要求:1)能够产生正弦信号、方波信号和三角波信号。2)输出三种波形能够转换。2.对设计论文撰写内容、格式、字数的要求(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工
3、整,装订整齐。(3).论文要求打印,打印时按沈阳工程学院毕业设计(论文)撰写规范的要求进行打印。(4).课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。3.时间进度安排顺序阶段日期计 划 完 成 内 容备注1 1 月 2 日教师讲解题目,学生查阅相关资料2 1 月 3 日查阅相关资料、进行方案论证3 1 月 4 日参数计算、确定信号产生方法4 1 月 5、6、9日编写程序5 1 月 10、11日调试程序6 1 月 12日撰写论文7 1 月 13日论文答辩名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 18 页 -多功能信号发生器程序设
4、计IV 沈 阳 工 程 学 院C8051F020 单片机原理及应用课程设计成绩评定表系(部):自控系班级:学生姓名:指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.1 5 4 3 2 工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。0.2 5432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.2 5432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.5 5432指导教师评审成绩(加权分合计
5、乘以12)分加权分合计指 导 教 师 签 名:年月日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力。0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名:年月日课 程 设 计 总 评 成 绩分名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 18 页 -多功能信号发生器程序设计V 中文摘要随着电子技术的飞快
6、发展,单片机也应用得越来越广泛,基于单片机的智能仪器的设计技术不断成熟。单片机构成的仪器具有高可靠性,高性价比。单片机技术在智能仪表和自动化等诸多领域有了极为广泛的应用,并用到各种家庭电器,单片机技术的广泛应用推动了社会的进步。利用单片机采用程序设计方法来产生波形,线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强等优点,而且还能对波形进行细微的调整,改良波形,易于程序控制。只要对电路稍加修改,调整程序,就能实现功能的升级。目前,市场上的信号发生器多种多样,一般按频带分为超高频、高频、低频、超低频信号发生器其中高频、低频和超低频信号发生器,大多使用文氏电桥。用以上原理设计的信号发生器
7、,其输出波形壁板只有两种,即正弦波和脉冲波。多功能信号发生器是一种低频信号发生器,其基本波形主要是正弦波,三角波和方波。用单片机来产生这些基本信号是现在教学中一种基本措施,同时又能训练同学的动手动脑能力。在通信、仪器和控制等领域的信号处理系统中,正弦信号发生器是信号中最常见的一种,它能输出一个幅度可调、频率可调的正弦信号。其中又以低频信号发生器最为常用。本次课程设计就是多功能信号发生器,以正弦波、方波、三角波为主。并能同时调节它们的幅值、频率,然后显示出来。关键词C8051F020单片机 示波器 正弦波 方波 三角波 调频 调幅 液晶显示名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页
8、,共 18 页 -多功能信号发生器程序设计VI 目录课程设计任务书.IIC8051F020单片机原理及应用课程设计成绩评定表.IV中文摘要.V1 设计任务描述.11.1 设计题目:多功能信号发生器程序设计.11.2 设计要求.11.2.1设计目的 .11.2.2基本要求 .11.2.3发挥部分 .12 设计思路.23 设计框图.34 各部分程序的设计及参数计算.44.1 正弦波的程序设计、调试及参数计算.44.2 方波的程序设计、调试及参数计算.54.3 三角波的程序设计、调试及参数计算.65 多功能信号发生器工作过程分析.错误!未定义书签。5.1 简单加/减运算电路的总电路图.错误!未定义书
9、签。5.2 电路图的工作过程分析.错误!未定义书签。6 设计过程中未解决的问题.错误!未定义书签。7 元器件清单.错误!未定义书签。7 主要元器件介绍.错误!未定义书签。小结.错误!未定义书签。致谢.错误!未定义书签。参考文献.错误!未定义书签。附录 汇编源程序代码.错误!未定义书签。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 18 页 -多功能信号发生器程序设计1 1 设计任务描述1.1 设计题目:多功能信号发生器程序设计1.2 设计要求1.2.1 设计目的通过以汇编语言为基础的程序设计,编写多功能信号发生器的程序;使我们更好的理解单片机的功能。1.2.2 基本要求编写多功
10、能信号发生器程序。要求:1)能够产生正弦信号、方波信号和三角波信号。2)输出三种波形能够转换。1.2.3 发挥部分1)产生的正弦波、方波、三角波能够调节频率、幅值。2)能够将频率、幅值显示出来。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 18 页 -多功能信号发生器程序设计2 2 设计思路本次程序设计一共有两周时间。第一天老师主要对每个题目做了解释并提出每个课题的基本要求。我组设计的是多功能信号发生器,经过老师的提示,我决定将其分为几个模块,分别设计,最后再整合在一起。一共可分为五大模块:正弦波模块、方波模块、三角波模块、调频模块、调幅模块。:由于单片机处理的都是数字信号,而
11、正弦波是连续的信号,所以首先想到的是用 D/A 转换来实现模拟信号。D/A 转换是将二进制数转换成对应的电压量,即结果还是单个的数值,但是当程序运行时,由于时间很短,所以在示波器上看到的就是连续的信号,实际上是很多个点组成的。但是这种转换的结果是呈线性增加的,而正弦波是呈弧形变化,所以只用 DA转换是不能实现正弦波的。经过我们小组讨论后,我决定用查表的方法来实现正弦波形,即把每个弧度对应的正弦值算出来,然后用变址寻址的指令来查表,当然弧度必须尽量小。这样,就能在示波器上看到正弦波。:方波的实现很简单,因为我们平时实验的波形就是方波,可以用定时器T0 或 T1 通过任意的端口来实现。但是这样做有
12、一个问题就是:在后面的发挥部分中只能调频不能调幅。所以,最好采用将 DA转换后的结果延时一段时间作为高电平,低电平就用零来代替。这样就能实现方波的显示。:显然,三角波的实现和正弦波有关系。三角波形本身就是呈线性增加,因此不用查表,直接用 DA转换的结果就能实现。其设计的关键在于怎样控制幅值,不能太大,因为太大会对后面调节幅值产生影响。:调频可以在中断程序中实现。频率的倒数就是周期,即一个波形在示波器上所需的扫描时间。因此,我只要调节各个波形的延迟时间,就能实现频率的调节。调频的难点在于怎样控制使波形在设定的范围内改变频率。:调幅也可以在中断程序中实现。对于正弦波,调节幅值必须乘以一个倍数才能保
13、持与原来的波形同步;三角波和正弦波就只需要改变幅值。接下来就是怎样实现波形的相互转换,我组成员通过查资料得出:可以通过P5端口来控制波形的选择,于是我采用了他的想法来实现波形的转换。根据要求,程序完成后,实现各个功能时是不能改动的,所以调频、调幅就得另想办法。所以我用中断 6 和 7 来控制调频和调幅。以上就是整个程序的设计思路。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 18 页 -多功能信号发生器程序设计3 3 设计框图名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 18 页 -多功能信号发生器程序设计4 4 各部分程序的设计及参数计算4.1 正弦波的程序设
14、计、调试及参数计算要想输出正弦波,必须用D/A 转换,将单片机中的二进制数转换成模拟量中的电压值;由于每次转换所需的时间特别短,所以经过很多次转换后就形成了连续的信号曲线。但是正弦波的波形变化是非线性的,我们必须用查表的方法算出每个正弦函数值。具体编程如下:MOV REF0CN,#03H;选择内部电压基准MOV DAC0CN,#80H;MOV XBR2,#40H;交叉开关总使能MOV 34H,#01H;MOV B,#01H ZX:MOV A,P5 CJNE A,#01H,FB;判断:若 P5为 1,则显示正弦波;否则,跳转MOV R7,#0FFH;最大值MOV DPTR,#2000H;表格首地
15、址MOV R0,#00H;最小值LOP1:MOV A,34H;通过改变“34H”里面的值,可以调幅MOV B,A MOV A,R0 MOVC A,A+DPTR;查表MUL AB INC R0 MOV DAC0L,A MOV DAC0H,B LCALL DEL2;通过改变延时时间,可改变频率DJNZ R7,LOP1;确保显示一个周期的波形MOV R0,#00H MOV R7,#0FFH AJMP ZX 经过思考,进行波形切换的方法有很多,我通过查找资料知道,P5口与试验箱的K1 到 K8 这几个开关一一对应,因此我可以通过控制开关来控制P5 特殊功能寄存器的值,从而实现波形的切换。正弦波所需表格
16、如下:ORG 2000H DB 128,131,134,137,140,144,147,150 DB 153,156,159,162,165,168,171,174 DB 177,180,183,186,188,191,194,196 DB 199,202,204,207,209,212,214,217 DB 219,221,223,225,227,229,231,233 DB 234,236,238,239,241,242,244,245 DB 246,247,248,249,250,251,252,253 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 18 页 -多功能信
17、号发生器程序设计5 DB 253,254,255,255,255,255,255,255 DB 255,255,255,255,255,255,255,254 DB 253,253,252,251,250,249,248,247 DB 246,245,244,242,241,239,238,236 DB 234,233,231,229,227,225,223,221 DB 219,217,214,212,209,207,204,202 DB 199,196,194,191,188,186,183,180 DB 177,174,171,168,165,162,159,156 DB 153,150
18、,147,144,140,137,134,131 DB 128,125,122,119,116,112,109,106 DB 103,100,97,94,91,88,85,82 DB 79,76,73,70,68,65,62,60 DB 57,54,52,49,47,44,42,39 DB 37,35,33,31,29,27,25,23 DB 22,20,18,17,15,14,12,11 DB 10,9,8,7,6,5,4,3 DB 3,2,1,1,1,0,0,0 DB 0,0,0,0,1,1,1,2 DB 3,3,4,5,6,7,8,9 DB 10,11,12,14,15,17,18,20
19、 DB 22,23,25,27,29,31,33,35 DB 37,39,42,44,47,49,52,54 DB 57,60,62,65,68,70,73,76 DB 79,82,85,88,91,94,97,100 DB 103,106,109,112,116,119,122,125 此表格是我组成员根据正弦函数公式计算出来的。正常情况下,正弦波均匀分布于Y轴的正负半轴,但是在示波器中无法这样显示。所以我们决定将正弦波整体向上平移128 个单位,并计算出256 个正弦值。4.2 方波的程序设计、调试及参数计算方波的程序是几个波形中最简单的一个。高、低电平各自只需要进行一次D/A 转换,然后
20、再适当的延迟一段时间,就能显示出方波。正常来说,用定时器也能做出来,但是调幅会受到影响。编程如下:MOV R3,#01H;通过改变 R3,可调节幅值FB:MOV A,P5 CJNE A,#02H,SJ;判断:若 P5为 2,则显示方波;否则跳转MOV A,#0FFH MOV DAC0L,A MOV A,R3 MOV DAC0H,A LCALL DEL;改变延时时间可调频名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 18 页 -多功能信号发生器程序设计6 MOV A,#00H MOV DAC0L,A MOV A,#00H MOV DAC0H,A LCALL DEL;调频AJMP
21、 FB 为了能够很好的调节幅值,在进行DA 转换时,我设定了一个较小的幅值。4.3 三角波的程序设计、调试及参数计算实现三角波的波形与正弦波是有联系。三角波形本身就是呈线性增加,因此不用查表,直接用 DA转换的结果就能实现。其设计的关键在于怎样控制幅值;不能太大,因为太大会对后面调节幅值产生影响。虽然不用查表,但是必须依次增加、减少;因此,在何处增一或减一就是非常重要的问题。编程如下:MOV 33H,#01H;根据“33H”的值可改变幅值SJ:MOV A,P5 CJNE A,#04H,ZX NEQ:MOV 30H,#00H MOV 31H,#00H NEQ1:MOV A,30H ADD A,#
22、01H MOV DAC0L,A MOV 30H,A JNC PTA MOV A,31H INC A MOV 31H,A PTA:MOV DAC0H,31H LCALL DEL2;通过改变延时子程序调频MOV A,31H CJNE A,33H,NEQ1 MOV A,30H CJNE A,#0FFH,NEQ1 NEQ2:CLR C MOV A,30H SUBB A,#01H MOV DAC0L,A MOV 30H,A JNC PTB MOV A,31H DEC A MOV 31H,A PTB:MOV DAC0H,31H 名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 18 页 -多
23、功能信号发生器程序设计7 LCALL DEL2 MOV A,31H CJNE A,#00H,NEQ2 MOV A,30H CJNE A,#00H,NEQ2 AJMP SJ 名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 18 页 -多功能信号发生器程序设计8 附录源程序$INCLUDE(C8051F020.INC)ORG 0000H LJMP MAIN ORG 0093H LJMP INT6 ORG 009BH LJMP INT7 MAIN:MOV WDTCN,#0DEH MOV WDTCN,#0ADH MOV REF0CN,#03H MOV DAC0CN,#80H MOV X
24、BR2,#40H SETB EA MOV EIE2,#30H MOV R2,#01H MOV R3,#01H MOV R4,#0FH MOV R5,#01H MOV 34H,#01H MOV B,#01H MOV 33H,#01H ZX:MOV A,P5 CJNE A,#01H,FB MOV R7,#0FFH MOV DPTR,#2000H MOV R0,#00H LOP1:MOV A,34H MOV B,A MOV A,R0 MOVC A,A+DPTR MUL AB INC R0 MOV DAC0L,A MOV DAC0H,B LCALL DEL2 DJNZ R7,LOP1 MOV R0,#
25、00H MOV R7,#0FFH AJMP ZX FB:MOV A,P5 名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 18 页 -多功能信号发生器程序设计9 CJNE A,#02H,SJ MOV A,#0FFH MOV DAC0L,A MOV A,R3 MOV DAC0H,A LCALL DEL MOV A,#00H MOV DAC0L,A MOV A,#00H MOV DAC0H,A LCALL DEL AJMP FB DEL:MOV A,R4 MOV R7,A DLY0:MOV R6,#98 NOP DLY1:DJNZ R6,DLY1 DJNZ R7,DLY0 RET
26、DEL2:MOV A,R2 MOV R1,A DLY3:MOV R6,#01H NOP DLY4:DJNZ R6,DLY4 DJNZ R1,DLY3 RET SJ:MOV A,P5 CJNE A,#04H,ZX NEQ:MOV 30H,#00H MOV 31H,#00H NEQ1:MOV A,30H ADD A,#01H MOV DAC0L,A MOV 30H,A JNC PTA MOV A,31H INC A MOV 31H,A PTA:MOV DAC0H,31H LCALL DEL2 MOV A,31H CJNE A,33H,NEQ1 名师资料总结-精品资料欢迎下载-名师精心整理-第 15
27、 页,共 18 页 -多功能信号发生器程序设计10 MOV A,30H CJNE A,#0FFH,NEQ1 NEQ2:CLR C MOV A,30H SUBB A,#01H MOV DAC0L,A MOV 30H,A JNC PTB MOV A,31H DEC A MOV 31H,A PTB:MOV DAC0H,31H LCALL DEL2 MOV A,31H CJNE A,#00H,NEQ2 MOV A,30H CJNE A,#00H,NEQ2 AJMP SJ INT6:MOV A,P5 CJNE A,#02H,SJ1 MOV A,R3 RL A MOV R3,A AJMP TIAO SJ1
28、:CJNE A,#04H,ZX1 MOV A,R5 INC R5 MOV A,R5 CJNE A,#04H,TIA MOV R5,#01H TIA:MOV 33H,A AJMP TIAO ZX1:CJNE A,#01H,TIAO MOV A,34H ADD A,#01H CJNE A,#06H,CHENZX MOV 34H,#01H AJMP TIAO CHENZX:MOV 34H,A TIAO:NOP MOV P3IF,#00H RETI 名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 18 页 -多功能信号发生器程序设计11 INT7:MOV A,P5 CJNE A,#02
29、H,SJ2 INC R4 MOV A,R4 CJNE A,#0FFH,TIAO1 MOV R4,#0FH AJMP TIAO1 SJ2:CJNE A,#04H,ZX11 INC R2 MOV A,R2 CJNE A,#0FH,TIAO1 MOV R2,#01H AJMP TIAO1 ZX11:CJNE A,#01H,TIAO1 INC R2 MOV A,R2 CJNE A,#03H,TIAO1 MOV R2,#01H TIAO1:NOP MOV P3IF,#00H RETI ORG 2000H DB 128,131,134,137,140,144,147,150 DB 153,156,159,
30、162,165,168,171,174 DB 177,180,183,186,188,191,194,196 DB 199,202,204,207,209,212,214,217 DB 219,221,223,225,227,229,231,233 DB 234,236,238,239,241,242,244,245 DB 246,247,248,249,250,251,252,253 DB 253,254,255,255,255,255,255,255 DB 255,255,255,255,255,255,255,254 DB 253,253,252,251,250,249,248,247
31、DB 246,245,244,242,241,239,238,236 DB 234,233,231,229,227,225,223,221 DB 219,217,214,212,209,207,204,202 DB 199,196,194,191,188,186,183,180 DB 177,174,171,168,165,162,159,156 DB 153,150,147,144,140,137,134,131 DB 128,125,122,119,116,112,109,106 DB 103,100,97,94,91,88,85,82 DB 79,76,73,70,68,65,62,60
32、 DB 57,54,52,49,47,44,42,39 名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 18 页 -多功能信号发生器程序设计12 DB 37,35,33,31,29,27,25,23 DB 22,20,18,17,15,14,12,11 DB 10,9,8,7,6,5,4,3 DB 3,2,1,1,1,0,0,0 DB 0,0,0,0,1,1,1,2 DB 3,3,4,5,6,7,8,9 DB 10,11,12,14,15,17,18,20 DB 22,23,25,27,29,31,33,35 DB 37,39,42,44,47,49,52,54 DB 57,60,62,65,68,70,73,76 DB 79,82,85,88,91,94,97,100 DB 103,106,109,112,116,119,122,125 名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 18 页 -