基于单片机的智能信号发生器设计_第1页
基于单片机的智能信号发生器设计_第2页
基于单片机的智能信号发生器设计_第3页
基于单片机的智能信号发生器设计_第4页
基于单片机的智能信号发生器设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计(论文)设计(论文)题目: 基于单片机的智能信号发生器设计 下 达 日 期: 年 月 日开 始 日 期: 年 月 日完 成 日 期: 年 月 日指 导 教 师: 学 生 专 业: 班 级: 学 生 姓 名: 教 研室主任: 电气工程 学院基于单片机的智能信号发生器设计摘 要本系统是基于STC89C51单片机的数字式低频信号发生器。通过按键控制可产生三角波、锯齿波、方波和正弦波四种波形,并实时显示输出波形的类型和频率。采用STC89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM358)、按键和LCD液晶显示电路等。其设计简单、性能优好,可用于多种需

2、要低频信号的场所,具有一定的实用性。本文介绍的是利用STC89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。文中简要介绍了DAC0832数模转换器的结构原理和使用方法,单片机STC89C51的基础理论,以及与设计电路有关的各种芯片。文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。各种各样的信号是通信领域的重要组成部分,其中三角波、锯齿波、方波和正弦波都是较为常见的信号。在科学研究及教学实验中常常需要这几种信号的发生装置。为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。本次关

3、于产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。该信号源的特点是:体积小、价格低廉、性能稳定、实现方便、功能齐全。关键词 单片机,D/A转换,信号发生器,运放器1DESIGN OF INTELLIGENT SIGNAL GENERATOR BASED ON SINGLE CHIPABSTRACTWaveform the system is a digital signal generator based on single chip computer, STC89C51 is used as a control microcontroller

4、core. Through the key control can generate triangle wave, saw, square wave and sine wave of four kinds of waveforms, at the same time, the type and frequency of the output waveform is displayed in real time. Is used STC89C51 single tablets machine as control core, and in perimeter used digital/simul

5、ation conversion circuit (DAC0832), and operational amplifiercircuit (LM358), and press and LCD display lamp circuit. Its design is simple, performance is good, the system can be used for a signal soure in the low-frequency signal soure. It is very practical.This paper introduces the low frequency s

6、ources of different signals that are produced by STC89C51 and DAC0832. Its signal range and frequency can be controlled by requirement. This paper briefly introduces the structure principle and usage of DAC0832, the basic theory of STC89C51 and various chips which relevant to design circuit. this pa

7、per emphasized how to use SCM to control the hardware circuit and software program of the signals above which produced by DAC0832.Various signals are an important part of correspondent area. The triangle wave, saw tooth wave, square wave and sine wave are more common signals. In science research and

8、 teaching experiment, we often need the occurrence equipment of these signals. In order to make the experiment and research easier, to develop a suitable, full functional and easily used signals source is essential. This signal source design plan concerns on producing different low frequency signals

9、, not only meet the request of experiment in theory and in practice, but also have strong feasibility. The trait of this signal source is: small volume, low price, stable function, easily achievable, and full function.KEY WORDS microcontroller, D/A conversion, signal generator, amplifier circuit2目录摘

10、 要1ABSTRACT21 绪论11.1 课题研究背景11.2 波形介绍21.2.1 正弦波21.2.2 方波31.2.3 锯齿波31.2.4 三角波42 系统设计52.1 系统方案的选择52.2 控制芯片的选择53 系统硬件设计73.1 基本原理73.2 单片机结构简介73.2.1 STC89C51的基本特性73.2.2 STC89C51的资源分配123.3 各部分电路原理123.3.1 系统按键功能设计123.3.2 系统显示功能设计143.3.3 8位DA转换器DAC0832原理173.3.4 LM358工作原理213.4 本章小结224 系统软件设计244.1 Keil C51开发环境

11、简介244.1.1 Keil uVision3环境介绍244.1.2 利用Keil uVision3创建新项目254.2 系统软件流程设计264.2.1 系统软件总体设计264.2.2 子系统软件设计274.3.3 系统详细流程315 测试结果326 结论与展望346.1 结论346.2 展望34附录A 元件清单36附录B 电路原理图37附录C 仿真图38附录D 实物图39附录E 程序40参考文献52致 谢531 绪论1.1 课题研究背景不论是在生产还是在科研与教学上,信号发生器都是电子工程师仿真实验的最佳工具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,信号发生器

