课程设计(论文)-基于单片机双通道的多波形发生器.doc

上传人:哈尼dd 文档编号:3299315 上传时间:2019-08-08 格式:DOC 页数:20 大小:1.59MB
返回 下载 相关 举报
课程设计(论文)-基于单片机双通道的多波形发生器.doc_第1页
第1页 / 共20页
课程设计(论文)-基于单片机双通道的多波形发生器.doc_第2页
第2页 / 共20页
课程设计(论文)-基于单片机双通道的多波形发生器.doc_第3页
第3页 / 共20页
课程设计(论文)-基于单片机双通道的多波形发生器.doc_第4页
第4页 / 共20页
课程设计(论文)-基于单片机双通道的多波形发生器.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《课程设计(论文)-基于单片机双通道的多波形发生器.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)-基于单片机双通道的多波形发生器.doc(20页珍藏版)》请在三一文库上搜索。

1、 CHANGCHUN INSTITUTE OF TECHNOLOGY基于单片机双通道的多波形发生器Double Channel Waveform Generator Based On Microcontroller设计题目: 基于单片机双通道的多波形发生器 学生姓名: 学院名称: 专业名称: 班级名称: 学 号: 完成时间: 2011年7月6号 2011 年 7月 6 日组员: 基于单片机双通道的多波形发生器摘要:利用单片机控制灵活的特点,采用软件方式实现信号生成,系统采用查表法基本工作原理,使用片内ROM 波形查询表实现相幅转换. 系统采用 80C51 单片机实现数据处理, DAC0832

2、实现D/ A 转换, 采用拨码开关设置频率的参数,采用按键选取波形。使用LED七段数码管作为波形的代号。实现了正弦波、方波、三角波信号生成、幅值和频率调节,各种波形信号的参数控制,根据按键的设置可以同时输出两列波。关键词: 查表法,数字频率合成技术,单片机,可调波形,双通道引言 信号发生器输出的常规波形,常应用于电子电路的性能测试和参数测量。但常规的波形发生器一般是只能同时产生一种可控的波形,为此设计一种基于单片机控制的信号波形发生器,以满足设计需求。一、设计方案论述:本课题的设计方案有四种: (1)采用函数信号发生器ICL8038集成模拟芯片,它是一种可以同时产生方波、三角波、正弦波的专用集

3、成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。 (2) 传统的直接频率合成技术(DS)。该类方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致其结构复杂、体积庞大、成本昂贵 ,而且容易产生过多杂散分量。 (3)锁相环式频率合成器( PLL)。该类技术具有良好窄带跟踪特性,可选择所需频率信号,抑制杂散分量,且省去大量滤波器,有利于集成化和小型化。但由于锁相环本身是个惰性环节,锁定时间较长,因而频率转换时间较长,且由模拟方法合成的正弦波的参数(如幅度、频率和相位

4、等)都难以定量控制。 (4)直接数字式频率合成器(Direct Digital Frequency ,DDS)。该类方法具有高频率稳定度、 高频率分辨率以及极短的频率转换时间。此外 ,全数字化结构便于集成 ,输出相位连续,频率、 相位和幅度均可实现程控 ,而且理论上能够实现任意波形。经综合比较,第四种方法课通过要求的单片机实现程序控制,程序简单。因此本实验采用第四种方案二、系统工作原理 利用单片机的片内ROM 存储所需的信号波形相位幅度值(又称波形表),根据外电路的输入信号利用查表方式查找片内ROMA中相应地址的相位幅度值。将输 图1出的八位二进制数据进行D/A转换,I/V转换后输出。 根据正

5、弦信号波形的频率和相位在波形表中查找相应的响应点,由于输出的常规波形都具有周期性,波形的产生以正弦波为例:因其周期性,因此只需要设计一个完整的周期,信号的输出部分采用了D/A转换,因此为了适应D/A转换的特征,将正弦函数波形整体上移,时期最低点的值为0,如上图1所示。 D/A转换的最大输入值为255,因此对于周期函数,需要采样的点数最多不超过256个,本设计中采样点数设置为256,相位累加器的数值由累加器A的值传送,将A中的值作为偏移相位值,送还到指针,通过指针查找相应相位的幅度值,并通过P0口输出到D/A转换器转换成相应的模拟信号。系统整体原理框图如下所示:键盘扫描单 片 机 8051 LE

