当前位置:文档之家› 基于51单片机的函数发生器的

基于51单片机的函数发生器的

基于51单片机的函数发生器的
基于51单片机的函数发生器的

2012届毕业设计(论文)

材料

系、部:电气与信息工程系

学生姓名:肖小列

指导教师:戴日光

职称:讲师

专业:电子信息工程技术

班级:电信0901班

学号:09400230118

2012年5月

摘要

函数发生器主要作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。本次设计的主要目的就是为了学习基于单片机的函数发生器的工作原理,设计出一个低频的函数发生器。从本次设计不仅可以让我对函数发生器的原理有更深的了解,而且也对单片机的知识有更深的掌握。

单片机有很多种类,而且制作函数发生器的方案繁多,本次设计是以AT89C51单片机为核心,选用DAC0832为数模转换芯片,并辅以必要的模拟电路,设计出了一个基于AT89C51单片机的函数信号发生器。其设计内容主要包括单片机最小系统的设计、DA转换模块的设计、键盘控制模块的设计及LCD显示模块的设计。其中DA转换模块包括2块DAC0832芯片和OP07运放电路,第一块DA芯片的输出作为第二块DA芯片的参考电压,而第一块DA芯片的2.5V参考电压由MC1403芯片的输出来提供;键盘控制模块采用3个按键来选择波形类型及调节频率、幅值;显示模块则采用LCD1602来显示波形类型、频率及幅值;最终将设计好的函数发生器的输出接上示波器,在示波器上显示实际输出的波形。

本设计最终能达到预期的效果,能实现电压步进0.1V,方波能够任意调节占空比以及在LCD1602上显示波形类型、电压和频率,并且可以通过示波器来观察其输出的波形。

【关键词】:AT89C51单片机;DAC0832;LCD1602;按键

ABSTRACT

Function as the main generators by signals. Electronic circuits is now the design in the application of the necessary equipment. The design of the main purpose is to learn revivification function of the generators works, a low frequency function of the generators. in this design could not only allow me to the principle functions of programme,there is more, but also for a more monolithic integrated circuits to learn.

Monolithic integrated circuits there are many varieties, and the production function of the generators, the design is AT89c51 monolithic integrated circuits to the selection of a module dac0832 the chips, and supported by the simulation circuits, and devised a function of the signal based on at89c51 monolithic integrated circuits generators. The design includes monolithic integrated circuits to the system design, and D/A the module for the design, the keyboard control module of the design and LCD modules display design.One of D/A the modules including two dollars and op07 dac0832 the discharge of the D/A, the chip is the D/A chip of the voltage and the first piece of D/A chips 5v reference by 2. the voltage mc1403 chip of the output to provide; keyboard control in three key to select the type and frequency, wave of value displays module lcd1602;is used to indicate the type and frequency and wave be;Eventually will be designed to function of the generators output meet on oscilloscope, in the wave is varied in the practical output.

The design of the will to achieve the desired results can be achieved step 3 1v voltage and waves to any regulation of free and lcd1602 than on the type of signal wave, voltage and frequency, and may, by the wave is varied to observe the output.

【Key words】:at89c51mcu;dac0832;lcd1602;key

目录

前言 (1)

第一章单片机概述 (2)

第一节单片机的发展历史及趋势 (2)

第二节 AT89C51单片机结构简介 (3)

一、AT89C51的基本特性 (3)

二、AT89C51单片机的外部引脚介绍 (4)

第三节本章小结 (6)

第二章方案选择 (7)

第一节波形生成方案 (7)

第二节频率改变方案 (8)

第三节本章小结 (9)

第三章系统硬件设计 (9)

第一节各模块硬件设计 (10)

一、系统总体设计 (10)

二、单片机最小系统设计 (11)

三、8位DA转换器DAC0832 (12)

四、2.5V基准电压模块设计 (17)

五、系统显示功能设计 (17)

六、系统按键功能设计 (21)

第二节本章小结 (22)

第四章系统软件设计 (23)

第一节 Keil C51开发环境简介 (23)

一、Keil uVision3环境介绍 (23)

二、利用Keil uVision3创建新项目 (24)

第二节系统软件流程设计 (25)

一、系统软件总体设计 (25)

二、子系统软件设计 (26)

三、系统详细流程 (28)

第三节本章小结 (29)

第五章设计成果 (30)

第一节实物展示和性能说明 (30)

一、系统设计的实物整体 (30)

二、液晶显示模块 (31)

三、示波器显示模块 (33)

第二节本章小结 (35)

结论 (35)

致谢 (37)

参考文献 (37)

附录 (38)

一、英文原文: (39)

二、英文翻译: (42)

三、工程设计图纸: (44)

四、源程序:.............................................. 错误!未定义书签。

前言

本次设计的主要是学习基于单片机的函数发生器的工作原理,制作出一个低频的函数信号发生器。

在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。函数发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。但市面上能看到的此类仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。我们长期使用的信号发生器,大部分是由模拟电路构成的,这类仪器作为信号源,频率可达上百MHz,在高频范围内其频率稳定性高、可调性好。但用于低频信号输出时,它所需要的RC值很大,参数准确度难以保证。而且其体积大,损耗也大。前人研制了采用8031单片机及程序存储器构成的最小系统组成的数字式低频信号发生器,它在低频范围内性能好,但是体积较大,价格较贵。随着大规模集成电路技术的发展,集成度不断提高,使得微型机的速度和性能大为提高,可靠性增加,成本降低。MCS-51就是将具有存储程序、处理数据以及与外设交换信息的功能电路集成在一块芯片中,并符合一定系统结构而构成的单片机。

单片机有很多种类,而且制作函数发生器的方案繁多,本次设计是以AT89C51单片机为核心,选用DAC0832为数模转换芯片,并辅以必要的模拟电路,设计出了一个基于AT89C51单片机的函数信号发生器。其设计内容主要包括单片机最小系统的设计、DA转换模块的设计、键盘控制模块的设计及LCD显示模块的设计。其中DA转换模块包括2块DAC0832芯片和OP07运放电路,第一块DA芯片的输出作为第二块DA芯片的参考电压,而第一块DA芯片的2.5V参考电压由MC1403芯片的输出来提供;键盘控制模块采用3个按键来选择波形类型及调节频率、幅值;显示模块则采用LCD1602来显示波形类型、频率及幅值;最终将设计好的函数发生器的输出接上示波器,在示波器上显示实际输出的波形。

