多 功 能 时 间 控 制 器
自动化
【摘要】本课题是关于单片机时序控制方面的研究。拟采用先进的技术和手段,实现一种更经济实用,安全可靠的多功能时间控制器。
多功能时间控制器的系统包括六个部分:微处理器模块,串行通信模块,时钟模块,数据存储模块,数码显示模块及人机界面模块。在系统设计中,遵循简洁经济的原则;因此,所有的外围模块都采用串行方式与微处理模块通信。微处理模块是系统的核心部分,采用INTER公司的80C51,所有串行接口时序均通过对80C51软件编程实现。
论文的主要内容就是介绍了多功能时间控制器系统各部分的硬件设计和软件设计。通过对各部分的设计,进一步对单片机的时序控制方面进行研究,并应用于实践。通过设计,基本实现了多功能时间控制器系统的功能要求,达到了预期的设计效果。
【关键字】单片机 时间控制器 多功能
【Abstract】This monograph is a research about the scheduling control of one chip microcomputer. It makes an economical, safe and multi-function time controllers come true by using advanced technology and means.
The system of the multi-function time controller consists of six parts: microprocessor module, serial communication module, clock module, data storage module, digital display module and human interface module. It follows the succinct and economical principle in the system design. So all the peripheral modules communicate with the microprocessor module by serial way. Microprocessor module plays a key role in the system that adopt the product 80c51 of The INTER Company. All the serial interfaces scheduling are carried out through the software programming of 80c51.
The paper mainly introduced all the parts of the hardware design and software design of the time controller system .By way of all the parts design, I made a further study of the time control of the one chip microcomputer and applied it to the practicably means of the design, I realized basically the multi-function time control system's requirements on the whole, achieved the desired results of the design.
【Key words】One Chip Microcomputer Time controller multi-function 前言
自从电子计算机诞生以来,人们就希望计算机能具有智能并取代人进行各种活动。单片机的时序控制技术在各个领域中解决了传统控制方法无法或难以解决的问题,尤其是在生活应用领域。时序控制的核心是在于它用具有时序性的语言条件语句来实现控制,所以时序控制在本质上来说是一种专家控制,这种控制的控制规则充分反映了人的智能活动。
本课题正是利用单片机的时序控制,针对以上所提到的问题,考虑其具有的经济和社会价值,拟采用先进的技术和手段,实现一种经济实用,安全可靠、使用方便的多功能时间控制设备。 1. 1课题研究的主要内容
功能时间控制器的系统包括六个部分: 微处理器模块;
- 1 -
串行通信模块; 时钟模块; 数据存储模块; 数码显示模块; 人机界面模块。
多功能时间控制系统的网络结构如图1.1所示 微 数据存储模串行通信模 处 块 块 理 模 块 时钟模块 数码显示模 块 人 机 界 面 模 块
图1.1 多功能时间控制系统的网络结构 1. 2关键问题的解决
在研究过程中,避免不了会遇到这样那样的困难。在做此课题中主要遇到以下困难:
1、干扰问题:在向DS1302读/写数据时,复位输入端必须为高电平;读/写完成后,复位输入端应置成低电平,以防止外部干扰对DS1302内部时钟的影响。
2、通信的可靠性:在使用本系统工作时,周围环境可能会有各种各样的电磁波来干扰通信,如何排除干扰信号,采集有用信号是研究的关键问题之一。 1. 3 课题研究采用的方法
多功能时间控制器的系统包括六个部分:微处理器模块,串行通信模块,时钟模块,数据存储模块,数码显示模块及人机界面模块。其中前五部分都按技术要求绘制原理图、印刷电路板PCB图、制板、焊接、编程以及调试。
1、用PROTEL 99软件绘制多功能时间控制器中微处理器模块,串行通信模块,时钟模块,数据存储模块,数码显示模块电路的原理图和PCB图。
2、系统各部分的软件设计由汇编语言编写,并通过相应的仿真器调试。使用的仿真器为南京伟福公司的单片机仿真器。
通过上述的简要介绍,可以看到系统的设计主要包括六部分: 微处理器模块,串行通信模块,时钟模块,数据存储模块,数码显示模块及人机界面模块的设计等。
主控制系统的设计 2.1技术要求
多功能时间控制器的主要功能和特点为:
1.既能单机工作,又能通过上位机进行多机集中控制。 2.每个单机可以按设定的时间表进行相应的控制动作。 3.每个单机上的定时时间表,可以通过一抬PC机分别设定,并把休息存放在串行的EPROM中,可以保存10年以上。
4. 6位LED显示屏,用作时钟显示。
5.采用RS-485通信接口,可以满足远距离控制的需要。 6.双休日可以自动停止报警。 2. 2 系统硬件设计
根据多功能时间控制器的技术要求,首先要进行硬件上的设计。硬件设计包括线路板的器件选择,线路原理图的设计等。
- 2 -
2. 2. 1 系统中关键器件的选择
2. 2. 2. 1 串行显示接口芯片MAX 7219 (1)、功能和性能说明
MAX 7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器。该芯片可直接驱动最多8位7段数字数码管显示,或64个LED和条形图显示器。它与微型处理器的接口非常简单。仅用3个引脚与微型处理器相应端连接,即可实现最高10MHZ的串行通信接口。MAX7219的位选方式很有特色,允许用户选择多种译码方式译码选位,而且每个显示位都个别寻址和刷新,而不需要重写其他的显示位,这使得软件编程十分简单、灵活。另外,它具有数字和模拟亮度控制以及与MOTOROLA SPI,QSPI及NATIONAL MICROWIRE串行口相兼容等特点。
控制寄存器包括译码模式、亮度调节、扫描限制(选择扫描位数)、关断模式及显示测试寄存器。 寄存器地址见如下:
寄存器 空操作 DIG0 DIG1 DIG2 DIG3 DIG4 DIG5 DIG6 DIG7 译码模式 亮度调节 扫描限制 关断模式 显示测试 地 址 D11 0 0 0 0 0 0 0 0 1 1 1 1 1 1 D10 0 0 0 0 1 1 1 1 0 0 0 0 1 1 D9 0 0 1 1 0 0 1 1 0 0 1 1 0 1 D8 0 1 0 1 0 1 0 1 0 1 0 0 0 1 MAX7219的驱动程序首先必须对5个控制寄存器初始设置,即初始化。各控制寄存器设置含义如下:
(2)、引脚说明
MAX7219的引脚排列如图2-1所示。
图2-1 MAX7219引脚图(引脚说明略)
- 3 -
2. 2. 2. 2 X25045串行信息存储芯片 (1)、X25045特性
●具有可编程的看门狗定时器; ●低Vcc检测;
●直至Vcc=1 V复位信号有效; ●1 MHz时钟频率;
●512X8位串行EEPROM;
●为低功耗CMOS,等待电流10μA,工作电流3mA; ●宽电源电压范围; (2)、引脚定义
X25045的引脚排列如图2-2所示。
图2-2 X25045引脚图 1:CS——芯片选择输入端。 2:SO——串行输出端。 3:WP——写保护输入端。 4:Vss——接地端。
5:SI——串行输入端。 6:SCK——串行时钟输入端。 7:RESET——复位输出端。 8:Vcc——电源电压输入端。
2. 2. 2. 3 串行时钟芯片DS1302
传统的时钟芯片主要有MC68HC68T,MC146818,LM8365等。这些器件引脚数多、体积大、占用口线较多。美国DALLAS公司推出的低功耗实时时钟芯片DS1302采用串行通信方式,只需3条线即可与单片机通信,而体积仅仅是上述时钟芯片的1/4,且片内都含RAM,可增加系统的RAM。DS1302的时钟较准也比较方便,若采用专用晶振器,几乎无须调整就可达到国家要求的时钟误差标准。DS1302是DS1202的升级产品,对于停电时只需对时钟电路单独供电的系统,该芯片正好具备电池充电和切换管理功能。最适合用于长时间无人的监测控制系统或需经常记录某些具有特殊意义的数据及对应时间的场合。
(1)、DSl302的主要功能
DSl302慢速充电时钟芯片包括实时时钟/日历和31 B的静态RAM,经过一个简单的串行接口与单片机通信。实时时钟/日历提供秒、分、时、日、月及年等信息,对小于31天的月末的日期进行调整,还包括闰年的校正功能。时钟的运行可采用24h或带AM(上午)和PM(下午)的12 h格式。 DSl302与单片机的通信仅需3根线,即RST(复位线)、I/O(数据线)及SCLK(串行时钟线)。数据可按每次1 B或多达31 B的形式传送到时钟/RAM或从中送出。
DSl302还有另外的功能,即用于主电源和备用电源相连接的双电源引脚Vl和V2。DSl302由Vl或V2两者中较大者供电。当V2>Vl+0.2时,V2给DSl302供电;当V2 图2-6 DSl302引脚图 - 4 - 2. 2. 2. 4 通信接口芯片SN75LBCl84 SN75LBCl84是美国TI公司生产的一种RS-485接口芯片。它使用单一电源,电压在3.0~5.5 V范围内均能正常工作,可以完成TTL与RS-485之间的转换。其引脚图如图2-8所示。该芯片与普通的RS-485收/发器相比,有一个显著的特点,那就是片内A,B引脚接有高能量瞬变干扰保护装置,可以承受峰值为400W(典型值)的过压瞬变。由于引起过压瞬变的原因通常是雷电、静电放电及电源系统开关干扰等,因而它能显著提高器件的可靠性。在环境比较恶劣的场合,可直接与传输线相接,而不需要任何外加保护元件。该芯片还有一个独特的设计,即当输入端开路时,其输出为高电平。这样即使在接收器输入端电缆有开路故障时,也不影响系统的正常工作。另外,它的输入阻抗为 RS—485标准输入阻抗的2倍(≥24 kΩ),故可在总线上连接64个收/发器。 2. 2. 2 系统电路原理图设计及说明 2. 2. 2. 1 系统电原理图设计 系统电路原理图如图2-8所示。 AFVCC 图2-7 SN75LBCl84引脚图 A BGFGE CDDPE BFA BG CDDPEFA BG CDDPU2EFA BG CDDPEVCCAFG CDDPR49.5K BU11256ECSVCCSOWPSIRSTSCKVss837410k CDDPU39RSTX25045GND673381819103211P1.5P1.6P2.7P1.7X2X1P3.0P0.7P3.0P1.2P1.3P1.4345GNDDIG0DIG0DIG2DIG3DIG4DIG5DIG6VCCC227PFGNDC3X26MHZ1121349211673105DINLOADCLKGNDGNDDIG0DIG1DIG2DIG3DIG4DIG5DIG6MAX7219VCCIsetDOUTDPGFEDCBADIG719182422171521232016148DPGFEDCBADIG727PFR135.1KU54231DREDERVCCVCCBAGND8765U?VCCR125.1KU4VCCC2SCLKV1I/OX1RSTX2V2GNDDS1302GNDC11234P0.4P0.5P0.380C513534367658X132.768KHZSN75LBC184GNDGND 图2-8 统电路原理图 2. 2. 2. 2 系统原理分析 ①显示界面 本系统采用共阴数码管作为显示界面。由于时间显示的要求,一共用了6个,这样必须采用24H - 5 - 制。时间的分割符号“:”由数码管中的小数点“.”代替。考虑到控制器室外使用的需要,设计中采用超高亮显示数码管。 ②时钟备用电源 DS1302时钟芯片具有自动切换电源的特征。为了在系统+5V主电源消失的情况下,确保系统时钟正常运行,设计了一个3.6V的可充电电池,作为备用电源。正常情况下,由于DS1302对它进行充电,可以确保电池的长效性。 2. 3 监控软件设计(仅简单介绍) 系统监控软件的重点和难点是按时间控制表的时间顺序进行控制和串行通信中断子程序2部分。为了减少中断程序占用CPU的时间,串行中断只将接收到的本机时间表等信息写入系统开辟的缓冲区。时间表信息中还包括时间表累加和信息、2路控制输出标志信息等,前者主要用于判断时间表的有效性与完整性,避免错误动作;后者主要用于指定控制对象。 监控程序的程序流程图如图2-9所示。 图2-9 监控程序的程序流程图 - 6 - 结束语 论文对单片机时序控制方面进行了研究。采用先进的技术和手段,实现了一种更经济实用,安全可靠的多功能时间控制器。 通过论文可知,多功能时间控制器的系统包括六个部分:微处理器模块,串行通信模块,时钟模块,数据存储模块,数码显示模块及人机界面模块。设计出的系统总体寿命可保证所有记录保存10年以上。系统的功能是:利用1台PC机,通过通信电缆与各控制器连成RS-485拓扑网络。由此PC机作为上位机,借助通信软件将设定时间一一传送到各个控制器,就可以实现群控。该时间控制器十分适用于需要的对象较为分散而且个数较多的场合。有效克服了手动控制或单独控制导致的对象间的时间误差,避免了工作上的混乱。设计中充分利用了各单片机的片内资源,其性能得到最大限度的发挥。因此该控制系统的各部件都具有体积小、成本低。 论文的主要内容就是介绍了多功能时间控制器系统各部分的硬件设计。通过对各部分的设计,更进一步对单片机进行研究。通过设计,基本实现了硬件系统的功能要求,达到了预期的设计成果。系统硬件己做成实物,经测试使用,性能良好. 参考文献:(略) 导师评语: 罗文杰同学完成的多功能时间控制器设计是在现行通用时间控制器的基础上作了智能化改进,特别是拓宽了应用场合,实用性更强。电路设计合理,选用元件大众化且较新颖。实物制作工艺水平较好。总结的论文言之有物。另:罗文杰同学设计期间刻苦用功看了很多书也能学以至用。 综上,推荐罗文杰同学的毕业设计为优秀毕业设计。 - 7 - 汽车自动报站器的硬件设计 通信工程 【摘要】利用89C52单片机作为CPU来进行总体控制,通过ISD4004语音系列芯片进行各种提示语音的录制和再生,同时使用“8”字行显示块进行站点显示,以实现公共汽车的语音自动报站以及站点提示的功能。 【关键词】报站器 语音芯片ISD4004 【Abstract】Uses one piece machine of 89C52 to come to be in progress overall control as CPU, and passes through the ISD4004's speech sounds series chip to be in progress various poining out speech sounds recording and being a second so-and-so, and to use at the same time \" capable demonstrations of the 8\"'s word piece is stood a little to show, and reports station as well as station point the person who points out the function voluntarily with the speech sounds to realize the bus. 【Key words】The report stands machine Speech sounds Chip ISD4004 一、绪论 城市公共交通是城市综合功能的重要组成部分,是城市不可或缺的公用基础设施,对城市经济建设和社会发展有着很大的关联,城市交通是大城市流动的血液,它触及到我们每个人的日常生活,交通对于社会功能和人类活动的影响是巨大而持久的。一个城市交通的优劣、将直接影响到城市社会、经济发展和市民的出行,影响到对政府管治能力的评价,因此,国外认为“交通即是文明”。公共汽车是城市公共交通的主要生产工具,也是城市公交发展的基础。现代化城市;离不开现代化的城市公共交通。也是一个城市品位和形象的体现,城市公交业已成为反映城市现代化和城市化的标志之一。面对日趋紧张和拥挤的城市交通状况,发展公共交通是从根本上缓解城市交通供需矛盾的优先选择。而且城市公共交通是城市各种交通方式中社会成本最低、综合效益最高的方式。我们应当在城市家庭小汽车有较大发展以前,初步形成具有较高服务水平的城市公共交通系统,提高出行方式中城市公交分担率的比重,引导交通结构的良性发展。 作为一个城市的公交企业来讲,她既要代表政府体现当地城市的形象,又要尽一切力量减少政府投资,创造良好的社会效益和经济效益。而传统的公交运营系统的装备和管理模式较难达到这两者的完美结合。随着科学技术的发展,自动报站技术已开始展现她在公交应用的魔力。语音报站技术不仅在其他领域能发挥出其独特的性能,而且在公交应用上也能实现她提升形象、提升服务、提升管理、提升效益的综合优势。当今,自动报站公交应用系统带给公交企业的将不仅是形象的提升,也是效益的增长。 二、方案介绍与选择 (一)采用MSP50P33为主芯片 以单片机控制MSP50P33对语音的采集、存储、播放。该方案外围电路简单,MSP50P33内部有A/D、D/A转换,可以直接对模拟信号进行采集、存储,也可以先把数字语音信号存到存储器中,使用时直接调用与输出。其缺点:该芯片比较的老,语音音质不好。该芯片不易买到,不适合用来 - 8 - 做毕业设计。 (二)GPS自动语音报站器 GPS自动语音报站器,采用先进的卫星定位技术与大规模语音合成技术相结合的方式,彻底改变了传统公交车语音报站器必须由司机操控才能工作的落后方式,进站、出站自动播报站名及服务用语,准确、及时、完全不需要人工介入,是公交车语音报站器的一项技术革命,它将为公交车的管理人员和乘客带来福音,实现了公交车报站器的完全智能化。该方案优点是实现了全自动的功能,报站器的性能也非常的优。其缺点是:技术要求很高,其成本非常高,调试、维护相当困难,不易用来做毕业设计。 (三)ISD4004为主芯片 以ISD4004为主芯片,以单片机来控制ISD4004对语音的查找及播放。ISD4004内部有存储功能,无须外加存储器,也无须A/D、D/A转化,大大减少了电路的复杂程度,也减少了干扰,因此,该系统语音音质比较好,外围电路也比较简单。该芯片比较适合用来做毕业设计,我们决定采用该芯片。 三、ISD4004芯片介绍 ISD4004语音芯片是由美国ISD公司推出的新产品。关于该语音芯片的引脚说明以及内部电路等。与普通的录音/重放芯片相比,ISD4004具有如下特点:首先,记录声音没有段长度限制,并且声音记录不需要A/D转换和压缩;其次,将快速闪存作为存储介质,无需电源即可保存数据长达100年,重复记录10000次以上;此外,ISD4004具有记录时间长(可达16分钟,也有8分钟的ISD4004语音芯片)的优点;最后,ISD4004的开发应用具有所需外围电路简单的优点,这一点从本文介绍的其在语音报站器中的实际应用可以体会到。 ISD4004的引脚 引脚描述: 电源(VCCA,VCCD): 为使噪声最小,模拟和数字电源端最好分别走线。 地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。 同相模拟输入(ANA IN+): 录音信号的同相输入端,输入放大器可用单端或差分驱动。 反相模拟输入(ANA IN-): 差分驱动时,这是录音信号的反相输入端。 音频输出(AUD OUT): 提供音频输出,可驱动5KΩ的负载。 片 选(SS): 此端为低,即向该ISD4000芯片发送指令,两条指令之间为高电平。 串行输入(MOSI): 此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。 串行输出(MISO): ISD的串行输出端。 - 9 - 串行时钟(SCLK): ISD的时钟输入端。 中断(/INT): 漏极开路输出,ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取。OVF标志—指示ISD录、放操作已到达存储器的末尾。EOM标志只在放音中检测到内部的EOM标志时,此状态位置1。 行地址时钟(RAC): 漏极开路输出。每个RAC周期表示ISD存储器的操作进行了一行。该信号175ms保持高电平,低电平为25ms。 外部时钟(XCLK): 本端内部有下拉元件,芯片内部的采样时钟出厂前已调校,误差在±1%内。在不外接时钟时,此端必须接地。 自动静噪(AMACP): 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰减,这样有助于减小无信号(静音)时的噪声。 四、语音报站器设计原理 (一)流程图 显按 示 键 单片机 ISD 功 89c52 4004 放 译 码 本系统的工作原理:以ISD4004为语音主芯片,用单片机控制ISD4004的选通、对语音地址的查找及播放等功能,把语音从ISD4004里传输给功放,经功放放大后在喇叭里播放。在数码管上显示要播放的语音段的数值,同时可以通过加一键和减一键来调整要播放的语音段。 (二)各模块电路功能说明(电路原理图略) 主要分为四部分:电源部分、单片机控制部分、放音部分和显示部分。 1、电源部分:公交车上使用的电源基本上都是24v,监控用到的电源是12v,它有专门的转化电源,我们这里才用12v输入。把12v的电源先通过7805模块转化为5v提供给单片机及其它集成块,但ISD4004所需的电源是3v必须经过LM317模块转化成3v后才能使用。 2、单片机部分:本系统设有12个按键(分别为p1.0~p1.5和p2.3~p2.7),其中有播放键、加一键、减一键、模式转换键、复位键、服务用语键及特殊功能键。单片机的P1.6接ISD4004的片选引脚/SS,控制ISD4004是否选通;P1.7接ISD4004的串行输入引脚MOSI,从该引脚读入放音的地址;P3.2和P3.3分别接ISD4004的串行时钟引脚SCLK和中断引脚/INT。 3、显示部分:从单片机89c52的p0口输出,p0~p3位显示的高位,p4~p7位为显示的低位。74ls373起到对数据进行锁存,使数据能同步输出。MC14543集成块的作用是将4位的BCD码转化为7位的显示码,再传送给2个7段数码管。在报站器中起到了对站点的显示功能。 4、输出部分:从ISD4004的AUD OUT脚输出的语音信号非常小,必须经过放大才可以送到喇叭里播放,这里采用2003的功放可以实现该功能,其前面还有一个10k的滑动变阻器可以用来调节声音。 (三)报站器的部分软件 电路上电后,首先完成程序的初始化,随后查询按键状态,进入系统待机状态。如果有按键按 - 10 - 下,则转去执行该按键指向的工作程序。在待机状态下,如果放音键首次被按下,程序将首先判断是去还是回(公交车路径一般是既去又回的),自动读出第一站的放音内容,站号显示1。如果不是首次按下,则首先判断当前站号,并以该站号为依据获得存放该站放音内容的首地址;然后调用放音子程序,读入前面获得的本站放音内容首地址,开始放音。每一句放音完毕后,ISD4004的中断引脚(25脚)会自动送一低电平信号。在硬件设计中,该引脚与单片机的P3.3连接,因此会引起一次中断,在中断子程序中有一个计数器记录中断次数,从而判断何时当前一站结束,站号加一并刷新显示。加一键按下后,程序放音内容转向下一站;减一键按下后,则使程序放音内容转向上一站,相应的站号显示也将随之刷新;特殊语键按下后,程序转向执行特殊语放音(譬如“拐弯请注意”等语句);停止键按下,将中止当前的放音状态。 下面部分程序主要完成放音操作,把获得的放音内容的地址送到ISD4004中,完成放音。PLAY ACALL POWERUP 上电子程序 ACALL DELAY25 延迟子程序,至少延迟25ms CLR P1.6 选中ISD4004 MOV PLAY2#11100000B 存放SETPLAY命令 MOV APLAY0 送放音地址低8位 ACALL SEND 调用送地址子程序 MOV APLAY1 送放音地址高8位 ACALL SEND MOV APLAY2 送SETPLAY命令 ACALL SEND SETB P1.6 CLR P1.6 MOV PLAYING#11110000B 送入放音指令 MOV APLAYING ACALL SEND SETB P1.6 RET POWERUP 送上电指令子程序 MOV POWING#00100000B 送入语音芯片上电信号 MOV APOWUPING CLR P1.6 ACALL SEND SETB P1.6 RET SEND: 向ISD4004送指令、地址等的子程序 CLR MOSI CLR P3.2 MOV R1#8 OUTBIT1 CLR P3.2 时钟下降 RRC A MOV MOSIC 输出1位 NOP - 11 - NOP SETB P3.2 时钟上升沿到 NOP NOP NOP DJNZ R1OUTBIT1 RET 放音程序中,要严格按照ISD4004的要求编程。首先要送上电指令,然后等待25μs的延迟,再送16位放音起始地址,最后送8位的开始放音指令。 五、调试过程 (一)硬件调试过程 测试时,首先要测量电源的电压是否正确,除了ISD4004的电压是3v外,其他部分的电源电压应该是5v。然后测量是否能够放音,可以测量AUDOUT引脚电压,若为1.2V则说明ISD4004芯片工作正常,可以放音。如果没有听到放音则调试后级放音电路,看后级电路是否有问题。按键部分的调试,只有复位键是高电平有效,其它按键都应该是低电平有效。用万用表测量在按下来前是高电平,而在按下键后输出为低电平,则为正确。而复位键正好相反。功放部分的调试,我们是将收音机的音频信号接到功放的收入端,发现声音能正常播放,而且还可以调节音量的大小,表明功放部分电路是正确的。 显示模块的测试,先将89C52芯片拔掉,然后上电,再在89C52原来管脚P0口直接接上高低电平,然后观察显示是否正常。可以列表如下,接地脚用‘0’表示,接+5V用‘1’表示。显示X表示不亮。 管脚接法P7~P0 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010以上 数码显示 00 01 02 03 04 05 06 07 08 09 0X 管脚接法P7~P0 00010000 00100000 00110000 01000000 01010000 01100000 01110000 10000000 10010000 10110000以上 数码显示 10 20 30 40 05 06 07 08 09 X0 我们在硬件调试过程比较顺利,基本上没有大的问题。 (二)软件的调试过程 软件测试过程就不那么的顺利。在调试软件时,由于用Gg6W仿真器p0、p2口不能用来做为I/O,只能做为地址口用,给仿真带来了很大的不方便,只能直接把程序捎到单片机里进行调试。 首先调试的是显示的程序,编好一段显示程序后进行调试时,发现数码管上显示的数值是“00”,按键都不起作用。为查找问题的所在,又编了一段程序是让数码管显示“11”,但实际显示的还是“00”,断定显示部分存在问题,我们查找单片机的相关资料,发现p0口在做I/O口用时相当于一个真正的双向口:输出锁存、输入缓冲,但输入时需先将口置1;只有做地址/数据复用总线用时是不用上拉电阻的。 显示部分,我们开始是将显示从0~99计数,计的是十进制数,可是显示的结果是从0到15计 - 12 - 数后跳到10再计到25又跳到20一直下去,仔细检查程序后,把注意力放在显示“5“上,刚开始是把数据存放在70H,然后用程序: MOV A, 70H ;取待显示数据 DA A MOV P0, A ;发送数据到显示 而这样的操作就会有这样的结果,像如果在70H中数据是0AH或是10H的时候,经过程序转换后将会得到同样的结果,显示的都是10H,在如0BH和11H,1CH和22H显示的都是同样的值,才会导致数据一直那样的循环。知道了原因,我就编了一段专门进行十六进制和BCD码转换的程序,问题终于得到解决。 显示部分问题都得以解决,可以进行加数和减数,也能正常显示所得的结果。 语音调试应该说所花的时间是最多的,由于没这方面的经验,当遇到问题的时候总是觉得素手无策,许多问题的出现也没有人能直接帮上忙。只能一步步地摸索,直到最后得到结果。 在语音调试时,发现ISD4004没有发出任何声音,测试各管脚的电压都正常。我们的调试步骤都是严格按照厂家给我们的资料:首先要送上电指令,然后等待25us的延时,再送16位放音起始地址,最后送8位的开始放音指令。可是就是没有声音。 由于在几天前的放大部分测试的时候完全正常的,所以也就没有怀疑那部分的问题,就一直在查看ISD4004方面的资料,但是没有一点结果。在实在没有头绪的时候,无意间碰了一下功放2003,发现点声音出来了,于是查看电路,发现2003的一只脚已经断开了,由于接触不良导致声音无法出来,重新把它焊好后,问题就解决了。 解决了上面这个问题后发现:在每次按了PLAY键后,程序就进入了死循环。根据ISD4004芯片所提供的资料,当语音播放好一段后,将产生一个/INT的中断电平,我是根据收到这个电平来判断播音是否完毕,如果完毕则进行下面程序。但是现在每次播放就进入死循环,我怀疑可能是没有检测到这个信号,才会不能退出程序。后来测量,果然没有发现该信号在播放一段后出现,所以我只得改变程序,使系统能正常工作。 由于该语音芯片需要专门的捎写器才能把语音信号捎进芯片里,而学校实验室无法提供,我们只能用厂家提供的实验板来对电脑里播放的音乐进行录制,虽然这样录制的效果不是很好,语音也不是很清晰,但也总算能成功播放。 在经过几天细心和艰幸的调试后,本实验调试终于得以圆满结束。 六、结束语 通过对本系统的制作,让我们把学到的理论知识很好的运用到实践中去,提高了我们的实际动手能力,掌握了设计的整个流程。通过对该系统的制作对单片机的应用也更加清楚,从中还体会到,调试过程一定要认真仔细、特别对编程的调试不能有一点的疏忽。 参考文献: [1] 谭浩强,MCS-51单片机应用教程,清华大学出版社,2004 年 [2] 何立民,单片机应用技术选编,北京航空航天大学出版社,1997 年 [3] 周湘峻,外置快闪存储器的语音处理器W5701,电子世界,1997年12月 [4] 张俊谟,单片机中级教程,北京航空航天大学出版社,1999年 [5] 何小艇,电子系统设计,浙江大学出版社,2003年1月 导师评语: 该论文内容丰富全面,介绍了该作品的历史、发展前景及使用价值。很好的分析了该产品的优缺点,及为什么选择该主要芯片的原因,详细的讲述了该主要芯片的功能。语言简练、阐述清晰易 - 13 - 懂。特别是调试过程的阐述,条理清晰、次序井然。 噪声数据采集系统的单片机硬件设计 通信工程 【摘要】此噪声数据采集系统模拟声级计的相应功能。声级计,也称噪声计,是用来测量噪声的声压级和计权声级的最基本的测量仪器,适用于环境噪声和各种机器噪声测量,是一种主观性的电子仪器,它把声信号转换成电信号,模拟人耳对声波反映速率的时间特性,对高低频有不同灵敏度的频率特性以及不同响度时改变频率特性的响度特性。 本人负责此系统中的单片机硬件部分,包括模数转换、数据采样、计算机通信。本文通过先总后细的顺序对系统整体、单片机硬件部分的基本原理、总体设想、详细结构和操作过程进行了介绍,在介绍硬件板时穿插了核心器件TLV1549、AT89C2051、TL431、TL062等芯片的详细分析,这样便于读者对硬件整体的把握。 【关键词】单片机硬件 模数转换 数据采样 计算机通信 【Abstract】The Noise data collection system imitates the accordingly functions of the Sound-Level Meter. The Sound-Level Meter which also called the noise accounts is the most basic diagraph to be used to measure the sound level of noice ,it is a kind of subjective and sexual electronics instrument which is applicable for measuring the noise of environment and every kind of machine,this system converts the sound signals into electrical signals and imitates person's ear for reflecting velocity characteristic ,which has different frequency characteristic of intelligent degree with high and low frequency and different loud level characteristic when frequency characteristic is changed in different loud level characteristic. I am charged of the single-chip hardware of this system,this part includes single-chip A/D data-collection and communication with computer. This text introduces the basic principles、total conceive、 detailed construction and the operating process of the whole system and single-chip machine in an order. While introducing the hardware ,the text adds the detailed analysis of the core machine as: TLV1549, AT89C2051, TL431, TL062...etc.It is convient for readers to know the hardware of this system better. 【Key words】microcomputer A/D Data-collection Communication 一、前言 环境噪声的度量,不仅与噪声的物理量有关,还与人对声音的主观听觉有关。从人耳刚可听到的声音到人们不堪忍受的声音,声压相差数百万倍,为方便计算与表达,同时考虑了人耳对声音强度反应的(对数)特性(用对数方法)将声压分为百十个级,称为声压级。声压级定义:声压与参考声压之比的常用对数乘以20,单位dB(分贝)。数学表达式:LP=20lg pp0,其p为声压(Pa); p0=2×10 5Pa是参考声压,是人耳刚可听到的声音。 声级计是根据国际标准按照一定的频率计权和时间计权测量声压级的仪器, 声级计是一种主观 性的电子仪器,它把声信号转换成电信号,可以模拟人耳对声波反映速率的时间特性,对高低频有 - 14 - 不同灵敏度的频率特性以及不同响度时改变频率特性的响度特性。它是声学中最基本、最常用的测量仪器。随着时代的发展,声级计的灵敏度的要求越来越高。具体参数设置规定如下:正弦信号发生器的频率范围为31.5Hz—8KHz,动态范围:45dB—125dB,温度范围:0℃—40℃,分辨率:0.1 dB,线性度:±1.0dB,梯度:0.245V/10dB。特设计这种噪声信号采集系统,用来模拟声级计的工作。 本实验为模拟A计权声级计的噪声数据采集系统,本人完成其中的单片机硬件模块。主要包括: 模数转换、数据采样、LCD液晶显示以及单片机与计算机之间通信的连接电路。 二、基本原理 该部分内容包括以下三个部分:10位串入并出A/D变换器、接收数据采集结果显示电路以及实现与计算机的通信。 (一)10位串入并出A/D变换器 1、 由于系统预期最终动态范围为80 dB,而分辨率为0.1 dB,由此可得所需测量的数据范围应 ≥800,2<800<2 ,故选10位A/D变换器才符合要求。且为计算方便、占用空间小等 原因,选择串入并出的A/D变换器。经过A/D变换之后,原来的模拟信号转换成了数字信号,方便其后的单片机数据采集。经过分析,选择10位、开关电容、逐次逼近模数转换器TLV1549。 2、 它的特点包括:10位分辨率A/D转换、内在采样和保持、总不可调整误差1LSB MAX、片内 系统时钟、CMOS工艺。 (二)接收数据采集结果显示电路 采样间隔31.25ms 测量范围45dB——125 dB显示范围40 dB——130 dB选用AT89C2051单片机,因为该芯片体积小,占用空间小,且满足系统速度要求不高的特点。AT89C2051是低电压、高性能的CMOS8位单片机,片内含2Kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大的单片机,只有20个引脚,15个双向I/O口,两个外中断口,两个15位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。 采用31.25ms,即每32个进制刷新1秒,由于32是2的倍数,在二进制的计算系统中便于实现每秒刷新一个声级数据的要求。 数据从单片机出来以后得到声级值LP,需进入其后的3位半液晶LCD显示器进行显示,同时选用相应的驱动设备74HC164,由于该驱动为时钟入数据出,两条通信线,故占用管脚小,空间少。 (三)实现与计算机的通信 选用TL062的集成电路实现单片机与计算机RS232端口之间的通信联系。电路比较复杂,且外围电路的稳压管及电阻、电容的调试不易,但费用便宜。 单片机硬件原理图 RS232 单片机 驱动 A/D转换 计算机 LCD液晶显示 - 15 - 910 三、总体设计 单片机硬件部分系统的核心是一个A/D转换模块和一个单片机,分别选用TLV1549和AT89C2051,实现噪声数据的采集与计算功能。从设计要求来看,此单片机硬件部分要与软件功能相统一,两者协调工作,此外,还要跟前向对数有效值检波器和后向PC机通信,为实现与PC机的交互通信,需要一个串行通信口,而且在PC机上还要有一个可以与单片机实时交换数据的应用软件。下面对单片机硬件部分的几个主要模块(A/D转换、单片机、LCD液晶显示以及与计算机的通信连接口RS232)进行总体分析和设计。 (一)A/D变换 分析A/D转换的基本原理,选择10位、开关电容、逐次逼近模数转换器TLV1549。模拟数据经模拟信号端进入TLV1549,经过A/D变换之后,原来的模拟信号转换成了数字信号,方便其后的单片机数据采集。该变换器受控于单片机AT89C2051,其数据、时钟、片选端分别与单片机相应管脚连接。 另外,为保证线路的稳定与工作范围,连接一个有良好的热稳定性能的三端可调分流基准源TL431。 (二)数据采集&结果显示 分析数据以及原理可选用AT89C2051单片机,经过软件计算,使噪声声压级数据得到采集,数据每32个进制刷新1秒,即采样间隔31.25 ms。由于32是2的倍数,在二进制的计算系统中便于实现每秒刷新一个声级数据的要求。 数据从单片机出来以后得到声级值LP,经过驱动之后,数据进入LCD液晶显示器,显示相应的LP数据。 (三)实现与计算机的通信 放大的电压信号经过A/D转换由单片机处理后,要传送到远方的PC机,以便达到实时监控的目的。以单片机为主体构成的分布式数据采集和控制系统,因为其电路结构简单,工作可靠性高而被广泛应用在工业控制中。目前广泛使用的单片机产品都集成了串行通信接口,使用串行通信接口,通过RS232接口驱动芯片就可以实现串口通信。 四、详细设计 经过以上的分析,对整个噪声数据采集系统以及本人所负责的单片机硬件部分有了大体的把握,现在就硬件部分的各方面(A/D转换、单片机、LCD液晶显示以及与计算机的通信连接口RS232)设计进行详细分析。 (一)A/D转换 1、核心器件——TLV1549 (1)功能介绍 从放大器出来的电压信号进入到A/D转换器以形成单片机便于处理的数字信号。在该设计中,采用了美国TI公司生产的选择10位、开关电容、逐次逼近模数转换器TLV1549。它采用CMOS工艺,具有内在的采样和保持,采用差分基准电压高阻输入,抗干扰,可按比例量程校准转换范围,总不可调整误差达到(±)1LSB Max(4.8mv),占地面积小等特点。经过A/D变换之后,原来的模拟信号转换成了数字信号,方便其后 - 16 - 的单片机数据采集。右图为其芯片外观图: 该器件具有两个数字输入端和一个3态输出端[芯片选择(CS),输入——输出时钟(I/O CLOCK)以及数据输出(DATA OUT)],它们提供了与主处理器串行断口的3线接口。 下表所示为其引脚功能: 终端名称 编号 I/O 描述 I I 模拟信号输入端。驱动源阻抗应≤ 1 kΩ,接至ANALOG IN的外部驱动源应具有≥ 10 mA的电流驱动能力。 芯片选择。CS端高电平至低电平的跳变将在最大建立时间加内部系统时钟立功两个下降沿之内复位内部计数器和控制电路并使能DATA OUT、I/O CLOCK。低电平至高电平的跳变将在建立时间加内部系统时钟两个下降沿之内禁止I/O CLOCK。 DATA OUT 6 O 当CS为高电位时,这个A/D转换结果的3态串行输出端处于高阻状态;当CS为低电平时,此端有效(active)。在芯片选择有效的情况下,DATA OUT脱离高阻态并被驱动至与前次转换结果的MSB值相对应的逻辑电平。I/O CLOCK的下一个下降沿把DATA OUT驱动至与次最高有效位相对应的逻辑电平,其余的位被依次移出,LSB出现在I/O CLOCK的第9个下降沿。在I/O CLOCK的第10个下降沿,DATA OUT被驱动至低逻辑电平,因此,大于10个时钟的串行数据传送将产生零作为为用的LSB。 GND 4 I I 内部电路的地返回端。除非另有说明,所有电压测量值均相对于GND。 输入/输出时钟。I/O CLOCK接收串行I/O时钟并实现下列三个功能: 1) 在I/O CLOCK的第3个时钟下降沿,模拟输入电压开始对电容阵列充电并一直充电到I/O CLOCK的第10个时钟下降沿。 2) 把前次转换结果的其余9位移出至DATA OUT端。 3) 在第10个时钟下降沿把转换的控制信号传送到给内部状态控制器。 基准电压的高端(upper)值(通常为Vcc)加至REF +。最大输入电压范围取决于施加在REF +和REF –的电压的差值。 基准电压的低端(lower)值(通常为地)加至REF –。 正电源电压 ANALOG IN 2 CS 5 I/O CLOCK 7 REF + REF – VCC 1 3 8 I I I (2)工作方式 在芯片选择(CS)无效(高电平)情况下,I/O CLOCK最初被禁止且DATA OUT处于高阻态。当串行接口把CS拉至有效(低电平)时,转换时序开始允许I/O CLOCK工作并使DATA OUT脱离高阻态。然后,串行接口把I/O CLOCK序列提供给I/O CLOCK并从DATA OUT接收前次转换结果。I/O CLOCK - 17 - 从主机串行接口接收长度在10和16个时钟之间的输入序列。开始10个I/O时钟提供采样模拟输入的控制时序。 2、与单片机连接接口 由于它采用串行输出的方式,占地面积小,方便灵活,与单片机的接口也简单,如下图所示: TLV1549 AT89C2051 I/O CLOCK ANALOG IN DATA OUT /CS P1.7 P1.6 P1.5 3、稳定基准电源 实验中选用TL431为TLV1549提供稳定的基准电压。 TL431是一个有良好的热稳定性能的三端可调分流基准源。它的输出电压用两个电阻就可以任意地设置到从Vref(2.5V)到36V范围内的任何值。 上图是TL431的外形图。 (二) 接收数据采集结果显示电路 1、核心器件——AT89C2051 器件图及管脚功能如下所示: ·VCC:电源电压 ·GND:地 ·P1口:P1口是一组8位双向I/O口,P1.2——P1.7提供内部上拉电阻,P1.0和P1.1内部无上拉电阻,主要是考虑它们分别是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1)。 ·P3口:P3口的P3.0——P3.5 P3.7是带有内部上拉电阻的7个双向I/O口。P3.6口缓冲器可吸收20mA电流。当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入断口。 ·RST:复位输入,RST引脚一旦变成两个机器周期以上高电平,所有的I/O口都将复位到“1”(高电平)状态,当振荡器正在工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为12个振荡时钟周期。 ·XTAL1:振荡器反相放大器的内部时钟发生器的输入端。 ·XTAL2:振荡器反相放大器的输出端。 2、驱动及LCD 由于实验最高需要显示的数据为132.3左右,故显示需要3位半及以上的LCD,这就至少需要四个74HC164驱动使LCD受控显示。 - 18 - 在LCD的各个管脚加一个瞬间高电平,经测试得出COM端及各笔画对应的管脚,并与四个驱动74HC164的管脚分别相连,完成显示电路。 (三)实现与计算机的通信 选用电平转换器MAX3232或TL062的集成电路实现单片机与计算机RS232端口之间的通信联系。 若选用MAX3232,电路比较简单,MAX3232为RS232收发器,但+5V电源供电,仅需外接几个电容即可完成从TTL电平到RS232电平的转换,但芯片费用较高;若选用TL062,电路比较复杂,且外围电路的稳压管及电阻、电容的调试不易,但费用便宜。经过分析比较,本实验电路选用以TL062为核心的集成电路。 左图为TL062芯片图 通过标准接口线,将电路板与计算机相接,实现实时人机交互通信。 结束语: 通过这次毕业设计,我学到了很多,包括有:模拟电路设计、数字电路设计、单片机设计、Protel制板、布板合理性分析以及声级噪声测量的简单电路设计。与此同时,我也获得了一次将所学理论知识转化为实际操作的经验,获益匪浅。 参考文献: [1] 魏保详、刘尊永、赵素道,噪声测量与调查研究方法,中国协和医科大学、北京医科大学联合出版社 [2] 潘仲麟、张邦俊,环境声学与噪声控制,杭州大学出版社 [3] 张林,噪声及其控制,哈尔滨工程工业大学出版社 [4] L.L.Beranck,Noise and Vibration Control,L.L.Beranck [5] G.S.K.Wong,Development of a Miniature Sound-Level Meter,Journal of Physics Et Scientific Instruments 导师评语: 该同学的毕业设计课题具有较高的实际应用价值。选择的元器件合理、实用。采用了最新的集成块,简化了电路结构。论文理论分析正确,论述完善。硬件制作性能优良,很好的实现了全部的任务。 - 19 - 因篇幅问题不能全部显示,请点此查看更多更全内容