基于单片机的函数信号发生器的设计与仿真
基于单片机和DAC0832的函数信号发生器的设计

基于单片机和DAC0832的函数信号发生器的设计引言函数信号发生器是一种能够产生可调频率、可调振幅、可调相位和可调形状的电信号的设备。
它广泛应用于电子实验、通信、音频设备等领域。
本文介绍了一种基于单片机和DAC0832的函数信号发生器的设计方案。
单片机是一种集成电路,具有处理能力和存储能力,能够控制外围设备的工作。
DAC0832是一种数字模拟转换器,能够将数字信号转换为模拟信号。
设计原理函数信号发生器主要由脉冲发生单元、频率调节单元、振幅调节单元、相位调节单元和输出单元组成。
脉冲发生单元负责产生基础脉冲信号,频率调节单元负责调节脉冲信号的频率,振幅调节单元负责调节脉冲信号的振幅,相位调节单元负责调节脉冲信号的相位,输出单元负责将脉冲信号输出。
本设计采用了AT89C51单片机作为控制核心,DAC0832作为模拟输出芯片。
AT89C51是一种8位微控制器,具有强大的IO能力和丰富的外设接口。
DAC0832是一种8位DAC,具有较高的精度和稳定性。
设计步骤1.硬件设计硬件设计包括电路原理图的绘制和元器件的选型。
根据设计要求,确定电路中需要使用的电阻、电容、稳压器等元器件,并通过计算和选型手册选取合适的数值和型号。
2.软件设计软件设计包括单片机程序的编写和功能实现。
根据硬件设计的需求,编写控制程序,实现基础脉冲信号的生成和频率、振幅、相位的调节。
3.调试和测试将硬件组装完成后,使用示波器和信号发生器进行信号的调试和测试。
通过观察输出信号的频率、振幅、相位以及波形形状是否满足设计要求,对硬件和软件进行优化和调整。
4.功能扩展通过增加控制接口和调节电路,可以实现更多功能的拓展。
例如,通过添加旋钮、按键和显示屏等元件,实现手动调节和参数显示功能。
通过添加USB或无线通信模块,实现远程控制和数据传输。
结论本设计基于单片机和DAC0832的函数信号发生器,通过控制单片机和DAC芯片,实现了可调频率、可调振幅、可调相位和可调形状的信号输出。
基于单片机的函数信号发生器设计

基于单片机的函数信号发生器设计1引言函数信号发生器是一种用于生成常用函数信号的仪器仪表,主要用于电子测试、数据采集和计算机仿真系统中。
由于仪器价格昂贵、操作复杂、生成信号精度一般,因此基于单片机来设计函数信号发生器就显得尤为重要和实用。
本文介绍以单片机(MCU)作为控制核心设计函数信号发生器的原理及其实现过程。
2相关技术使用单片机作为函数信号发生器的核心控制,就需要按照以下步骤实现:(1)主控芯片的选择:单片机有着多种型号,用来实现函数信号发生器时,应选择具有较丰富的资源和功能特性的以太网芯片,以保证其对复杂信号系统的支持。
(2)信号频率的控制:信号频率的控制是函数信号发生器的重要功能,主要利用单片机的定时中断和PWM模块实现,单片机的定时中断功能可以实现对定义频率的准确控制;PWM模块可以进行频率的精确控制,并能实现调频的模拟信号输出。
(3)信号特征的定义:函数信号发生器可以制定正弦、方波、三角波或矩形波等信号,其信号形式定义很精确,且可以任意调节信号幅度、频率、波形等特性,这就要求用单片机控制信号特征,实现对波形信号的可调控,进而实现任意设置周期内任意特征信号。
(4)模数转换:单片机通过AD转换模块,实现对外部信号的采样和转换,并将转换后的数据存入内部影象存储器,然后根据采样参数的设置改变信号,实现信号发生。
3系统设计根据以上技术步骤,确定了基于单片机的函数信号发生器的设计模式,并根据主控芯片的性能参数和功能要求,确定了STM32系列芯片作为控制主模块,由它完成函数信号发生器的主控制功能,具体实现步骤如下:(1)MCU主模块的选择:STM32系列芯片主要以ARM Cortex-M内核为核心,内部集成了DMA、多种定时器、CAN、USB、IIC、ADC/DAC 等功能,因此选用该系列的芯片即可大大提高系统结构的灵活性和效率。
(2)信号函数参数的确定:正弦波、三角波、矩形波和方波等信号波形参数可以根据信号源参数进行确定,可以分析出正弦波、三角波、矩形波和方波的频率,幅值和偏移量等参数。
基于单片机的函数信号发生器设计设计