本设计最终能达到预期的效果,能实现电压步进0.1V,方波能够任意调节占空比以及在LCD1602上显示波形类型、电压和频率,并且可以通过示波器来观察其输出的波形。

1 单片机概述

单片机的全称是单片微型计算机(Single Chip Microcomputer),国际上统称为微控制器(Micro Controller Unit,MCU)。它把组成微型计算机的各功能部件(中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、可编程存储器(EPROM)、并行及串行输入/输出(I/O)接口电路、定时器/计数器、中断控制器等)集成在一块半导体芯片上,构成一个完整的微型计算机。

1.1 单片机的发展历史及趋势

在进行一个具体的单片机应用系统开发之前,需要对单片机的硬件资源配置和体系结构有较深入的了解。本章将对AT89C51单片机的基础内容作较详细的讲解。

单片机出现的历史并不长,但发展十分迅猛。它的产生与发展和微处理器的产生和发展大体相同,自1971年Intel公司首先推出4位微处理器以来,它的发展到目前为止大致可分为4个阶段:

一、单片机发展的初级阶段(20世纪70年代初~70年代中期)。

1971年11月Intel公司首先设计出集成度为2000只晶体管/片的4位微处理器Intel 4004,并配有RAM、ROM和移位寄存器,构成了第一台MCS-4微处理器。随后又设计出了8位微处理器Intel8008,在此期间Fairchild公司也设计出了8位微处理器F8。这些微处理器虽然还不是真正的单片机,但从此拉开了研制单片机的序幕。

二、低性能单片机阶段(20世纪70年代中期~80年代初期)。

以1976年Intel公司推出的MCS-48系列为代表,采用将8位CPU、8位并行I/O端口、8位定时器/计数器、RAM和ROM等集成在一块半导体芯片上的单片结构,虽然其寻址范围有限,也没有串行I/O端口,RAM、ROM容量小,中断系统也较简单,但功能可满足一般工业控制和智能化仪表等的需要。这种采用将CPU与计算机外围电路集成到一块芯片上的技术,标志着单片机的诞生。从而导致了计算机领域中开始出现两大分支:通用计算机系统和嵌入式系统。

三、高性能单片机阶段(20世纪80年代初期~90年代初期)。

这一阶段推出的8位单片机普遍带有串行口,有多级中断处理系统,多个16位定时器/计数器。片内RAM、ROM的容量加大,寻址范围可达64KB,个别片内还带有A/D转换接口。这一阶段中最具典型性的产品为1980年Intel公司推出的MCS-51系列单片机,其他代表产品有Motorola公司的6801和Zilog 公司的Z8等。这类单片机的运算速度大幅度提高,增加了外围电路功能,强化了智能控制的特征,拓宽了单片机的应用范围,使之能用于智能终端、局域网络的接口等。因而,它是目前国内外单片机产品的主流,各制造公司还在不断的改进和发展它。

四、8位单片机巩固发展阶段及16位、32位单片机不断推出阶段(20世

纪90年代至今)。

此阶段单片机在集成度、功能、速度、可靠性、应用领域等方面向更高水平发展。如:CPU的位数有8位、16位、32位,而结构上采用双CPU结构或内部流水线结构,以提高处理能力和运算速度;时钟频率高达20MHz甚至更高,使指令执行速度相对加快;提高新型的串口总线结构,为系统的扩展和配置打下了良好的基础;增加新的特殊功能部件,如监视定时器WDT、DMA传输、PWM 输出、可编程计数阵列PCA、调制解调器、通信控制器、浮点运算单元等;半导体制造工艺的不断进步,使芯片向高集成度、低功耗方向发展。此阶段单片机内集成的功能越来越强大,并朝着片上系统方向发展,单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等各方面得到大量应用。

随着技术的进步,早期的8位中、低档单片机逐渐被淘汰,但8位单片机并没有消失,尤其是51系列单片机不仅没有消失,反而还呈现快速发展的趋势。目前,单片机正朝着高性能和多品种方向发展,将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方向发展。

1.2 AT89C51单片机结构简介

1.2.1 AT89C51的基本特性

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多

嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51单片机有40个管脚,分成两排,每一排各有20个脚,其中左下角标有箭头的为第1脚,然后按逆时针方向依次为第2脚、第3脚……第40脚。在40个管脚中,其中有32个脚可用于各种控制,比如控制小灯的亮与灭、控制电机的正转与反转、控制电梯的升与降等,这32个脚叫做单片机的“端口”,在单片机技术中,每个端口都有一个特定的名字,比如第一脚的那个端口叫做“P1.0”。

AT89C51单片机的主要特性:

·与MCS-51兼容

·4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

1.2.2 AT89C51单片机的外部引脚介绍

AT89C51单片机的外部引脚的排列及名称如图1.1所示:图1.1所示管脚描述如下:

·VCC:提供掉电空闲正常工作电压。

·GND:接地。

·P0口:P0口是开漏双向口,可以写为1使其状态为悬浮用作高阻输入。P0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉输出1。

·P1口:P1口是带内部上拉的双向I/O口,向P1口写入1时,P1口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P1口会因为内部上拉而输出电流。其中P1.0用作定时/计数器2的外部计数输入/时钟输出;P1.1

用作定时/计数器2重装载/捕捉/方向控制。

·P2口:P2口是带内部上拉的双向I/O口,向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时,分别作为地址高位字节和16位地址(MOVX @DPTR),此时通过内部强上拉传送1。当使用8位寻址方式(MOV@Ri)访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容。

·P3口:P3口是带内部上拉的双向I/O口。向P3口写入1时,P3口被内部上拉为高电平,可用作输入口。当作为输入脚时被外部拉低的P3口会因为内部上拉而输出电流,P3口还具有以下特殊功能:RxD(P3.0):串行输入口

TxD(P3.1):串行输出口

INT0(P3.2):外部中断0

INT1(P3.3):外部中断

T0(P3.4):定时器0外部输入

T1(P3.5):定时器1外部输入

