函数信号发生器 (1)分解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

函数信号发生器

制作队员:

班级:

摘要:

本次作品是一个基于单片机设计的函数信号发生器。函数信号发生器的设计方法有多种,利用单片机设计的函数信号发生器具有编程灵活,功能更以扩充等实际的优点。利用单片机设计的函数信号发生器能够产生正弦波,锯齿波,三角波,方波,并实现对频率和占空比的调节,以及液晶屏显示波形名称和波形频率,波形的切换和频率的调节以及占空比的改变都可以用按键实现。在编程语言上,我们选择自身比较熟悉的 C语言,这样在后期波形的调试及与硬件衔接方面更容易发挥出自身优势。经过设计及后期长时间的调试,考虑设计的所有功能均已实现。

关键词:单片机,函数发生器,C语言

第一章:函数信号发生器的设计

设计一个基于单片机的函数信号发生器,该函数信号发生器可以输出四种波形,有正弦波,锯齿波,三角波,方波。在此基础上进一步实现对波形频率和占空比的调节,并用液晶屏分两行显示波形名称和波形频率。

一课程设计的目的:

1、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决实际课题设计的能力。

2、培养针对课题需要,选择和查阅有关手册、图表及文献资料的能力,提高组成系统、编程、调试的动脑动手能

力。

3、通过对课题设计方案的分析、选择、比较,熟悉运用单片机系统开发、软硬件设计的方法内容及步骤。

4、掌握DAC0832,LM324,74LS21的接口电路,及使用方法。

5、熟悉掌握函数信号发生器的工作原理。

二课程设计要求:

1、熟悉组成系统中的实验模块原理,画出实验原理图。

2、写出完整的设计任务书:课题的名称、系统的功能、硬件原理图、软件框图、元件清单、程序清单、参考资料。

3、输出几种波形,实现对频率和占空比的调节,以1HZ 作为步进进行调节。

第二章:设计方案

一系统主要功能

该函数信号发生器可以输出四种波形,有正弦波,锯齿波,三角波,方波。在此基础上进一步实现对波形频率和占空比的调节,并用液晶屏分两行显示波形名称和波形频率。二系统硬件构成及功能

函数信号发生器的设计总体框图如图所示,主要有单片机AT89S52,电源,键盘模块,LCD1602显示模块构成。

按案件模块:由5个复位开关与74LS21组成的系统通过对单片机传输中断信号来实现波形切换及频率和占空比的

调节。

显示模块:用LCD1602,分行显示波形类型和波形频率的显示。

电源模块:电源模块有220V 市变电压经变压,整流,稳压得到+ -5V, + -12V 的电压,维持系统正常工作。

系统的总体框图如图1所示:

图1系统总体框图

2.1 AT89S52单片机及其说明

键盘显示控制器

显示模块 键盘模块

波形输出模块

电 源

主 控 器

AT89S52

(1)AT89S52的引脚图如图2所示

EA/VP

31X119X2

18RESET

9RD 17WR

16

INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P27

28

PSEN

29

ALE/P 30TXD 11RXD 10U1

AT89S52

VCC

RST

图2 AT89S52引脚图

(2)管脚说明

低频信号发生器采用AT89S52单片机作为控制核心,其内部组成包括:一个8位的微处理器CPU 及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器RAM 低128字节,存放读/写数据;高128字节被特殊功能寄存器占用;片内程序存储器4KB ROM ;四个8位并行I/O (输入/输出)接口P3 -P0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工UART (通用异步接

收发送器)的串行I/O口。

VCC:供电电压。

GND:接地。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

AT89S52 单片机外部有32个端口可供用户使用。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器

相关文档
最新文档