多功能信号发生器_毕业设计论文_第1页
多功能信号发生器_毕业设计论文_第2页
多功能信号发生器_毕业设计论文_第3页
多功能信号发生器_毕业设计论文_第4页
多功能信号发生器_毕业设计论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、 摘要 摘要 多功能信号发生器是是一种常用的信号源,能产生模拟电压波形,广泛地应用于电子电路、自动控制系统和教学实验等领域。且特殊波形发生器的价格昂贵。目前使用的信号发生器大部分是函数信号发生器,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。 本设计信号发生器采用AT89S52单片机作为控制核心,外围采用了包括电源模块、数字/模拟转换电路(DAC0832)、运放电路(LM324)、键盘模块等。设计采用AT89S52单片机和一片DAC0832数模转换器以及一些外围电路组成低频信号发生器。此发生器能产生从1HZ-1MHZ的低失真正弦波,三角波,方波,矩形波,锯齿波等信

2、号。输出波形的频率和种类可用程序控制改变。在单片机上加外围按键,通过按键控制波形频率的增减以及波形的选择。在单片机的输出端口接DAC0832进行D/A转换,再通过运算放大器进行波形幅度调整,最后输出波形接在示波器上显示。 本设计根据要求主要研究了软件编程实现波形和频率的可调。外围电路实现数模转换和信号波形放大。由于采用了LM324运算放大器和稳压电路,使其电路更加具有较高的稳定性能,性能比高。此电路清晰,出现故障容易查找错误,操作简单、方便。具有典型性。关键词:函数信号发生器;单片机; DAC0832;AT89S52Abstract Signal generator is a common s

3、ignal source, can produce an analog voltage waveform,widely used in electronic circuits, automatic control systems, and teaching experiments and other fields. waveform generator and a special price of expensive . Currently used mostly function signal generator signal generator。it has low cost, high

4、performance and good stability at low frequency within the range, easy operation, small size, power consumption and so on. The design generator using AT89S52 microcontroller as the control, external analog / digital conversion circuit (DAC0832), operational amplifiers circuit (LM324), buttons and LC

5、D liquid crystal display circuit.,etc.Design using AT89S52 microcontroller and a DAC0832 DAC as well as some peripheral circuit a low period of wave. The generator can produce from the 10-100HZ ,200-2000HZ, low-distortion sine wave, triangle wave, square wave signal, etc. the period of wave can be c

6、ontrolled 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 conv

7、ersion,again pass operation amplifier to put an end exportation wave-form. The major design required study a software programming waveform and frequency adjustable. External digital-analog conversion circuit and signal waveforms to enlarge. Because use the LM324 operational amplifier and voltage reg

8、ulator circuit, so the circuit is with higher performance, the high performance. The circuit clear, easy to find failure error, simple and convenient. Is a typical circuit . Key words: signal generator; SCM; DAC0832; AT89S52 目录摘要5第一章 绪论81.1 课题背景、目的及意义81.2 设计要求和任务81.3 单片机概述91.3.1 单片机的发展91.3.2 单片机的应用1

9、01.4 AT89S52单片机111.5 信号发生器概述141.6 本论文主要研究的内容14第二章 系统设计方案162.1 系统分析162.1.1 问题定义162.1.2 系统可行性分析162.2 系统需求分析172.3 总体方案设计18第三章 硬件设计193.1 总体硬件设计193.2 系统模块设计193.2.1 电源设计193.2.2 显示器接口设计193.2.3 复位与时钟电路设计223.2.4 键盘接口设计233.2.5 D/A转换设计253.2.6 I/V转换波形输出电路28第四章 软件设计及测试314.1软件总体设计314.2 软件功能设计31系统总流程图如下图4-1:31图4-1