12、己成为测试仪器中至关重要的一类,因此开发信号发生器具有重大意义。传统的信号发生器采用专用芯片,成本高,控制方式不灵活。本设计充分利用单片机灵活的控制、丰富的外设处理能力,采用DDS技术,实现频率、幅值可调的函数波形的输出,同时可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性.根据其频率发生方法又可分为谐振法和合成法两种。一般的传统发生器都是采用的谐振法,即用具有频率选择性的回路来产生正弦振荡,来获得所需频率,也可以根据频率合成技术来获得所需频率。利用频率合成技术制成的合成波形发生器,通常被称为频率合成器或频率综合器。频率综合器是指利用频率合成技术合成的频率源,它常常是

13、没有调制的,也没有足够宽的和足够准确的输出电平调节,其工作范围往往也不宽,最小频率间隔也比较大,一般做专用设备使用,或做某一个系统中的一个组成部分。波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。目前我国己经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,并且我国目前在波形发生器的种

14、类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面:(1)过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。从而促进了波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器

15、软件技术起到了推动作用。目前可以利用可视化编程语言(如Visual Basic, Visual C等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。(2)与VXI资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。在民用方面,VXI模块远远不如台式仪器更为方便。(3

16、)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。我们研究的内容主要体现在以下几个方面:(1)理论基础分析。了解波形发生器的相关理论,包括几种常用波形,如正弦波、方波等,然后介绍了波形发生器的主要方案及原理。(2)硬件系统设计

17、。主要包括以下几个模块:串口电路;键盘、LED显示电路;单片机系统;DAC芯片和放大电路设计。(3)软件系统设计。主要有:系统总体流程设计;串口程序设计;单片机程序设计;键盘响应程序设计;LED显示程序设计;DAC控制程序设计。(4)系统仿真调试。通过计算机进行模拟仿真调试。1.2 波形介绍1.2.1 正弦波正弦信号可用如下形式表示f (t)=Asin(t+) (1)其中,A为振幅,是角频率,为初相位。正弦函数为一周期信号如下图1-1所示:图1-1 正弦波1.2.2 方波方波函数是我们常用且所熟知的简单波形函数,做脉冲等,其表示形式如下: (2)方波波形如下图1-2:图1-2 方波1.2.3

18、锯齿波锯齿波如图1-3所示:图1-3 锯齿波1.2.4 三角波三角波波形如下图1-4所示:图1-4 三角波352 系统设计2.1 系统方案的选择方案一:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。方案二:采用DDS即直接数字频率合成技术设计信号发生器是一种要运用数字技术来实现产生信号的方法。由于运用了全数字大规模集成技术,具有体积小、频率分辨率高、信号纯度高等特点,但是DDS芯片价格较为昂贵,且设计较为复杂。方案三:采用专业的

19、锁相式频率合成方案,这种锁相式频率合成是一种高稳定度和高精确度的大量离散技术,他能够准确的产生波形,可以很好的解决频率稳定精确的情况下又要求频率在较大的范围内可调的问题。但是频率受VCO可变频率范围上的影响,高低频率比无法做到很高,还有其只能产生正弦波或方波,不能满足产生三角波的要求。方案四:采用单片机编程的方法来实现,利用数模转换器DAC0832通过查表得方式输出需要的波形,该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。鉴于方案一的信号频率不够稳定和方案二的电路

20、复杂,频率覆盖系数难以达标等缺点,方案三不能满足要求,所以决定采用方案四的设计方法。它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。2.2 控制芯片的选择方案一:STC89C51单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的微型计算机。方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与AT80S52兼容的微控制器的内核,与MCS-51指令集完全兼容。除

21、了具有标准AT80S52的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中C8051F005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,STC89C51芯片比较常用,简单易控制,成本低,性能稳定,故采用方案一。3 系统硬件设计3.1 基本原理系统总框图如图3-1所示图3-1系统总框图基于STC89C51单片机的函数信号发生器由电源电路、单片机主控电路、信号输出电路和按键控制电路四部分组成。其工作原理为当分别按下四个按键中的一个按键就会分别切换出方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形

22、指示灯。3.2 单片机结构简介3.2.1 STC89C51的基本特性 STC89C51的引脚图 如图3-2所示: 图3-2 STC89C51引脚图 管脚说明 低频信号发生器采用STC89C51单片机作为控制核心,其内部组成包括:一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器RAM低128字节,存放读/写数据;高128字节被特殊功能寄存器占用;片内程序存储器4KB ROM;四个8位并行I/O(输入/输出)接口P3 -P0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置

23、成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口。VCC:供电电压。GND:接地。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。/PROG/ALE:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地

24、址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大

25、器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。89C51 单片机外部有32个端口可供用户使用,其功能如下表所示:表3-1 89C51并行I/O接口介绍端口引脚位置第一功能第二功能符号功能符号功能P039-32P0.0-P0.7通用I/0口AD0-AD7地址数据总线P11-8P1.0-P1.7通用I/0口P221-28P2.0-P2.7通用I/0口A8-A15地址总线(高位)P310P3.0通用I/0口RXD串行通信发送口11P3.1TXD串行通信接收口12P3.2INT0外部中断013P3.3INT1外部中断114P3.4T0计数器0输入端口15P3.5T1计数器1输入端

26、口16P3.6WR外部存储器写功能17P3.7RD外部存储器读功能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口作为第

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

28、“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:    口管脚 备选功能P3.0 RXD(串行输入通道)P3.1 TXD(串行输出通道)P3.2 /INT0(外中断0)P3.3 /INT1(外中断1)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通) C89C51的晶振及其连接方法 CPU工作时都必须有一个时钟脉冲。有两种方式可以向89C