摘要信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。
所以本设计使用的是AT89C51单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。
在单片机上加外围器件距阵式键盘,通过键盘控制波形频率的增减以及波形的选择,并用了LCD显示频率大小。
在单片机的输出端口接DAC0832进行D/A转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。
本设计具有线路简单、结构紧凑、价格低廉、性能优越等优点。
在介绍DAC0832芯片特性的基础上,论述了采用DAC0832芯片设计数字函数信号发生器的原理以及整机的结构设计。
对其振荡频率控制、信号输出幅度控制以及频率和幅度数显的实现作了较详细的论述。
该函数信号发生器可输出三角波,方波和正弦波。
关键词:信号发生器单片机 DAC0832 波形调整 LEDAbstractSignal-generator is a kind of signal source in common use, broadly applied at the electronics electric circuit, auto control system and teaching experiment etc. Currently used mostly function signal generator signal generator, waveform generator and a special price of expensive . So the dissertation is usage of the AT89s51 single-chip microcomputer constitute of wave-form generator, which can generate triangle wave, square wave, sine wave etc variety wave-form, the period of wave can be controlled by procedure, at outer circle spare part of the machine, plus independence type keyboard , which can control wave increase or decrease of form-frequency and the choice of wave-form, at the same time LED display frequency size. The output of the machine connect DAC0832 to carry on a DA conversion,again pass operation amplifier to put an end exportation wave-form. This design has advantage of simple circuit, tightly packed structure, cheap price, superior function etc.Based on the introduction of MAX038 , we discussed the principle and the whole frame of the digital function signal generator. We described the control of the oscillatory frequent , amplitude and the digital display in detail. Thegenerator can output three kinds of waves : sine wave , square wave , triangle wave.Keywords:signal generator MCU DAC0832wave-form adjustment LED1目录摘要 (2)第1章绪论1.1 课题的来源与技术背景 (5)1.2 研究信号发生器的目的及意义 (5)1.3 主要研究内容 (6)第2章电路方案的确定2.1 方案的提出和选择 (8)2.2 电路框图及工作原理 (9)第3章单元电路设计3.1 单片机模块 (10)3.2 电源模块 (11)3.3 D/A转换模块 (12)3.4 键盘输入模块 (15)3.5 显示模块 (16)3.6 I/V转化模块 (17)第4章电路软件设计4.1 系统总框图 (19)4.2 显示子程序 (20)4.3 按键子程序 (21)第5章设计实现与总结错误!未定义书签。
基于单片机的函数信号发生器的设计与实现