10、 系统总流程框图324.3 PROTEUS软件仿真354.4 系统测试报告40结论与展望41致 谢42参考文献43附录一 源程序43附录二 电路原理图54附录三 硬件实物图55附录四 外文资料翻译56 第一章 绪论1.1 课题背景、目的及意义 随着电子测量及其他部门对各类信号发生器的广泛需求及电子技术的迅速发展,促使信号发生器种类增多,性能提高。尤其随着70年代微处理器的出现,更促使信号发生器向着自动化、智能化方向发展。现在,许多信号发生器带有微处理器,因而具备了自校、自检、自动故障诊断和自动波形形成和修正等功能,可以和控制计算机及其他测量仪器一起方便的构成自动测试系统。当前信号发生器总的趋势

11、是向着宽频率覆盖、低功耗、高频率精度、多功能、自动化和智能化方向发展。 在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。而在我们日常生活中,以及一些科学研究中,锯齿波和正弦波信号是常用的基本测试信号。信号发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。 但市面上能看到的仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。加之各类功能的半导体集成芯片的快速生产,都使我们研制一种低功耗、宽频带,能产生多种波形并具有程控等低频的信号发生器成为可能。 该设计

12、课题的研究和制作全面说明对低频信号发生系统要有一个全面的解、对低频信号的发生原理要理解掌握,以及低频信号发生器工作流程:波形的设定,D/A转换,单片机(51单片机,键盘控制),显示和各模块的连接通信等各个部分要熟练联接调试,能够正确的了解常规芯片的使用方法、掌握简单信号发生器应用系统软硬件的设计方法,进一步锻炼了我们在信号处理方面的实际工作能力。1.2 设计要求和任务 熟悉和掌握单片机的结构和工作原理,了解信号发生器的工作原理。掌握以单片机为核心的电路设计的基本方法,并通过实际程序的设计和调试,逐步掌握模块化程序的设计方法和调试技术;了解开发单片机应用系统的全过程。综合运用所学专业知识解决工程

13、问题。 具体设计要求如下:(1) 具有产生正弦波、三角波、方波、矩形波、锯齿波波形的功能。(2) 信号的频率范围为1Hz-1MHz。(3) 信号的输出波形幅度Vp-p可调。(4) 通过键盘输入任意频率数值和选择任意波形。1.3 单片机概述 单片微型计算机(单片机)作为微型计算机的一个很重要的分支,自问世以来,以其极高的性价比,受到人们的重视和关注,因此应用广泛,发展迅速。相对而言,单片机体积小、重量轻、抗干扰能力强,对环境要求不高,并且价格低廉、可靠性高、灵活性好,开发较为容易。目前,在我国,单片机已经广泛地用于智能仪表、机电设备过程控制、自动检测、家用电器和数据处理等各个方面。1.3.1 单

14、片机的发展 单片机诞生于20世纪70年代。最初的单片机是利用大规模集成电路技术把中央处理单元(简称CPU)、数据存储器(RAM)、程序存储器(ROM)及其他I/O通信口集成在一块芯片上,构成一个最小的计算机系统。现代的单片机则增加了更多的片内外设(比如定时器、计数器、串行口、中断、并行I/O口,甚至包括A/D转换器、脉宽调制器PWM等),使得单片机的功能越来越强大,应用领域越来越广泛。因为这样一块芯片就具有一台计算机的功能,因而被称为单片微型计算机,简称单片机。由于单片机的硬件结构和指令系统都是按照工业控制要求来设计的,常用在工业的检查、控制装置中,因而也被称为微控制器(Micro-Contr

15、oller)。 单片机按照其用途可以划分为通用型和专用型两大类。通常所说的单片机是指通用型单片机。通用型单片机是把可开发资源(如ROM,RAM,I/O口)全部提供给使用者。专用型单片机的硬件结构和指令是按照某个特定用途而设计的,如:频率合成调谐器(DDS)、USB控制器、收音机机芯控制器、打印机控制器等。 (1) 单片机发展历史 20世纪70年代,微电子技术正处于发展阶段,集成电路属于中规模发展时期,各种新材料、新工艺尚未成熟。 1976年Intel公司推出了MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,并推向市场。 80年代初,单片机已经发展到了高性能阶段。 80年代,世