29、51提供时钟脉冲:一是外部时钟方式,即使用外部电路向89C51提供时钟脉冲,见图3-3(a);二是内部时钟方式,即使用晶振由89C51内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-3(b)。89C51XTAL2XTAL189C51XTAL2XTAL1悬空外部时钟信号C1C2J(a)外部时钟方式(b)内部时钟方式图3-3 89C51的时钟脉冲J一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF。使用陶瓷滤波器时,C1=C2=47pF。 STC89C51的复位 复位是单片机的初始化操作,其主要的作用是把P

30、C初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作失误使系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。除使PC归零外,复位操作还对其他一些专用寄存器有影响,它们的复位状态如表所示:表3-2 复位后的内部寄存器状态寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0-P30FFHSCON00HIP(xxx00000)SBUF(xxxxxxxx)IE(0xx00000)PCON(0xxx0000

31、)另外,复位操作还对单片机的个别引脚有影响,例如会把ALE和/PSEN变成无效状态,即使ALE=0,/PSEN=1。RST变成低电平后,退出复位状态,CPU从初始状态开始工作。89C51复位操作有3种方式:上电复位、上电按钮复位和系统复位。上电复位电路如图3-4所示。对于CMOS型单片机因RST引脚的内部有一个拉低电阻,故电阻R可不接。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效地复位。当晶体振荡频率为12MHz时,RC的典型值为C=10uF,R=8.2K欧姆。简单复位电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错

32、误复位,这时可在RST引脚上接一去耦电容。通常因为系统运行等的需要,常常需要人工按钮复位,复位电路如图3-5所示,其中R2>>R1,只需将一个常开按钮开关并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机复位。 图3-4 上电复位电路 图3-5 上电按钮复位电路3.2.2 STC89C51的资源分配P1口的P1.0-P1.3分别与四个按键连接,分别控制锯齿波、三角波、正弦波和方波,P1.4-P1.7与四个发光二极管相连,按键一对应发光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。其中晶振采用12MHZ。P0口与DAC0832的D