基于单片机的函数信号发生器的设计与实现一、引言函数信号发生器是一种用于产生不同形式的函数信号的仪器。
在电子领域中,经常需要使用函数信号进行信号调试、测试和仿真。
传统的函数信号发生器通常较为昂贵,而基于单片机的函数信号发生器则能够以较低的成本实现,并且具有良好的可调节性和稳定性。
本文将介绍基于单片机的函数信号发生器的设计与实现。
二、设计原理基于单片机的函数信号发生器主要由以下几部分组成:单片机控制模块、波形发生模块、幅度控制模块、频率控制模块和显示模块。
其中,单片机控制模块采用单片机进行控制和信号生成,波形发生模块用于产生不同形式的函数信号,幅度控制模块用于调节信号的幅度,频率控制模块用于调节信号的频率,显示模块用于显示当前的信号参数。
三、基本功能和设计过程1.单片机控制模块的设计:选择合适的单片机,搭建合适的电路,并进行相应的编程。
具体的控制程序需根据单片机型号和要求进行设计和实现。
2.波形发生模块的设计:选择合适的波形发生电路,包括正弦波、方波、三角波等。
这些波形的发生可以采用基于单片机的数字方法生成。
3.幅度控制模块的设计:通过调节电路中的阻值来实现对信号幅度的调节。
可以使用模拟方法或者数字方法实现。
4.频率控制模块的设计:通过调节电路中的电容或者电阻来实现对信号频率的调节。
可以使用模拟方法或者数字方法实现。
5.显示模块的设计:选择合适的显示设备,如LCD液晶显示屏,将信号的参数通过单片机发送到显示设备上进行显示。
四、设计实例以基于PIC16F877A单片机的函数信号发生器为例,简要介绍其设计与实现步骤。
1.单片机控制模块的设计:选择PIC16F877A单片机,并搭建相应的电路。
使用C语言编写程序,根据用户的输入和要求,通过PWM或DAC控制输出信号的幅度和频率。
2.波形发生模块的设计:根据需要,选择合适的波形发生电路进行设计。
可使用PIC16F877A的PWM输出产生正弦波,方波和三角波等。
基于单片机的函数信号发生器的设计与实现

基于单片机的函数信号发生器 的设计与实现
姓名:刘作东 班级:电子1071班
这部分计算位数较多,不适合用单片机编程来计算计数初值, 所以本设计中将各频率的计数初值算出,让单片机按控制命令来查 表控制频率。 正弦波和三角波的频率控制方法都与上述方法相同,而方波的
频率控制是半周期计数,经过半周期只需改变输出为最大或最小电
平即可。
2 占空比控制
当切换按键切换到方波输出的时候,这时波形的占空比可以进
学号:1071205142
专业:电子信息工程 指导老师:庄立运
一、文献综述
信号发生器亦称函数发生器,主要作为实验用信号源,是现今 各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市 场上常见的波形发生器多为纯硬件的搭接而成,波形种类多为锯齿、 正弦、方波、三角等波形。用分立元件组成的函数发生器,通常是 单函数发生器且频率不高,其工作不很稳定,不易调试;用集成芯片的 函数发生器,可达到较高的频率和产生多种波形信号,但电路较为复 杂且不易调试。利用单片集成芯片的函数发生器,能产生多种波形, 达到较高的频率,且易于调试;利用专用直接数字合成DDS芯片的函数 发生器,能产生任意波形并达到很高的频率,但成本较高。
字量,再由D/A转换器将数字量转化为模拟电流输出,通过运放转化为
模拟电压输出。 因为D/A数模转换器的最大输出电压是由其输入的基准电压来控制的,
所以只要能控制D/A的基准电压便可以控制输出幅度,实现幅度可调。
基于单片机的智能信号发生器设计与仿真

Ab s t r a c t :U s i n g AT8 9 C5 1 a s t h e c o r e mo d u l e s , t h i s a r t i c l e d e s i g n e d a n i n t e l l i g e n t s i g n a l g e n e r a t o r , wh i c h c a n p r o d u c e s a wt o o t h wa v e , t r i a n g l e wa v e ,s q u a r e wa v e a n d s i n e wa v e .S i g n a l g e n e r a t o r s t r u c t u r e d i a g r a m a n d t h e Ha r d wa r e
e x p o n e n t i a l , l o g a r i t h mi c wa y, t h r o u g h D/ A c o n v e r t e r c o n v e r t s t h e s i g n a l s p r o d u c e d b y a n a l o g wa v e f o r m, a n d b y 1 2 8 6 4
摘
8 1 0 0 0 8 )
要 :利 用 A T 8 9 C 5 1单 片 机 为 核 心 模 块 , 设 计 了 一种 智 能 信 号 发 生 器 , 可 实现锯齿波 、 三 角波 、 方 波 和 正 弦 波 4种
【论文】基于单片机的函数发生器的设计和实现(毕业论文).docx