16、界各大公司竞相研制出品种多、功能强的单片机,约有几十个系列,300多个品种,此时的单片机均属于真正的单片化,大多集成了CPU、RAM、ROM、数目繁多的I/O接口、多种中断系统,甚至还有一些带A/D转换器。其发展到了一个全新的阶段,应用领域更加广泛。 在众多品种的单片机中,MCS-51系列是我国较早引进的Intel公司的单片机产品。由于其性能优良,已经被国内外用户广泛认可和采用,占据了重要的市场份额。 (2) 单片机发展特点 单片机技术从出现至今已走过近30多年的发展路程。纵观30多年来单片机的发展历程,单片机技术以微处理器技术及超大规模集成电路技术的发展为先导,以广泛的应用领域为动力,表现出

17、极具个性的发展特点。主要表现在以下几点: 寿命长、8位、16位、32位共同发展、运行速度越来越快、低电压与低功耗、低噪声与高可靠性技术、OTP技术、MTP可多次编程。 (3) 单片机发展趋 回顾历史,在Intel公司推出了MCS-51不久便实施了最彻底的技术开放政策。在众多电器商、半导体商的积极参与下,将MCS-51发展成了众多型号系列的80C51 MCU(Micro Controller Unit,微控制器)家族。MCS-51经典的体系结构、极好的兼容性和Intel公司的开放政策不仅使众多厂家参与发展,也诱使半导体厂家对MCS-51实行为所欲为的改造。从各种新型单片机的性能可以看出,单片机是

18、向大容量、高性能化、外围电路内集成化几方面发展。其中主要表现在以下及方面:CPU功能的加强、存储器的发展、片内I/O的改进、片内资源的增加、调试方式的改进等。1.3.2 单片机的应用 单片机以其卓越的性能、小巧的体积、极高的性价比,在国民经济的各个领域中得到了广泛的应用。但是由于单片机自身的一些特点,在实际应用中又有着自己的应用特性和应用范围。 (1) 应用特点 基于单片机的应用系统和其他一般的微型机相比,具有以下一些特点:小巧灵活、可靠性高、使用方便,容易扩展、性价比高,容易产品化等等。 (2) 应用领域 智能化管理及过程控制等领域,大致可分如下几个方面:在智能仪器仪表上的应用、在工业控制中

19、的应用、在家用电器中的应用、在计算机网络和通信领域中的应用、在医用设备领域中的应用等等。 此外,单片机在工商、金融、科研、教育和国防航空航天等领域都有着十分广泛的用途。1.4 AT89S52单片机 (1) 功能特性描述 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,两个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。 (2) 引脚功能 AT89S52单片机有44个引脚PLCC和TQFP方形封装形式

20、,40个引脚的双列直插式封装形式,最常用的40个引脚封装形式及其配置如图1-1所示,各个引脚功能说明如下: 图1-1 89S52单片机的引脚VCC:电源,接+5VGND:接地 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1 输出缓冲器能驱动4个

21、TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。 P2口:P2口是一个具有内部上拉电阻的8位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问

22、外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能。在flash编

23、程和校验时,P3口也接收一些控制信号。 RST:复位输入。晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚()也用作编程输入脉冲。 :外部程序存储器选通信号()是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。 /VPP:访

24、问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,必须接GND。为了执行内部程序指令,应该接VCC。在flash编程期间,也接收12伏VPP电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 (3) AT89S52 的存储器结构 AT89S52器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64KB寻址。 程序存储器:如果引脚接地,程序读取只从外部存储器开始。对于89S52,如果接VCC,读写程序先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFF

25、FFH。 数据存储器:AT89S52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。 (4) 定时器 MCS-51系列中51子系列有两个16位的可编程定时/计数器:定时/计数器T0和定时/计数器T1,52子系列有三个,还有一个定时/计数器T2。 每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。 每个定时/计数器