33、I0-DI7数据输入端相连。P2口用来控制DAC0832的输入寄存器选择信号/CS和数据传送信号/XFER。3.3 各部分电路原理3.3.1 系统按键功能设计非编码键盘有独立式键盘、矩阵式键盘和交互式键盘之分。独立式键盘结构的特点是一键一线,即每一个按键单独占用一根检测线与主机相连,矩阵式键盘结构的特点是把检测线分成两组,一组为行线,另一组为列线,按键放在行线和列线的交叉点上。m×n矩阵键盘与主机连接只需要m+n条线,显然,当需要的按键数目大于8时,一般都采用矩阵式键盘。交互式键盘结构的特点是,任意两检测线之间均可以放置一个按键。很显然,交互式键盘结构所占用的检测线比矩阵式还要少,但

34、是这种键盘所使用的检测线必须是具有位控功能的双向I/O端口线。 独立式未编码键盘结构的工作原理及接口 独立式键盘的每个按键占用一根测试线,它们可以直接与单片机IO 线相接或通过输入口与数据线相接,结构很简单。这些测试线相互独立无编码关系,因而键盘软件不存在译码问题,一旦检测到某测试线上有键闭合,便可直接转入到相应的键功能处理程序进行处理,其接口如图3-6所示。采用一键一线的方法,当按键的数目增加时,将增加输入口的数量,为了减少占用输入线数,可采用矩阵式结构的键盘。图3-6 独立式未编码键盘 矩阵式未编码键盘结构的工作原理 如图3-7所示是4*4的键盘接口,它是矩阵式的结构。当采用矩阵式键盘时,

35、为了编程方便,应将矩阵键盘中的每一个按键按一定的顺序编号,这种按顺序排列的编号叫顺序码,也称键值。为了求得矩阵式键盘中被按下键的键值,常用的方法有行扫描法和线路反转法。线路反转法识别键值的速度较快,但必须借助于可编程的通用接口芯片。图中键盘的行线(X0X3)与列线(Y0Y3)的交叉处通过一个按键来联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。例如:6号键被按下闭合时,行线X1和列线Y2被短路,此时X1的电平由Y2的电位所决定。如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制

36、下,先使列线Y0为低电平,其余三根列线Y1、Y2、Y3都为高电平,读行线状态。如果X0、X1、X2、X3、都为高电平,则Y0这一列上没有键合。如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列上没有键合,接着使列线Y1为低电平,其余列线为高电平。依此类推,最后使列线Y3为低电平,其余的列线为高电平,检查Y3这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU对键盘扫描可以采取程序控制的随机方式,CPU空闲时扫描键盘;也可以采取定时控制方式,每隔一定时间,CPU对键盘扫描一次,CPU可随时响应键盘输入请求;还可以采用中断方式,

37、当键盘上有键闭合时,向CPU请求中断,CPU响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。CPU对键盘上闭合键的键号确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。图3-7 4*4矩阵式未编码键盘结构图根据设计的电路特点,只需要用到4个按钮来选择波形,实现的功能也比较简单,所以采用独立式未编码键盘结构。键盘原理图如图3-8所示。图3-8 键盘原理图3.3.2 系统显示功能设计液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。在本设计采用的字符型液晶模块是一种用5x

38、7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。1602采用标准的16脚接口,其中:第3脚:VEE为液晶显示器对比度调整端;第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;第714脚:D

39、0D7为8位双向数据线; 第1516脚:空脚。LCD1602管脚如图39所示图3-9 LCD1602管脚表3-3 LCD1602管脚功能表引脚号符号状态功能1Vss电源地2Vdd电源+5V3V0对比度控制端4RS输入寄存器选择5R/W输入读、写操作6E输入使能信号7DB三态数据总线8DB三态数据总线9DB三态数据总线10DB三态数据总线11DB三态数据总线12DB三态数据总线13DB三态数据总线14DB三态数据总线15LEDA输入背光+5V16LEDK输入背地光LCD1602控制指令,如表3-4所示:表3-4 LCD1602指令对应功能表指令功能清屏清DDRAM和AC值归位AC=0,光标、画面

40、回HOME位输入方式设置设置光标、画面移动方式显示开关控制设置显示、光标及闪烁开、关光标、画面位移光标、画面移动,不影响DDRAM功能设置工作方式设置CGRAM地址设置设置CGRAM地址。A5A0=03FHDDRAM地址设置DDRAM地址设置读BF及AC值读忙标志BF值呵地址计时器AC值写数据数据写入DDRAM或CGRAM内读数据从DDRRAM或CGRAM清屏指令表如表3-5所示:表3-5 LCD1602清屏指令表RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001显示开关控制如表3-6所示:表3-6 显示开关控制表RSR/WDB7DB6DB5DB4DB3DB2DB1

