基于单片机的语音温度计的设计.doc

上传人:文库蛋蛋多 文档编号:4148753 上传时间:2023-04-07 格式:DOC 页数:37 大小:261.50KB
返回 下载 相关 举报
基于单片机的语音温度计的设计.doc_第1页
第1页 / 共37页
基于单片机的语音温度计的设计.doc_第2页
第2页 / 共37页
基于单片机的语音温度计的设计.doc_第3页
第3页 / 共37页
基于单片机的语音温度计的设计.doc_第4页
第4页 / 共37页
基于单片机的语音温度计的设计.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《基于单片机的语音温度计的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的语音温度计的设计.doc(37页珍藏版)》请在三一办公上搜索。

1、学 士 学 位 论 文系 别: 计算机科学与技术系 学科专业: 计算机科学与技术 姓 名: 王 磊 运 城 学 院2007年 6 月基于单片机的语音温度计的设计系 别: 计算机科学与技术系 学科专业: 计算机科学与技术 姓 名: 王 磊 指导教师: 朱 铭 琳 运 城 学 院2007年 6 月语音温度计的设计摘 要 随着人们生活水平的提高,各电子产品突飞猛进的发展,电子测量仪也逐渐丰富起来,原来的模拟产品逐步向数字化综合化转化,并且不断走向人性化。该设计的实现在工农业生产以及科学实验中起到不可忽视的作用,发挥了它灵活轻巧使用方便的特点。该设计语音播报系统能够充分发挥人性化的性质,利用AT89S

2、51作为单片机的主芯片,配合DS18B20温度传感器,实现带语音播报功能的温度测试仪。并且在实现语音播报当前温度的同时,也实现了数字液晶显示的功能,功能更形象使用更方便智能。 本设计所介绍的语音温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。关键词 单片机;温度计;温度传感器;设计Thermometer of DesignAbstract Along with the

3、time progress and the development, the monolithic integrated circuit technology already popularized to us lives, the work, the scientific research, each domain, will already become one kind of quite mature technology, this article introduced one kind the digital thermometer which controlled based on

4、 the monolithic integrated circuit.This design introduced the digital thermometer and the traditional thermometer compares, has the reading to be convenient, measured the warm scope is broad, measured warm accurate, its output temperature uses the numeral to demonstrate, mainly uses in to measured t

5、he warm quite accurate place, or the scientific research laboratory use, this design controller use monolithic integrated circuit AT89S51, measured the warm sensor uses DS18B20, this thermometer may adjust the demonstration date, the time, may establish, the maximum temperature lowly reports to the

6、police the value.The survey temperature surpasses the hypothesis the temperature bound, starts the buzzer and the indicating lamp reports to the police. The temperature demonstration is stable. The realization temperature demonstrated that, can above achieve accurately requests.Keywords SCM;thermome

7、ter;temperature;sensor;Design目 录引 言1第1章 绪论21.1 课题背景21.2 语音温度计的国内外状况21.3 温度参数、语音播报31.3.1 温度参数31.3.2 语音播报3第2章 硬件设计42.1方案论证和比较42.2设计原理42.2.1 主控制器42.2.2 温度传感器52.2.3 DS18B20温度传感器与单片机的接口电路62.2.4 主板电路62.2.5. 语音温度计显示模块72.3设计过程72.3.1 总体设计72.3.2 各模块设计122.4 单片机的简介和发展趋势142.4.1 单片机的特点142.4.2 单片机的应用领域和发展趋势15第3章 软

8、件设计163.1设计思路163.1.1 语音温度计设计的基本原理163.1.2 读出温度子程序163.1.3 显示数据刷新子程序183.1.4 软件结构设计183.2 程序设计193.2.1 程序总设计193.2.2 LED显示程序模块19第4章 系统调试204.1硬件调试204.1.1 硬件静态的调试204.1.2 系统硬件调试204.2软件调试214.3 软硬联调21结 论22致 谢23参考文献24附 录25引 言随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本设计所介绍的数字温度计与传统的温

9、度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,本温度计可调整显示日期、时间,可设定最低、最高温度报警值。测量温度超过设定的温度上、下限,启动蜂鸣器和指示灯报警。温度显示稳定。实现温度显示,能准确达到以上要求 。本论文正是以此为出发点,对单片机控制的交通信号灯模型作了较详尽的介绍。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面

10、知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。第1章 绪论1.1 课题背景在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的