WR(P3.6):外部数据存储器写信号

RD(P3.7):外部数据存储器读信号

·RST:当晶振在运行中只要复位管脚出现2个机器周期高电平即可复位。内部有扩散电阻连接到Vss,仅需要外接一个电容到Vcc即可实现上电复位。·ALE:地址锁存使能,在访问外部存储器时,输出脉冲锁存地址的低字节,在正常情况下,ALE输出信号恒定为1/6振荡频率。并可用作外部时钟或定时,注意每次访问外部数据时一个ALE脉冲将被忽略。ALE可以通过置位SFR 的auxlilary.0禁止,置位后ALE只能在执行MOVX指令时被激活。·PSEN:当执行外部程序存储器代码时,PSEN每个机器周期被激活两次.在访问外部数据存储器时PSEN无效,访问内部程序存储器时PSEN无效。

·EA/VPP:在访问整个外部程序存储器时EA必须外部置低,如果EA为高时将执行内部程序,除非程序计数器包含大于片内FLASH的地址。该引脚在对FLASH编程时提供5V/12V编程电压(Vpp),如果保密位1已编程EA在复位时由内部锁存。

·XTAL1:反相振荡放大器输入和内部时钟发生电路输入。

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

图1.1 AT89C51单片机的外部引脚图

1.3 本章小结

本章第一节主要介绍了单片机的发展历史及未来趋势,让我们对单片机有了一个初步的了解。第二节比较详细地描述了AT89C51单片机的结构特性及引

脚功能,为学习下一章打下了坚实的基础。

2 方案选择

函数发生器一般是指能自动产生正弦波、方波、三角波的电压波形的电路或者仪器。其波形产生方法有单片机控制DA技术、直接数字合成等;电路形式可以采用由运放及分离元件构成,也可以采用单片集成函数发生器。本章将讨论采用何种方法设计函数发生器。

2.1 波形生成方案

函数发生器在科学实验、电子测量、自动控制、设备检测、无线通讯等领域有着广泛的应用。信号发生器的基本功能是可以提供符合一定技术指标要求的电信号,其波形、频率、幅值均可以调节。实现信号发生器电路的方案很多,其特点也不同,主要有模拟电路实现方案、数字电路实现方案和模数混合实现的方案。

1、采用单片机控制技术实现的信号发生器

该方案的主要思路是采用编程的方法来产生希望得到的波形,用户将要输出的波形预先存储在半导体存储器中,在需要某种波形时将储存在存储器中的数据依次读出来,经过数模转换、滤波等处理后,输出该波形的信号。该方案优点是输出信号的频率稳定,抗干扰能力强,实现任意波形的信号容易,可通过外置按键或键盘来设定所需要产生信号源的类型和频率,还可以通过显示器显示出波形的相关信息。不足之处是由于单片机的处理数据的速度有限,当产生频率比较高的信号时,输出波形的质量将下降。

2、利用直接数字频率合成(DDS)集成芯片实现的信号发生器

随着大规模集成电路制作技术的发展,采用直接数字频率合成技术实现的信号产生集成芯片应用越来越广泛。DDS集成芯片内部主要由相位累加器、波形存储器、高速D/A转换器等环节组成,在时钟脉冲的控制下,相位累加器对输入的频率控制字不断进行累加得到相应的相位码,同时相位码序列作为地址信号去寻址波形存储器进行相位码到幅度码的转换,并输出不同的幅度编码。这一系列不同的幅度编码经过D/A转换器得到相应的阶梯电压信号,最后经过低通滤波器平滑,即可输出相应的信号。一般集成DDS芯片内部时钟脉冲的频率固定,其相位累加器位数也不变,所以只需改变频率控制字即可实现输出信号频率的变化。利用DDS集成电路设计的信号发生器具有输出频率高,频率稳

定度高,输出频率分辨率高,易于实现全数字控制等优点,是目前设计高精度、高性能信号发生器的首选方案。目前典型的DDS集成芯片有AD9850、AD9851、AD9852和AD9834等。

3、利用专用函数发生器集成电路实现的信号发生器

利用集成函数发生器专用芯片可以方便的实现多种波形的输出,而且外围电路简单,调试容易。例如早期的函数发生器集成芯片有ICL8038、BA205、XR2206/2207/2209等,这些芯片的不足时输出信号的频率不高,最大仅有几百kHz,调节方式不灵活,频率和脉冲信号的占空比不能独立调节。MAX038是美国MAXIM公司推出的新一代单片函数信号发生器,MAX038内部含有精密带隙电压参考、鉴相器和TTL同步输出,可以采用较少的外部元件构成一台高频函数发生器,也可单独用作电压控制振荡器、频率调制器、脉宽调制器、锁相环、频率合成器和FSK信号发生器,它的主要特点有:0.1Hz~20MHz的输出频率调节范围,350:1的扫频范围,10%~90%的占空比调节范围,可以输出正弦波、方波、矩形波、三角波、锯齿波等波形,且频率和占空比调节互不影响,是目前较为理想的函数发生器集成芯片。

4、采用分立器件组成的信号发生器

过去传统的信号发生一般采用这种方式,该方案一般采用集成运算放大器外加电阻、电容等元件,构成方波、三角波发生器,然后将三角波信号或方波信号转换成正弦波信号输出;也可以直接采用RC正弦波信号发生器产生正弦波信号。该方案的缺点是输出信号频率较低,输出的波形质量差,输出频率调节范围小,电路复杂且体积大。

综合考虑成本、复杂程度、技术要求等各种因素,选择了单片机控制双DA技术完成频率的改变这种方案。

2.2 频率改变方案

方案一:单片机控制DA产生波形均是由查表产生,查表频率的改变可导致送至DA的数据端得点与点之间的距离变化,点与点距离的变化后,波形的周期将发生变化,也就是波形的频率改变了。因此控制单片机的查表频率即可实现频率的步进。其优点是能够很方便的改变频率;其缺点是对单片机查表频率的精度要求较高,且随着频率增高而提高。

方案二:单片机控制计数器的初值。其优点是解除了单片机对查表频率精度的要求;其缺点是当DA的输出频率高于100Hz时,每改变一个计数频率引