6、D数码管D/A转换波形输出 图2-1 系统原理方框图三、硬件设计及原理3.1主控电路设计单片机是整个波形发生器的核心部件,本次设计采用了应用广泛的MCS-51系列的AT89C51单片机。单片机在整个系统中的作用是形成扫描码,进行键值识别、键处理、参数设置;形成显示段码;形成波形的数字编码,并输出到D/A接口电路。拨码开关输入的值为查找一个值的周期,因此通过拨码开关实现波形周期的设置。主控部分及时钟复位电路、变频电路设计原理图如图3.1所示: 图3.13.2 D/A转换电路设计 D/A部分本设计采用ADC0832芯片实现,该芯片输出量是电流值,因此需要通过一个高阻抗的线性运放实现I/V(电流到电

7、压)转换实现电压的输出。由于本设计是面向双通道设计,所以需采用两列DA装换同时输出AD部分如图3.2所示 图3.2 为实现不同波形的同时产生,软件实现时采用复合查表方式。由于查找表输出的速度很快,因此输出波形的可以近似成连续波形,在世博其上显示的波形则为模拟信号的波形图。 例如为同时输出正弦波形和三角波形,在执行完一次正弦波形查找输出操作后紧接着又执行一次三角波的波形查找操作,由于信号输出的端口使用的是同一个端口,又要能同时输出两种信号波形,因此采用两个DAC0832芯片通过总线接入到P0口,使用P3.7输出的信号作为DAC0832的片选信号,为实现该端口的任何一种状态均能选择到一个芯片,因此

8、该端口的信号一个直接接到一个DAC0832的CS端,另一个通过一个反相器接入到另外一个DAC0832的CS端。经运放实现I/V转换后的电压值可以直接输出到示波器观察到相应的波形情况。3.3 键盘/显示接口电路设计 因为本设计按键较少,所以键盘采用独立式键盘,一个按键对应一个IO口,P1.0对应输出方波按键,P1.2对应输出三角波按键,P1.3对应正弦波输出按键,当两个键同时按下是,会同时输出两列波。显示部分采用LED显示,输出方波时显示“1”,三角波时显示“2”,正弦波时显示“3”.4、 系统软件设计4.1程序总体设计 程序是本设计中的重点。单片机的功能与它的程序有很大关系,本设计中,为实现输

9、出三种波形,并且实现同时可以输出两列波要使单片机定时向数模转换器发送数据,数据的不同将实现不同的波形输出。大致程序流程图如4.1:详细的流程图如图4.2 图4.1 图4.2 4.2键盘扫描程序 将P1口得值送给累加器A,如果有键按下,P1的相应位为0,否则为1,所以可以根据判断P1口得值来分析哪一个键按下,具体程序如下:MAIN: MOV A,P1 /扫描按键 SUBB A,#249 / 当SW3和SW2按键按下,跳转到REL1,输出三角波和正弦波 JZ REL1 SUBB A,#1 /当SW1和SW3按下,跳转到rel2,输出矩形波和正弦波 JZ REL2 SUBB A,#1 /当sw3按下

10、,跳转到rel4,只输出正弦波 JZ REL4 SUBB A,#1 /当sw1和sw2按键按下,跳转到rel3,输出矩形波和三角波 JZ REL3 SUBB A,#1 /当sw2按键按下,跳转到rel5,只输出三角波 JZ REL5 SUBB A,#1 /当sw1按键按下,跳转到rel6,只输出矩形波 JZ REL6 LJMP MAIN4.3波形产生程序为了简化设计程序三种波形均采用查找表,以正弦波为例,方波,三角波类似。REL4: MOV A,P1 /由于程序较长JZ直接跳转不到相应位置,需加一个中间跳转 CJNE A,#251,MAIN LJMP DAN1 DAN1: MOV R0,#00

11、H /当sw3按下,跳转到rel4,只输出正弦波LOOP3:MOV A,P1 CJNE A,#251,OVER1 MOV A,R0 MOV DPTR,#TAB2 /TAB2是正弦波的取值表 MOVC A,A+DPTR MOV P3,#30H MOV P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL304: DEC R3 CJNE R3,#255,L304 CJNE R0,#255,LOOP3 LJMP DAN1OVER1:LJMP MAIN RET四.系统调试与结果分析用WAVE6000编译调试运行生成 .HEX文件,使用Proteus设计电路