11、器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。本论文以上述问题为出发点,设计实现了温度实时测量、显示、控制系统。本设计方案具有较高的测量精度,更加适合对温度精度要求较高的化工生产、电力工程等行业,并希望通过本设计得到举一反三和触类旁通的效果。事实证明,现代化的温度监测控制是社会人性化发展的有力表现之一。1.2 语音温度计的国内外状况通过网上查询、翻阅图书了解到目前国内外市场以单片机为核心的温度控制系统很多,而且方案灵活,且应用面比较广,可用于工业上的加热炉、热处理炉、反应炉,在生活当中的应用也比较广泛

12、,如热水器,室温控制,农业中的大棚温度控制。以上出现的温度控制系统产品,根据其系统组成、使用技术、功能特点、技术指标。选出其中具有代表性的几种如下:虚拟仪器温室大棚温度测控系统:在农业应用方面虚拟仪器温室大棚温度测控系统是一种比较智能,经济的方案,适于大力推广,改系统能够对大棚内的温度进行采集,然后再进行比较,通过比较对大棚内的温度是否超过温度限制进行分析,如果超过温度限制,温度报警系统将进行报警,来通知管理人员大棚内的温度超过限制,大棚内的温控系统出现故障,从而有利于农作物的生长,提高产量。工业方面具有时事监控的应用:在工业方面带有语音播报功能的温度计是一种比较人性智能,应用广泛,它轻巧灵活

13、,操作方便简单,适于广泛推广。1.3 温度参数、语音播报1.3.1 温度参数基本范围-50-110精度误差小于0.51.3.2 语音播报先录音,能分160段(地址为00H-0A0H)。我们说话平均语速4字/秒,所以20秒我们录80字。经过计算,每个字占2个地址。我们录音13段。录音用S1键,放音控制用S2键。录音时按下键后开始录音,录完每段后放开按键,录音停止。共录13段,录每段时同时用数码管提示,分别用数字0-F来表示。按语音提示键播报温度,不按不播报。第2章 硬件设计2.1方案论证和比较方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集

14、过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2.2设计原理 方案二的总体设计框图温度计电路设计总体设计方框图如图2.1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码

15、管以串口传送数据实现温度显示。 主 控 制 器LED显 示温 度 传 感 器单片机复位时钟振荡报警点按键调整 图2.1 总体设计方框图2.2.1 主控制器单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。显示电路显示电路采用3位共阳LED数码管,从P3口RXD,TXD串口输出段码。硬件电路的设计 图2.2 DS18B20与单片机的接口电路2.2.2 温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温

16、度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;2.2.3 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另

17、一种是寄生电源供电方式,如图2.2 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。2.2.4 主板电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等,如图2.3 所示。图2.3中有三个独立式按键可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声

18、音,同时LED数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。图2.3中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。 图2.3 单片机主板电路2.2.5. 语音温度计显示模块2.4 语音温度计显示模块2.3设计过程2.3.1 总体设计 基础设计要求:分模块设计每部分电路,要求各模块工作的可靠性好,抗干扰能力强,可扩展余地充足;模块与模块间要求独立性高。 系统总框图如图2-5所示: 键盘控制模块单片机系统LCD信息演示模块接口电路LED计时模块温度计录放音演示模块图2.5 系统总框图系统工作流

19、程:先录音,能分160段(地址为00H-0A0H)。我们说话平均语速4字/秒,所以20秒我们录80字。经过计算,每个字占2个地址。我们录音13段。录音用S1键,放音控制用S2键。录音时按下键后开始录音,录完每段后放开按键,录音停止。共录13段,录每段时同时用数码管提示,分别用数字0-F来表示。按语音提示键播报温度,不按不播报。一、语音温度计温馨提示您,当前温度(00H-27H)三、一(28H-2FH)四、二(30H-37H)五、三(38H-3FH)六、四(40H-47H)七、五(48H-4FH)八、六(50H-57H)九、七(58H-5FH)十、八(60H-67H)十一、九(68H-6FH)十

20、二、十(70H-77H)十三、度(78H-7FH)P3.3为录音。p2.7为放音。P3.6为按键模块说明; a主控制单片机主控单片机采用一片ATMEL AT89S51。根据题目要求,充分利用了单片机灵活控制的优点,发挥其优势功能,采用单片机控制显示信号灯,提高了系统的灵活性,设置方便。AT89S51芯片本身集成了看门狗(WDT)电路,这是为了系统更加的稳定可靠,避免了系统因为死机而停止工作的情况发生这种做法对于实际上长时间运行在恶劣状况的交通灯控制系统来说是十分必要的。它可以完成自动加载复位,省去人工调整的麻烦,可以做到无人职守。AT89S51芯片简介:AT89S51是一个低功耗,高性能CMO

