智能非接触式体温计的毕业设计

更新时间:2024-07-01 05:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业课程设计

目录

设计总说明 ......................................................................................................................... I Introduction ..................................................................................................................... III 1 绪论 .............................................................................................................................. 1

1.1 课题研究背景 ................................................................................................... 1

1.1.1 体温计发展 ............................................................................................ 1 1.1.2 红外测温技术发展 ................................................................................ 2 1.2 课题研究目的和意义 ....................................................................................... 3 1.3 论文主要内容及章节安排 ............................................................................... 3 2 系统工作原理与方案设计 .......................................................................................... 5

2.1 系统工作原理 ................................................................................................... 5 2.2 系统方案选择 ................................................................................................... 6 2.3 主要器件选择 ................................................................................................... 8

2.3.1 红外测温传感器 .................................................................................... 8 2.3.2 单片机控制单元 .................................................................................... 8 2.4 整体方案确定 ..................................................................................................... 9 3 硬件电路设计 ............................................................................................................ 10

3.1 单片机最小系统电路设计 ............................................................................. 11

3.1.1 最小系统电路 ...................................................................................... 11 3.1.2 晶振和复位电路 .................................................................................. 11 3.2 传感器电路设计 ............................................................................................. 12

3.2.1 MLX90614红外测温传感器介绍 ........................................................ 12 3.2.2 MLX90614传感器电路 ........................................................................ 13 3.3 液晶显示电路设计 ......................................................................................... 14

3.3.1 LCD液晶显示介绍 ............................................................................... 14 3.3.2 LCD液晶显示电路 ............................................................................... 15 3.4 ISD4004语音电路设计 ................................................................................. 16

3.4.1 ISD4004语音芯片介绍 ....................................................................... 16 3.4.2 音频功率放大器介绍.......................................................................... 17 3.4.2 ISD4004语音电路 ............................................................................... 18 3.5 万年历电路设计 ............................................................................................. 20

3.5.1 DS1302时钟芯片介绍 ........................................................................ 20 3.5.2 基于DS1302万年历电路 ................................................................... 20 3.6 人数统计电路设计 ......................................................................................... 21 3.7 声光报警电路设计 ......................................................................................... 22 3.8 基于MAX232的RS-232串口电路设计 ....................................................... 22

3.8.1 MAX232电平转换芯片介绍 ............................................................... 23 3.8.2 MAX232串口电路 ............................................................................... 23 3.9 电源电路设计 ................................................................................................. 24 4 系统软件设计 ............................................................................................................ 26

4.1 红外测温模块设计 ......................................................................................... 26 4.2 显示模块设计 ................................................................................................. 28 4.3 语音模块设计 ................................................................................................. 31 4.4 时钟模块设计 ................................................................................................. 32 4.5 人数统计模块设计 ......................................................................................... 34 4.6 声光报警模块设计 ......................................................................................... 35 4.7 串口电路模块设计 ......................................................................................... 35 5 系统仿真与误差处理 ................................................................................................ 37

5.1 基于Proteus软件仿真 .................................................................................. 37 5.2 系统误差处理 ................................................................................................. 39 6 总结与展望 ................................................................................................................ 40

6.1 总结 ................................................................................................................. 40 6.2 展望 ................................................................................................................. 40 参考文献 .......................................................................................................................... 41 致谢 .................................................................................................................................. 42 附录 .................................................................................................................................. 43

智能非接触式电子体温计设计

设计总说明

随着人们生活水平的不断提高,对自身健康状况越来越关注,而体温是鉴别人体健康状况的重要参数之一,对这一生理指标的测量可以更好的监测自身健康状况,因此体温计在医疗领域中占有十分重要的地位,也为人们的生活带来极大的方便。但若使用时消毒不彻底会导致交叉感染。新型的体温计,如电子体温计,通过热敏电阻测定体温,存在测温误差大等问题,因此,非接触式快速测温的体温计就有了研发使用的意义。比起传统的测温方法,利用红外传感器制定的体温计有着响应时间快、使用安全及使用寿命长等优点,非常适合在机场、火车站、学校等公共场所使用。

由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,这就使得人们可以利用计算机实现自动测量、信息处理和自动控制。传感器主要用于测量和控制系统,其性能好坏直接影响系统性能,因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当接口电路调整才能满足信号的处理、显示和控制要求,且只有通过对传感器应用实例原理和智能传感器实例分析及了解,才能将传感器和信息通信、处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都是为了改革生产力、提高工效和时效,且都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。

利用红外测温是最近几年来兴起相对高端的技术,对红外线设备的设计和研究,对今后的社会应用有非常积极的影响。从另一方面而言,体温计是民众日常生活中的必备卫生用品,尤其在“非典”和“甲型流感”流行期间,各式体温计成为了判断感染者与未感染者较为初步的仪器。所以在本次毕业设计中,以单片机为核心,运用红外传感原理来设计基于单片机的智能非接触式电子体温计。单片机是整个智能控制器的核心,其外围设备是检测和控制电路,单片机通过接口发出各种控制信息给检测电路,以启动测量、改变工作方式等。当检测电路完成一次测量后,单片机读取测量数据,进行必要的加工、计算、变换等处理,最后以各种方式输出,例如经液晶显示模块显示,经语音模块播报等。

在本次智能非接触式电子体温计设计中,以AT89S51单片机为控制核心,根据红外测温原理,由红外热电堆传感器MLX90614对人体体温进行实时采集转变为电信号,经MLX90614内部的模数转换,转换成数字信号后送入单片机进行数字滤波、线性化处理、

I