12、(电路图见附录一),将.HEX文件加载到AT89C51上,进行硬软结合综合仿真,以正弦波为例进行仿真分析: 频率调试 正弦波仿真频率最低时只有5HZ 正弦波仿真频率最高时200HZ 幅度测试最低幅度0.4mv最高幅度为2.5mv频率调节可以实现从5HZ到200HZ,步进为0.76HZ虽然幅度都很低,不过最高幅度是最低幅度的6倍,在应用是可在加以放大器可以实现从0.8V到5V的幅度调节,可以满足一般信号发生器的要求。其他仿真输出波形如下所示 方波波形 三角波形 正弦波形 方波和正弦波形同时发生 三角和正弦波形同时发生 方波和三角波形同时发生总结 通过调试可得,我们设计的电路能够完成产生方波、三角

13、波、正弦波,并对进行调幅与调频操作,而且可以同时输出两列波。在调试的过程中不是一帆风顺的,有很多的问题都是自己摸索和在与同学交流的过程中得到了解决。在设计的过程中,我先完成的是发生三种波形,通过编程实现并调试成功,同时也实现了调幅与调频,但是怎么实现双通道输出波形把我们难住了,使设计无法进行,通过询问老师,经过老师的指导和同学交流后,如果三种波形的产生都采用一种方法-查表法,同时输出几列波成为了可能,由于双通道输出对IO口数量的要求加大,老师建议我们采用总线结构共用数据总线,通过片选实现同时输出两列波,对此进行了尝试,完成了设计并调试成功。调试过程是发现问题的过程,这要求我们耐心和心细,有一种

14、严谨的科学态度,以能够更好的实现我们的设计。 通过为期两周的课程设计,在老师的精心指导下和同学合作之下最终成功地完成了此次设计,并从中学到了很多的知识和经验,对单片机以及汇编语言有了更深层次的理解。本次课程设计使我认识到:设计思路是实施操作的扎实基石。一个良好的设计思路,是电路的生命。宁愿在思路设计上多花上50%的时间。因为前期看似慢,实际上恰恰给后期的制作带来很大的方便,效果往往是更节省了许多时间。活学活用。这次设计让我真正体会到了书本知识永远是基础,而基础正是你向高层次迈进的扎实阶梯,没有这个基础,就无法实现技术上的腾飞。在实践当中,灵活运用书本上所讲的知识,万变不离其中,只有扎实掌握了核

15、心的方法,才有可能做到活用巧用。参考文献 1 周兴华手把手教你单片机北京航空航天大学出版社。 2 张友德、赵志英、徐时亮单片微机原理应用与实验复旦大学出版社。 3 姚福安电子电路设计与实践山东科学与技术出版社。 4 张毅刚、彭喜圆MCS-51单片机应用设计哈尔滨工业大学出版社。 5康华光、华中理工大学电子学教研室电子技术基础高等教育出版社。 6高吉祥、唐朝京编著全国大学生电子设计竞赛培训系列教程 清华大学出版社。 附录1:Proteus仿真电路图附录二:Protel原理图附录三:PCB图附录三:源程序代码ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV A,P1 /

16、扫描按键 SUBB A,#249 / 当SW3和SW2按键按下,跳转到REL1,输出三角波和正弦波 JZ REL1 SUBB A,#1 /当SW1和SW3按下,跳转到rel2,输出矩形波和正弦波 JZ REL2 SUBB A,#1 /当sw3按下,跳转到rel4,只输出正弦波 JZ REL4 SUBB A,#1 /当sw1和sw2按键按下,跳转到rel3,输出矩形波和三角波 JZ REL3 SUBB A,#1 /当sw2按键按下,跳转到rel5,只输出三角波 JZ REL5 SUBB A,#1 /当sw1按键按下,跳转到rel6,只输出矩形波 JZ REL6 LJMP MAINREL4: MO