起输出频率的增加或者减少的频率都大于100Hz。对计数器的位数要求较高(至少需要10位),且由于受到VCO的振荡频率的影响输出频率失真度增加。

综合方案一和方案二的优缺点,本文采用了在低频时控制单片机的查表频率从而改变输出频率,在高频时改变计数器的计数初值来改变频率的方法从而较完美地实现要求。

2.3 本章小结

本章主要介绍了本设计的具体方案,本设计采用双DA技术来生成波形,在频率控制方面,本设计采用控制单片机查表的频率和改变计数器的计数初值相结合的方法。

3 系统硬件设计

硬件设计是系统设计非常重要的一部分,这关系到系统能否正常运行,每一个模块的设计都关系到整体。本章将详细地介绍系统各个模块的设计,包括单片机最小系统、DA转换模块、液晶显示模块和按键控制模块等。

3.1 各模块硬件设计

3.1.1 系统总体设计

本设计总体框图如图3.1所示:

图3.1 系统总体框图

系统总体款图主要包括以下几个部分:

单片机部分:本设计选用AT89C51单片机作为控制核心。

DA转换部分:本设计采用2块DAC0832芯片,其中一块的输出用于另一块DA 的基准

基准电压部分:第一块DA的2.5V基准电压通过MC1403芯片来实现。

显示部分:本设计采用LCD1602来显示波形的类型、幅值的大小、频率的大小。键盘部分:本设计采用3个独立按键来控制波形类型的选择、幅值大小的改变及频率大小的改变。

3.2单片机最小系统设计

本设计以AT89C51单片机为核心,要使AT89C51单片机正常工作,必须满足它的基本条件,这就是最小工作系统,如图3.2所示:

图3.2 AT89C51单片机最小系统

最小工作系统包括如下几部分:

电源:单片机使用的是5V电源,其中正极接40引脚(Vcc),负极接20引脚(GND)。

晶振电路:晶振是晶体振荡器的简称,单片机是一种时序电路,必须提供脉冲信号才能正常工作。AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为11.0592MHz,电容值约为30μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。单片机内部已经集成了振荡器;使用晶体振荡器,接18(XTAL2)、19(XTAL1)脚。只要买来晶振、电容,按图接上即可。

复位电路:单片机复位电路是指单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。

单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC =0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM 为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见表3.1。

表3.1 寄存器复位后状态表

特殊功能寄存器初始状态特殊功能寄存器初始状态

A

B PSW SP DPL DPH P0—P3

IP

IE

00H

00H

00H

07H

00H

00H

FFH

***00000B

0**00000B

TMOD

TCON

TH0

TL0

TH1

TL1

SBUF

SCON

PCON

00H

00H

00H

00H

00H

00H

不定

00H

0********B

按图中画法连好9脚(RST),单片机即可上电初始化。复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,时间不少于5ms。复位后单片机才开始正常工作。

EA引脚:31引脚一般接到正电源端。

3.3 8位DA转换器DAC0832

3.3.1 DAC0832芯片引脚介绍

DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图3.3和图3.4分别为DAC0832的引脚图和内部结构图。其主要参数如下:分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压为(+10~-10)V,供电电源为(+5~+15)V,逻辑电平输入与TTL兼容。从图4

中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号/XFER。

图3.3中,当ILE为高电平,片选信号/CS和写信号/WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当/WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。

对第二级锁存来说,传送控制信号/XFER和写信号/WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当/WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。

图3.3 DAC0832引脚图

图3.3中其余各引脚的功能定义如下:

(1)、DI7~DI0:8位的数据输入端,DI7为最高位。

(2)、IOUT1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最

大,当DAC寄存器中数据全为0时,输出电流为0。

(3)、IOUT2:模拟电流输出端2,IOUT2与IOUT1的和为一个常数,即IOUT1

+IOUT2=常数。

(4)、RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以RFB端可以

直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。

(5)、VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它

决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10~-10)V。VREF端与D/A内部T形电阻网络相连。

(6)、VCC:芯片供电电压,范围为(+5~15)V。

(7)、AGND:模拟量地,即模拟电路接地端。

(8)、DGND:数字量地。

图3.4DAC0832内部结构图

3.3.2 DAC0832的工作方式

DAC0832可处于三种不同的工作方式:

(1)直通方式:当ILE接高电平,CS、WR1、WR2和XFER都接数字地时,DAC 处于直通方式,8位数字量一旦到达DI7~DI0输入端,就立即加到8位D/A 转换器,被转换成模拟量。例如在构成波形发生器的场合,就要用到这种方式,即把要产生基本波形的数据存在ROM中,连续取出送到DAC去转换成电压信号。

(2)单缓冲方式:只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存器数据,DAC就可处于单缓冲工作方式。一般的做法是将WR2和XFER 都接地,使DAC寄存器处于直通方式,另外把ILE接高电平,CS接端口地址译

码信号,WR1接CPU的WR信号,这样就可以通过一条MOVX指令,选中该端口,使CS和WR1有效,启动D/A转换。

(3)双缓冲方式:主要在以下两种情况下需要用双缓冲方式的D/A转换。需在程序的控制下,先把转换的数据输入输入缓存器,然后在某个时刻再启动D/A 转换。这样,可先选中CS端口,把数据写入输入寄存器;再选中XFER端口,把输入寄存器内容写入DAC寄存器,实现D/A转换。在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同的时刻把要转换的数据打入各DAC的输入寄存器,然后由一个转换命令同时启动多个DAC转换。先用3条输出指令选择3个端口,分别将数据写入各DAC的输入寄存器,当数据准备就绪后,再执行一次写操作,使XFER变低同时选通3个D/A的DAC寄存器,实现同步转换。

基于51单片机的函数信号发生器的设计

龙源期刊网 https://www.doczj.com/doc/7310524873.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

基于51单片机的简易计算器制作