数据存储、逻辑判断,并将最后的测量结果送入液晶显示模块进行显示,且语音芯片在程序的控制下进行语音播报,同时,还具有万年历、当前时间、统计人数和声光报警等功能。从而使测温前后的各种操作更趋于智能化和人性化。全文主要阐述其硬件电路设计和软件程序设计。硬件方面首先从单片机最小系统,红外热电堆传感器进行主要功能的设计,其次从万年历时钟模块、统计人数和报警电路、液晶显示模块、语音播报等功能模块分别进行论述并详细介绍了各个芯片的结构和功能。软件部分使用KEIL C语言程序设计,此语言具有语言简洁、紧凑,使用方便、灵活,生成目标代码质量高,程序执行效率高的特点。其程序设计采用模块化结构,每个模块作为一个子程序,所以整个程序的编制和调试都比较方便,结构清晰,提高了可靠性和修改性,并给出了针对各个应用模块的设计思路及流程图。系统程序主要包括主程序、读出温度子程序、计算温度子程序、LCD显示程序、语音播报程序、万年历程序、统计人数及声光报警等程序。在对硬件部分和软件部分的设计之后,通过Proteus软件和KEIL C软件结合使用,对本次设计进行了主要功能的仿真,并达到理想的效果。

对智能非接触式体温计设计是功能性为基础,以创新性为指导,以实践性为依托,具有较好的发展前景和广泛的应用场合。通过本次设计,希望可以为今后拓展体温监测应用领域提供新的思路和方法,使之能在各应用领域得到更广泛的应用。 关键词:单片机,传感器,LCD显示,语音播报,仿真

II

Introduction

The technique of temperature measurement is widely used in iatrology, aviation,and stell manufacture because of its convenience, fast speed and high accuracy. This paper introduce a method to design an un-touched electronic thermometer which based on MS51 single chip and infared sensor MLX90614. Also, Infrared thermomter, it uses the blackbody radiation laws as the theories foundation, it is the outcome that the optical theories and micro-electronics learn a comprehensive development. Compared to the way of traditional temperature measurement, it has a series of merits, such as short in response time, non-contact, noninterference to temperature field, long useful time and convenient operation, etc.

The paper introduces the basic principle of infrared thermometer and the method of realization, puts forward infrared trermometer system with the AT89S51 MCU as the CPU. The paper introduces the composing and the method of that system in detail, and gives the hardware principle diagram and the design flow chart of the software. The system formed by the optical system, photoelectron detector,display and output partially. The optical system collects the infrared radiation energy of the object in its field of view, the infrared energy focusing on the instrument and transforms to the corresponding electrical signal. The AT89S51 MCU is used to start the temperature survey, data receive, count the value of the object temperature based on the arithmetic with in MCU and the result is displayed on LCD.

In the intelligent non-contact electronic clinical thermometer design, with the AT89S51 as the core, according to the principle of infrared measuring temperature, the infrared thermopile sensor MLX90614 to body temperature real-time gathering into electrical signals, after MLX90614 internal analog-to-digital conversion, converted into digital signal after into single-chip digital filtering, linearization processing, data storage, logical judgment, and the final measurement results into the LCD module for display, and the voice chip speech under the control of the program, at the same time, also has a calendar, the current time, the number of statistics and sound and light alarm, and other functions. So that the temperature measurement before and after the various operations tend to be more intelligent and humane. Key word: microcontroller,sensor,display,voice,simulate

III

1 绪论

随着科学技术的迅速发展,传统接触式测量体温的方式已不能满足现代一些领域测量体温的需求,对非接触、远距离测量体温技术需求越来越大。本次智能非接触式体温计设计的出发点也正是基于此。

1.1 课题研究背景

1.1.1 体温计发展

人体体温是鉴别人体健康状况的重要参数,所以体温计在医疗领域中占有十分重要的地位。随着现代科技的发展,新材料、新工艺的运用,各式各样的体温计陆续出现,探测方式在不断改进。现有体温计大致分为三种类型:一种是常见的玻璃水银体温计;一种是电子体温计;还有一种是红外智能非接触式电子体温计。

人们熟悉的传统体温计是水银体温计,它是根据汞受热膨胀原理制成。由于受到体温影响,水银体积膨胀使玻璃管内水银柱的长度发生明显的变化,可使随体温升高的水银柱保持原有位置,便于使用者随时观测。由于玻璃的结构比较致密,水银的性能非常稳定,所以玻璃体温计具有示值准确、稳定性高的特点,拥有价格低廉、不用外接电源的优点,深受人们特别是医务工作者的信赖。但此种体温计也有诸多弊端,例如,遇热或安置不当容易破裂,人体接触水银后会中毒,轻者恶心、头痛重者会造成血液凝固等。

医用电子体温计是利用某些物质的物理参数(如电阻、电压、电流等)与环境温度之间存在的确定关系,将体温以数字的形式显示出来,读数清晰,携带方便。许多医院也采用了电子体温计,因拥有快速、无需接触被测者等的优点而被广泛采用。其不足之处在于示值准确度受电子元件及电池供电状况等因素影响,即性能暂不能与传统的体温计相比不如玻璃体温计。

红外测量体温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥重要作用。根据红外测温原理,任何物体由于其自身分子运动,不停地向外辐射红外热能,从而在物体表面形成一定的温度场,俗称“热像”。红外体温计正是通过对物体自身辐射的红外能量的测量,准确地测定它的表面温度。所用的红外传感器只是吸收人体辐射的红外线,采用的是被动式且非接触式的测量方式,因此红外体温计不会对人体产生辐射伤害。比起前两种测温方法,红外体温计有着响应时间快、使用安全、使用寿命长及可靠性高等优点。近20年来,红外体温计在技术上得到迅速发展,性能不断完善,功能不断增强,品种不断增多,适用范围也不断扩大。

第1页 共58页

1.1.2 红外测温技术发展

自从1800年英国天文学家F·W·赫歇尔发现红外辐射至今,红外技术的发展经历了将近两个世纪。从那时开始,红外辐射和红外元件、部件的科学研究逐步发展,但发展比较缓慢,直到1940年前后才真正出现现代的红外技术。当时,德国研制成硫化铅和几种红外透射材料,利用这些元、部件制成一些军用红外系统,如高射炮用导向仪、海岸用船舶探测和跟踪系统,机载轰炸机探测仪和火控系统等等。其中有些达到实验室试验阶段,有些已小批量生产,但都未来得及实际使用。此后,美国、英国、前苏联等国竞相发展。特别是美国,大力研究红外技术在军事方面的应用。目前,美国将红外技术应用于单兵装备、装甲车辆、航空和航天的侦察监视、预警、跟踪以及武器制导等各个领域。

