![基于单片机的数字波形发生器的设计_第1页](http://file1.renrendoc.com/fileroot_temp2/2021-2/17/884c0fd8-25e2-4c55-8f53-cff6ac6c445a/884c0fd8-25e2-4c55-8f53-cff6ac6c445a1.gif)
![基于单片机的数字波形发生器的设计_第2页](http://file1.renrendoc.com/fileroot_temp2/2021-2/17/884c0fd8-25e2-4c55-8f53-cff6ac6c445a/884c0fd8-25e2-4c55-8f53-cff6ac6c445a2.gif)
![基于单片机的数字波形发生器的设计_第3页](http://file1.renrendoc.com/fileroot_temp2/2021-2/17/884c0fd8-25e2-4c55-8f53-cff6ac6c445a/884c0fd8-25e2-4c55-8f53-cff6ac6c445a3.gif)
![基于单片机的数字波形发生器的设计_第4页](http://file1.renrendoc.com/fileroot_temp2/2021-2/17/884c0fd8-25e2-4c55-8f53-cff6ac6c445a/884c0fd8-25e2-4c55-8f53-cff6ac6c445a4.gif)
![基于单片机的数字波形发生器的设计_第5页](http://file1.renrendoc.com/fileroot_temp2/2021-2/17/884c0fd8-25e2-4c55-8f53-cff6ac6c445a/884c0fd8-25e2-4c55-8f53-cff6ac6c445a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计(论文) 题目题目: 基于单片机的数字波形发生器基于单片机的数字波形发生器 教学单位:教学单位: 专专 业:业: 学学 号:号: 姓姓 名:名: 指导教师:指导教师: 2011 年 4 月 摘摘 要要 本系统是基于 AT89S52 单片机的数字式低频信号发生器。采用 AT89S52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路 (NE4558)、按键和 LED 显示灯电路等。通过按键控制可产生方波、锯齿波、 三角波、正弦波等,同时用 LED 显示灯指示对应的波形。其设计简单、性能优 良,可用于多种需要低频信号源的场所,具有一定的实用性。 关键词:单片机
2、;信号发生器;D/A 转换 ABSTRACT The system is a digital signal generator based on single chip computer. At89s52 is used as a control microcontroller core. The system is composed by digital/analog conversion(DAC0832), imply circuit(NE4558),button and LED lights .It can generate the square, triangle and sine w
3、ave, with LED display. The system can be used for a signal source in the low-frequency signal source. It is very practical. Key words : The single chip computer;The signal generator;D/ A conversion 目目 录录 第第 1 章章 引引 言言.5 1.1 课题背景.5 1.2 国内外研究情况.5 1.3 单片机概述.5 1.4 研究方法.5 第二章第二章 系统设计系统设计.5 2.1 系统方案的比较.5
4、2.2 控制芯片的选择.5 2.3 键盘方案论证.5 第三章第三章 系统硬件设计系统硬件设计.5 3.1 基本原理.5 3.2 单片机介绍及资源分配.5 3.2.1 单片机的介绍.5 3.2.2 资源分配.5 3.3 各部分电路原理.5 3.3.1 DAC0832 芯片原理.5 3.3.2 NE4558 工作原理.5 3.3.3 键盘电路原理.5 3.3.4 LED 显示电路原理.5 第四章第四章 系统软件设计系统软件设计.5 4.1 主程序流程图.5 4.2 子程序流程图.5 第五章第五章 测试结果测试结果.5 第六章第六章 结论结论.5 致谢致谢.5 参考文献参考文献.5 附录:附录:.5
5、 电路原理图.5 PCB 封装图.5 程序清单.5 第第 1 章章 引引 言言 1.11.1 课题背景课题背景 字波形发生器,主要作为实验用信号源,是现今各种电子电路实验设计应用 中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭 接而成,波形种类多为锯齿、正弦、方波、三角等波形。用分立元件组成的函 数发生器,通常是单函数发生器且频率不高,其工作不很稳定,不易调试;用集成 芯片的函数发生器,可达到较高的频率和产生多种波形信号,但电路较为复杂且 不易调试。利用单片集成芯片的函数发生器,能产生多种波形,达到较高的频率, 且易于调试;利用专用直接数字合成 DDS 芯片的函数发生器,
6、能产生任意波形 并达到很高的频率,但成本较高。 当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的 进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断 的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器 具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以 极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应 用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标 志之一。 利用单片机采用程序设计方法来产生低频信号,其频率底线很低。具有线 路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,
7、用途广泛 等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只 要对电路稍加修改,调整程序,即可完成功能升级。 目前我国已经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发 生器还处于起步阶段。就目前国内的成熟产品来看,多为一些 PC 仪器插卡,独立的仪器 和 VXI 系统的模块很少,并且我国目前在波形发生器的种类和性能上都与国外同类产品存 在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。 1.21.2 国内外研究情况国内外研究情况 波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳 定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续
8、的相位变换、 和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、 波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统, 因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。 在 70 年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于 两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准 波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期 的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、 价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复 杂。同时,主要表现为两个突出
9、问题,一是通过电位器的调节来实现输出频率 的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。 在 70 年代后,微处理器的出现,可以利用处理器、A/D/和 D/A,硬件和软件 使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软 件为主,实质是采用微处理器对 DAC 的程序控制,就可以得到各种简单的波形。 90 年代末,出现几种真正高性能、高价格的函数发生器、但是 HP 公司推出了 型号为 HP770S 的信号模拟装置系统,它由 HP8770A 任意波形数字化和 HP1776A 波形发生软件组成。HP8770A 实际上也只能产生 8 中波形,而且价格 昂贵。不久以
10、后,Analogic 公司推出了型号为 Data-2020 的多波形合成器, Lecroy 公司生产的型号为 9100 的任意波形发生器等。 到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过 GHz 的 DDS 芯片,同时也推动了函数波形发生器的发展,2003 年,Agilent 的 产品 33220A 能够产生 17 种波形,最高频率可达到 20M,2005 年的产品 N6030A 能够产生高达 500MHz 的频率,采样的频率可达 1.25GHz。由上面的 产品可以看出,函数波形发生器发展很快近几年来,国际上波形发生器技术发 展主要体现在以下几个方面: (1)过去由于频率
11、很低应用的范围比较狭小,输出波形频率的提高,使得波形 发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入 变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数 段把波形数据存入存储器。目前可以利用可视化编程语言(如 Visual Basic ,Visual C 等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输 入任意波形,来实现波形的输入。 (2)与 VXI 资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算 机的插卡以及新近开发的 VXI 模块。 (3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起 来。不过现在新的台式
12、仪器的形态,和几年前的己有很大的不同。这些新一代 台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去 的类似产品减少了一半。 1.31.3 单片机概述单片机概述 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS 化、 低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。 下面是单片机的主要发展趋势。 近年,由于 CHMOS 技术的进步,大大地促进了单片机的 CMOS 化。CMOS 芯 片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细 管理状态。这也是今后以 80C51 取代 8051 为标准 MCU 芯片的原因。因为单
13、片机 芯片多数是采用 CMOS(金属栅氧化物)半导体工艺生产。CMOS 电路的特点是低 功耗、高密度、低速度、低价格。采用双极型半导体工艺的 TTL 电路速度快, 但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了 HMOS(高密度、 高速度 MOS)和 CHMOS 工艺。CHMOS 和 HMOS 工艺的结合。目前生产的 CHMOS 电 路已达到 LSTTL 的速度,传输延迟时间小于 2ns,它的综合优势已在于 TTL 电 路。因而,在单片机领域 CMOS 正在逐渐取代 TTL 电路。 随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功 能将列强。在单片机家族中,8051
14、 系列是其中的佼佼者,加之 Intel 公司将其 MCS 51 系列中的 8051 内核使用权以专利互换或出售形式转让给全世界许多 著名 IC 制造厂商,如 Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保 持与 8051 单片机兼容的基础上改善了 8051 的许多特性。这样,8051 就变成有 众多制造厂商支持的、发展出上百品种的大家族,现统称为 8051 系列。8051 单片机已成为单片机发展的主流。专家认为,虽然世界上的 MCU 品种繁多,功 能各异,开发装置也互不兼容,但是客观发展表明,8051 可能最终形成事实上 的标准 MCU 芯片。 单片机是微型机的一个主要分
15、支,在结构上的最大特点是把 CPU、存储器、 定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组 成和功能而言,一块单片机芯片就是一台计算机。 单片机是通过内部总线把计算机的各主要部件接为一体,其内部总线包括 地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时 提供地址,CPU 通过它们将地址输出到存储器或 I/O 接口;/数据总线的作用是 在 CPU 与存储器或 I/O 接口之间,或存储器与外设之间交换数据;控制总线包 括 CPU 发出的控制信号线和外部送入 CPU 的应答信号线等。 单片机作为计算机发展的一个重要领域,应用一个较科学的分类方法。根 据目
16、前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非 总线型及工控型/家电型。 由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的 得力助手。它的应用遍及各个领域 ,单片机已成为计算机发展和应用的一个重 要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的 控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分 功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技 术也称为微控制技术,是传统控制技术的一次革命。 1.41.4 研究方法研究方法 由于要求达到模拟信号波形发生,因此要由 D/A 转换芯片 0832 来来完成此
17、 项任务。利用 AT89S52 单片机采用程序设计方法产生锯齿波、正弦波、矩形波 三种波形,再通过 D/A 转换器 DAC0832 将数字信号转换成模拟信号,滤波放大, 最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最 终输出显示其各自的类型以及数值。 第二章第二章 系统设计系统设计 2.12.1 系统方案的比较系统方案的比较 方案一:采用函数信号发生器 ICL8038 集成模拟芯片, (如图 2-1)它是 一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生 的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤 除一些,但不能完全滤除掉。
18、方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积 分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围 窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切 换来实现,操作不方便。 方案三:采用单片机和 DAC0832 数模转换器生成波形,由于是软件滤波, 所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、 性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。 经比较,方案三既可满足毕业设计的基本要求又能充分发挥其优势,电路 简单,易控制,性价比较高,所以采用该方案。 2.22.2 控制芯片的选择控制芯片的选择 方案一:AT
19、89S52 单片机是一种高性能 8 位单片微型计算机。它把构成计 算机的中央处理器 CPU、存储器、寄存器、I/O 接口制作在一块集成电路芯片 中,从而构成较为完整的计算机。 方案二:C8051F005 单片机是完全集成的混合信号系统级芯片,具有与 AT80S52 兼容的微控制器的内核,与 MCS-51 指令集完全兼容。除了具有标准 AT80S52 的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模 拟部件和其他数字外设及功能部件。 方案选择:方案二中 C8051F005 芯片系统内部结构复杂,不易控制,芯片 成本高,对于本系统而言利用率低,AT89S52 芯片比较常用,简单易控制,
20、成 本低,性能稳定。故采用方案一。 2.32.3 键盘方案论证键盘方案论证 方案一:矩阵式键盘。矩阵式键盘的按键触点接于由行、列母线构成的矩 阵电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈 高电平。当某一个键闭合时,该键所对应的行线和列线被短路。 方案二:编码式键盘。编码式键盘的按键触点接于 74LS148 芯片。当键盘 上没有闭合时,所有键都断开,当某一键闭合时,该键对应的编码由 74LS148 输出。 以上两种方案综合考虑,选择方案一。 第三章第三章 系统硬件设计系统硬件设计 3.13.1 基本原理基本原理 系统框图如图 3.1 所示 波形指示 图 3.1 低频信号发
21、生器系统框图 低频信号发生器系统主要由 CPU、D/A 转换电路、基准电压电路、电流/电 压转换电路、按键和波形指示电路、电源等电路组成。 其工作原理为当分别按 下四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并 且有四个发光二极管分别作为不同的波形指示灯。 3.23.2 单片机介绍及资源分配单片机介绍及资源分配 3.2.1 单片机的介绍单片机的介绍 AT89S52 的引脚图如图 2.2 所示 图 3.2 AT89S52 引脚图 管脚说明:低频信号发生器采用 AT89S52 单片机作为控制核心,其内部组 成包括:一个 8 位的微处理器 CPU 及片内振荡器和时钟产生电路,但石
22、英晶 体和微调电容需要外接;片内数据存储器 RAM 低 128 字节,存放读/写数据; 高 128 字节被特殊功能寄存器占用;片内程序存储器 4KB ROM;四个 8 位并 行 I/O (输入/输出)接口 P3 -P0,每个口可以用作输入,也可以用作输出; 两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件 进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机 按键单片机数模转换电流、电压转换输出 电源 控制;五个中断源的中断控制系统;一个全双工 UART(通用异步接收发送器) 的串行 I/O 口。 VCC:供电电压。 GND:接地。 RST:复位输入。当振
23、荡器复位器件时,要保持 RST 脚两个机器周期的高 电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端 以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用 作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存 储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。另外,该 引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,
24、置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H- FFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间, 此引脚也用于施加 12V 编程 电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 89S52 单片机外
25、部有 32 个端口可供用户使用,其功能如下: 89S52 并行 I/O 接口 端口 引脚位置 第一功能 第二功能 符号 功能 符号 功能 P0 39-32 P0.0-P0.7 通用 I/0 口 AD0-AD7 地址数据总线 P1 1-8 P1.0-P1.7 通用 I/0 口 P2 21-28 P2.0-P2.7 通用 I/0 口 A8-A15 地址总线(高位) P3 10 P3.0 通用 I/0 口 RXD 串行通信发送口 11 P3.1 通用 I/0 口 TXD 串行通信接收口 12 P3.2 通用 I/0 口 INT0 外部中断 0 13 P3.3 通用 I/0 口 INT1 外部中断 1
26、 14 P3.4 通用 I/0 口 T0 计数器 0 输入端口 15 P3.5 通用 I/0 口 T1 计数器 1 输入端口 16 P3.6 通用 I/0 口 WR 外部存储器写功能 17 P3.7 通用 I/0 口 RD 外部存储器读功能 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据 存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原 码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是
27、一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能 接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且 作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由 于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器
28、 进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉 优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器 的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为 输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口。 口管脚 备选功能 P3.0 RXD(串行输入通道) P3.1 TXD(串行
29、输出通道) P3.2 /INT0(外中断 0) P3.3 /INT1(外中断 1) P3.4 T0(定时器 0 外部输入) P3.5 T1(定时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) AT89S52 的晶振及其连接方法 CPU 工作时都必须有一个时钟脉冲。有两 种方式可以向 89S52 提供时钟脉冲:一是外部时钟方式,即使用外部电路向 89S52 提供时钟脉冲,见图 2.3(a);二是内部时钟方式,即使用晶振由 89S52 内部电路产生时钟脉冲。 一般常用第二种方法,其电路见图 3.3 悬空 外部时钟信号 外部时钟方式 C1 J
30、C2 内部时钟方式 图 3.3 89S52 的时钟脉冲 AT89S52 XTAL2 XTAL1 AT89S52 XTAL2 XTAL1 J 一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不 高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF。使用 陶瓷滤波器时,C1=C2=47pF。 AT89S52 的复位。复位是单片机的初始化操作,其主要的作用是把 PC 初始 化为 0000H,使单片机从 0000H 单元开始执行程序。除了进入系统的正常初始 化之外,当由于程序运行出错或操作失误使系统处于死锁状态时,为摆脱困境, 也需要按复位键以重新启动。除使 PC 归零
31、外,复位操作还对其他一些专用寄存 器有影响。 复位后的内部寄存器状态: 寄存器 复位状态 寄存器 复位状态 PC 0000H TMOD 00H ACC 00H TCON 00H B 00H TH0 00H PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P0-P3 0FFH SCON 00H IP (xxx00000) SBUF (xxxxxxxx) IE (0 xx00000) PCON (0 xxx0000) 另外,复位操作还对单片机的个别引脚有影响,例如会把 ALE 和/PSEN 变 成无效状态,即使 ALE=0,/PSEN=1.RST
32、 变成低电平后,退出复位状态,CPU 从 初始状态开始工作。 89S52 复位操作有 3 种方式:上电复位、上电按钮复位和系统复位。上电 复位电路如图 2.4 所示。对于 CMOS 型单片机因 RST 引脚的内部有一个拉低电 阻,故电阻 R 可不接。单片机在上电瞬间,RC 电路充电,RST 引脚端出现正脉 冲,只要 RST 端保持两个机器周期以上的高电平,就能使单片机有效地复位。 当晶体振荡频率为 12MHz 时,RC 的典型值为 C=10uF,R=8.2K 欧姆。简单复位 电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错误复位,这时 可在 RST 引脚上接一去耦电容。 通常因为系统运
33、行等的需要,常常需要人工按钮复位,复位电路如图 2.5 所示,其中 R2R1,只需将一个常开按钮开关并联于上电复位电路,按下开关 一定时间就能使 RST 引脚端为高电平,从而使单片机复位。 +5V R 图 3.4 上电复位电路 +5V C R1 R2 图 3.5 上电按钮复位电路 3.2.2 资源分配资源分配 晶振采用 12MHZ。P1 口的 P1.0-P1.3 分别与四个按键连接,分别控制锯齿 波、三角波、正弦波和方波,P1.4-P1.7 与四个发光二极管相连,按键一对应发 光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮 一个灯。 P0 口与 DAC0832 的 D0-
34、D7 数据输入端相连。 P2 口用来控制 DAC0832 的输入寄存器选择信号/CS 和数据传送信号 /XFER。 3.33.3 各部分电路原理各部分电路原理 RST AT89S52 RST AT89S52 3.3.1 DAC0832 芯片原理芯片原理 管脚功能介绍(如图 3.6 所示) 图 3.6 DAC0832 管脚图 DI7DI0:8 位的数据输入端,DI7 为最高位。 ILE:数据锁存允许控制信号输入线,高电平有效。 /CS:选片信号输入线(选通数据锁存器) ,低电平有效。 /WR1:数据锁存器写选选通输入线,负脉冲有效,由 ILE、/CS、/WR1 的 逻辑组合产生/LE1,当/LE
35、1 为高电平时,数据锁存器状态随输入数据线变化, /LE1 的负跳变时将输入数据锁存。 /XFER:数据传输控制信号输入线,低电平有效,负脉冲有效。 /WR2: DAC 寄存器选通输入线,负脉冲有效,由/WR2、 /XFER 的逻辑组 合产生/LE2,当/LE2 为高电平时,DAC 寄存器的输出随寄存器的输入而变化, /LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器并开始 D/A 转换。 IOUT1:模拟电流输出端 1,当 DAC 寄存器中数据全为 1 时,输出电流最大, 当 DAC 寄存器中数据全为 0 时,输出电流为 0。 IOUT2:模拟电流输出端 2,IOUT2 与 IOUT
36、1 的和为一个常数,即 IOUT1IOUT2常数。 RFB:反馈电阻引出端,DAC0832 内部已经有反馈电阻,所以 RFB 端可以 直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大 器的输出端和输入端之间。 当 WR2 和 XFER 同时有效时,8 位 DAC 寄存器端为高电平“1” ,此时 DAC 寄存器的输出端 Q 跟随输入端 D 也就是输入寄存器 Q 端的电平变化;反 之,当端为低电平“0”时,第一级 8 位输入寄存器 Q 端的状态则锁存到第二 级 8 位 DAC 寄存器中,以便第三级 8 位 DAC 转换器进行 D/A 转换。 一般情况下为了简化接口电路,可以把
37、WR2 和 XFER 直接接地,使第二 级 8 位 DAC 寄存器的输入端到输出端直通,只有第一级 8 位输入寄存器置成 可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把 两个寄存器都分别接成受控方式。 制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通 方式。 单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出 的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时 输出几路模拟信号的场合, 每一路模拟量输出需一片 DAC0832 芯片,构成 多个 DAC0832 同步输出电路,程序简单化,但是电路线路连接比较复杂。根 据以上分
38、析,我选择了单缓冲方式使用方便,程序简单,易操作。 这里我采用 DAC0832 与单片机 89S52 的典型的单缓冲方式接口电路。 ILE 接高电平,/WR1 和/WR2 相连后接 89S52 的/WR,/CS 和/XFER 相连 后接 89S52 的地址高位,这样就同时片选了 DAC0832 的数据锁存器和 DAC 寄存器,89S52 对 DAC0832 执行一次写操作就把一个数据写入数据锁存器的 同时也直接写入到了 DAC 寄存器,模拟量输出随之变化。 DAC0832 的输出是电流,使用运算放大器可以将其电流输出线性地转换 成电压输出。根据运算放大器和 DAC0832 的连接方法,运算放大
39、器的输出可 以分为单极性和双极性两种。这里我采用双极性方式(如图 3.7 所示) 。 图 3.7 DAC0832 双极性电压输出电路 3.3.2 NE4558 工作原理工作原理 图 3.8 NE4558 引脚图 图 3.9 NE4558 运放引脚图 4558 是一片双运放,带内部补偿电路。极好的通道分离特性允许在单运放 应用中使用双运放器件,从而提供了最高的封装密度。他的内部包含两组形式 完全相同的运算放大器,除电源共用外,两组运放相互独立。每一组运算放大 器可用图 2.9 所示的符号来表示,它有 5 个引出脚,其中“+” 、 “-”为两个信 号输入端, “V+” 、 “V-”为正、负电源端,
40、 “OUT”为输出端。两个信号输入端 中, “-”为反相输入端,表示运放输出端 OUT 的信号与该输入端的为相反; “+”为同相输入端,表示运放输出端 OUT 的信号与输入端的相位相同。 AOUT:放大信号输出(1)。 AIN-:反相信号输入(1)。 AIN+:同相信号输入(1)。 GND:接地。 BIN+:同相信号输入(2)。 BIN-:反相信号输入(2)。 BOUT2:放大信号输出(2)。 Vcc:电源。 4558 特性有很多,2MHz 单位增益带宽保证,NE4558 的电源电压为 18v,具备短路保护功能,无需频率补偿,无闩锁效应,宽广的共模和差动电 压范围,低功耗。因此被广泛运用在各种
41、电路中。 3.3.3 键盘电路原理键盘电路原理 在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应 用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,键 通常是一种常开型按钮开关,平时键的两个出点处于断开状态,按下键时他们 才闭合。从键盘的结构来分类,键盘可以分为独立式和矩阵式两类,每一类按 其识别方法又都可以分为编码和未编码键盘两种。键盘上闭合键的识别由专门 的硬件译码器实现并产生编号或键值的称为编码键盘,由软件识别的称未编码 键盘。在由单片机组成的测控系统及智能化仪器中,用得较多的是未编码键盘, 我这里也使用未编码键盘。 未编码键盘又分为独立式键盘跟矩阵式键盘
42、。 独立式未编码键盘结构的工作原理及接口在单片机应用系统中常常需要简 单的几个键完成数据、命令的输入,此时可采用独立式键盘的结构。其接口如 图 2.10 所示。此接口电路的工作原理很简单,无键按下时,各输入线为高电平; 有键按下时,相应的输入线为低电平,CPU 查询此输入口的状态就可知是哪个 键闭合。采用一键一线的方法,当按键的数目增加时,将增加输入口的数量, 为了减少占用输入线数,可采用矩阵式结构的键盘。 +5V 图 3.10 独立式未编码键盘 矩阵式未编码键盘结构的工作原理:如图 2.11 所示是 4*4 的键盘接口,它 是矩阵式的结构。图中键盘的行线(X0X3)与列线(Y0Y3)的交叉处
43、通过 一个按键来联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和 列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的 行线和列线被短路。例如:6 号键被按下闭合时,行线 X1 和列线 Y2 被短路, 此时 X1 的电平由 Y2 的电位所决定。如果把行线接到单片机的输入口,列线 接到单片机的输出口,则在单片机的控制下,先使列线 Y0 为低电平,其余三 根列线 Y1、Y2、Y3 都为高电平,读行线状态。如果 X0、X1、X2、X3、都 为高电平,则 Y0 这一列上没有键合。如果读出的行线状态不全为高电平,则 为低电平的行线和 Y0 相交的键处于闭合状态。如果 Y0 这
44、一列上没有键合, 接着使列线 Y1 为低电平,其余列线为高电平,用同样方法检查 Y1 这一列上 有无键闭合。依此类推,最后使列线 Y3 为低电平,其余的列线为高电平,检 查 Y3 这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键 盘的一次扫描。CPU 对键盘扫描可以采取程序控制的随机方式,CPU 空闲时扫 描键盘;也可以采取定时控制方式,每隔一定时间,CPU 对键盘扫描一次, CPU 可随时响应键盘输入请求;还可以采用中断方式,当键盘上有键闭合时, 向 CPU 请求中断,CPU 响应键盘输入中断,对键盘扫描,以识别哪一个键处 于闭合状态,并对键输入信息作出相应处理。CPU 对键盘
45、上闭合键的键号确定, 可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。 12 13 14 15 X3 8 9 10 11 X2 +5V 4 5 6 7 X1 0 1 2 3 X0 Y0 Y1 Y2 Y3 图 3.11 4*4 矩阵式未编码键盘结构图 根据我设计的电路特点,只需要用到 4 个按钮来选择波形,实现的功能也 比较简单,所以我采用独立式未编码键盘结构。键盘原理图如图 3.12 所示。 图 3.12 键盘原理图 3.3.4 LED 显示电路原理显示电路原理 在这里使用的是发光二极管,发光二极管通常用砷化镓、磷化镓等所制成 的。当这种管子通以电流时将发出光来,这是由于电
46、子与空穴直接复合而放出 的能量的结果。当 PN 结处加以一个适当的正电压时,此管即导通,也就会发 光。这样我们就能知道我们所需要了解的信息,在此设计中发光二极管通过软 件的控制显示波形种类。LED 电路图如图 3.13 所示。 图 3.13 LED 电路图 4 个 LED 的负极分别接 P1.4P1.7,当 P1 口高 4 位任意一个为低电平时, 其对应的 LED 就会导通,从而发光,通过程序的控制可以设计波形类型的显示。 第四章第四章 系统软件设计系统软件设计 软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、锯 齿波模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。 显
47、示波 形模块是利用 DAC0832 的 8 位特点,把波形的数据以 8 位数据的形势送进 CPU 中,只要一按键就能显示波形。 4.14.1 主程序流程图主程序流程图 如图 4.1 所示 N Y N Y N Y N Y 图 4.1 主程序流程图 软件设计过程中主要实现利用按键来控制不同波形的输出,当按键 1 按下 时,函数发生器就输出锯齿波;当按键 2 按下时,函数发生器就输出三角波; 当按键 3 按下时,函数发生器就输出正弦波;当按键 4 按下时,函数发生器就 输出方波。通过按键可以以任意循环方式输出不同波形。 4.24.2 子程序流程图子程序流程图 锯齿波流程图如图 4.2 所示。 开始
48、Key1 按下? Key2 按下? Key3 按下? Key4 按下? 输出锯齿波 输出三角波 输出正弦波 输出方波 开始 A=00H A 送到 0832 输出 N Y 图 4.2 锯齿波流程图 锯齿波产生将 00H 送入寄存器 A 中,DAC0832 输出 A 中的内容,当 A 中的内容等于 FFH 返回开始,当 A 中的内容不为 FFH 时,A 中的内容累加, 从而输出波形。 锯齿波产生子程序如下: SANTOO: MOV A ,#00H MOV DPTR,#7FFFH LLOOP: MOVX DPTR,A INC A ; CJNE A,FFH,LLOOP RET 三角波流程图如图 4.3
49、 所示 Y N A=A+1 A=FFH? 开始 A=00H A 送到 0832 输出 A=A+1 A=00H? A 送到 0832 输出 N Y 图 4.3 三角波流程图 三角波产生通过 A 中数值的加一递升,当 A 中的内容加到为 0 时, A 中 的内容减一递减,从而循环产生三角波。 三角波产生子程序如下: TRIAN :MOV A ,#00H MOV DPTR,#7FFFH UP: MOVX DPTR,A INC A JNZ UP DOWN: DEC A MOVX DPTR,A JNZ DOWN RET 正弦波程序流程图如图 4.4 所示 N A=00H?A=A-1 开始 A=00H A
50、=正弦函数表数据 A 送到 0832 输出 DPTR1=DPTR1+1 Y 图 4.4 正弦波程序流程图 正弦波波形设计通过查表指令得出。其产生子程序如下: SINE: MOV DPTR1,#sinTab MOV DPTR,#7FFFH LOOP: CLR A MOVC A,A+DPTR1 CJNE A,#129,LOOP1 RET LOOP1: MOVX DPTR,A INC DPTR1 AJMP LOOP sinTab:DB 128,132,137,141,146,150,154,159,163,167 DB 171,176,180,184,188,191,195,199,203,206
51、DB 210,213,216,219,222,225,228,231,233,236 DB 238,240,242,244,246,247,249,250,251,252 DB 253,254,254,255,255,255,255,255,254,254 DB 253,252,251,250,249,247,246,244,242,240 DB 238,236,233,231,228,225,222,219,216,213 DB 210,206,203,198,195,192,188,184,180,176 DB 172,167,163,159,155,150,146,141,137,133
52、 DB 128,124,119,115,111,106,102,97,93,89,85 DB 81,77,73,69,65,61,57,54,50,47,43,40,37 DB 34,31,28,25,23,20,18,16,14,12,10,9,7 DB 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6 DB 7,9,10,12,14,16,18,20,23,25,28,30,33,36 DB 40,43,46,50,53,57,60,64,68,72,76,80,84 DB 88,93,97,101,106,110,114,119,123,128,129 A=129? 方
53、波程序流程图如图 4.5 所示 图 4.5 方波程序流程图 方波产生是当 A 中的内容为 0 时,输出对应模拟量,然后延时,当 A 中的内容为 0FFH 时,同样输出对应模拟量,再延时,从而得到方波。 方波产生子程序如下: SQUN:MOV DPTR,#7FFFH MOV A ,#0FFH MOVX DPTR,A LCALL Delay MOV A ,#00H MOVX DPTR,A LCALL Delay RET 延时子程序如下: Delay: MOV R7,#10H DLY0: MOV R6,#0EDH 开始 A=00H A 送到 0832 输出 延迟 A=FFH A 送到 0832 输出
54、 延迟 NOP DLY1: DJNZ R6,DLY1 DJNZ R7,DLY0 RET 方波的上限和下限的延时时间为:7ms S=1+(1+1+2237+2)16+1=7648us 第五章第五章 测试结果测试结果 在确定编程思路以后将各部分的程序及各子程序编好,使用 keil 进行编译, 根据提示的错误对程序进行修改。除了语法差错和逻辑差错外,当确认程序没 问题时,通过直接加载到 protues 软件电路中进行仿真。 当按键 1 拨下时,波形为锯齿波,同时指示灯 1 发光。仿真图如图 5.1 所示。 图 5.1 锯齿波仿真图 当按键 2 拨下时,波形为三角波,同时指示灯 2 发光。仿真图如图
55、5.2 所示。 图 5.2 三角波仿真图 当按键 3 拨下时,波形为正弦波,同时指示灯 3 发光。仿真图如图 5.3 所示。 图 5.3 正弦波仿真图 当按键 4 拨下时,波行为方波,同时指示灯 4 发光。仿真图如图 5.4 所示。 图 5.4 方波仿真图 在对系统进行波形仿真时可以在虚拟示波器上观察到锯齿波、三角波、正 弦波和方波的波形。其中锯齿波、三角波以及正弦波的输出误差较大,方波波 形较为理想。这一方面与电路设置的参数有关,另一方面也与使用的仿真软件 有关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的 仿真软件。当然一般产生这种情况的原因多由于电路的参数设计不合理所制
56、。 当仿真时,由于存在一定的系统误差,波形效果不是很好。 第六章第六章 结论结论 基于单片机的智能信号发生器设计,该课题的设计目的是充分运用大学期 间所学的专业知识,考察现在正在使用的信号发生器的基本功能,完成一个基 本的实际系统的设计全过程。关键是这个实际系统设计的过程,在整个过程中 我可以充分发挥单片机知识。特别是这个信号发生器的设计中涉及到一个典型 的控制过程。通过单片机控制一个模数转换器 DAC0832 产生所需要的电流, 然后使用运算放大器 NE4558 可以将其电流输出线性地转换成电压输出,通过 程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领 域有相当广泛的应
57、用范围。 此设计方案硬件较为简单,主要是由单片机跟 DAC08322 个芯片构成, 连线也较简便。键盘电路用的独立未编码结构,一个键控制一个波形。显示电 路主要是由发光二极管构成,利用发光二极管的导通即发光的特性来显示是哪 个波形的输出,简单易懂。软件程序方面较为复杂一点,此方案主要是靠程序 的控制,主要由 4 个波形产生的子程序加上有承上启下作用的主程序构成,程 序思路还是比较清晰。其中正弦波的程序较为繁琐,因为是通过查表指令产生 的,所以要列出个含有较多字符的表格。 当然还是存在不足的地方,比如不能实现频率与幅度的可调,显示电路跟键 盘电路有待进一步改进。 致谢致谢 经过近两个月的忙碌和工
58、作,本次毕业设计已经接近尾声,作为一个本科 生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导 师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象 的。 在这里首先要感谢我的导师。王老师平日里工作繁多,但在我做毕业设计 的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后 期详细设计,装配草图等整个过程中都给予了我悉心的指导。我的设计较为复 杂烦琐,但是王老师仍然细心地纠正图纸中的错误。除了敬佩王老师的专业水 平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响 我今后的学习和工作。 还要感谢大学所有的老师,为我们打下电子专业
59、知识的基础;同时还要感 谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完 成。 最后,我衷心地祝福所有给予我帮助的老师和同学,希望他们在以后的日 子里工作顺利!学习进步!再创辉煌! 参考文献参考文献 1 杨立.微型计算机原理与接口技术(第二版)M.北京:中国铁道出版社,2006.6 2 林小茶.C 语言程序设计M.北京:中国铁道出版社,2007.6 3 李群芳.单片微型计算机与接口技术(第二版)M.北京:电子工业出版社,2005 4 蒋立培.单片微机系统使用教程M.北京:机械工业出版社,2004 5 凌玉华.单片机原理及应用系统设计M.长沙:中南大学出版社,2006 6王琼
60、.单片机原理及应用实践教程M.合肥:合肥工业大学出版社,2005 7 李勋,刘源.单片机实用教程M.北京:北京航空航天大学出版社,2000 8 李珍付,植桐.单片机原理与应用技术M.北京:清华大学出版社,2003 9 李朝清.单片机原理及接口技术M.北京:北京航空航天大学出版社,1999 10赫建国,郑燕,薛延侠.单片机在电子电路设计中的应用M.北京:清华大学出版社, 2006.5 11 王振红,张常年.综合电子技术与实践M.北京:清华大学出版社,2005.2 12Analog Devices Inc. CMOS 125 MHz Complete DDS Synthesizer Data Sh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区急救响应体系建设与优化
- 社交网络对个人职业发展的影响研究
- 无形资产入股协议书范本
- 房屋租赁定金缴纳协议书范本
- 复印机的租赁合同范本
- 激励理论在移员工管理中的应用
- 电子竞技企业的成长路径与资金筹集方案探讨
- 网络终止服务协议书(2篇)
- 美发购货合同(2篇)
- 委托代理租赁合同范本
- 高中数学《立体几何》教材分析及教学建议
- 八年级英语初中英语阅读理解阅读专项练习试卷附答案
- 人教版八年级数学下册课件【全册】
- 物联网管理平台的设计与实现
- 1例妊娠糖尿病的个案护理
- 《排球正面双手传球》课件
- 光伏发电职业病危害预评价方案方案
- 财务报表涉税分析
- 五官科眼耳鼻咽喉科医疗常用器械的认识
- 企业清产核资报表
- 浅谈建筑工程机电安装施工技术运用论文
评论
0/150
提交评论