我汉科牧女曇屮南今機本科毕业设计(论文)题目:基于单片机的函数发生器的设计和实现学院:信息工程学院专业: _______________________ 学 #: ________________________ 学生姓名:___________________ 指导教师:___________________-O一一年五月八日基于单片机的函数发生器的设计和实现XXX摘要函数发生器是一种用于产生标准信号的电子仪器,它广泛用于工业生产、科研和国防等各个领域中,所以论文选题具有一定的实用意义。
本文在介绍了函数发生器的基本概念及原理的基础上,核心采用AT89C52单片机,完成了简易的DDS函数发生器的硬件设计和软件编程,并通过调试实现了其功能和主要技术指标。
在系统的硬件部分,设计了由单片机最小系统为核心、通过接口设计,扩展了DAC转换模块、按键和LED显示模块。
其中,采用两片DAC0832实现了全数字化的频率合成器(简称DDS)。
系统的软件设计是在ke订uVision4的集成开发环境下,采用C语言完成了应用系统软件编程, 包括主程序、产生四种常用信号的程序、按键功能和显示子程序等电脑模块;模块化的编程使得程序具有可读性和易于维护的特点。
最后,作者用protel 99SE设计并制作了函数发生器的印制电路板PCB;并完成了样机的制作和调试。
在实验室里,进行了测试,结果表明系统达到设计要求。
关键词:信号发生器,AT89C52,keilc51MCU-based Function Signal Generator DesignXiongChengshuangABSTRACTThe function generator is one kind uses in producing the standard signal electronic instrumentation, it widely uses in the industrial production, the scientific research and the national defense and so on each domain, therefore the paper selected topic has certain practical significance.This article lay between the Shao function generator the basic concept and in the principle foundation, used at89C52 monolithic integrated circuit is the core, has completed the simple DDS function generator hardware design and the software programming, and has realized its function and the major technique target through the debugging.In system's hardware part, has designed by the monolithic integrated circuit smallest system for the core, through the connection design, expanded the DAC transformation module, the pressed key and the LED display module. And, used two piece of DAC0832 to realize Entire digitized frequency synthesizer (i.e. DDS). System's software design is under the keil uVision4 integrated development environment, used the C language to complete the application system software programming, including the master routine, had four kind of commonly used computer modules and so on signal procedures, pressed key function and demonstration subroutine; The modular programming enables the procedure to have the characteristic which the readability and easy to maintain.Finally, the author designed and has manufactured function generator print circuit wafer PCB with protel 99SE; And has completed prototyped manufacture and the debugging. In the laboratory, has carried on the test, finally indicated that the system achieves the design requirements.Key words:Signal generating device, 89C52,keilc51目录前言 (1)第1章函数发生器系统设计 (2)§1.1设计方案的比较 (2)§ 1. 2系统模块设计 (2)§ 1.2. 1控制模块 (3)§1.2.2按键及其显示模块: (3)§1.2.3波形产生模块 (3)§1.2.4 D/A 转换 (3)§1.3系统总体框图 (3)§ 1.4理论分析 (4)§ 1. 4. 1电路的理论计算 (4)§ 1.4.2波形产生相关理论 (6)第2章系统硬件电路的设计 (8)§2. 1单片机的接口电路 (8)§ 2. 2幅度控制模块 (10)§ 2. 2. 1单片机与DAC0832的接口 (10)§ 2. 2. 2 DAC0832与运放的连接 (10)第3章系统软件设计 (13)§ 3. 1系统软件设计方案 (13)§ 3. 2系统软件流程图 (14)§3.3信号产生程序 (15)§ 3. 3. 1正弦波产生 (15)§3. 3. 2三角波产生 (15)§3. 3. 3方波产生 (15)§3. 3. 4锯齿波的产生 (16)第4章系统调试与测试 (17)§4. 1 调试 (17)§ 4. 2 测试 (19)结论 (22)致谢 (23)参考文献 (24)附录 (25)刖吕函数发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
基于单片机的函数信号发生器设计设计