红外技术发展的先导是红外探测器的发展。1800年,F·W·赫歇尔发现红外辐射时使用的是水银温度计,这是最原始的热敏型红外探测哭器。1830年以后,相继研制出温差电偶的热敏型探测器。19世纪,科学家们使用热敏型红外探测器,认识了红外辐射的特性及其规律,证明了红外线与可见光具有相同的物理性质,遵守相同的规律。它们都是电磁波之一,具有波动性。20世纪初开始,测量了大量的有机物质和无机物质的吸收、发射和反射光谱,证明了红外技术在物质分析中的价值。30年代,首次出现红外光谱代,以后,它发展成在物质分析中不可缺少的仪器。40年代初,光电型红外探测器问世,以硫化铅红外探测器为代表的这类探测器,其性能优良、结构牢靠。50年代,半导体物理学的迅速发展,使光电型红外探测器等到新的推动。到60年代初期,对于1-3、3-5和8-13微米三个重要的大气窗口都有了性能优良的红外探测器。在同一时期内,固体物理、光学、电子学、精密机械和微型致冷器等方面的发展,使红外技术在军、民两用方面都得到了广泛的应用。

在红外技术的发展中,需要特别指出的是:60年代激光的出现极大地影响了红外技术的发展,很多重要的激光器件都在红外波段内,其相干性便于移用电子技术中的外差接收技术,使雷达和通信都可以在红外波段实现,并可获得更高的分辨率和更大的信息容量。在此之前,红外技术仅仅能探测非相干红外辐射,外差接收技术用于红外探测,使探测性能比功率探测高好几个数量级。另外,由于,这类应用的需要,促使出现新的探测器件和新的辐射传输方式,推动红外技术向更先进的方向发展。

第2页 共58页

化,电池的利用效率更高。由于该方案的电路简单且集成度高,所以功耗更低。而且相比第一个方案,无需黑体校正。所以开发时间要比方案一少。这也意味着方案的总体成本(硬件成本、开发时间成本等)其实要比方案一要低。

2.3 主要器件选择

2.3.1 红外测温传感器

通过查阅相关资料最终选出两个符合此项目的热电堆红外传感器,其一是凌阳TN9系列的红外测温传感器,其二是MLX90614ACA型号的红外测温传感器。

TN9红外测温模块解决了传统测温中需接触的问题,并且具备回应速度快、测量精度高、测量范围广等特点,但是,其所需的外围电路复杂,容易出现问题,产品可靠性不高。其主要功能为测温理想距离可达100英尺(30米),回应时间比较短,大约0.5秒。其基本特性与参数指标为测量范围在-33℃至200℃;测量误差在±0.6℃,或温度值的1%;工作范围在-10℃至50℃。

MLX90614系列模块是一组通用的红外测温模块,在出厂前该模块已进行校验及线性化,具有非接触、体积小、精度高,成本低等优点。集成了由迈来芯公司开发和生产的两款芯片:一是红外热电堆传感器 MLX81101 ,二是信号处理专用集成芯片 MLX90302,专门用于处理红外传感器输出信号。该模块可以测量的温度范围为-70℃~380℃,对于测体温完全可以满足要求。热量由芯片热电偶测得。该模块在其信号调节芯片中采用了先进的低噪音放大器,一个17位的数模转换器和数字信号处理单元,放大微小热电偶电压并将其数字化,使用芯片EEPROM存储器中储存的生产厂设定的校准参数,计算出物体的温度。它能保持0.01℃温度精确度,在0℃~50℃的物体温度范围内,标准的MLX90614具有±0.5℃的绝对精确度;在该范围以外,精确度为±1℃,调试后可以达到±0.2℃。此外,MLX90614ACA型号的红外测温传感器的外围电路简单,调试不难,性能稳定,电路可靠性比较高。

综上所述,选择MLX90614ACA型号的红外测温传感器可以做到成本更低,精确度更高,测试范围更广,还可以获得较高的可靠性,符合我们设计的智能非接触式红外体温计。

2.3.2 单片机控制单元

对主控芯片选择时,考虑到两款最常用的单片机,一是ATMEL公司的AT89C51单片机,一是其公司的AT89S51单片机。

第8页 共58页

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁储存器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89S51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory) 8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。具有多种功能的8位 CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比较高。

两者之间主要区别在于以下几点:

(1)引脚功能:管脚几乎相同,只是在AT89S51中P1.5,P1.6,P1.7具有第二功能,即这3个引脚的第二功能组成了串行ISP编程的接口。

(2)编程功能:AT89C51仅支持并行编程,而AT89S51不但支持并行编程还支持ISP再线编程。在编程电压方面,AT89C51的编程电压除正常工作的5V外,另Vpp需要12V,而AT89S51仅仅需要4-5V即可。

(3)烧写次数更高:AT89S51标称烧写次数是1000次,实为1000-10000次,这样更有利初学者反复烧写,降低学习成本。

(4)工作频率更高:AT89C51极限工作频率是24MHZ,而AT89S51最高工作频率是33MHZ,(AT89S51支持最高工作频率分别为24MHZ和33MHZ)从而具有更快的计算速度。

(5)电源范围更宽:AT89S51工作电压范围达4~5.5V,而AT89C51在低于4.8V和高于5.3V时无法正常工作。

(6)抗干扰性更强:AT89S51内部集成看门狗计时器(Watchdog Timer),而AT89C51需外接看门狗计时器电路,或者用单片机内部定时器构成软件看门狗来实现软件抗干扰。