17、V A,P1 /由于程序较长JZ直接跳转不到相应位置,需加一个中间跳转 CJNE A,#251,MAIN LJMP DAN1 REL1: MOV R0,#00H / 当SW3和SW2按键按下,跳转到REL1,输出三角波和正弦波 LOOP: MOV A,P1 CJNE A,#249,MAIN MOV A,R0 MOV DPTR,#TAB1 MOVC A,A+DPTR CLR P3.7 MOV P0,A MOV A,R0 MOV DPTR,#TAB2 MOVC A,A+DPTR SETB P3.7 MOV P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3

18、,AL301: DEC R3 CJNE R3,#255,L301 CJNE R0,#255,LOOP LJMP REL1 RETREL5: MOV A,P1 /由于程序较长JZ直接跳转不到相应位置,需加一个中间跳转 CJNE A,#253,MAIN LJMP DAN2REL6: MOV A,P1 /由于程序较长JZ直接跳转不到相应位置,需加一个中间跳转 CJNE A,#254,MAIN LJMP DAN3 REL2: MOV R0,#00H /当SW1和SW3按下,跳转到rel2,输出矩形波和正弦波 LOOP1:MOV A,P1 CJNE A,#250,MAIN MOV A,R0 MOV DP

19、TR,#TAB MOVC A,A+DPTR CLR P3.7 MOV P0,A MOV A,R0 MOV DPTR,#TAB2 MOVC A,A+DPTR SETB P3.7 MOV P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL302: DEC R3 CJNE R3,#255,L302 CJNE R0,#255,LOOP1 LJMP REL2 RET REL3: MOV R0,#00H /当sw1和sw2按键按下,跳转到rel3,输出矩形波和三角波LOOP2:MOV A,P1 CJNE A,#252,OVER MOV A,R0 MOV DP

20、TR,#TAB MOVC A,A+DPTR CLR P3.7 MOV P0,A MOV A,R0 MOV DPTR,#TAB1 MOVC A,A+DPTR SETB P3.7 MOV P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL303: DEC R3 CJNE R3,#255,L303 CJNE R0,#255,LOOP2 LJMP REL3OVER: LJMP MAIN RETDAN1: MOV R0,#00H /当sw3按下,跳转到rel4,只输出正弦波LOOP3:MOV A,P1 CJNE A,#251,OVER1 MOV A,R0

21、MOV DPTR,#TAB2 MOVC A,A+DPTR MOV P3,#30H MOV P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL304: DEC R3 CJNE R3,#255,L304 CJNE R0,#255,LOOP3 LJMP DAN1OVER1:LJMP MAIN RETDAN2 : MOV R0,#00H /当sw2按键按下,跳转到rel5,只输出三角波LOOP4:MOV A,P1 CJNE A,#253,OVER2 MOV A,R0 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P3,#24H MOV

22、 P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL305: DEC R3 CJNE R3,#255,L305 CJNE R0,#255,LOOP4 LJMP DAN2OVER2:LJMP MAIN RETDAN3: MOV R0,#00H /当sw1按键按下,跳转到rel6,只输出矩形波LOOP5:MOV A,P1 CJNE A,#254,OVER3 MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV P3,#79H MOV P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R

23、3,AL306: DEC R3 CJNE R3,#255,L306 CJNE R0,#255,LOOP5 LJMP DAN3OVER3:LJMP MAIN RET / 矩形波列表 TAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0

24、FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH

25、,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,

26、00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,

27、00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H /三角波列表 TAB1: DB 00H,02H,04H,06H,08H,0AH,0CH,0EH,10H,12H,14H,16H,18H,1AH,1CH,1EH DB 20H,22H,24H,26H,28H,2AH,2CH,2EH,30H,32H,34H,36H,38H,3AH,3CH,3EH DB 40H,42H,44H,46H,48H,4AH,4CH,4EH,50H,52H,54H,56H,58H,5AH

28、,5CH,5EH DB 60H,62H,64H,66H,68H,6AH,6CH,6EH,70H,72H,74H,76H,78H,7AH,7CH,7EH DB 80H,82H,84H,86H,88H,8AH,8CH,8EH,90H,92H,94H,96H,98H,9AH,9CH,9EH DB 0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ACH,0AEH,0B0H,0B2H,0B4H,0B6H,0B8H,0BAH,0BCH,0BEH DB 0C0H,0C2H,0C4H,0C6H,0C8H,0CAH,0CCH,0CEH,0D0H,0D2H,0D4H,0D6H,0D8H,0DAH,0