26、都有多种工作方式,其中T0有四种工作方式;T1有三种工作方式,T2有三种工作方式。通过编程设置其方式寄存器TMOD可设定定时器工作于某种方式。 每一个定时/计数器定时计数时间到时产生溢出,使控制寄存器TCON中相应的溢出位置位,溢出可通过查询或中断方式处理。 (5) 中断 AT89S52 有6个中断源:两个外部中断( 和),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。 1.5 信号发生器概述 目前,市场上的信号发生器多种多样,一般按频带分为以下几种:超高频:频率范围1MHz以上,可达几十兆赫兹。高频

27、:几百KHZ到几MHZ。低频:频率范围为几十HZ到几百KHZ。超低频:频率范围为零点几赫兹到几百赫兹。超高频信号发生器,产生波形一般用LC振荡电路。高频、低频和超低频信号发生器,大多使用文氏桥振荡电路,即RC振荡电路,通过改变电容和电阻值,改变频率。 依据以上可以用单片机AT89S52,加上一片DAC0832,就可以做成一个简单的信号发生器,其频率受单片机运行的程序的控制。我们可以把产生各种波形的程序,写在ROM中,装入本机,按用户的选择,运行不同的程序,产生不同的波形。再在DAC0832输出端加上一些电压变换电路,就完成了一个频率、幅值可调的多功能信号发生器的设计。1.6 本论文主要研究的内

28、容 本设计采用89S52及其外围扩展系统,软件方面主要是应用C语言设计程序。系统以89S52单片机为核心,配置相应的外设及接口电路,用C语言开发,组成一个多功能信号发生系统。硬件电路设计具有典型性,电路设计具有实用性。本设计将完成以下几个方面的工作: (1) 选芯片,尽量满足一般工业控制要求、以增强其实用性。 (2) 原理图设计在保证正确的前提下,尽量采用典型的电路设计。 (3) 固化于单片机芯片中的软件采用模块设计,层次清楚,具有上电复位及初始化功能,具有很好的软件开发框架。 (4) 掌握单片机仿真软件KEIL的使用。 为此,论文包括以下内容: 绪论。主要介绍单片机发展概况和信号发生器的概述

29、,为以后几章的介绍奠定基础。 系统总体方案设计。本章主要考虑系统性能、功能和器件选择。包括两个主要内容,系统分析和系统总体方案设计。 系统的硬件设计。本章完成系统的硬件总体设计,详细说明了设计思路。 系统软件设计实现。本章是系统的具体实现,对系统按功能模块进行介绍。以及系统的测试结果总结。第二章 系统设计方案2.1 系统分析2.1.1 问题定义基于单片机的信号发生系统是一个实际应用系统,可为相关实验及实际应用提供支持。本论文包括硬件系统的详细设计及C语言在基本控制中的应用。此系统具有的功能如下:硬件部分 (1) 单片机所需的平稳电压(电源设计12V,5V); (2) 独立键盘; (3) 时钟电

30、路与复位电路; (4) 具有8位精度的D/A转换功能; (5) 波形产生与电压变换功能; 软件部分 (1) 系统复位初始化; (2) 键盘扫描与处理; (3) 按键服务程序; (4) 定时器0中断服务程序; (5) 正弦波,三角波,方波,矩形波,锯齿波发生程序;2.1.2 系统可行性分析 (1) 设计环境 本设计主要用Protel电子设计软件进行电子线路的设计。电路原理图的设计是仿真中的第一步,也是非常重要的一步。电路原理图设计得好坏将直接影响到后面的工作。电路原理图的设计过程可分为以下几个步骤: 设置电路图纸参数及相关信息 装入所需要的元件 设置元件 连线电路图 调整、检查和修改 补充完善