(7)加密功能更强:AT89S51系列提供了三层的加密算法(LB1,LB2,LB3三个可编程的加密位),这使得AT89S51的解密变为几乎不可能,程序的保密性大大加强。

所以,考虑到引脚功能、使用寿命、抗干扰性等最终采用了AT89S51单片机。

2.4 最终方案确定

综上所述,本次设计采用方案二更合理。直流稳压电源输出的5V电压分别给传感

第9页 共58页

器和单片机供电,并为之提供一个稳定的工作电压。用MLX90614红外测温传感器来收集红外辐射信号,用AT89S51单片机作为中心控制器件进行数据处理分析,用DS1302模块进行万年历的设计,采用LCD12864液晶显示模块显示当前时间、人体温度和人数统计并用ISD4004语音模块对检测的人体温度进行语音播报。单片机实时分析传感器采集的温度,判断其是否超出预设温度范围,并采用蜂鸣器和LED作为报警电路进行报警,以准确的控制报警设备。此外,计算机与外部设备(智能非接触式电子体温计)之间进行数据的串行传送,即对人体体温的当前测量值进行串行传送。具体介绍见第3章硬件电路的设计。

3 硬件电路设计

基于AT89S51单片机的红外体温计的硬件设计采用目前使用比较广泛的模块化、自顶向下设计思想,将整个系统分成八大模块:单片机处理模块;红外测温模块;显示模

第10页 共58页

块;语音模块;万年历模块;报警模块;串口模块;电源模块。通过自顶向下的顺序、划分模块的方法,可以把一个复杂的问题分割成几个相对容易解决的问题,分别予以解决。此外,此种设计方法思路清晰,亦便于设计过程中的各模块的调试和整机的联调,大大简化了设计的难度。本章主要介绍了系统硬件电路的设计,并针对各模块硬件电路进行了具体的分析。

3.1 单片机最小系统电路设计

3.1.1 最小系统电路

该系统是以AT89S51单片机为核心器件,其模块的工作原理是:加载相应程序的AT89S51单片机把红外测温模块传来的数据加以处理分析进行语音播报、LCD液晶显示等。单片机需要一定的外接电路才能正常工作即单片机最小系统,电路如图3.1所示,其主要包括AT89S51单片机、复位电路和时钟电路。

图3.1 单片机最小系统

3.1.2 晶振和复位电路

晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度。晶振电路用于产生单片机工作所需要的时钟信号,单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,如图3.3中Y2、C11、

第11页 共58页

C12。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体。而单片机工作速度是每秒 11.0592M,即此次晶振选择11.0592M,补偿电容通常选择30pF左右的瓷片电容。晶振电路如图3.2 所示。

图3.2 晶振电路

复位的条件:RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间RST引脚获得高电平,随着电容的充电电流的减小,RST引脚的电位逐渐下降。当需要复位是,按下按键,利用电容放电使RST引脚为高电平,单片机复位。

上电与按键均有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作。复位电路如图3.3 所示。

图3.3 复位电路

3.2 传感器电路设计

3.2.1 MLX90614红外测温传感器介绍

由红外温度传感器、低噪声放大器、A/D转换器、DSP单元、脉宽调制电路及逻辑控制电路构成,热电堆输出的温度信号经过内部高性能、低噪声的运算放大器放大后,送给模数转换器(ADC),ADC输出的17位数字经过可编程FIR和IIR低通滤波器(即框图3.4中的DSP)处理后输出,该输出作为测量结果保存在MLX90614内部RAM存储单元中,可以通过SMBus读取;同时测量结果送到后级数子式脉冲宽度调制电路,将测量结果以PWM的方式输出。

第12页 共58页

81101ADC DSPPWM 控制单元90302调压器

图3.4 MLX90614内部的结构框图

MLX90614采用4脚罐形封装(TO239),顶端引脚分布视图如图3.5所示,具体的引脚功能如下:

2-PWM/SDA2-VDD2-SCL/VZ2-VSS 图3.5 MLX90614的顶端引脚分布视图

VDD:外部电源输入; VSS:地,和外壳相连;

SCL/Vz:当MLX90614为SMBUS模式时SCL为串行输入,为PWM模式时Vz为由外部电路置高电平;

SDA/PWM:当MLX90614为SMBUS模式时串行数据输入输出接口,为PWM模式时做为PWM波输出接口。

3.2.2 MLX90614传感器电路

MLX90614硬件电路连接如图3.6所示,传感器的SCL/VZ 、PWM/SDA管脚直接连接单片机的普通I/O口,即单片机上的P1.0和P1.1并通过这两个I/O口实现单片机与传感器相互之间的数据的传输。VDD为电源引脚接+5V,VSS为地端。由于MLX90614的输入输出接口是漏级开路(OD)结构,需要加上拉电阻即图3.6中的R4和R5(10K)。

第13页 共58页

图3.6 MLX90914红外传感器电路设计

3.3 液晶显示电路设计

3.3.1 LCD液晶显示介绍

在显示电路单元的模块中,带中文字库的LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字和128个16*8点ASCII码字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字并完成图形显示,低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。图3.7为LCD12864芯片引脚图,其具体引脚功能如下:

图3.7 LCD12864芯片引脚

Vss:电源地(GND); Vdd:电源电压(+5V);

VO:LCD驱动电压(可调对比度),VCC和VOUT接可调电阻,中间抽头接至VO; RS:并行模式:RS=0,指令寄存器;RS=1,数据寄存器。串行模式:片选; R/W:并行模式:R/W=0为写。R/W=1为读。串行模式:数据;

第14页 共58页

E:并行模式:允许信号。串行模式:脉冲; DB0-DB7:并行模式:数据0。串行模式:不连接; PSB:并行模式:PSB=1。串行模式:PSB=0; NC:不需要连接;

RESET:复位端,低电平有效;

BLA、 BLK:背光的正极、负极,接+5V、0V。 3.3.2 LCD液晶显示电路