基于51单片机的简易计算器制作专业:电气信息班级:11级电类一班 姓名:王康胡松勇 时间:2012年7月12日 一:设计任务 本系统选用AT89C52单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下: (1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LED 显示数据和结果。 (2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LED上提示八个0;当除数为0时,计算器会在LED上会提示八个负号。 设计要求:分别对键盘输入检测模块;LED显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真 分析其设计结果。 二.硬件设计 单片机最小系统 CPU:A T89C52 显示模块:两个4位7段共阴极数码管 输入模块:4*4矩阵键盘 1.电路图

电路图说明 本电路图采用AT89C52作为中处理器,以4*4矩阵键盘扫描输入,用两个74HC573(锁存器)控制分别控制数码管的位于段,并以动态显示的方式显示键盘输入结果及运算结果。为编程方便,以一个一位共阴极数码管显示负号。 三,程序设计 #include #define Lint long int #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; //锁存器段选sbit wela=P2^7; sbit display_g=P2^0; //负号段选 sbit display_w=P2^1; //负号位选uchar code table[]={0x3f,0x06,0x5b,0x4f, //0,1,2,3

基于51单片机的波形发生器的设计讲解

目录 1 引言 (1) 1.1 题目要求及分析 (1) 1.1.1 示意图 (1) 1.2 设计要求 (1) 2 波形发生器系统设计方案 (2) 2.1 方案的设计思路 (2) 2.2 设计框图及系统介绍 (2) 2.3 选择合适的设计方案 (2) 3 主要硬件电路及器件介绍 (4) 3.1 80C51单片机 (4) 3.2 DAC0832 (5) 3.3 数码显示管 (6) 4 系统的硬件设计 (8) 4.1 硬件原理框图 (8) 4.2 89C51系统设计 (8) 4.3 时钟电路 (9) 4.4 复位电路 (9) 4.5 键盘接口电路 (10) 4.7 数模转换器 (11) 5 系统软件设计 (12) 5.1 流程图: (12) 5.2 产生波形图 (12) 5.2.1 正弦波 (12) 5.2.2 三角波 (13) 5.2.3 方波 (14) 6 结论 (16) 主要参考文献 (17) 致谢...................................................... 错误!未定义书签。

1引言 1.1题目要求及分析 题目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。 1.1.1示意图 图1:系统流程示意图 1.2设计要求 (1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。 (2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组合的波形。 (3) 系统具有存储波形功能。 (4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。 (5) 系统输出波形幅度范围0~5V。 (6) 系统具有显示输出波形的类型、重复频率和幅度的功能。

基于单片机正弦信发生器












专业班级:
学生姓名:
指导教师(签名):
一、课程设计(论文)题目
正弦波信号发生器设计
二、本次课程设计(论文)应达到的目的
本次课程设计是自动化专业学生在学习了《单片机原理及应用》课程 及《模拟电子线路》、《数字电子线路》等专业基础课程之后进行的一次综 合训练,其主要目的是加深学生对单片机软硬件技术和相关理论知识的理 解,进一步熟悉 51 单片机系统设计的基本理论、方法和技能;掌握工程 应用的基本内容和要求,力争做到理论与实际的统一;同时培养学生分析 问题、解决问题的能力和独立完成系统设计的能力,并按要求编写相关的 技术文档和设计报告等。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技 术参数、设计要求等)
1.设计内容
(1)选择 51 单片机,晶振采用 12MHz。
(2)设计一个能产生 0 至 50HZ 正弦波信号。通过 0832D/A 芯片完成 数模转换。

(3)频率值由键盘输入。 (4)将频率值由 LED 数码管上显示(两位)。 2.设计要求 (1)按照任务书的要求完成系统分析及方案设计。 (2)完成硬件原理图的设计,并选择相关元器件。 (3)完成控制软件流程图的设计,编写相应的单片机控制程序。 (4)撰写设计报告。 四、应收集的资料及主要参考文献: 1.李建忠.单片机原理及应用.西安电子科技大学出版社,2008 2.杨居义.单片机课程设计指导.清华大学出版社,2009 3.李海滨等.单片机技术课程设计与项目实例.中国电力出版社,2009 以及与 51 系列单片机相关的文献及教材。 五、审核批准意见
教研室主任(签字) 正弦信号发生器设计方案框图

基于51单片机的计算器设计

目录 第一章引言 (3) 1.1 简述简易计算器 (3) 1.2 本设计主要任务 (3) 1.3 系统主要功能 (4) 第二章系统主要硬件电路设计 (4) 2.1 系统的硬件构成及功能 (4) 2.2 键盘电路设计 (5) 2.3 显示电路设计 (6) 第三章系统软件设计 (7) 3.1 计算器的软件规划 (7) 3.2 键盘扫描的程序设计 (7) 3.3 显示模块的程序设计 (8) 3.4 主程序的设计 (9) 3.5 软件的可靠性设计 (9) 第四章调试 (9) 第五章结束语 (10) 参考文献 (11) 附录源程序 (11)

第一章引言 1.1 简述简易计算器 近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。计算器是日常生活中比较的常见的电子产品之一。如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢? 本设计是以AT89S52单片机为核心的计算器模拟系统设计,输入采用4×6矩阵键盘,可以进行加、减、乘、除9位带符号数字运算,并在LCD1602上显示操作过程。 科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。现在应用较广泛的是科学计算器,与我们日常所用的简单计算器有较大差别,除了能进行加减乘除,科学计算器还可以进行正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能。计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器, 使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。 1.2 本设计主要任务 以下是初步设定的矩阵键盘简易计算器的功能: 1.扩展4*6键盘,其中10个数字,5个功能键,1个清零 2.强化对于电路的焊接 3.使用五位数码管接口电路 4. 完成十进制的四则运算(加、减、乘、除); 5. 实现结果低于五位的连续运算; 6. 使用keil 软件编写程序,使用汇编语言; 7. 最后用ptoteus模拟仿真; 8.学会对电路的调试

基于51单片机电子闹钟的设计(1)

单片机原理与接口技术课程设计题目:多功能电子闹钟 院系:电气与电子工程系 专业:电气工程及其自动化 班级:电气工程1503 姓名: 学号: 指导教师: 二零一七年十二月

多功能电子闹钟 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil 单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机定时器中断闹钟 LED

目录 第1章方案的选择和论证 (1) 1.1单片机型号的选择 (1) 1.2按键的选择 (1) 1.3显示器的选择 (1) 1.4计时部分的选择 (1) 1.5发音部分的设计 (2) 1.6显示器驱动电路 (2) 1.7电源的选择 (2) 第2章数字电子钟的设计原理和方法 (3) 2.1设计原理 (3) 2.2硬件电路的设计 (3) 2.2.1 AT89C51单片机简介 (3) 2.2.2 键盘电路的设计 (3) 2.2.3 段码驱动电路 (4) 2.2.4 蜂鸣器驱动电路 (4) 2.3软件部分的设计 (5) 2.3.1 主程序部分的设计 (5) 2.3.2 中断定时器的设置 (5) 2.3.3 闹钟子函数 (6) 2.3.4 计时函数 (6) 2.3.5 键盘扫描函数 (8) 2.3.6 时间和闹钟的设置 (8) 第3章实验结果 (10) 总结 (11) 致谢 (12) 参考文献 (13) 附录 (14)

基于51单片机的计算器设计程序代码汇编

DBUF EQU 30H TEMP EQU 40H YJ EQU 50H ;结果存放 YJ1 EQU 51H ;中间结果存放GONG EQU 52H ;功能键存放 ORG 00H START: MOV R3,#0 ;初始化显示为空MOV GONG,#0 MOV 30H,#10H MOV 31H,#10H MOV 32H,#10H MOV 33H,#10H MOV 34H,#10H MLOOP: CALL DISP ;PAN调显示子程序WAIT: CALL TESTKEY ; 判断有无按键JZ WAIT CALL GETKEY ;读键 INC R3 ;按键个数 CJNE A,#0,NEXT1 ; 判断就是否数字键 LJMP E1 ; 转数字键处理NEXT1: CJNE A,#1,NEXT2 LJMP E1 NEXT2: CJNE A,#2,NEXT3 LJMP E1 NEXT3: CJNE A,#3,NEXT4 LJMP E1 NEXT4: CJNE A,#4,NEXT5 LJMP E1 NEXT5: CJNE A,#5,NEXT6 LJMP E1 NEXT6: CJNE A,#6,NEXT7 LJMP E1 NEXT7: CJNE A,#7,NEXT8 LJMP E1 NEXT8: CJNE A,#8,NEXT9 LJMP E1 NEXT9: CJNE A,#9,NEXT10 LJMP E1 NEXT10: CJNE A,#10,NEXT11 ;判断就是否功能键LJMP E2 ;转功能键处理NEXT11: CJNE A,#11,NEXT12 LJMP E2 NEXT12: CJNE A,#12, NEXT13 LJMP E2

C51单片机的波形发生器

通信专业技能实训报告 题目基于Proteus的波形发生器设计 学院信息科学与工程学院 专业通信工程 班级 学生 学号 指导教师魏长智 二〇一九年一月五日

济南大学通信专业技能实训报告 目录 1 前言 ...................................................................................................................... - 1 - 2 硬件设计 .............................................................................................................. - 2 - 2.1 启动方式选择 ........................................................................................... - 2 - 2.2 框图设计 ................................................................................................... - 2 - 2.3 电路图设计 ............................................................................................... - 3 - 3 DAC0832性能与特征....................................................................................... - 4 - 3.1 D/A转换器与单片机接口探究 ............................................................. - 4 - 3.1.1 数据线连接 .................................................................................... - 4 - 3.1.2 地址线连接 .................................................................................... - 4 - 3.1.3 控制线连接 .................................................................................... - 4 - 3.2 DAC0832的认识.................................................................................... - 5 - 3.2.1 DAC0832的结构......................................................................... - 5 - 3.2.2 DAC0832的引脚......................................................................... - 6 - 3.2.3 DAC0832的启动控制方式......................................................... - 7 - 4 程序设计 .............................................................................................................. - 8 - 4.1 程序流程图 ............................................................................................... - 8 - 4.1.1 程序设计思路 ................................................................................ - 8 - 4.1.2流程图 ............................................................................................. - 8 - 4.2 用C语言实现 ........................................................................................ - 10 - 5 Proteus仿真及结果 ......................................................................................... - 13 - 5.1方波: ...................................................................................................... - 13 - 5.2正弦波: .................................................................................................. - 14 - 5.3三角波: .................................................................................................. - 15 - 5.4梯形波: .................................................................................................. - 16 - 5.5锯齿波: .................................................................................................. - 17 -实训结语: ............................................................................................................ - 18 -参考文献 ................................................................................................................ - 19 -

基于51单片机函数信号发生器设计.

摘要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602. this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602. 目录

基于51单片机的数字计算器的设计

《单片机技术及其应用》课程设计报告 专业:通信工程 班级:09312班 姓名:某某某 学号:09031069 指导教师: 二0一二年六月十八日

目录 1设计目的 (1) 2 设计题目描述与要求 (1) 3 设计过程 (2) 4硬件总体方案及说明 (6) 5 软件总体方案及设计流程 (9) 6 调试与仿真 (13) 7 心得体会 (14) 8 指导老师意见 (15) 9 参考文献 (16) 附录一 (16) 附录二 (21)

基于51单片机的数字计算器的设计 1设计目的 简易计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,简易计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,同时学习查阅资料、参考资料的方法。 本设计是基于51系列的单片机进行的简易计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED 上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件选择AT89C51单片机和74ls164,输入用4×4矩阵键盘。显示用5位7段共阴极LED静态显示。软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。选用编译效率最高的Keil软件进行编程,并用proteus仿真。 2 设计题目描述与要求 基于AT89C51数字计算器设计的基本要求与基本思路: (1)扩展4*4键盘,其中10个数字,5个功能键,1个清零 (2)使用五位数码管接口电路

基于51单片机波形发生器的设计与实现开题报告

基于51单片机波形发生器的设计与实现开题报告合肥师范学院本科生毕业论文(设计)开题报告 (学生用表) 课题基于51单片机波形发生器的设计与实现 系部电子信息工程学院专业电子信息工程学科工学 学生屠宝轩指导教师吴剑威一、课题的来源、背景及意义 (1)来源:科研/生产 (2)背景:单片机是再20世纪70年代中期发展起来的一种大规模集成电路芯 片,是由中央处理器(CPU), ROM、RAM芯片及I/O接口和一些外围电路等通过印刷版总线连接在一起的一个完整的讣算机系统。信号发生器是一种作为激励源或者信号源的电子设备,它能够产生各种各样的波形和频率,其在教学实验,生产装实践和科技领域有着广泛的应用,是最普遍使用的电子仪器之一。对于电子类专 业的学生,除了学习理论知识外,还必须将所学的理论知识付诸实践,在实践中订应用理论知识,提高动手能力,从而提高发现,解决问题的能力,所以试验是必 不可少的环节,而信号波形发生器是实验过程最普遍,最基本,也是应用最广泛线的电子设备之一,本研究不是针对高端的信号发生器开发,而是从降低经 济成本, 操作方便简单,输出波形实用角度出发,研究一套设备。

(3)意义:传统的正弦信号源根据实际需要一般价格昂贵,低频输出时性能不好且不便于自动调节,丄程实用性较差。现在利用单片机的优越性,制作一种体积小,实用性强,使用方便的低频信号发生器,以AT85C51单片机为核心,结合低俗D/A转换器,通过设计与编程实现了正弦波、方波、锯齿波的产生及其自山切换以及频率、相位的可调与多相波的同时输出。 二、国内外发展现状 信号波形发生器历史非常的久远,它产生于上个世纪20年代,那会,电子设备刚刚诞生,随后,雷达发展了起来,通信技术也在不断地发展,到了40年代,标准信号发生器开始出现,它的出现主要是为了进行各种接收机的测试,使信号发生器诞生之初主要是用来做定性分析的,随着使用的要求不断提升,慢慢发展成为了定量分析的测量仪器,还是在这个时期,脉冲信号发生器也出现了,这个主要是用于脉冲方面的测量的,上面说的这些信号波形发生器都是早期的一些产品,复杂的机械结构,比较 [1]大的功率,比较简单的电路,速度发展总体是比较慢的。这种发展速度一直持续到1964年,笫一台全电子晶体管做的信号发生器出现。 从60年代以后,信号波形发生器的发展速度就开始加快了,有个代表产品,那就是函数信号发生器,但是模拟的电子方面的技术在这段时期是占主要的,组成的部分一般都是分立元件,或者是采用模拟的集成方面的电路,电路结构相比于60年代以前,要复杂了,产生的波形就多了一些,比如有方波、正弦波、三角波,还有了锯齿波,但是波形还是比较简单的,加上模拟电路会产生较大的漂移,输出波形的稳定性还是比较差的,70年代乂是一个转折点,出现了微控制器,这个时候信号波形发生器的功能就开始强大了起来,波形的产生也比较复杂了。对信号波形发生器而言,软件成为这个时期的主要特征,通过程序用微控制器进行相应的处理就能方便灵活的获得一些简单的信号波形,当然这种方式也是有缺陷的,那就是波形输出的频率不会很

基于单片机的信号发生器(完整电路_程序)资料

电子与信息工程学院综合实验课程报告 实验名称:基于单片机的信号发生器的设计与实现班级:10电工2班 学号:20101851046 姓名:李俊 指导教师: 时间:

摘要 本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如 正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。 关键词:低频信号发生器;单片机;D /A转换; 1设计选题及任务 设计题目:基于单片机的信号发生器的设计与实现 任务与要求: 设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。 基本要求: 1. 产生三种以上波形。如正弦波、三角波、矩形波等。 2.最大频率不低于500Hz。并且频率可按一定规律调节,如周期按1T,2T,3T,4T 或1T,2T,4T,8T变化。 3.幅度可调,峰峰值在0——5V之间变化。 扩展要求:产生更多的频率和波形。 2系统概述 2.1方案论证和比较 2.1.1总体方案: 方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。 方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。

基于51单片机的函数发生器和示波器解析

《智能仪器仪表设计基础》 课程设计报告 单位:自动化学院 学生姓名:汪连升 专业:测控技术与仪器 班级:0821001 学号:2010212950 指导老师:耿道渠 成绩: 设计时间:2013 年5月 重庆邮电大学自动化学院制

一、题目:基于单片机的多波形信号发生器设计 二、指导教师:耿道渠 三、设计要求: 设计一个信号发生器,实现如下功能: (1)可产生正弦波、方波、三角波、脉冲等波形; (2)通过按钮或键盘选定输出波形; (3)波形频率可设定; (4)波形可通过液晶屏显示。 四、给定条件: 1、8051单片机最小系统; 2、ADC,DAC器件; 五、设计: 1、方案论证,并确定设计方案 2、给出信号发生器的整体设计框图 3、硬件电路设计 4、软件设计(画出程序流程图,并给出相应模块程序代码) 5、完成设计报告 六、具体设计过程及实验结果: 七、设计的心得体会: 八、附件:(可选) 完成心率波、指数上升和指数下降波形; 九、参考书目: 给出主要参考书目(如:《单片机原理与应用》、《电子测量技术》、《单片机C语言程序设计》等),包括作者,书目名称,出版社等。

基于51单片机的波形发生器 引言 波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。 本系统通过对51单片机的控制,用DA-AD等模块实现了正弦波、方波、三角波和锯齿波的产生,同时可以通过按键实现波形的选择和波形频率的改变。在实现波形的发生的同时又实现了波形图线的显示,通过NoKia5110对AD实时采集数据的显示、波形类型和波形频率的显示。 摘要: 本系统采用单片C8052为控制核心,通过其端口实现数字量的输出,然后由DAC0832把数字量转换成模拟量;但是DAC芯片输出的是电流信号,本系统用LM324运放把电流信号转换为电压信号。然后利用LM358搭建一个同相比例放大器,将转换后的电压信号按可调比例放大一定倍数。波形显示利用NoKia5110液晶屏,显示其波形、频率和实时的图像。显示其图像的时候我们利用ADC0804模数转换芯片将产生的模拟信号转换为数字信号,把AD实时读取到的值等比例显示到液晶屏上。本系统通过按键实现波形的选择以及波形频率的改变。 关键字:STC89C52 DAC0832 Nokia5110 ADC0804 LM324 独立按键

基于51单片机的简易计算器设计

河南##############学校 毕业设计(论文) 基于51单片机的简易计算器 系部: 自动控制系 专业: 电气自动化 班级: 自083 姓名: 崔 # # 学号: 091415302 指导老师: 许 # 二零一二年五月八日

基于51单片机的简易计算器 摘要 工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我以《智能化测量控制仪表原理与设计》、《MCS-51系列单片微型计算机及其应用》课程中所学知识为基础,设计了简易计算器。本系统以MCS-51系列中的8051单片机为核心,能够实现多位数的四则运算。该系统通过检测矩阵键盘扫描,判断是否按键,经数据转换把数值送入数码管动态显示。本系统的设计说明重点介绍了如下几方面的内容:基于单片机简易计算器的基本功能,同时对矩阵键盘及数码管动态显示原理进行了简单的阐述;介绍了系统的总体设计、给出了系统的整体流程框图,并对其进行了功能模块划分及所采用的元器件进行了详细说明;对系统各功能模块的软、硬件实现进行了详细的设计说明。 关键词:MCS-51;8051单片机;计算器;加减乘除

Based on the simple calculator 51 SCM Abstract The engineering practice teaching is to students better to consolidate and practice have set up by the professional knowledge, in this engineering practice, I to the intelligent measurement control instrument principle and design ", "the MCS-51 series single chip computer and its application" course knowledge as the foundation, the design the simple calculator. This system to MCS-51 of the 8051 series single chip microcomputer as the core, can realize the connection arithmetic. The system through the test matrix keyboard scan, judge whether key, the data transfer the numerical into digital tube dynamic display. This system mainly introduced the design that the following aspects of content: based on single chip microcomputer simple calculator basic functions, and the matrix keyboard and a digital tube dynamic display of the principle of a simple expatiated; introduced the design of the whole system, the whole process of the system are discussed, and its function module partition and the components for a detailed explanation; the functional modules of the system hardware and software of the implementation of the detailed design instructions. Key words: MCS-51;8051 single chip microcomputer;Calculator;Add, subtract, multiply and divide:

51单片机制作的波形发生器

51单片机制作的波形发生器 相信很多朋友都可能接触到一个波型发生器的制作,可能刚刚入门,做的东西也不会说是很复杂。可能就一 个矩形波,或者是三角波。但是网上的很多资料是忽悠 人的,就此,我也提供一个比较完整的波型发生器 C51 原代: 该系统的软件比较典型:包括键盘的应用,显示的 应用和 DA 转换器的应用。本设计中,输出的波形有三种:正弦波,方波,三角波。 方波的输出最为简单,只要按照设定的周期值将输 出的电压改变即可。 三角波的输出也比较简单,单片机的输出只要完成 数字量递增和递减交替进行即可。、 正弦波的输出最麻烦,如果在软件中计算出输出的 各点电压值,将会浪费很多的 CPU 时间,以至于无法满足频率的要求。通常最简单的方法是通过手动的方法计 算出输出各点的电压值,然后在编写程序时以数组的方 式给出。当需要时,只要按照顺序进行输出即可。这种 方法比运算法速度快且曲线的形状修改灵活。在本设计 中将 360 度分为 256 个点,则每两个点之间的间隔为1.4 度,然后计算出每个点电压对应的数字量即可。只

要反复输出这组数据到 DAC0832, 就可以在系统输出端得到想要的正弦波。 具体程序如下: #include ; #define uchar unsigned char #define uint unsigned int #define DAdata P0 uchar code Sinetab[256]= { 0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e, 0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e, 0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xab,0xad, 0xaf,0xb1,0xb2,0xb4,0xb6,0xb7,0xb9,0xba, 0xbc,0xbd,0xbf,0xc0,0xc1,0xc3,0xc4,0xc5, 0xc6,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce, 0xce,0xcf,0xd0,0xd1,0xd1,0xd2,0xd2,0xd3, 0xd3,0xd3,0xd2,0xd2,0xd1,0xd1,0xd0,0xcf, 0xce,0xce,0xcd,0xcc,0xcb,0xca,0xc9,0xc8, 0xc6,0xc5,0xc4,0xc3,0xc1,0xc0,0xbf,0xbd, 0xbc,0xba,0xb9,0xb7,0xb6,0xb4,0xb2,0xb1, 0xaf,0xad,0xab,0xaa,0xa8,0xa6,0xa4,0xa2, 0xa0,0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,

基于51单片机的简易函数信号发生器

创新性实验研究报告实验项目名称_简易函数信号发生器

四、实验内容

2、实验内容 1、运用keil软件对程序进行编写,运行程序,并进行程序修改。 2、运用protues软件进行硬件电路仿真设计。 3、将程序下载到仿真单片机中,并观测输出波形。 4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。 5、仿照仿真软件进行硬件电路的焊接。 6、将程序下载到单片机,并用示波器测试输出波形。 7、对程序进行修改,直到输出满意的波形为止。

3、实验步骤 1、首先打开keil软件. 2、运用keil软件对程序进行编写,程序见附件。 3、打开protues软件. 4、运用protues软件对硬件电路进行设计。 9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。单片机引脚分配如下:?XTAL1,XTAL2:外接晶振,产生时钟信号。 ?RST:复位电路; ?P2口:8位数字信号输出输出,外接DAC0832; ?P3.6口和P3.7口:DAC0832的时钟信号; 单片机模块 单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。最后通过示波器显示输出的波形。

基于单片机的简易计算器设计

2013 - 2014 学年_一_学期 山东科技大学电工电子实验教学中心 创新性实验研究报告 实验项目名称__基于51单片机的简易计算器设计_ 2013 年12 月27 日

四、实验内容

2、实验内容 (一)、总体硬件设计 本设计选用AT89C52单片机为主控单元。显示部分:采用六位LED动态数码管显示。按键部分:采用2*8键盘;利用2*8的键盘扫描子程序,读取输入的键值。 (二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用两条I/O 线作为行线,八条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为2×8个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口和另一个P口的两个管脚实现16个按键功能,这种形式在单片机系统中也最常用。 矩阵键盘布局图: 矩阵键盘内部电路图如下图所示:

(三)、LED显示模块 本设计采用LED数码显示来显示输出数据。通过D0-D7引脚向LED写指令字或写数据以使LED实现不同的功能或显示相应数据。 (四)运算模块(单片机控制) MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。

相关主题
文本预览
相关文档 最新文档