21、S 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,

22、2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。(如图2-6所示)。图2.6 AT89S51芯片此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。主要功能特性: 兼容MCS-51指令系统 32个双向I/O口 2个16位可编程定时/计数器 全双工UART串行中断口线, 2个外部中断源 中断唤醒省

23、电模式 看门狗(WDT)电路 灵活的ISP字节和分页编程 4k可反复擦写(1000次)ISP Flash ROM 4.5-5.5V工作电压 时钟频率0-33MHz 128x8bit内部RAM 低功耗空闲和省电模式 3级加密位 软件设置空闲和省电功能 双数据寄存器指针AT89S51的引脚功能介绍:VCC:AT89S51 电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一个20PF 的小电容,可以使系统更

24、稳定,避免噪声干扰而死机。RESET:AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/VPP:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚

25、要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(VPP)。ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为Program Store Ena

26、ble的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0(P0.0P0.7):端口0是一个8位宽的双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码

27、或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0A7,再配合端口2所送出的A8A15合成一个完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了用做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当作I/O来使用了。PORT1(P1.0P1.7):端

28、口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:IN

29、T0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR:外部数据存储器的写入信号。P3.7: RD,外部数据存储器的读取信号。b 信号显示 对于数字显示系统,我们使用串行移位寄存器74HC164来控制LED数码管,每2片为1组,用来构成数码管的099秒的数字提示,还有4个LCD二极管,用来控制信号灯的亮与暗。使用这样4组串行连接,这种布局设计便于我们PCB板的布局和制作,而且能够更形象的模拟出温度的测控功能。74HC164静态显示接口芯片简介:M74HC164为串行输入、并行输出移位寄存器,74HC164为单

30、向总线驱动器。在串行口为方式0状态,即工作在移位寄存器方式,波特率为振荡频率的十二分之一。器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时,允许从TXD端输出移位脉冲。第一帧(8位)数据发送完毕时,各控制信号均恢复原状态,只有TI保持高电平,呈中断申请状态。第一个74HC164把第一帧数据并行输出,LED1显示该数据。然后,用软件将TI清零,发送第二帧数据。第二帧数据发送完毕,LED1显示第二帧数据,第一帧数据串行输入给第二个74HC164,LED2显示第一帧数据。依此类推,直到把数

31、据区内所有数据发送出去。应该注意,数据全部发送完后,第一帧数据在最后一个LED显示。由于TXD端口最多可以驱动8个TTL门。2.3.2 各模块设计(1) .电源模块采用单片机控制模块提供电源。优点是系统简明扼要,节约成本;缺点是输出功率不高。其电路图如图2-7所示.图2.7 电源模块(2) .单片机及复位键控制模块 单片机采用89S51,其中有8K内存可用。对交通灯的控制主要用其中的计数器定时来完成。一方面要完成对各模块的控制,另一方面也要协调好各模块的时序及口线冲突问题。单片机复位电路是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使

32、单片机从第一个单元取指令。无论是在单片机刚接上电源时,还是断电后或者发生故障后都要复位。单片机复位的条件是:使RST/VPD引脚加上持续两个机器周期(即24个振荡周期)的高电平。若时钟频率为12MHz,每机器周期为1us,则只需2us以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图2.8按键复位电路所示。图2.8 按键复位电路该电路除了具有上电复位电路功能,还可以使用中复位,只要按下图2.9中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。 单片机复位期间不产生ALE和PSEN信号,即ALE=1,这表明单片机复位

33、不会有任何取值操作。按键复位电路,易掌握,好操作。(3) 显示模块 LED 用来实现倒计时功能,可直接从 74HC164 的接口上接过来。其控制较为简单。其电路图如图3-7所示。 LED显示器的简单介绍: 简单的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段码显示器。发光二极管用于显示系统的两种状态:数码管用于显示数字,LED十六段显示器用于字符显示。本文采用LED七段显示器。数码管的结构 :由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字09,字符AF等符号及小数点“.”。 有共阳极和共阴极两种类型。共阳极数码管中8个发光二极

34、管的阳极(二极管正端)连在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 共阴极数码管中8个发光二极管的阴极(二极管负端)连在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额

35、定段导通电流来确定相应的限流电阻。我采用共阴极LED数码管图2.9 LED显示发光二极管的作用 发光二极管是一种由磷化镓(GAP)等半导体材料制成的、能直接将电能转变成光能的发光显示器件。当其内部有一定电流通过时,它就会发光。二极管是用来控制哪个灯亮,12个二极管分别接在AT89S51芯片上的P1.0,P1.1,P1.2,P1.3口。如下图2.10所示。图2.10 二极管显示2.4 单片机的简介和发展趋势 单片机全称为单片微型计算机(Single Chip Microcomputer),又称微控制器或嵌入式控制器。它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有CPU