29、DCH,0DEH DB 0E0H,0E2H,0E4H,0E6H,0E8H,0EAH,0ECH,0EEH,0F0H,0F2H,0F4H,0F6H,0F8H,0FAH,0FCH,0FEH DB 0FEH,0FCH,0FAH,0F8H,0F6H,0F4H,0F2H,0F0H,0EEH,0ECH,0EAH,0E8H,0E6H,0E4H,0E2H,0E0H DB 0DEH,0DCH,0DAH,0D8H,0D6H,0D4H,0D2H,0D0H,0CEH,0CCH,0CAH,0C8H,0C6H,0C4H,0C2H,0C0H DB 0BEH,0BCH,0BAH,0B8H,0B6H,0B4H,0B2H,0B0H

30、,0AEH,0ACH,0AAH,0A8H,0A6H,0A4H,0A2H,0A0H DB 9EH,9CH,9AH,98H,96H,94H,92H,90H,8EH,8CH,8AH,88H,86H,84H,82H,80H DB 7EH,7CH,7AH,78H,76H,74H,72H,70H,6EH,6CH,6AH,68H,66H,64H,62H,60H DB 5EH,5CH,5AH,58H,56H,54H,52H,50H,4EH,4CH,4AH,48H,46H,44H,42H,40H DB 3EH,3CH,3AH,38H,36H,34H,32H,30H,2EH,2CH,2AH,28H,26H,24H

31、,22H,20H DB 1EH,1CH,1AH,18H,16H,14H,12H,10H,0EH,0CH,0AH,08H,06H,04H,02H,00H /正弦波列表 TAB2: DB 80H,82H,84H,86H,88H,8AH,8CH,8EH,90H,92H,94H,96H,98H,9AH,9CH,9EH DB 0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ABH,0ADH,0AFH,0B1H, 0B2H,0B4H, 0B6H,0B7H,0B9H,0BAH DB 0BCH,0BDH,0BFH,0C0H,0C1H,0C3H,0C4H,0C5H,0C6H,0C8H,0C9H,0

32、CAH,0CBH,0CCH,0CDH,0CEH DB 0CEH,0CFH,0D0H,0D1H,0D1H,0D2H,0D2H,0D3H,0D3H,0D4H,0D4H,0D4H,0D4H,0D5H,0D5H,0D5H DB 0D5H,0D5H,0D5H,0D5H,0D4H,0D4H,0D4H,0D4H,0D3H,0D3H,0D2H,0D2H,0D1H,0D1H,0D0H,0CFH DB 0CEH,0CEH,0CDH,0CCH,0CBH,0CAH,0C9H,0C8H,0C6H,0C5H,0C4H,0C3H,0C1H,0C0H,0BFH,0BDH DB 0BCH,0BAH,0B9H,0B7H,0B6H

33、,0B4H,0B2H,0B1H,0AFH,0ADH,0ABH,0AAH,0A8H,0A6H,0A4H,0A2H DB 0A0H,9EH,9CH,9AH,98H,96H,94H,92H,90H,8EH,8CH,8AH,88H,86H,84H, 82H DB 80H,7DH,7BH,79H,77H,75H,73H,71H,6FH,6DH,6BH,69H,67H,65H,63H,61H DB 5FH,5DH,5BH,59H,57H,55H,54H,52H,50H,4EH,4DH,4BH,49H,48H,46H,45H DB 43H,42H,40H,3FH,3EH,3CH,3BH,3AH,39H,37

34、H,36H,35H,34H,33H,32H,31H DB 31H,30H,2FH,2EH,2EH,2DH,2DH,2CH,2CH,2BH,2BH,2BH,2BH,2AH,2AH, 2AH DB 2AH,2AH,2AH,2AH,2BH,2BH,2BH,2BH,2CH,2CH,2DH,2DH,2EH,2EH,2FH,30H DB 31H,31H,32H,33H,34H,35H,36H,37H,39H,3AH,3BH,3CH,3EH,3FH,40H,42H DB 43H,45H,46H,48H,49H,4BH,4DH,4EH,50H,52H,54H,55H,57H,59H,5BH,5DH DB 5FH,61H,63H,65H,67H,69H,6BH,6DH,6FH,71H,73H,75H,77H,79H,7BH,7DH END 明德致远,笃行务实

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1