31、(2) 可行性分析 根据技术指标及系统设计目的,经研究芯片的选择如下: 主控芯片采用ATMEL公司的AT89S52; 采用12MHz的晶振器为AT89S52提供时钟信号; 稳压块选用7812与7805相串联,提供12V和5V电压,7912产生-12V电压; 对于89S52的P0口的数据经过DAC0832进行D/A转换; 8位D/A转换器采用DAC0832; 运算放大器采用LM324。 (3) 设计中可能存在的问题及解决方案排除问题的可行性讨论 此设计要求最终制作出实体,因此,设计原理图时应着重考虑设计最终的电路板的可行性。在设计时要对每一个电路模块仔细检查,查阅其他书籍进行校对,还要进行实物实

32、验,以确保设计的可实现性。在最后的电路板的调试阶段,需要诊断模块程序和单片机仿真机合作进行,从而克服调试程序本身的不可靠性,可方便地进行调试及错误诊断。 (4) 经济上的可行性讨论 本设计是一个实验系统,芯片的选择在前面已经讨论,从前面的讨论中可见芯片大部分都是常用芯片。因此,设计费用主要集中在购买元器件上,而大部分的元器件,在市场上很容易找到不是很贵,所以经济上本设计完全可行。2.2 系统需求分析 (1)系统功能要求 系统具有D/A转换功能,信号幅度放大功能,上电自动复位功能,键盘输入接口。 (2) 系统性能要求 系统的D/A转换功能具有8位精度; 89S52单片机时钟信号为12MHZ; 系

33、统上电自动复位;2.3 总体方案设计 算法设计:本设计涉及的算法较少,将在第四章软件设计中介绍。系统总体结构框图设计:一个单片机主系统的硬件电路设计包含两部分内容:一是单片机系统扩展部分设计,它包括存储器扩展和接口扩展。存储器扩展指EPROM、EEPROM和RAM的扩展。接口扩展是指各接口芯片以及其他功能器件的扩展。二是各功能模块的设计,如信号检测功能模块、信号控制功能模块、人机对话功能模块、通讯功能模块等,根据系统功能要求配置相应的D/A、键盘、显示器等外围设备。本设计主要包括硬件设计和软件设计。其中硬件主系统框图如图2-1所示。图2-1 主系统结构框图第三章 硬件设计3.1 总体硬件设计

34、单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元(如ROM、I/O、定时/计数器等)容量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计适当的电路。二是系统配置,即按照功能要求配置外围设备如显示设备、D/A转换等。 (1) 程序存贮器 89S52内部自带8K的ROM,512B的RAM,所以不需要对其扩展存储器。 (2) 键盘接口 本设计使用按键较少,采用独立式键盘控制。 (3) D/A转换 本设计D/A转换部分采用DAC0832芯片,由于它自带锁存器,故在使用时不必加74LS373进行数据锁存。 (4) 信号变换部分 对信号的变换部分采用四运放

35、集成芯片LM324,它采用14脚双列直插塑料封装,它的内部包含四组形式完全相同的运算放大器。3.2 系统模块设计3.2.1 电源设计 稳压电源是单片机控制系统的重要组成部分,它不仅为测控系统提供多路电源电压,还直接影响到系统的技术指标和抗干扰性能。 本机使用三种共地电源:+12V,12V,+5V,硬件设计中采用自带稳压电源方式,此电源稳压主要采用稳压块7812、7912和7805,使用这些稳压块,稳压效果比较好,使用较方便。图3-1 稳压电源模块电路图42 3.2.2 复位与时钟电路设计 (1 ) 复位电路设计 单片机的复位是靠外电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24

36、个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,通常是RST引脚保持10ms以上的高电平。复位电路连接如图3-4所示。此电路仅用一个电容及一个电阻。系统上电时,在RC电路充电过程中,由于电容两端电压不能跳变,故使RESET端电平呈高电位,系统复位。经过一段时间,电容充电,使RESET端呈低电位,复位结束。89S522+5VC1R1 图3-2 复位电路 (2) 时钟电路设计 8051系列单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。本设计采用内部震荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振),就构成了内部