36、、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。随着技术的发展,单片机片内集成的功能越来越强大,并朝着片上系统方向发展。 单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用。2.4.1 单片机的特点 单片机与通用微机相比较,在结构,指令设置上均有其独特之处,其主要特点如下: (1) 单片机的存储器ROM和RAM是严格区分的.ROM称为程序存储器,只存放程序,固定常数及数据表格.RAM则为数据存储器,用作工作区及存放用户数据.这样的结构主要是考虑到单片机

37、用于控制系统中,有较大的程序存储空间,把开发成功的程序固化在ROM中,而把少量的随机数据存放在RAM中.这样,小容量的数据存储器能以高速RAM形式集成在单片机内,以加速单片机的执行速度.但单片机内的RAM是作为数据存储器用,而不是当作高速缓冲存储器(CACHE)使用. (2) 采用面向控制的指令系统.为满足控制的需要,单片机有更强的逻辑控制能力,特别是具有很强的位处理能力. (3) 单片机的I/O引脚通常是多功能的.由于单片机芯片上引脚数目有限,为了解决实际引脚和需要的信号线的矛盾,采用了引脚功能复用的方法.引脚处于何种功能,可由指令来设置或由机器状态来区分.(4) 单片机的外部扩展能力强.在

38、内部的各种功能部分不能满足应用需求时,均可在外部进行扩展(如扩展ROM,RAM,I/O接口,定时器/计数器,中断系统等),与许多通用的微机接口芯片兼容,给应用系统设计带来极大的方便和灵活性.2.4.2 单片机的应用领域和发展趋势单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 在智能仪器仪表上的应用在工业控制中的应用在家用电器中的应用在计算机网络和通信领域中的应用单片机在医用设备领域中的应用纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:低功耗CMOS化微型单片化主流与多品种共存 第3章 软件设计3.1设计思路3.1.

39、1 语音温度计设计的基本原理主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.1所示。初始化调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNY图3.1主程序流程图3.1.2 读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.2示Y发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY 图

40、3.2 读温度流程图3.1.3 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图4.3及图4.4温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号) 结束NNYY 图3.3显示数据刷新流程图发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束图3.4温度转换流程图 3.1.4 软件结构设计程序总体执行过程是:上电后系统自动进行初始化,定时/计数器开始工作,检测标志单元3CH,根据3CH单元中的内容让交通灯处于对应的状态, 然后调用显示子程序,将3AH和

41、3BH地址内的数据在七段数码管上显示出来。接着循环检测3CH单元中的内容以及特殊情况控制信号和调用显示子程序,让交通灯处于对应的状态,将3AH地址内的数据送七段数码管上显示出来,在整个过程中定时/计数器中断始终打开等待定时/计数器中断。中断服务程序完成状态的变换(3CH的值的改变)以及LED显示内容(3AH)的改变。3.2 程序设计3.2.1 程序总设计软件设计本系统的软件包括主程序,以及十三段录音和播报的子程序。(总程序代码见附录)3.2.2 LED显示程序模块LED显示程序就是将3AH单元的内容在两个LED显示器上显示出来。当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依

42、次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 ; LED显示 ;SGL:JB F0,SGL1 ;F0位为1则转移到SGL1执行,判断F0来控制程序流程MOV A,R0 ;把R0的内容20给了寄存器ALCALL DY1 ;调用显示控制子程序DY1MOV A,R1 ;把R1的内容40给了寄存器ALCALL DY1 ;调用显示控制子程序DY1MOV A, R0LCALL DY1MOV A, R1LCALL DY1LCALL DELAY ;调用DELAY子程序SJMP DI

43、AOY ;跳到标号DIAOY执行SGL1:MOV A,R1 ;把R1的内容40给了寄存器ALCALL DY1 ;调用显示控制子程序DY1MOV A,R0 ;把R0的内容20给了寄存器ALCALL DY1 ;调用显示控制子程序DY1MOV A, R1LCALL DY1MOV A R0LCALL DY1LCALL DELAY ;调用DELAY子程序第4章 系统调试近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特

44、点的软件结合,加以完善。根据方案设计的要求,调试过程共分三大部分:硬件调试、软件调试和软硬联调。 单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。4.1硬件调试4.1.1 硬件静态的调试 1. 排除逻辑故障 这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号