如图3.8所示是LCD12864液晶显示电路的硬件连接图,接10K的上拉电阻。单片机的P0口可以作为通用的输入输出端口使用,此时,若要驱动NMOS或其他位电流负载时,需外接上拉电阻,才能使该位高电平有效,所以中间接10K的排阻,来决定高低电位。LCD12864共有20个引脚,其中DB0~DB7是8位双向数据总线,它的方向由读写控制脚RW决定。它可以直接和单片机接口直接连接,液晶显示的RB0~RB7八个双向端口接AT89S51单片机的P0口的P0.0~P0.7。

图3.8 LCD12864液晶显示电路

由于VO端接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,对比度过低会使屏幕模糊不清,所以使用时可以通过一个20K的电位器来调

第15页 共58页

节提供给驱动器的供压,从而整LCD显示的对比度。LCD12864的RS寄存器选择端口接单片机的P2.7口,通过软件程序中对此端口的设置来决定选择的寄存器。液晶显示的RW端口直接接单片机的P2.6口,高电平时进行对输入的数字信号进行读数。使能E端接单片机的P2.5口,使能端由高电平到低电平时开始执行命令,把读数显示出来。A 和K端口为背光引脚,BLA接正电极、BLK 接地时点亮背光。

3.4 ISD4004语音电路设计

3.4.1 ISD4004语音芯片介绍

ISD4004语音芯片工作电压为3V,单片录放时间8分钟至16分钟且音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存储在片内闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率可为4.0,5.3,6.4,8.0KHz,频率越低录放时间越长而音质则有所下降,片内信息存于闪烁存储器中,可在断电情况下保存100年(典型值),反复录音10万次。

如图3.9为 ISD4004芯片引脚图,其各引脚功能描述如下:

图3.9 ISD4004芯片引脚图

电源(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,且最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。

第16页 共58页

地线(VSSA,VSSD): 芯片内部的模拟和数字电路也使用不同的地线。

同相模拟输入(ANAIN+):录音信号的同相输入端。输入放大器可用单端或差分驱动。反相模拟输入(ANAIN-):差分驱动时,是录音信号的反相输入端。 音频输出(AUDOUT):提供音频输出,可驱动5KΩ的负载。

片选(SS): 此端为低,即向该ISD4004芯片发送指令,两条指令之间为高电平。 串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。

串行输出(MISO):ISD的串行输出端。ISD未选中时,本端呈高阻态。

串行时钟(SCLK): ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。

中断(/INT):本端为漏极开路输出。ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。

行地址时钟(RAC): 漏极开路输出。每个RAC周期表示ISD存储器的操作进行一行。 外部时钟(XCLK):本端内部有下拉元件。因内部首先进行了分频,在不外接地时钟时,此端必须接地。

自动静噪(AMCAP):通常本端对地接1mF的电容,构成内部信号电平峰值检测电路的一部分;本端接VCCA则禁止自动静噪。 3.4.2 音频功率放大器介绍

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点。其是美国国家半导体公司生产的音频功率放大器,主要用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但是在1脚和8脚之间增加一只外接的电阻和电容,便可将电压增益调为任意值,直到200,输入端以地为参考,同时输出端被自动偏置到电源电压的一半。如在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用干电池供电场合。其外部引脚如图3.10所示。引脚2为反相输入端,引脚3为同相输入端,5引脚为输出端应外接输出电容后再接负载,引脚6和4分别为电源和地,,引脚1和8为电压增益设定端,使用时在引脚7和地之间接旁路电容,通常取10uF。

第17页 共58页

图3.10 LM386低功率放大器

在使用LM386时应注意,电源电压4-12V或5-18V,静态消耗电流为4mA,电压增益20-200dB。尽管LM386的应用非常简单,但稍不注意特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如挺拔音频插头、旋音量调节钮)都会带来瞬态冲击,在输出喇叭上会产生非常讨厌的噪声。 3.4.2 ISD4004语音电路

语音电路设计中采用ISD4004录放音芯片作为主控芯片,采用话筒输入音频信号进行录音,通过开关和单片机控制录音、放音和录音、放音时的相应模式,由于语音芯片推动的音频功放较小,为了加大音量采用LM386功率放大器增加一级音频功放,声音通过扬声器输出。如图3.11和3.12所示的音频输入、输出的电路图。ISD4004的片选信号SS引脚与AT89S51单片机的I/O口P2.2连接,由程序指令产生有效的低电平信号。串行数据输入MOSI引脚和串行数据输出MISO引脚分别与P2.1和P2.0连接,串行收发的数据信息在程序指令的控制下,由片内移位寄存器锁存,其同步时钟信号SCLK由单片机P2.3控制。中断请求信号INT和单片机的P3.3(INT1)连接。为使输出语音噪声达到最小,系统的模拟地和数字地分开走线,尽可能在靠近供电端处相连,并且分别引到ISD4004芯片的VSSA和VSSD管脚上,去耦电容也应尽量靠近芯片。

在实际设计中,可以根据不同的情况,事先录制好不同的语音,其具体录音电路图如图3.11所示为ISD4004音频输入电路图。录音录制电路主要由语音芯片ISD4004、麦克MK1、及相关外围电路等构成。声音信号由MK1转换成电信号,经电容C16、C21耦合后由同相模拟输入端IN+和反相模拟输入端IN-引脚进入ISD4004,由ISD4004采样和保存。模拟电源Vcca和数字电源Vccd接+3.3V电源,分别接C13(0.1uF)和C14(22uF)滤波电容,使电源供电更加稳定。

第18页 共58页

图3.11 ISD4004音频输入电路图

如图3.12为ISD4004的音频输出电路图所示。音频输入电路主要由ISD4004、LM386等构成。声音信号由如图3.12所示的ISD4004的AUDOUT引脚输出,经C19电容耦合和音量控制电位器R19送入LM386芯片,放大后由VOUT输出并驱动扬声器发声。连接音频放大模块时应在1脚和8脚之间接电容C24(1脚接电容+极)来改变增益。在选择调节音量的电位器时阻值不能太大,R20为10K最合适,太大会影响音质。第7脚(BYPASS)必须外接一个电解电容C26到地,起滤除噪声的作用。此外,录放音控制开关,经单片机判断所需要的状态,即录音、放音、运行和停止四个状态。具体电路图详见附录A。