37、振荡方式。由于单片机内部有一个高增益反向放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ或24MHZ。内部振荡方式如图3-5所示。图中电容C1、C2起稳定振荡频率、快速起振的作用。电容值一般530pF。内部振荡方式所得时钟信号比较稳定,实用电路中使用较多。 图3-3 内部振荡3.2.3键盘接口设计 (1) 人机交互接口的设计 所谓人机交互接口,是指人与计算机之间建立联系、交互信息的输入/输出设备的接口。这些输入/输出设备主要有键盘、显示器和打印机等。是控制系统与操作人员之间的交互窗口。键盘的结构形式一般有两种:独立式键盘与矩阵式键盘。本次主要介绍设

38、计所用的独立键盘的工作方式。 (2) 键盘设计需要解决的几个问题 按键的确认键盘实际上是一组按键开关的集合,其中每一个按键就是一个开关量输入装置。键的闭合与否,取决于机械弹性开关的通、断状态。反应在电压上就是呈现出高电平或低电平,若高电平表示断开,那么低电平键闭合。所以,通过电平状态(高或低)的检测,便可确定相应按键是否已被按下。 重键与连击的处理 实际按键操作中,若无意中同时或先后按下两个以上的键,系统确定哪个键操作是有效的,完全取决设计者的意图。如视按下时间最长者为有效键,或认为最先按下的键为当前的按键,也可以将最后释放的键看成是输入键。不过单片机控制系统的资源有限,交互能力不强,通常总是

39、采用单键按下有效,多键同时按下无效的原则。 有时,由于操作人员按键动作不够熟练,会使一次按键产生多次击键的效果,及重键的情形。为消除重键的影响,编制程序时可以将键的释放作为按键的结束。等键释放电平后再转去执行相应的功能程序,以防止一次击键多次执行的错误发生。 按键防抖动技术 键盘作为向系统提供操作人员的干预命令的接口,以其特定的按键代表着各种确定操作命令。所以准确无误地辨认每个键的动作及其所处的状态,是系统能否正常工作的关键。 多数键盘的按键均采用机械弹性开关。一个电信号通过机械触点的断开、闭合过程,完成高、低电平的切换。由于机械触点的弹性作用,一个按键开关闭合及断开的瞬间必然伴随有一连串的抖

40、动。消除按键盘抖动通常有两种方法:硬件消抖和软件消抖。通过硬件电路消除按键过程中抖动的影响是一种广为采用的措施。这种做法,工作可靠,且节省机时。 硬件消抖是通过在按键输出电路上加一定的硬件线路来消除抖动,一般采用RS触发器或单稳态电路。 独立式键盘就是各按键相互独立,每个按键各接一根I/O口线,每根I/O口线上的按键都不会影响其它的I/O口线,示例如图3-6所示。矩阵式键盘又叫行列式键盘。用I/O口线组成行、列结构,键位设置在行列的交点上。例如44的行、列结构可组成16个键的键盘,比一个键位用一根I/O口线的独立式键盘少了一半的I/O口线。对矩阵键盘的工作过程可分两步:第一步是CPU首先检测键

41、盘上是否有键按下;第二步是再识别是哪一个键按下。图3-4 独立式键盘3.2.4 D/A转换设计 DAC0832是CMOS工艺制造的8位D/A转换器,属于8位电流输出型D/A转换器,转换时间为1us,片内带输入数字锁存器。DAC0832与单片机接成数据直接写入方式,当单片机把一个数据写入DAC寄存器时,DAC0832的输出模拟电压信号随之对应变化。利用D/A转换器可以产生各种波形,如方波、三角波、正弦波、锯齿波等以及它们组合产生的复合波形和不规则波形。 (1) DAC0832主要性能 输入的数字量为8位; 采用CMOS工艺,所有引脚的逻辑电平与TTL兼容; 数据输入可以采用双缓冲、单缓冲和直通方

42、式; 转换时间:1us; 分辨率:8位; 单一电源:515V,功耗20mw; 参考电压:-12 +12V; (2) DAC0832内部结构资料 芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。 该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接,下面是芯片电路原理图3-7。图3-5 DAC0832电路原理图 待转换的8位数