41、DB00000001DCB功能:设置显示、光标及闪烁开、关;其中:D表示显示开关:D=1为开,D=0为关;C表示光标开关:C=1为开,C=0为关;B表示闪烁开关:B=1为开,B=0为关。光标、画面位移控制如表3-7所示:表3-7 LCD1602光标、画面位移控制表RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000001S/CR/L*功能:光标、画面移动,不影响DDRAM。其中:S/C=1:画面平移一个字符位;S/C=0:光标平移一个字符位;R/L=1:右移;R/L=0:左移。功能设置如表3-8所示:表3-8 LCD1602功能设计表RSR/WDB7DB6DB5DB4DB3DB2D

42、B1DB000001DLNF*功能:工作方式设置(初始化指令)其中:DL=1,8位数据接口;DL=0,四位数据接口;N=1,两行显示;N=0,一行显示;F=1,5 10点阵字符;F=0,5 7点阵字符。读写控制时序如表3-9所示:表3-9 LCD1602读写控制时序RSR/WE功能00下降沿写指令代码01高电平读忙标志和AC码10下降沿写数据11高电平读数据3.3.3 8位DA转换器DAC0832原理管脚功能介绍如图3-10所示: 图3-10 DAC0832管脚图DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应

43、用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。DAC0832的主要特性参数如下:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5V+15V);低功耗,仅需要200mW。DI7DI0:8位的数据输入端,DI7为最高位。ILE:数据锁存允许控制信号输入线,高电平有效。/CS:选片信号输入线(选通数据锁存器),低电平有效。/WR1:数据锁存器写选选通输入线,负脉冲有效,由ILE、/CS、/WR1的逻辑组合产生/LE1,当/LE1为高电平时,数据锁存器状态随输入数据线变化,/

44、LE1的负跳变时将输入数据锁存。/XFER:数据传输控制信号输入线,低电平有效,负脉冲有效。/WR2:DAC寄存器选通输入线,负脉冲有效,由/WR2、/XFER的逻辑组合产生/LE2,当/LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,/LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。Iout1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。Iout2:模拟电流输出端2,Iout1与Iout2的和为一个常数,即Iout1Iout2常数。RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RF

45、B端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10-10)V。VREF端与D/A内部T形电阻网络相连。Vcc:芯片供电电压,范围为(+5+15)V。AGND:模拟量地,即模拟电路接地端。DGND:数字量地。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位DAC寄存器用于存放

46、待转换的数字量,由加以控制;8位D/A转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。原理框图如图3-11所示:图3-11 DAC0832原理框图当/WR2和/XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是输入寄存器Q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器Q端的状态则锁存到第二级8位DAC寄存器中,以便第三级8位DAC转换器进行D/A转换。一般情况下为了简化接口电路,可以把/WR2和/XFER直接接地,使第二级8位DAC寄存器的输入端到输出端直通,只有第一级8位输入

47、寄存器置成可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式。制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。 直通方式 当ILE接高电平,CS、WR1、WR2和XFER都接数字地时,DAC处于直通方式,8位数字量一旦到达DI7DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。例如在构成波形发生器的场合,就要用到这种方式,即把要产生基本波形的数据存在ROM中,连续取出送到DAC去转换成电压信号。 单缓冲方式 只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存器数据,DAC就可处于单缓冲工作方式。一般的做法是将W

48、R2和XFER都接地,使DAC寄存器处于直通方式,另外把ILE接高电平,CS接端口地址译码信号,WR1接CPU的WR信号,这样就可以通过一条MOVX指令,选中该端口,使CS和WR1有效,启动D/A转换。 直通方式 主要在以下两种情况下需要用双缓冲方式的D/A转换。需在程序的控制下,先把转换的数据输入输入缓存器,然后在某个时刻再启动D/A转换。这样,可先选中CS端口,把数据写入输入寄存器;再选中XFER端口,把输入寄存器内容写入DAC寄存器,实现D/A转换。在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同的时刻把要转换的数据打入各DAC的输入寄存器,然后由一个转换命令同时启