基于单片机的函数信号发生器设计设计基于单片机的函数信号发生器是一种能够产生各种波形信号的电子设备。
它利用单片机控制并产生不同频率、幅度和相位的信号,可以应用于实验室教学、科研实验、电子设备测试等领域。
本文将详细介绍基于单片机的函数信号发生器的设计原理、硬件实现、软件设计和功能实现等方面。
设计原理函数信号发生器的基本原理是使用振荡电路产生基准信号,再通过放大和滤波电路得到所需频率和幅度的信号。
传统的信号发生器采用模拟电路实现,如RC振荡器和多谐振荡器等。
而基于单片机的信号发生器则利用单片机高度集成的特点,通过软件控制实现信号的产生。
硬件实现振荡电路可以采用单片机内部的定时器/计数器模块来实现。
通过合理设置定时器的工作模式、时钟频率和计数值,可以产生所需的频率信号。
放大和滤波电路用于将振荡电路产生的小幅度信号放大到所需的幅度,并进行滤波处理,消除杂散和谐波。
AD转换电路用于将模拟信号转换为数字信号,以供单片机进行处理和输出。
可以采用单片机内部的ADC模块或外部的ADC芯片来实现。
软件设计单片机的驱动程序用于初始化相关外设,如定时器、IO口和ADC等,并提供相应的读写函数接口。
信号发生器的控制程序通过设置定时器的工作模式和时序控制,生成不同频率和波形的信号。
通过ADC转换获得外部设置的幅度参数,并通过PWM输出产生所需的幅度信号。
功能实现波形选择功能通过软件控制输出不同类型的波形信号,如正弦波、方波、三角波、锯齿波等。
频率调节功能通过改变定时器的工作模式和时钟频率,实现信号频率的调节。
可以设置不同的频率范围和分辨率,满足不同应用的需求。
幅度调节功能通过ADC转换获取外部设置的幅度参数,并通过PWM输出产生所需的幅度信号。
可以设置不同的幅度范围和分辨率,实现信号幅度的调节。
相位调节功能通过改变定时器的时序控制,实现信号相位的调节。
可以设置不同的相位范围和分辨率,满足不同实验或测试的需求。
总结基于单片机的函数信号发生器是一种功能强大、灵活性高的电子设备。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的函数信号发生器的设计与仿真基于单片机的函数信号发生器的设计与仿真电子信息科学与技术专业学生摘要:本系统利用80C51设计一个函数信号发生器,详细说明了其实现过程。
本系统使用汇编语言编写,用80C51单片机来实现各模块功能,使用PROTEUS进行仿真。
本文描述使用汇编语言和PROTEUS 仿真实现函数信号发生器的基本功能,实现了方波、三角波、正弦波、锯齿波,频率可调为10HZ、100HZ、500HZ、1000HZ。
本文给出了源程序、各模块的连接图以及仿真图,并做出了详细的分析。
关键词:汇编语言,PROTEUS,函数信号发生器,80C51Design and simulation of the function signalgenerator based on MCUElectronics and Information Science and TechnologyCandidate: Liu PinganAdvisor: Cai JianhuaAbstract:This system uses 80C51 designed a function signal generator, describes detailedly the implementation process. The system uses the Assembler language, realizing every function uses 80C51, applying PROTEUS to simulate in order to realize the function every modules. This article describes the use of Assembler language and PROTEUS simulation, to achieve the basic functions of the Function signal generator, realized square-wave, triangle wave, sine wave, saw-tooth wave , and the frequency adjustable for 10HZ,100HZ,500HZ,1000HZ . This article gives the original program and the simulating diagram and the combination of all of the modules, gives detail analysis of every simulating diagram as well. Keywords: Assembler language, PROTEUS, Function signal generator, 80C511.引言1.1单片机概述随着大规模集成电路技术的发展,中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、(I/O)接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。
单片机具有体积小、成本低,性能稳定、使用寿命长等特点。
其最明显的优势就是可以嵌入到各种仪器、设备中,这是其他计算机和网络都无法做到的[1,2]。
1.2信号发生器的分类信号发生器应用广泛,种类繁多,性能各异,分类也不尽一致。
按照频率范围分类可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。
按照输出波形分类可以分为:正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。
按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。
前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。
后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器[1,2]。
1.3研究内容本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波、矩形波、正弦波的发生。
根据设计的要求,对各种波形的频率进行程序的编写,并将所写程序装入单片机的程序存储器中。
在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。
2. 方案的设计与选择2.1 方案的比较方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:采用单片机编程的方法来实现。
该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。
此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。
鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。
它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省[3,4]。
2.2 设计原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
80C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将80C51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其信号发图2.1 信号发生器原理框图如图2.1所示80C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换。
当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
2.3 设计思想(1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的频率。
(2)将一个周期的信号分离成256个点(按X 轴等分),每两点之间的时间间隔为∆T ,用单片机的定时器产生,其表示式为: /256∆T =T 。
如果单片机的晶振为12MHz ,采用定时器方式0,则定时器的初值为:152mec ∆TX =-T(2.1)定时时间常数为:(8129)/(256)L MOD T =-∆T (2.2) (8129)/(256)TH =-∆T (2.3) MOD32表示除32取余数(3)正弦波的模拟信号是D/A 转换器的模拟量输出,其计算公式为: (/2sin )/2Y =A ∆T +A 其中ref V A = (2.4)t ∆=N∆T 其中1~256N = (2.5)那么对应着存放在计算机里的这一点的数据为:(255)(sin 1)2552i Y D ⨯∆T +⨯==A (4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以TAB1—TAB4为起始地址的存储器中。
2.4 设计功能本方案利用8255A 扩展8个独立式按键,6个LED 显示器。
其中“S0”号键代表方波输出,“S1”号键代表正弦波输出,“S2”号键代表三角波输出,“S3” 号键代表锯齿波输出。
“S4”号键为10Hz 的频率信号,“S5”号键为100Hz 的频率信号,“S6”号键为500Hz 的频率信号,“S7”号键为1KHz 的频率信号,6个LED 显示器输出信号的频率值,选用共阳极LED 。
利用DAC0832实现频率可调的信号源。
频率范围:10Hz,100Hz,500Hz,1000Hz 。
输出波形幅度为0~5V 。
3. 硬件设计3.1硬件原理框图硬件原理方框图如图3.1所示。
图3.1 硬件原理框图如图3.1所示80C51单片机为硬件系统的核心,单片机对键盘扫描读入键值确定波形与频率,通过显示电路显示频率值,通过数模转换器放大电路输出波形,通过示波器可以观察波形与频率,复位电路用于系统复位重启。
3.2主控电路如图3.2些控制信号,将其输入到8255A的信号控制端,用于控制其信号的输入、输出。
如果有键按下,则在读控制端会产生一个读信号,使单片机读入信号。
如果有信号输出,则在写控制端产生一个写信号,并将所要输出的信号通过8255A的PB口输出,并在数码管上显示出来。
3.3 数/模转换电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8存器、8图3.3 数模转换电路由图3.3可知,DAC0832的片选地址为7FFFH ,当P25有效时,若P0口向其送的数据为00H , 则U1 的输出电压为0V 。
若P0口向其送的数据为0FFH 时, 则U1的输出电压为-5V. 故当U1 输出电压为0V 时,V out = - 5V.当输出电压为- 5V 时,可得:V out = +5V ,所以输出波形的电压变化范围为- 5V ~+ 5V. 故可推得当P0所送数据为80H 时,V out 为0V [6]。
公式如右所示:3121230U U U R R R ++= 3.4 按键接口电路图3.4 按键接口电路图3.4为键盘接口电路的原理图,图中键盘和8255A 的PA 口相连,80C51的P0口和8255A 的D0口相连,80C51不断的扫描键盘,看是否有键按下,如有,则根据相应按键作出反应。
其中“S0”号键代表方波输出,“S1”号键代表正弦波输出,“S2”号键代表三角波输出。
“S3”号键代表锯齿波输出,“S4”号键为10Hz的频率信号,“S5”号键为100Hz的频率信号,“S6”号键为500Hz 的频率信号,“S7”号键为1KHz的频率信号[7]3.5 时钟电路8051单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容,从而构成时钟电路,其电路图如图3.5所示。
如图3.5振荡器选择频率为大的频率波形[9]。
3.6 显示电路图3.6 LED显示电路如图3.6所示显示电路是用来显示波形信号的频率,使得整个系统更加合理,从经济的角度出发,所以显示器件采用LED数码管显示器。