43、字量由芯片的8位数据输入线D0D7输入,经DAC0832转换后,通过2个电流输出端IOUT1和IOUT2输出,IOUT1是逻辑电平为1的各位输出电流之和,IOUT2是逻辑电平为0的各位输出电流之和。另外,ILE、和是控制转换的控制信号。 DAC0832由8位输入寄存器、8位DAC寄存器和8位D/A转换电路组成。输入寄存器和DAC寄存器作为双缓冲,因为在CPU数据线直接接到DAC0832的输入端时,数据在输入端保持的时间仅仅是在CPU执行输出指令的瞬间内,输入寄存器可用于保存此瞬间出现的数据。有时,微机控制系统要求同时输出多个模拟量参数,此时对应于每一种参数需要一片DAC0832,每片DAC08

44、32的转换时间相同,就可采用DAC寄存器对CPU分时输入到输入寄存器的各参数在同一时刻开始锁存,进而同时产生各模拟信号。 DAC0832的数据输出方式在微机应用系统中,通常使用的是电压信号,而DAC0832输出的是电流信号,这就需要由运算放大器组成的电路实现转换。其中有输出电压各自极性固定的单极性输出和随系统变化输出电压有正负极性的双极性输出两种输出方式。 (3) DAC0832芯片原理 ILE是输入数据锁存信号,高电平有效。 是片选信号,低电平有效。 是读信号,低电平有效。 当ILE 、 、 同时有效时LE=1输入寄存器的输出随输入而变化。 由低到高跳变时将输入数据锁存到输入寄存器。 是转移

45、控制信号,低电平有效。 是写信号,低电平有效。 当 、同时有效时,LE2=1,DAC寄存器输出随输入而变化。 出现由低到高电平上跳变时将输入数据锁存到DAC寄存器,数据进入D/A转换器开始D/A转换。 IOUT1模拟电流输出端1 当输入数字全“1”是,输出电流最大约为,,全是“0”是输出电流为零。 IOUT2模拟电流输出端2,IOUT1+IOUT2=常数。 制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。本设计主要用单缓冲方式。主要介绍单缓冲工作方式,单缓冲工作方式DA

46、C寄存器工作处于直通状态,输入寄存器工作于受控锁存器状态,此时需要一次写操作就开始转换,转换一个数据的主要过程,首先去数字量,而后依次打开第一级锁存和第二级锁存。 D/A转换简单说就是应用电阻解码网络,将N位数字量逐位转化为模拟量并求和,从而实现将N位数字量转化为模拟量(简单的说就是加权,比如十进制的1101=1*103+1*102+0*101+1*100,只是在这里应用的是二进制算法) (4) DAC0832同CPU的连接 微处理器与DAC0832之间可以不加锁存器,而是利用DAC0832内部锁存器,将CPU通过数据总线直接向DAC0832输出的停留时间很短的数据保存,直至转换结束。 DAC

47、0832同CPU的接口如图3-8所示。DAC0832作为微处理器的一个端口,用地址92H的选通作为和的控制信号,微处理器的写信号直接来控制和。图3-6 D/A转换电路图3.2.5 I/V转换波形输出电路 DAC0832为电流输出型转换器,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。如图3-9所示为一种用两级运算放大器组成的模拟电压输出电路。从第一个运放输出为单极性模拟电压,从第二个运放输出为双极性模拟电压。如果参考电压为+5V,则点a输出电压为0-5V,点b输出电压为5V。 图3-7 I/V转换波形发生电路 (1) LM324简介 LM324是四运放集成电路,它采用14脚

48、双列直插塑料封装。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见3-10中图2。由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。 图3-8 LM423外部与内部结构 (2) 双