49、动多个DAC转换。先用3条输出指令选择3个端口,分别将数据写入各DAC的输入寄存器,当数据准备就绪后,再执行一次写操作,使XFER变低同时选通3个D/A的DAC寄存器,实现同步转换。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形,电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832芯片,构成多个DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,本设计选择了单缓冲方式,此种方式使用方便,程序简单,易操作。这里采用DAC0832与单片机89C51的典型的单缓冲方式接口电路。ILE接高电平

50、,/WR1和/WR2相连后接89C51的/WR,/CS和/XFER相连后接89C51的地址高位,这样就同时片选了DAC0832的数据锁存器和DAC寄存器,89C51对DAC0832执行一次写操作就把一个数据写入数据锁存器的同时也直接写入到了DAC寄存器,模拟量输出随之变化。DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为:Vout1=-Vref×(数字码/256) DAC0832内部的8位D/A转换电路由8位T型电阻网络和电子开关组成,电子开关受8位DAC寄存器输出的数字量控制,T型电阻网络能输出和数字量

51、成正比的模拟电流。因此,DAC0832通常需要外接运算放大器,进行电流电压转换,才能得到模拟输出电压。当输入到DAC0832的数字量最高位为1时,则输出的模拟电压为正;当输入到DAC0832的数字量最高位为0时,则输出的模拟电压为负,从而实现了模拟电压的双极性输出。3.3.4 LM358工作原理LM358管脚排列如下图所示:图3-12 LM358管脚图 LM358是双运算放大器。内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单

52、电源供电的使用运算放大器的场合,它采用8脚双列直插塑料封袋,外形如上图3-12所示。它的内部包含两组形式完全相同的运算放大器,除电源共用外,两组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“OUT”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端OUT的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端OUT的信号与输入端的相位相同。由于LM358双运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。特性: 压摆率(0.3V/us

53、) 内部频率补偿 直流电压增益高(约100dB) 单位增益频带宽(约1MHz) 电源电压范围宽:单电源(330V);双电源(±1.5 一±15V) 低功耗电流,适合于电池供电 低输入失调电压和失调电流 共模输入电压范围宽,包括接地 差模输入电压范围宽,等于电源电压范围 输出电压摆幅大(0 至Vcc-1.5V)图3-13 LM358原理图3.4 本章小结本章是本文的核心内容,其详细地介绍了该系统硬件设计的具体方案,对各硬件模块以及调试过程中遇到的问题及解决方法作了比较系统的阐述。其中硬件设计方面包括单片机最小系统的设计、按键的设计、液晶显示模块的设计、DA转换模块的设计及基准

54、电压的设计等。在本次硬件调试过程中主要遇到两个问题:第一个问题是由于焊接技术比较生疏,造成在焊接完电路板后出现短路问题。因为没有通过PCB制板,而是由自己直接搭的电路,所以在焊接过程中用到了很多导线来连接,导线越多则越容易焊接错误。比如出现短路、短路以及线跟线之间的干扰等一系列问题。这些问题都可能导致整个电路不通电。在开始调试的时候发现将USB电源接口通过数据线接入电脑的USB接口后电路板上的电源指示灯并不亮,当时想到可能是由于短路或者断路造成的,后来通过万用表一一排查发现原来是USB电源接口那里焊接短路,于是用吸焊器将那里的锡吸出并重新焊接,问题终于得到解决。第二个问题是液晶上显示乱码。通过网上查询后知道液晶显示乱码可能有两个原因:一是软件延时问题,二是线路干扰问题。我试着编了一个简单的液晶测试程序,通过改变延时时间的大小(从100us到1s)发现液晶仍然显示乱码,因此我认为问题不是出在这里,所以我把注意力放在了线路上。经过半天的检查,发现液晶的使能端口和读写指令端口的导线裸露处相连了,所以造成了干扰。通过将两根导线分开并重新焊接后问题得到了解决,液晶正常显示。在此次电路的调试过程中出现的问题虽然很让人烦恼,但是在通过自己的努力使得问题得到解决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论