基于51单片机的多功能信号发生器设计.doc

基于51单片机的多功能信号发生器设计.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51单片机的多功能信号发生器设计 设计目的和意义 随着电子技术的发展,信号发生器经常要用在各种科学技术领域和工程实践中。选择适当的嵌入式处理器、DA转换芯片,放大器,设计出一种基于单片机的多功能信号发生器的设计,能够实现键盘控制下输出正弦波、方波、三角波等波形。 设计原理 利用51单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分。 详细设计步骤 总体框架 图1 系统总体框架 2.单片机最小系统设计 51单片机是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图2所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点: (1) 有可供用户使用的大量I/O口线。 (2) 内部存储器容量有限。 (3) 应用系统开发具有特殊性。 图2 51单片机最小系统 3.波形产生模块 由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。 图3锯齿波产生流程图 锯齿波产生首先将DAC0832口地址置为4000H,然后将00H送入寄存器A中,DAC0832输出A的内容,当A中的内容等于F0H返回开始,当A中的内容不为0FH时,A的内容累加,从而输出波形。 图4 三角波产生流程图 三角波产生首先将DAC0832口地址置为4000H,通过A中数值的加1递增,当A中的内容为0FFH时,A中的内容减1递减,从而循环产生三角波。 图5 正弦波产生流程图 正弦波的设计通过查表得 图6方波产生流程图 首先将DAC0832口地址置为4000H,通过A中内容为0时,输出对应模拟量,然后延时,当A中的内容为0FF时,同样输出对应模拟量,再延时,从而得到方波。 4.按键及显示模块 主要实现利用按键来控制不同的波形的输出,采用外接按键,当检测到有按键按下,判断是选择波形方式的按键被按下,还是更改频率的按键被按下,在选择波形方式中,当按键1按下时,函数发生器就输出锯齿波,当按键2按下时,函数发生器就输出三角波,当按键3按下时,函数发生器就输出正弦波,当按键4按下时就输出方波。通过按键可以任意循环方式输出不同波形。 显示模块可直接接入示波器观测,还可外接一个1602来显示当前的频率,以观测增减变化。 锯齿波产生程序 B1: MOV A,#00H LP1:SETB P1.5 SETB P1.6 SETB P1.7 CLR P1.4 MOV DPTR,#4000H MOVX @DPTR,A CJNE A,#0F0H,MORE JNB KEY2,B2 JNB KEY3,B3 JB KEY4,D0 LJMP B4 D0: SJMP B1 MORE:INC A SJMP LP1 三角波产生程序 B2: MOV A,#00H LP1:SETB P1.4 SETB P1.6 SETB P1.7 CLR P1.5 MOV DPTR,#4000H MOVX @DPTR,A INC A JNZ UP1 DOWN1:DEC A MOVX @DPTR,A JNZ DOWNN1 JNB KEY1,B1 JNB KEY3,B3 JB KEY4,C0 LJMP B4 C0: SJMP UP1 正弦波产生程序 B3: MOV R1,#00H LOOP1:SETB P1.4 SETB P1.5 SETB P1.7 CLR P1.6 MOV A,R1 MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV DPTR,#4000H MOVX @DPTR,A INC R1 JNB KEY1,B1 JNB KEY2,B2 JB KEY4,E0 LJMP B4 E0: AJMP LOOP1 SETTAB:略 方波产生程序 B4: MOV A,#00H LP2:SETB P1.4 SETB P1.6 SETB P1.5 CLR P1.7 MOV DPTR,#4000H MOVX @DPTR,A LCALL DELAY MOV A,#0FFH MOVX @DPTR,A JB KEY1,J0 LJMP B1 J0: JB KEY2,J1 LJMP B2 J1: JB KEY3,J2 LJMP B3 J

文档评论(0)

mx597651661 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档