基于单片机的智能信号发生器设计.doc
毕业设计论文设计论文题目: 基于单片机的智能信号发生器设计 下 达 日 期: 年 月 日开 始 日 期: 年 月 日完 成 日 期: 年 月 日指 导 教 师: 学 生 专 业: 班 级: 学 生 姓 名: 教 研室主任: 电气工程 学院基于单片机的智能信号发生器设计摘 要本系统是基于STC89C51单片机的数字式低频信号发生器。通过按键控制可产生三角波、锯齿波、方波和正弦波四种波形,并实时显示输出波形的类型和频率。采用STC89C51单片机作为控制核心,外围采用数字/模拟转换电路DAC0832、运放电路LM358、按键和LCD液晶显示电路等。其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。本文介绍的是利用STC89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。文中简要介绍了DAC0832数模转换器的结构原理和使用方法,单片机STC89C51的基础理论,以及与设计电路有关的各种芯片。文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。各种各样的信号是通信领域的重要组成部分,其中三角波、锯齿波、方波和正弦波都是较为常见的信号。在科学研究及教学实验中常常需要这几种信号的发生装置。为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。本次关于产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。该信号源的特点是:体积小、价格低廉、性能稳定、实现方便、功能齐全。关键词 单片机,D/A转换,信号发生器,运放器学习文档 仅供参考DESIGN 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 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/simulation 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 sources 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 paper 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 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, 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 circuit学习文档 仅供参考目录摘 要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开发环境简介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致 谢53学习文档 仅供参考1 绪论1.1 课题研究背景不管是在生产还是在科研与教学上,信号发生器都是电子工程师仿真实验的最正确工具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,信号发生器己成为测试仪器中至关重要的一类,因此开发信号发生器具有重大意义。传统的信号发生器采用专用芯片,成本高,控制方式不灵活。本设计充分利用单片机灵活的控制、丰富的外设处理能力,采用DDS技术,实现频率、幅值可调的函数波形的输出,同时可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性.根据其频率发生方法又可分为谐振法和合成法两种。一般的传统发生器都是采用的谐振法,即用具有频率选择性的回路来产生正弦振荡,来获得所需频率,也可以根据频率合成技术来获得所需频率。利用频率合成技术制成的合成波形发生器,通常被称为频率合成器或频率综合器。频率综合器是指利用频率合成技术合成的频率源,它常常是没有调制的,也没有足够宽的和足够准确的输出电平调节,其工作范围往往也不宽,最小频率间隔也比较大,一般做专用设备使用,或做某一个系统中的一个组成部分。波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供应被测电路,以满足测量或各种实际需要。目前我国己经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,并且我国目前在波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要表达在以下几个方面:1过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。从而促进了波形发生器向任意波形发生器的发展,各种电脑语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如Visual Basic, Visual C等等)编写任意波形发生器的软面板,这样允许从电脑显示屏上输入任意波形,来实现波形的输入。2与VXI资源结合。目前,波形发生器由独立的台式仪器和适用于个人电脑的插卡以及新近开发的VXI模块。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。在民用方面,VXI模块远远不如台式仪器更为方便。3随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。我们研究的内容主要表达在以下几个方面:1理论基础分析。了解波形发生器的相关理论,包括几种常用波形,如正弦波、方波等,然后介绍了波形发生器的主要方案及原理。2硬件系统设计。主要包括以下几个模块:串口电路;键盘、LED显示电路;单片机系统;DAC芯片和放大电路设计。3软件系统设计。主要有:系统总体流程设计;串口程序设计;单片机程序设计;键盘响应程序设计;LED显示程序设计;DAC控制程序设计。4系统仿真调试。通过电脑进行模拟仿真调试。1.2 波形介绍 正弦波正弦信号可用如下形式表示f (t)=Asin(t+) 1其中,A为振幅,是角频率,为初相位。正弦函数为一周期信号如下列图1-1所示:图1-1 正弦波 方波方波函数是我们常用且所熟知的简单波形函数,做脉冲等,其表示形式如下: 2方波波形如下列图1-2:图1-2 方波 锯齿波锯齿波如图1-3所示:图1-3 锯齿波 三角波三角波波形如下列图1-4所示:图1-4 三角波学习文档 仅供参考2 系统设计2.1 系统方案的选择方案一:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。方案二:采用DDS即直接数字频率合成技术设计信号发生器是一种要运用数字技术来实现产生信号的方法。由于运用了全数字大规模集成技术,具有体积小、频率分辨率高、信号纯度高等特点,但是DDS芯片价格较为昂贵,且设计较为复杂。方案三:采用专业的锁相式频率合成方案,这种锁相式频率合成是一种高稳定度和高精确度的大量离散技术,他能够准确的产生波形,可以很好的解决频率稳定精确的情况下又要求频率在较大的范围内可调的问题。但是频率受VCO可变频率范围上的影响,高低频率比无法做到很高,还有其只能产生正弦波或方波,不能满足产生三角波的要求。方案四:采用单片机编程的方法来实现,利用数模转换器DAC0832通过查表得方式输出需要的波形,该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,方案三不能满足要求,所以决定采用方案四的设计方法。它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格廉价,使得硬件的开销到达最省。2.2 控制芯片的选择方案一:STC89C51单片机是一种高性能8位单片微型电脑。它把构成电脑的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的微型电脑。方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与AT80S52兼容的微控制器的内核,与MCS-51指令集完全兼容。除了具有标准AT80S52的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中C8051F005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,STC89C51芯片比较常用,简单易控制,成本低,性能稳定,故采用方案一。学习文档 仅供参考3 系统硬件设计3.1 基本原理系统总框图如图3-1所示图3-1系统总框图基于STC89C51单片机的函数信号发生器由电源电路、单片机主控电路、信号输出电路和按键控制电路四部分组成。其工作原理为当分别按下四个按键中的一个按键就会分别切换出方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。3.2 单片机结构简介 STC89C51的基本特性 STC89C51的引脚图 如图3-2所示: 图3-2 STC89C51引脚图 管脚说明 低频信号发生器采用STC89C51单片机作为控制核心,其内部组成包括:一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器RAM低128字节,存放读/写数据;高128字节被特殊功能寄存器占用;片内程序存储器4KB ROM;四个8位并行I/O输入/输出接口P3 -P0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现电脑控制;五个中断源的中断控制系统;一个全双工UART通用异步接收发送器的串行I/O口。VCC:供电电压。GND:接地。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。/PROG/ALE:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在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:来自反向振荡器的输出。89C51 单片机外部有32个端口可供用户使用,其功能如下表所示:表3-1 89C51并行I/O接口介绍端口引脚位置第一功能第二功能符号功能符号功能P039-32通用I/0口AD0-AD7地址数据总线P11-8通用I/0口P221-28通用I/0口A8-A15地址总线高位P310通用I/0口RXD串行通信发送口11TXD串行通信接收口12INT0外部中断013INT1外部中断114T0计数器0输入端口15T1计数器1输入端口16WR外部存储器写功能17RD外部存储器读功能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”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示: 口管脚 备选功能P3.0 RXD串行输入通道P3.1 TXD串行输出通道P3.2 /INT0外中断0P3.3 /INT1外中断1P3.4 T0定时器0外部输入P3.5 T1定时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通 C89C51的晶振及其连接方法 CPU工作时都必须有一个时钟脉冲。有两种方式可以向89C51提供时钟脉冲:一是外部时钟方式,即使用外部电路向89C51提供时钟脉冲,见图3-3(a);二是内部时钟方式,即使用晶振由89C51内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-3(b)。89C51XTAL2XTAL189C51XTAL2XTAL1悬空外部时钟信号C1C2J(a)外部时钟方式b内部时钟方式图3-3 89C51的时钟脉冲J一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF。使用陶瓷滤波器时,C1=C2=47pF。 STC89C51的复位 复位是单片机的初始化操作,其主要的作用是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作失误使系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。除使PC归零外,复位操作还对其他一些专用寄存器有影响,它们的复位状态如表所示:表3-2 复位后的内部寄存器状态寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0-P30FFHSCON00HIP(xxx00000)SBUF(xxxxxxxx)IE(0xx00000)PCON(0xxx0000)另外,复位操作还对单片机的个别引脚有影响,例如会把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欧姆。简单复位电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错误复位,这时可在RST引脚上接一去耦电容。通常因为系统运行等的需要,常常需要人工按钮复位,复位电路如图3-5所示,其中R2>>R1,只需将一个常开按钮开关并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机复位。 图3-4 上电复位电路 图3-5 上电按钮复位电路 STC89C51的资源分配P1口的P1.0-P1.3分别与四个按键连接,分别控制锯齿波、三角波、正弦波和方波,P1.4-P1.7与四个发光二极管相连,按键一对应发光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。其中晶振采用12MHZ。P0口与DAC0832的DI0-DI7数据输入端相连。P2口用来控制DAC0832的输入寄存器选择信号/CS和数据传送信号/XFER。 各部分电路原理 系统按键功能设计非编码键盘有独立式键盘、矩阵式键盘和交互式键盘之分。独立式键盘结构的特点是一键一线,即每一个按键单独占用一根检测线与主机相连,矩阵式键盘结构的特点是把检测线分成两组,一组为行线,另一组为列线,按键放在行线和列线的交叉点上。m×n矩阵键盘与主机连接只需要m+n条线,显然,当需要的按键数目大于8时,一般都采用矩阵式键盘。交互式键盘结构的特点是,任意两检测线之间均可以放置一个按键。很显然,交互式键盘结构所占用的检测线比矩阵式还要少,但是这种键盘所使用的检测线必须是具有位控功能的双向I/O端口线。 独立式未编码键盘结构的工作原理及接口 独立式键盘的每个按键占用一根测试线,它们可以直接与单片机IO 线相接或通过输入口与数据线相接,结构很简单。这些测试线相互独立无编码关系,因而键盘软件不存在译码问题,一旦检测到某测试线上有键闭合,便可直接转入到相应的键功能处理程序进行处理,其接口如图3-6所示。采用一键一线的方法,当按键的数目增加时,将增加输入口的数量,为了减少占用输入线数,可采用矩阵式结构的键盘。图3-6 独立式未编码键盘 矩阵式未编码键盘结构的工作原理 如图3-7所示是4*4的键盘接口,它是矩阵式的结构。当采用矩阵式键盘时,为了编程方便,应将矩阵键盘中的每一个按键按一定的顺序编号,这种按顺序排列的编号叫顺序码,也称键值。为了求得矩阵式键盘中被按下键的键值,常用的方法有行扫描法和线路反转法。线路反转法识别键值的速度较快,但必须借助于可编程的通用接口芯片。图中键盘的行线X0X3与列线Y0Y3的交叉处通过一个按键来联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。例如:6号键被按下闭合时,行线X1和列线Y2被短路,此时X1的电平由Y2的电位所决定。如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制下,先使列线Y0为低电平,其余三根列线Y1、Y2、Y3都为高电平,读行线状态。如果X0、X1、X2、X3、都为高电平,则Y0这一列上没有键合。如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列上没有键合,接着使列线Y1为低电平,其余列线为高电平。依此类推,最后使列线Y3为低电平,其余的列线为高电平,检查Y3这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU对键盘扫描可以采取程序控制的随机方式,CPU空闲时扫描键盘;也可以采取定时控制方式,每隔一定时间,CPU对键盘扫描一次,CPU可随时响应键盘输入请求;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。CPU对键盘上闭合键的键号确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。图3-7 4*4矩阵式未编码键盘结构图根据设计的电路特点,只需要用到4个按钮来选择波形,实现的功能也比较简单,所以采用独立式未编码键盘结构。键盘原理图如图3-8所示。图3-8 键盘原理图 系统显示功能设计液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。在本设计采用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为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脚:D0D7为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,光标、画面回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/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB功能:设置显示、光标及闪烁开、关;其中: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/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF*功能:工作方式设置初始化指令其中: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高电平读数据 8位DA转换器DAC0832原理管脚功能介绍如图3-10所示: 图3-10 DAC0832管脚图DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。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为高电平时,数据锁存器状态随输入数据线变化,/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内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。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寄存器用于存放待转换的数字量,由加以控制;8位D/A转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控