图3.12 ISD4004的音频输出电路

第19页 共58页

3.5 万年历电路设计

3.5.1 DS1302时钟芯片介绍

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带静电RAM、能进行慢速充电的时钟芯片,可以提供秒、分、时、日、星期、月和年等信息,具有月末日期自动调节和闰年校正功能。该芯片可通过简单的串行接口与单片机进行通信,提供主电源和备用电源引脚,可以对后备电源进行涓细电流充电。DS1302的工作特性有:实时时钟,能够对年、月、日、时、分、秒进行计时,并具有闰年补偿功能;可通过AM/PM指示决定采用24或12小时格式;内部有31*8bit调整RAM;采用三线串行总线;工作电压范围为2.5~5.5V;用于时钟或RAM数据读/写的单字节或多字节数据传送;工作电压为5V时,I/O引脚与TTL兼容;保持数据和时钟信息时功率小于1mw。图3.13为DS1302 引脚图,其各引脚功能为:

VCC1:主电源;

VCC2:备份电源(当VCC2>VCC1+0.2V时,由VCC2向DS1302供电,当VCC2

X1、X2:32.768KHz晶振引脚;

SCLK:串行时钟,输入,控制数据的输入与输出,有40K的下拉电阻连接到地; I/O:数据输入/输出,有10K的下拉电阻连接到地;

CE(RST):输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法;

图3.13 DS1302时钟芯片

3.5.2 基于DS1302万年历电路

万年历的设计主要采用DS1302时钟芯片,它由VCC2提供主电源+5V,8号引脚VCC1接备用电池,如图3.14所示的BT1为3.6V充电电池,用于时钟/日历数据和静态RAM

第20页 共58页

掉电保护,保证DS1302内数据不丢失。X1和X2引脚之间连接一个32.768KHz的晶振,为芯片提供计时脉冲,由于DS1302内部已经集成6pF的电容,这样就不需要外部连接电容了。/RST是复位/片选线,接单片机P1.4引脚,通过把/RST输入驱动置高电平来启动所有的数据传送。当RST为高电平时,所有的数据传送被初始化,I/0引脚变为高阻态。当SCLK为低电平时,才能将RST置为高电平,I/0为串行数据输入端(双向),SCLK始终是输入端。SCLK与单片机的P1.2引脚相接,I/O与单片机的P1.3引脚相接。具体电路图如3.14所示。

图3.14 DS1302时钟电路

3.6 人数统计电路设计

如图3.15所示为人数统计硬件电路图,主要由6N137光电耦合器、LM324电压比较器和一些外围器件组成。光电耦合器的输入端为同相逻辑传输,其中,R7为限流电阻,由于发光二极管正向电流0-250uA,光敏管不导通;发光二极管正向压降1.2~1.7V,正向电流6.5~15mA,光敏管导通。由于Vcc为5V,若使二极管压降在1.2V,正向电流在10mA,R7可选电阻值为380欧姆。如果不加限流电阻或阻值很小,6N137仍能工作,但发光二极管导通电流很大对电源有较大冲击,尤其是数字波形较陡时,上升、下降沿的频谱很宽,会造成相当大的尖峰脉冲噪声,其峰-峰值可达100mV以上,足以使模拟电路产生自激,A/D不能正常工作。在这种情况下,R7越大越好,这里取R7值为5K欧姆。6N137的发射极接R6(1M)电阻,由于R6起直流负反馈的作用,心稳定电路的静态工作点。集电极接+5V偏置电压。采用LM324运算放大器作为电压比较器以判断输出电平高低状态,当扫描到人时,6N137的发射极为低电平, LM324电压比较器的3引脚为低电平且2引脚为高电平,经比较在1引脚输出为低电平。LM324的1引脚和单片机的P3.2引脚(中断INT0)相连。当扫描到有人测温时,经单片机处理,在LCD液晶显示自动加一。具体硬件电路如图3.15所示:

第21页 共58页

图3.15 人数统计电路图

3.7 声光报警电路设计

如图3.16为声光报警电路的硬件连接图。声音报警发声命令由单片机的P3.7口输出,当红外传感器所探测的人体温度低于所设置的下限温度或高于所设置的上限温度值时,单片机控制P3.7口使其输出低电平,蜂鸣器U7发出报警声,相应的发光二极管LED0也会被点亮。P3.7 口输出为高电平时,开关三极管Q1截止。图中R15为三极管基极限流电阻,R16为限流电阻,当阻值为330时,保证二极管LED0的亮度达到最好的状态。具体硬件电路如图3.16所示:

图3.16声光报警电路

3.8 基于MAX232的RS-232串口电路设计

串口通信是指计算机主机与外部设备以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符都是一次位地传送的,每一位不是为

第22页 共58页

1就是为0。RS-232是计算机与通信工业中应用最广泛的一种串行接口,被定义为一种在低速率串行通信中增加通信距离的单端标准。 3.8.1 MAX232电平转换芯片介绍

本次设计采用MAXIM公司生产的+5V供电系统,多通道RS-232驱动器/接收器的MAX232芯片。芯片内部含有一个电容性电压发生器,可以在单5V供电的情况下提供EIA/TIA-232-E电平,实现TTL/CMOS与EIA/TIA-232-E电平之间的转换。其内部结构由电压倍增器、电压反相器、RS-232发送器和RS-232接收器等4部分组成。MAX232外部引脚如图3.17所示:

图3.17 MAX232引脚芯片

T1IN和T2IN端口用来输入TTL或CMOS信号,输出电压通常为0~5V。低电平为零,高电平为VCC。R1OUT和R2OUT端口用来输出TTL或CMOS的信号,输出电压通常为0~5V。低电平为零,高电平为VCC。T1OUT和T2OUT端口用来把TTL或CMOS的信号转为RS-232的信号输出,输出电压为正负12V。R1IN和R2IN端口用来接计算机发出的正负12V电压,由RS-232输出转为正负12V的TTL或CMOS信号。 3.8.2 MAX232串口电路

如图3.18所示为基于MAX232的RS-232串口通信的硬件电路,在C1+和C1-两端、C2+和C2-两端、VS+和VCC两端、VS-和地两端分别接一个0.1uF(104)电容,如图中C25、C27、C23、C28所示。这正时利用电压倍增器原理,即通过外接电容C25升压至10V电压存至VS中,电压反相器又通过外接电容C27将10V电压转换成-10V储存到电容C25上。这样,通过单5V供电就可以 满足所需的转换电平。在图3.19的硬件电路连接中,单片机可以通过MAX232芯片来实现TTL电平与RS232的电平转换,即将RS232电平转换成TTL电平,从R1INL输入,从T1OUT输出;将TTL电平转换成RS232电平,从T1IN输入,从R1OUT输出。MAX232的T1IN引脚与R1OUT引脚连接到DB-9接口的3

第23页 共58页

引脚和2引脚上。这样,主机与单片机之间就可以通过直连的9针串口线实现RS-232通信了。具体硬件电路如图3.18所示。

图3.18 MAX232硬件电路图

3.9 电源电路设计

如图3.19所示为输出电压+5V的稳压电源电路,它由电压变压器T1,桥式整流电路D1,滤波电容C5、C6、C7、C8和一只固定式三端稳压器(7805)极为简捷方便的搭成。220V交流电通过电源变压器变换成交流低压(一般选接近+5V的直流电压值),再经过桥式整流电路D1和滤波电容C6、C8的整流和滤波,在固定式三端稳压器LM7805的Vin和GND两端形式一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。此直流电压经过C5、C7的滤波便在稳压电源的输出端产生精度高,稳定性好的直流输出电压。具体硬件电路如图3.19所示。

图3.19 220V转5V电源电路

第24页 共58页

此外,在ISD4004中需要3.3V的直流电压。因此,此次设计需要直流5V转3.3V的电源电路。本次电源电路设计用两个0.1uF(104)的电容为滤波电容,引脚分别接地主要滤掉高频纹波以防止自激振荡;47uF和100UF为滤波电容,主要滤掉低频纹波;AMS1117作为一款正电压输出低电压差的三端线性稳压电路输出固定电压3.3V,如图3.20所示直流5V转3.3V的电源电路图。

图3.20直流5V转3.3V电源电路

第25页 共58页

4 系统软件设计

在此次设计中采用模块化的设计思想,把一个复杂的软件设计分成几个相对简单的部分分别予以解决,并对温度数据接收、显示及语音播报等各个模块的程序设计进行了详细叙述。采用KEIL C51软件编程,当接通电源时,AT89S51单片机自动复位,开始运行该程序。该程序首先对AT89S51单片机初始化,然后给出开机显示,判断是否有红外测温,若没有就返回开机显示,若有则进行红外测温接收数据,并将计算的温度值用LCD显示出来且进行语音播报,同时显示日历及当前时间并对当前所测温度的人数进行统计,如果所测温度超出上限或下限就会产生报警。系统主流程图如图4.1所示:

开始初始化启动MLX90614判断是否测温Y实时测温NN是否超限Y液晶显示语音播报声光报警

图4.1 主程序流程图

4.1 红外测温模块设计

多个MLX90614可以用于一个系统中,通过地址不同区分器件,器件默认的地址为 5AH ,因此在多MLX90614 系统中,需要给每个MLX90614 分配一个不同的地址。在只有一个MLX90614 的系统中,MLX90614 识别地址 00h,即在单个 MLX90614 系统中,可以使用该地址访问它。系统数据操作程序流程如图4.2所示。每次发送完一个字节,就判断对方是否有应答,如果有应答就接着发送下一个字节;如果没有应答多次重发该字节,直到有应答,就接着发送下一个字节,如果多次重发后,仍然没有应答就结束。接

第26页 共58页

收数据时,每次接收一个字节(按位接收,接收8 个位就是一个字节),向对方发送一个应答信号后,就可以继续接收下一个字节。

开始开始发送一个位发送一个位N是否发完一个字节是否发完一个字节YNY是否有应答NN返回是否发过N次Y返回Y发送应答信号

a 发送字节流程图 b 接收字节流程图

图 4.2 MLX90614数据流程图

从MLX90614中读出的数据(DataH:DataL)换算为温度数据(T,单位为℃)如下所示:T= (DataH:DataL)*0.02-273.15 (1)

例如:DataH:DataL=0x27AD,代入式(1)中T=-70.01℃。 MLX90614读取温度的程序为: uint readtemp(void) {SCK=0;

start();

//开始条件 //发送从地址00 //发送命令 //开始条件

SendByte(0x00); SendByte(0x07); start();

SendByte(0x01); bit_out=0;

//读从地址00

第27页 共58页

tempL=ReadByte(); bit_out=0; tempH=ReadByte(); bit_out=1; err=ReadByte(); stop();

//读数据低字节

//读数据高字节

//读错误信息码 //停止条件

return(tempH*256+tempL);}

4.2 显示模块设计

对液晶显示的编程是向DDRAM中写数据。在写DDRAM数据之前,需要先清除RAM,且左屏和右屏要分别进行清除。方法是向RAM的所有单元写入0值。

LCD12864液晶显示的控制驱动器的指令系统为: (1)显示开关控制(DISPLAY ON/OFF) 代码 形式 R/W 0 D/I 0 DB7 0 DB6 0 DB5 1 DB4 1 DB3 1 DB2 1 DB1 1 DB0 1 D=1:开显示(DISPLAY ON),即显示器可以进行各种显示操作 ; D=0:关显示(DISPLAY OFF),即不能对显示器进行各种显示操作 ; (2)设置显示起始行(DISPLAY START LINE) 代码 形式 R/W 0 D/I 0 DB7 1 DB6 1 DB5 A5 DB4 A4 DB3 A3 DB2 A2 DB1 A1 DB0 A0 该指令设置了对应液晶屏一行的显示RAM的行号。有规律地改变显示起始行,可以使LCD实现显示滚屏的效果。

(3)设置页地址(SET PAGE“X ADDRESS”) 代码 形式 R/W 0 D/I 0 DB7 1 DB6 0 DB5 1 DB4 1 DB3 1 DB2 A2 DB1 A1 DB0 A0 显示RAM共64行,分8页,每页8行。页地址就是DDRAM的行地址,A2-A0表示0-7页。页地址由本指令或RST信号改变,复位后页地址为0,读写数据对地址没有影响。

(4)设置Y地址(SET Y ADDRESS) 代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 第28页 共58页

形式 0 0 0 1 A5 A4 A3 A2 A1 A0 此指令的作用是将A5-A0送入Y地址计数器,作为DDRAM的Y地址指针。在对DDRA M进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。

(5)读状态(STATUS READ) 代码 R/W 形式 1 D/I 0 DB7 DB6 DB5 DB4 DB3 0 DB2 0 DB1 0 DB0 0 BUSY 0 ON/OFF RET 该指令用来查询液晶显示模块内部控制器的状态。当R/W=1,D/I=0时,在E信号为“H”的作用下,状态分别输出到数据总线(DB7-DB0)的相应位。各参量的含义如下:

BUSY:BUSY=1,内部正在进行操作,BUSY=0,空闲状态。 ON/OFF:ON/OFF=1,表示显示打开,ON/OFF=0,表示显示关闭。

RESET:RESET=1表示内部正在初始化,此时组件不接受任何指令和数据。在对液晶显示模块操作之前要查询BUSY状态,以确定是否可以对液晶显示模块进行操作。

(6)写显示数据(WRITE DISPLAY DATE) 代码 形式 R/W 0 D/I 1 DB7 D7 DB6 D6 DB5 D5 DB4 D4 DB3 D3 DB2 D2 DB1 D1 DB0 D0 D7-D0为显示数据,此指令把D7-D0写入相应的DDRAM单元,DDRAM是存储图形显示数据的,写指令执行后Y地址指针自动加1,D7-D0位数据为1表示显示,数据为0表示不显示。写数据到DDRAM前要先执行“设置页地址”及“设置列地址”命令。

(7)读显示数据(READ DISPLAY DATE) 代码 形式 R/W 1 D/I 1 DB7 D7 DB6 D6 DB5 D5 DB4 D4 DB3 D3 DB2 D2 DB1 D1 DB0 D0 读、写数据指令每执行完一次读、写操作,列地址就自动加1。需要注意的是,进行读操作之前,必须有一次空读操作,再读才会读出所要读的单元中的数据。 液晶显示器的编程流程如图4.3所示:系统首先对LCD12864模块进行初始化操作,在对系统上电时首先调用开机显示子程序,延时大约30秒后,对LCD12864进行清屏操作,之后进行LCD写数据操作。

第29页 共58页

开始系统初始化清左屏RAM清右屏RAM写LCD左屏数据写LCD右屏数据左右屏开显示

图4.3 LCD液晶显示流程图

#define Disp_On 0x3f //宏定义 显示开指令 #define Disp_Off 0x3e // 宏宏定义 显示关指令 #define Col_Add 0x40 // 定位到第0列指令 #define Page_Add 0xb8 // 定位到第0页指令 #define Start_Line 0xc0 //即设置显示起始行为第0行 void delay(unsigned int t) {unsigned int i,j; for(i=0;i

void write_command(unsigned char cmdcode) { RS = 0; RW = 0; P0 = cmdcode; delay(0); E = 1;

第30页 共58页

//延时子程序

//写入指令数据到LCD

delay(0); E = 0; }

void write_data(unsigned char Dispdata) //写入字符显示数据到LCD { RS = 1; RW = 0; P0 = Dispdata; delay(0); E = 1; delay(0); E = 0;}

4.3 语音模块设计

用ISD4004实现系统录放音,系统录音分成8段,可以提供8个提示语。 录音时,按住RUN键,LED点亮开始录音,松开RUN即可停止录音再次按下RUN键,LED点亮开始录第二段音,依次类推,直到芯片溢出,按stop键芯片复位;放音时,按一下RUN键,即播放一段语音。按stop键芯片复位。系统流程图如图4.4所示,上电时,首先对ISD初始化,之后判断是否人工按键,若有则判断是录音还是放音。

开始初始化N按键是否按下Y判断按键值放音录音结束

4.4 ISD4004语音模块流程图

第31页 共58页

以下是ISD4004在其主函数中的程序: void main(void) {uchar i;

P0=P1=P2=P3=0xff; IP=0x01; IE=0X81;

// 初始化

//INT0高优先级

//INT0开中断,CUP开中断 //11010001 总清除命令 //读状态字 直到清除完成 //读状态字 最高位

COM=0xd1; do{ACC=COM;} while(clflag==1);

COM=0x34; //时钟分频 20分频 while(1) {ISD_PR();

//手动对ISD录放音

//有中断产生

if(int0_flag==1)

int0_flag=0;}} //标志位清零

4.4 时钟模块设计

系统主流程图如图4.5所示,首先对DS1302进行初始化操作,然后读取DS1302子程序,并在LCD上显示。用循环调用按键处理子程序,检测是否需要调节时间。程序在定时器1中断服务程序中,定时读取DS1302的时间和日期并送液晶显示。

开始初始化读DS1302在LCD上显示按键处理子程序

图4.5 DS1302主流程图

第32页 共58页

本文来源:https://www.bwwdw.com/article/6gy.html

Top