49、极性输出的实现 若D/A转换器输出为双极性,则设计如图3-11所示。图3-9 D/A转换器双极性输出电路 图3-11中,运算放大器A2的作用是把运算放大器A1的单向输出电压转换成双向输出电压。其原理是将A2的输入端通过电阻R1与参考电压VREF相连,VREF经R1向A2提供一个偏流I1,其电流方向与I2相反,因此运算放大器A2的输入电流为I1、I2之代数和。则D/A转换器的总输出电压为: (3-1) (3-2) 为DAC0832提供的参考电压,输入的波形数据。由上式3-1和3-2可得: (3-3) 取,当时,;时,;时, 。由上述分析可看出,取不同数据时(0255),可得对称的双极性波形输出。

50、再取,则式(3-1)可表示为: 由上式可知,输出信号的幅度受的改变而改变。第四章 软件设计及测试4.1软件总体设计 应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。一个优秀的应用系统的应具有下列特点: (1) 根据软件功能要求,将系统软件分成若干个独立的部分。设计出软件的总体结构,使其结构清晰、流程合理。 (2) 要树立结构化程序设计风格,各功能程序模块化、子程序化。既便于调试、链接,又便于移植、修改。 (3) 建立正确的数学模型。即根据功能要求,描述各个输入和输出变量之间的数学关系,它是关系到系统好坏的重要因素。 (4) 为提高软件设计的总体效率,以简明、直观法对

51、任务进行描述,在编写应用软件之前,应绘制出程序流程图。 (5) 要合理分配系统资源,包括ROM、RAM、定时数器、中断资源等。 (6) 注意在程序的有关位置处写上功能注释,提高程序的可读性。 (7) 加强软件抗干扰设计,它是提高系统应用可靠性的有利措施。 本系统的软件包括以下几个程序模块: (1) 初始化程序; (2) 显示程序; (3) 键盘扫描程序与处理程序; (4) 定时器0服务程序; (5) 正弦波发生程序及其服务程序; (6) 三角波发生程序;(7) 方波发生程序;(8) 矩形波发生程序;(9) 锯齿波发生程序;4.2 软件功能设计系统总流程图如下图4-1:图4-1 系统总流程框图

52、其中系统的初始化流程如图4-2所示。图4-2 初始化流程图 (1) 键盘扫描及处理程序设计 这部分程序包括如下几部分: 键盘扫描程序judge; 先对P1置数,行扫描; 判断是否有键按下; 延时10ms,软件去干扰; 确认按键按下X = P1, 保存行扫描时有键按下时状态; 列扫描; 保存列扫描时有键按下时状态; 取出键值; 执行相应键值程序。 下面分别介绍其功能及设计思想。 键盘扫描程序: 单片机系统中,键盘扫描是CPU工作的一个主要内容之一。CPU忙于各项工作任务时,如何兼顾键盘扫描。既保证不失时机的响应键盘操作,又不过多占用CPU时间。因此,要根据应用系统中的CPU的忙、闲情况,选择好键

53、盘的工作方式。 在单片机应用系统设计中,为了节省硬件,通常采用非编码键盘,在这种键盘结构中,单片机对它的控制有三种方式:程序控制扫描方式;定时扫描工作方式;中断工作方式。 程序控制扫描方式这种方式就是只有当单片机空闲时,才调用键盘扫描子程序,响应键盘的输入请求。 定时扫描方式 这种方式就是每隔一定的时间对键盘扫描一次。通常是利用单片机内部定时器产生10ms的定时中断,CPU响应定时器溢出中断请求,对键盘进行扫描,以响应键盘输入请求。 中断工作方式 为进一步提高CPU效率,可以采用中断扫描工作方式。即在键盘有健按下时,才执行键盘扫描,执行该键功能程序。 本系统采用程序控制扫描工作方式。在该设计中的键盘线连接于89S52的P3口上。键盘扫描程序自复位后就开始工作,时刻监视键盘,有无键按下。在监视键盘过程中,允许定时器T0中断,即同时动态显示数据和输出波形。一旦有键按下,先延时10ms,去除键的抖动,然后关中断,不允许定时器T0发生中

温馨提示

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

评论

0/150

提交评论