毕业设计(论文)基于单片机的无线温度控制系统设计

上传人:痛*** 文档编号:42569300 上传时间:2021-11-26 格式:DOC 页数:41 大小:5.61MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于单片机的无线温度控制系统设计_第1页
第1页 / 共41页
毕业设计(论文)基于单片机的无线温度控制系统设计_第2页
第2页 / 共41页
毕业设计(论文)基于单片机的无线温度控制系统设计_第3页
第3页 / 共41页
资源描述:

《毕业设计(论文)基于单片机的无线温度控制系统设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的无线温度控制系统设计(41页珍藏版)》请在装配图网上搜索。

1、电子与通信专业本科毕业设计摘 要本文介绍的是一个由单片机构成的无线温度控制系统,它利用8051单片机和DS18B20及LED等其他器件实现。首先单片机进行温度采集,然后进行无线发送,接收端收到信号后,进行解码,之后实现温度显示。本文对硬件和软件进行了框图设计,protel原理图设计,程序框图设计,源程序设计,并对样机进行了联机和脱机仿真调试,文后附录了完整源程序。关键词 单片机 无线发送接收 温度控制 LED显示 定时 AbstractAn applied system of wireless temperature control by microcontroller is introduc

2、ed in this paper, it uses 8051 , DS18B20, LED and other components to realize. First, the microcontroller takes in the temperature , then the signal is transmitted. When the receiver receives the signal ,it decode the signal , then the temperature is displayed with the LED. The block diagram of the

3、hardware and software, the schematic diagram of protel , the program flowchart and the source program will be designed in this paper. I also debug the model machine on-line and under-line.The complete source program is in the appendix.Keywords: microcontroller; wireless transmission and reception; t

4、emperature control; LED display; timing目 录摘 要IAbstractI第1章 绪 论11.1 课题背景11.2 课题来源21.3 本章小结2第2章 MCS-51单片机的结构22.1 控制器32.1.1 程序计数器PC(Program Counter)32.1.2 指令寄存器IR、指令译码器及控制逻辑电路42.2 存储器的结构42.3 并行I/O口62.4 时钟电路与时序72.5 单片机的工作方式72.6 单片机的性能特点92.7 单片机的应用领域102.8 本章小结11第3章 电路的硬件设计123.1 温度采集电路123.2 无线发送电路133.3 传感

5、电路133.4 无线接收电路143.4.1 接收电路总论143.4.2 无线接收电路总体设计153.4.3无线接收电路详细设计163.5 数码管显示温度电路163.6 相关控制电路设计183.7 本章小结18第4章 电路的软件设计184.1 软件程序内容184.2 软件流程图194.3 定时程序设计194.3.1发送接收实现的基本方法204.3.2 发送接收程序详细设计204.4 MCS-51的中断214.5 定时程序设计244.6 本章小结25第5章 电路仿真265.1 仿真结果265.2 仿真中出现的问题及解决办法265.3 本章小结26第6章 结论与展望276.1 结论276.2 单片机

6、的发展趋势27参考文献29总体电路框图29总体电路protel原理图30完整源程序:30致 谢39III第1章 绪 论1.1 课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。单片机的中央处理器(CPU)和通用

7、微处理器基本相同,只是增设了“面向控制”的处理功能。例如:位处理、查表、多种地址访问方式、多种跳转、乘除法运算、状态监测、中断处理等,增强了实时性。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿(Princeton)结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。单片微型计算机自从问世以来,作为微型计算机一个很重要的分支,应用广泛,发展迅速,尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高,处

8、理功能强,可靠性高,系统结构简单,价格低廉等优点,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成就。本文讨论的单片机无线温度控制系统的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的温度测量和显示系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指

9、令系统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及80C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。1.2 课题来源在日常生活和工作中,我们常常用到温

10、度控制,温度控制系统广泛应用于汽车, 锅炉, 电子, 化工等各个领域。早期常用的一些温度控制系统都使用模拟电路设计制作的,有些使用热敏电阻,有些使用铂电阻,有些使用热电偶,还有些使用PN结,其准确性和精度都不是很理想,现在基本上都是基于数字技术的新一代产品,这种产品功能强,是前者的换代之物。随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。本文介绍的单片机无线温度发射接收系统,功能较多,

11、操作简单,温度测量采用DALLS公司的DS18B20数字式温度传感器,开机后,系统按默认值开始走时,按时间表切换键可以随意选择当前要执行的时间表是日常作息时间表还是考试时间表。可以按键校时,按功能移位键一次,表示要校小时的十位上的数字;再按功能移位键,表示要校小时的个位上的数字;按第三次,则当前校的是分十位;按第四次,表示当前校对分个位上的数字。当时钟与时间表里存储的时间一致时,相应的I/O口控制电铃开始工作;到一定的时间,另外的 I/O口控制加热器工作。本设计是针对教学的无线温度控制系统,功能较多,可以完美的完成温度测量和显示的控制。在本设计上按照个人的意图稍加扩展,就可以实现更多

12、更强大的功能。1.3 本章小结 本文介绍的设计是针对日常生活常用的无线温度控制系统,可以完成测量温度和显示温度的功能。该系统操作简单,功能齐全,是单片机智能化的一种应用。第2章 MCS-51单片机的结构MCS-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊

13、功能寄存器(SFR)的集中控制方式。2.1 控制器控制器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。单片机执行指令是在控制器的控制下进行的。首先从程序存储器中读出指令,送指令寄存器保存,然后送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号和控制信号,再送到单片机的各个部件去进行相应的操作。这就是执行一条指令的全过程,执行程序就是不断重复这一过程。控制器主要包括程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。2.1.1 程序计数器PC

14、(Program Counter)程序计数器PC是控制部件中最基本的寄存器,是一个独立的计数器,存放着下一条将要从程序存储器中取出的指令的地址。其基本的工作过程是:读指令时,程序计数器将其中的数作为所取指令的地址输出给程序存储器,然后程序存储器按此地址输出指令字节,同时程序计数器本身自动加1,读完本指令,PC指向下一条指令在程序存储器中的地址。程序计数器PC中内容的变化决定程序的流程。程序计数器的宽度决定了单片机对程序存储器可以直接寻址的范围。在MCS-51单片机中,程序计数器PC是一个16位的计数器,故可对64KB(216=65536=64K)的程序存储器进行寻址。程序计数器的基本工作方式有

15、以下几种:(1) 程序计数器自动加1,这是最基本的工作方式,这也是为何该寄存器被称为计数器的原因。(2) 执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。(3) 在执行调用子程序指令或响应中断时,单片机自动完成如下的操作: 1. PC的现行值,即下一条将要执行的指令的地址,即断点值,自动送入堆栈。2. 将子程序的入口地址或中断向量的地址送入PC,程序流向发生变化,执行子程序或中断子程序。子程序或中断子程序执行完毕,遇到返回指令RET或RETI时,、将栈顶的断点值弹到程序计数器PC中,程序的流程又返回到原来的地方,继续执行。2.1.2 指令寄存器IR、指令译码

16、器及控制逻辑电路 指令寄存器IR是用来存放指令操作码的专用寄存器。执行程序时,首先进行程序存储器的读指令操作,也就是根据PC给出的地址从程序存储器中取出指令,并送指令寄存器IR,IR的输出送指令译码器;然后由指令译码器对该指令进行译码,译码结果送定时控制逻辑电路。定时控制逻辑电路根据指令的性质发出一系列的定时控制信号,控制单片机的各组成部件进行相应的工作,执行指令。条件转移逻辑电路主要用来控制程序的分支转移。综上所述,单片机整个程序的执行过程就是在控制部件的控制下,将指令从程序存储器中逐条去处,进行译码,然后由定时控制电路发出各种定时控制信号,控制指令的执行。对于运算指令,还要将运算的结果特征

17、送入程序状态寄存器PSW。以主振频率为基准(每个主振周期为振荡周期),控制器控制CPU的时序,对指令进行译码,然后发出各种控制信号,它将各个硬件环节的动作组织在一起.2.2 存储器的结构MCS-51单片机存储器采用的是哈佛(Har-vard)结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有自己的寻址方式,寻址空间和控制系统.这种结构对于单片机”面向控制”的实际应用极为方便,有利.在8051/8751弹片击中,不仅在片内集成了一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有极强的外存储器的扩展能力,寻址能力分别可达64KB,寻址和操作简单方便.MCS-

18、51的存储器空间可划分为如如下几类:1. 程序存储器单片机系统之所以能够按照一定的次序进行工作,主要是程序存储器中存放了经调试正确的应用程序和表格之类的固定常数.程序实际上是一串二进制码,程序存储器可以分为片内和片外两部分.8031由于无内部存储器,所以只能外扩程序存储器来存放程序.MCS-51单片机复位后,程序存储器PC的内容为0000H,故系统必须从0000H单元开始取指令,执行程序.程序存储器中的0000H地址是系统程序的启动地址.一般在该单元存放一条绝对跳转指令,跳向用户设计的主程序的起始地址.64K程序存储器中有5个单元具有特殊用途.5个特殊单元分别对应于5种中断源的中断服务程序的入

19、口地址.通常在这些中断入口地址处都放一条绝对跳转指令.加跳转指令的目的是由于两个中断入口间隔仅有8个单元,存放中断服务程序往往是不够用的.在MCS-51单片机的指令系统中,同外部程序存储器打交道的指令仅有两条:(1) MOVC A A+DPTR(2) MOVC A A+PC2. 内部数据存储器MCS-51单片机内部有128个字节的随机存取存储器RAM,作为用户的数据寄存器,它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器.MCS-51单片机的片内存储器的字节地址为00H-7FH.MCS-51单片机对其内部RAM的存储器有很丰富的操作指令,从而使得用户在设计程序时非常方便.地址为00

20、H-1FH的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,编号为R7-R0.用户可以通过指令改变PSW中的RS1,RS0这二位来切换当前的工作寄存器区,这种功能给软件设计带来极大的方便,特别是在中断嵌套时,为实现工作寄存器现场内容保护提供了极大的方便.地址为20H-2FH的16个单元可进行共128位的位寻址,这些单元构成了1位处理机的存储空间.单元中的每一位都有自己的位地址,这16个单元也可以进行字节寻址.地址为30H-7FH的单元为用户RAM区,只能进行字节寻址.3. 特殊功能寄存器(SFR-Special Function Register)特殊功能寄存器反映了MCS-51单片

21、机的状态,实际上是MCS-51单片机各功能部件的状态及控制寄存器.SFR综合的,实际的反应了整个单片机基本系统内部的工作状态及工作方式.SFR实质上是一些具有特殊功能的片内RAM单元,字节地址范围为80H-FFH.特殊功能寄存器的总数为21个,离散的分布在该区域中,其中有些SFR还可以进行位寻址.128个字节的SFR块中仅有21个字节是由定义的.对于尚未定义的字节地址单元,用户不能作寄存器使用,若访问没有定义的单元,则将得到一个不确定的随机数.4. 位寻址空间MCS-51单片机的一个很大优点在于它具有一个功能很强的位处理器.在MCS-51单片机的指令系统中,有一个位处理指令的子集,使用这些指令

22、,所处理的数据仅为一位二进制数(0或1).在MCS-51单片机内共有211个可寻址位,它们存在于内部RAM(共有128个)和特殊功能寄存器区(共有83个)中.5. 当MCS-51单片机的片内RAM不够用时,可在片外扩充数据存储器.MCS-51单片机给用户提供了可寻址64K字节的外扩RAM的能力,至于扩多少RAM,则根据用户实际需要来定.2.3 并行I/O口MCS-51单片机共有4个双向的8位并行I/O端口(Port),分别记作P0-P3,共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。实际上P0-P3已被归入特殊功能寄存器之列。这四个口除了按字节寻址以外,还可以按位寻址。

23、由于它们在结构上有一些差异,故各口的性质和功能有一些差异。P0口是双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。P1口是8位准双向I/O口,可驱动4个LS 型负载。P2口是8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。P3口是8位准双向I/O口,是双功能复用口,可驱动4个LS型TTL负载。P1口、P2口、P3口各I/O口线片内均有固定的上拉电阻,当这3个准双向I/O口做输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态,故称为双向三态I/O 口。P0-P3口都是并行I/O口,都可用于数据的输入和

24、输出,但P0口和P2口出了可进行数据的输入/输出外,通常用来构建系统的数据总线和地址总线,所以在电路中有一个多路转换开关MUX,以便进行两种用途的转换。而P1口和P3口没有构建系统的数据总线和地址总线的功能。因此,在电路中没有多路转接开关MUX.由于P0口可作为地址/数据复用线试用,需传送系统的低8位地址和8位数据,因此,MUX的一个输入端为”地址/数据”信号.而P2口仅作为高位地址线试用,不涉及数据,所以MUX的一个输入信号为”地址”在4个口中只有P0口是一个真正的双向口,P1-P3这三个口都是准双向口.原因是在应用系统中,P0口作为系统的数据总线使用时,为保证数据的正确传颂,需要解决芯片内

25、外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传递时,芯片内外处于隔离状态.为此,要求P0口的输出缓冲器是一个三态门.在P0口中输出三态门是由两只场效应管(FET)组成,所以说它是一个真正的双向口.而其他的三个口中,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的,因此不是真正的双向口,只能称其为准双向口.P3口的口线具有第二功能.为系统提供一些控制信号.因此在P3口电路增加了第二功能控制逻辑.这是P3口与其他各口的不同之处.2.4 时钟电路与时序时钟电路用于产生MCS-51单片机工作时所必需的时钟信号。MCS-51单片机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现

26、,MCS-51单片机应在唯一的时钟信号控制下,严格地按时序执行进行工作,而时序所研究的是指令执行中各个信号的关系。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定的操作。CPU发出的时序信号有两类,一类用于片内对各个功能部件的控制,这列信号很多。另一类用于片外存储器或I/O端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。这也是单片机应用系统设计者普遍关心的问题。2.5 单片机的工作方式单片机的工作方式包括:复位方式、程序执行方式、单步执行方式、低功耗操作方式以及EPROM编程和校验方式。1. 复位方式RST引脚

27、师复位信号的输入端。复位信号是高电平有效。高电平有效的持续时间应为24个振荡周期以上。若时钟频率为6MHz,则复位信号至少应持续4us以上,才可以使单片机复位。复位以后,07H写入栈指针SP,P0-P3口均置1(允许输入),程序计数器PC和其他特殊功能寄存器SFR全部清零。只要该脚保持高电平,MCS-51便循环复位。当RST端由高变低后,MCS-51由ROM的0000H开始执行程序。MCS-51的复位操作不影响内部RAM的内容。当VCC加电后,RAM的内容是随机的。单片机的复位方式有上电自动复位和手工复位两种。2. 程序执行方式程序执行方式是单片机的基本工作方式。所执行的程序可以在内部ROM、

28、外部ROM或者同时放在内外ROM中。若程序放在外部ROM中(如对8031),则应使=0,否则,可使=1。由于复位之后PC=0000H,所以程序的执行总是从地址0000H开始的。但真正的程序一般不可能从0000H开始存放,因此,需要在0000H单元开始存放一条转移指令,从而使程序跳转到真正的程序入口地址。3. 单步执行方式单步执行方式是使程序的执行处于外加脉冲(通常用一个按键产生)的控制下,一条指令一条指令地执行,即按一次键,执行一条指令。单步执行方式可以利用MCS-51的中断控制来实现。其中断系统规定:从中断服务程序返回以后至少要执行一条指令后才能重新进入中断。将外加脉冲加到输入,平时为低电平

29、。通过编程规定使信号低电平有效,因此不来脉冲时总是处于响应中断的状态。在中断服务中要安排这样的指令:JNB P3.2 $ ;不往下执行JB P3.2 $ ;不往下执行RETI ;返回主程序执行一条指令因此,只有/INT0上来一个正脉冲,才能通过第一、第二两条指令,返回主程序并执行一条指令,由于此时已回到0,故重新进入中断,在第一条指令处等待正脉冲的到来。从而实现来一个脉冲执行一条指令的单步操作。4. 低功耗操作方式CMOS型单片机有两种低功耗操作方式:节电操作方式和掉电操作方式。在节电方式时,CPU停止工作,而RAM、定时器、串行口和中断系统继续工作。在掉电方式时,仅给片内RAM供电,片内所有

30、其他的电路均不工作。CMOS型单片机用软件来选择操作方式,由电源控制寄存器PCON中的有关位控制。这些有关的位是:IDL(PCON.0) ;节电方式位。IDL=1时,激活节电方式PD(PCON.1) ;掉电方式位。PD=1时,激活掉电方式GF0(PCON.2) ;通用标志位GF1(PCON.3) ;通用标志位(1)节电方式一条将IDL位置1的指令执行后,MCS-51就进入节电方式。这时提供给CPU的时钟信号被切断,但时钟信号仍提供给RAM、定时器、中断系统和串行口,同时CPU的状态被保留起来,也就是栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC及通用寄存器的内容。在节电方式下, V

31、CC仍为5V,但消耗电流由正常工作方式的24mA降为3.7mA。可以有两条途径退出节电方式恢复到正常方式。一条途径是有任一种中断被激活,此时IDL位将被硬件清除,随之节电状态被结束。中断返回时将回到进入节电方式的指令后的一条指令,恢复到正常方式。PCON中的标志位GF0和GF1可以用作软件标志,若置IDL=1的同时也置GF0=GF1=1,则节电方式中激活的中断服务程序查询到此标志便可以确定服务的性质。推出节电方式的另一种方法是靠硬件复位,复位后PCON中各位均被清零。(2)掉电方式一条将PD位置1的指令执行后,80C51就进入掉电工作方式。掉电后,片内振荡器停止工作,时钟冻结,一切工作都停止,

32、只有片内RAM的内容被保持,SFR内容也被破坏。掉电方式下VCC可以降到2V,耗电仅50A。退出掉电方式恢复正常工作方式的唯一途径是硬件复位,应在vcc恢复到正常值后再进入复位,复位时间需10ms时间,以保证振荡器再启动并达到稳定,实际上复位本身只需24个振荡周期(2-4 us)。但在进入掉电方式前,VCC不能掉下来,因此要有掉电监测点路。5. EPROM编程和校验方式对于内部集成有EPROM的MCS-51单片机,可以进入编程或校验方式。(1)内部EPROM编程编程时,时钟频率应在4MHz-6MHz的范围内,其余有关引脚的接法和用法如下:1)P1口和P2口的P2.0-P2.3为EPROM的4K

33、B的高地址输入,P1口为低8位地址;2)P2.4-P2.6以及/PSEN应为低电平;3)P0口为编程数据输入;4)P2.7和RS应为高电平,RST的高电平可为2.5V,其余的都以TTL的高低电平为准;5)/VPP端加+12.5V的编程脉冲,此电压要求稳定,不能大于12.5V,否则会破坏EPROM;在/VPP出现正脉冲期间,ALE/PROG端上加50ms的负脉冲,完成一次写入。8751的EPROM编程一般要用专门的单片机编程器来完成。(2)EPROM程序校验在程序的保密位尚未设置,无论在写入的当时或写入之后,均可将片上程序存储器的内容读出进行校验。在读出时,除P2.7脚保持为TTL低电平之外,其

34、他引脚与EPROM的连接方式相同。要读出的程序存储器单元地址由P1口和P2口的P2.0-P2.3送入,P2口的其他引脚及/PSEN保持低电平,ALE、/EA和RST接高电平,校验的单元内容由P0口送出。在校验操作时,需在P0口、P1口和P2口的P2.0-P2.3的状态随意。加上编程脉冲后就可使保密位写入。保密位一旦写入,内部程序存储器便不能再被写入和读出校验,而且也不能执行外部程序存储器的程序。只有EPROM全部擦除时,保密位才能一起擦除,也才可以再次写入。2.6 单片机的性能特点单片机把各功能部件集成在一块芯片上,因此它结构紧凑、超小型化、可靠性高、价格低廉、易于开发应用。它的的主要特点是:

35、(1)集成度高。在单片机芯片中,除中央处理器 CPU之外,还有存储器ROM/RAM,I/O接口电路、定时器/计数器等部件,因此集成度高,在几至几十平方毫米的芯片上可制作上万个晶体管电路。(2)结构紧凑、可靠性高。单片机把各功能部件集成在一块芯片上,采用内部总线结构,减少了多片机中各芯片之间的连线,大大提高了单片机的抗干扰能力。另外,单片机超小型化、结构紧凑、体积小,对于强磁场环境易于采取屏蔽措施,因而抗干扰能力强,可靠性高,适合在一些恶劣环境中工作。(3)数据处理能力强、速度快。单片机除具有一般微处理器的数据处理能力外,在一系列产品(如MCS-51)的指令系统中,增加了乘除法指令及布尔(二进制

36、)处理机功能,提高了数据处理能力。同时,由于中央处理器与存储器在同一芯片上,因而减少了多片之间数据传递所需时间,提高了数据处理速度。例如MCS-51的CPU,采用12MHz时钟时,单字节乘除法仅需要6.5us。(4)功耗小、成本低。单片机结构紧凑,数据传送路径短,所需要功耗小;内部采用准静态RAM类似,但不需要刷新,可使功耗下降。单片机内部电路虽然比相应微处理器芯片复杂,但是一旦设计好后,进入批量生产,成本不会提高。单片机内部设置一定容量的只读存储器ROM/EPROM,用于存储用户的专用程序,这些程序称之为内部程序。内部程序可由厂方在制作芯片时代为烧制,也可由用户自己写入,这样可使单片机成为具

37、有不同特殊功能的专用机,易于形成产品。2.7 单片机的应用领域单片机应用领域可以归纳为以下几个方面。1智能仪表用单片机系统取代老式的测量、控制仪表,实现从模拟仪表向数字化、智能化仪表的转化,如各种温度仪表、压力仪表、流量仪表、电能计量仪表等。 2. 测控系统 用单片机取代原有的复杂的模拟数字电路,完成各种工业控制、数据采集系统等工作。 3电能变换 应用单片机设计变频调速控制电路。 4通信 用单片机开发通信模块、通信器材等。 5机电产品 应用单片机检测、控制传统的机械产品,使传统的机械产品结构简化,控制智能化,提高了机电产品的可靠性,增强了产品的功能 6智能接口在数据传输中,用单片机实现外部设备

38、与微机通信。2.8 本章小结 本章介绍了单片机的一些基本硬件结构。单片机是微计算机的一个分支,在原理和结构上,单片机与微型机之间没有根本性的差别,而且微计算机的许多技术都被单片机继承下来。单片机的基本结构依然是CPU加上外围芯片的传统结构模式,但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。第3章 电路的硬件设计3.1 温度采集电路 MCS-51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电

39、自动复位和按钮复位两种方式。 上电复位:上电复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。 手动复位:手动复位需要人为在复位输入端加高电平让系统复位。一般采用的方法是在RST端和正电源VCC之间接一个按键,当按下按键后,VCC和RST端接通,RST引脚处有高电平,而且按键动作一般是数十毫秒、大于

40、两个机器周期的时间,能够安全的让系统复位。本电路采用的是上电复位方式。电路图如下:上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。3.2 无线发送电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。电路图如下:MCS-51单片机内部有一个用于构成振

41、荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。3.3 传感电路 按键是一组常开的按键开关,每个按键都被赋予一个代码,称为键码.按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文在软件中采用了相应的软件程序来

42、消除抖动。当发现有键按下时,延时10-20ms再查询是否有键按下,若没有键按下,说明上次查询结果为干扰或抖动;若仍有键按下。则说明闭合键已稳定。 本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。 电路图如下: P1.0口表示功能移位键,按键选择要调整的时十位、时个位、分十位或分个位。 P1.1口表示数字“+“键,按一下则对应的数字加1。 P1.2口表示数字“-”键,按一下则对应的数字减1。 P1.3口表示时间表的切换,程序默认为日常时间表,当按下该开关,使输入为低电平时,表示当前执行的是考试时间表,并有绿发光二极管显示。

43、再按键,使键抬起,输入维高电平时,表示当前执行的是日常作息时间表,用红发光二级管显示。3.4 无线接收电路3.4.1 接收电路总论P1.4口控制继电器进而控制加热器的工作。主程序查询控制加热的标志位,当该标志位为1,P1.4输出高电平,控制继电器闭合,从而合上开关,启动加热器进行工作。当加热一定时间时,标志位置0,P1.4改变状态,输出低电平,控制继电器断开,从而打开开关,加热器停止加热。电路图如下:3.4.2 无线接收电路总体设计P1.5口控制继电器进而控制电铃工作。当时钟当前的时间和当前所执行的时间表的时间一致时,相应得标志位为1,P1.5口输出高电平,控制继电器闭合,从而合上开关,启动电

44、铃进行打铃。打铃一定时间,标志位置0,P1.5输出低电平,继电器打开,电铃停止工作。电路图如下:3.4.3无线接收电路详细设计因为该电路可以执行两个时间表,即正常作息时间表和考试时间表。为了能够从外观上看出当前正在执行的是那种时间表,为此,在电路中加上了红、绿两个不同的发光二极管,当红发光二极管接通时,表示当前正在执行日常作息时间表;当绿发光二极管接通时则表示当前正在执行的是考试时间表。有了红绿两发光二极管表示,就可以明显看出当前执行的是何种时间表,不会混淆。电路图如下: 3.5 数码管显示温度电路 数码管显示器成本低,配置灵活,与单片机接口简单,在单片机应用系统中广泛应用。显示部分主要由串入

45、并出移位寄存器74LS164、三态缓冲器74LS244、三极管和数码管组成,具体电路见图39所示。1.数码管的工作原理数码管是由8个发光二极管构成的显示器件。在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。本文用到的6个数码管均是共阴极的。当发光二极管导通时,它就会发光。每个二极管就是一个笔划,若干个二极管发光时,就构成了一个显示字符。将单片机的I/O口控制相应的芯片与数码管的a-g相连,高电平的位对应的发光二极管亮,这样,由I/O口输出不同的代码,就可以控制数码管显示不同的字符。例如:当I/O口控制芯片输出的代码是00111111时,数码管

46、显示的字符为0。这样形成的显示字符的代码称为显示代码或段选码。2.数码管显示器与单片机的接口电路 数码管显示器有两种工作方式,即静态显示方式和动态显示方式。在静态显示方式下,每位数码管的a-g和h端与一个8位的I/O相连。要在某一位数码管上显示字符时,只要从对应的I/O口输出并锁存其显示代码即可。其特点是:数码管中的发光二极管恒定地导通或截止,直到显示字符改变为止。动态显示方式的每位数码管都需要一个数据锁存器,因此,其硬件电路比较复杂。但它的显示程序法常简单。选择动态显示方式,可以使耗电量更小。在动态显示方式中,各位数码管的a-h并联在一起,与单片机系统的一个I/O口相连,从该I/O口输出显示

47、代码。每只数码管的共阴极则与另一I/O口相连,控制被点亮的位。动态显示方式的特点是:每一时刻只能有1位数码管被点亮,各位依次轮流被点亮;对于每一位来讲,每隔一段时间点亮一次。为了每位数码管能够充分被点亮,二极管应持续发光一段时间。利用发光二极管的余辉和人眼的驻留效应,通过适当地调整每位数码管被点亮的时间间隔,可以观察到稳定的显示输出。本文的6个数码管均采用动态显示方式,显示当前的时间。整个显示电路应用了2个164芯片,1个244芯片。第一个164芯片把从单片机传出的串行数据转换成并行数据。164只能存储8位数据,因此,当单片机输出第9-14位数据的时候,第一个164芯片中的8位数据就被传到第二

48、个164芯片中,这8位数据就是段选信号,控制数码管将要显示的字符。第9-14位数据输出后,控制244芯片的单片机的P1.7口置为高电平,244芯片选通。这六位数据经过244芯片以后是片选信号,即控制动态显示的是哪一位数码管。在片选信号和段选信号的控制下,数码管就正确的动态显示当前的时间。图39 显示电路图电路工作原理如下:单片机的串行口发送一帧数据时,由RXD端口一位一位地输出数据,而RXD与第一片74LS164的输入端相连,74LS164将这样串行输入的数据转变为并行输出。串行口先发送段码数据,当发送完毕后,这一段码数据就在第一片74LS164的输出端并行输出,但是此时74LS244处于关闭

49、状态,数据是不能通过它被送出。接着,串行口再发送位码数据,当第一片74LS164接收到第8位数据时,先前发送的段码数据就移位到第二片74LS164输出,由于采用的是动态显示方式,所有数码管的段选线并联在一起,与第二片74LS164的输出端相连。这样,各个数码管都收到相同的段码数据,至于哪一个数码管亮起,就要看哪一个数码管的位选线被选通。在位码数据发送完毕后,利用软件打开74LS244,这时74LS244将处于直通状态,输出的数据和输入的数据保持一致。输出的数据中仅有一位是0,其余都为1,输出为0的那一位将会使三极管导通,进而驱动相应的数码管显示数据。其余为1的位将不能使三极管导通,就不能够驱动

50、数码管。3.6 相关控制电路设计电源电路包括变压器、桥式整流器、电容和稳压器。通过变压器变压,使得220V电压变为6 V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出6V的稳定电压。由于单片机的工作电压是5V,二极管上的电压降一般为0.7V。因此,在电源的输出端,再串联一个二极管降压,就可得到所需的5V电压。3.7 本章小结本章介绍的是本设计的硬件结构,单片机的相关I/O口输入输出就可以实现相应的控制功能。还介绍了单片机的复位电路和时钟电路。 第4章 电路的软件设计4.1 软件程序内容本设计的软件程序包括主程序、中断子程序、打铃子程序、加热子程序、时钟显示子程序、查询时间表切换程序

51、和延时子程序等等。另外由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。4.2 软件流程图软件程序整个流程图如下:4.3 定时程序设计 在工业检测、控制中,许多场合都要用到计数或定时功能。例如,对外部脉冲进行计数、产生精确的定时时间等。MCS-51单片机内有两个可编程的定时器/计数器T1、T0,已满足这方面的需要。两个定时器/计数器都具有定时器和计数器两种工作模式。单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us

52、的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式(方式0、方式1、方式2和方式3),其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机无线温度控制系统,所以MCS-51内部的定时器/计数

53、器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。4.3.1发送接收实现的基本方法时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。(1)计数初值得计算:由于使用定时器的方式1,进行50ms定时。单片机的晶振频率是12MHz,为得到50ms的定时,设计数初值为X,则:(216- X)*1*10-6=5*10-2因而:X=15536=0011110010110000B=3CB0H(2)秒、分、时计时的实现秒

54、计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。4.3.2 发送接收程序详细设计(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒分时的计时是通过累加和数值比较实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值;(5)主

55、程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来。(6)中断服务程序:进行计时操作(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三种条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。4.4 MCS-51的中断MCS51系列中有5个中断源(或6个中断源),如图所示。它们可分为2个优先级其中每一个中断源的优先级都可以由程序排定。5个中断源的中断要求是否会得到响应,受允许中断寄存器IE中各位的控制;它们的优先级分别由中断优先级寄存器IP的各位确定;同优先级内的各中断源同时要求中断时,还要靠内部的查询逻辑来确定响应

56、的次序,不同的中断源有不同的中断向量。52子系列的中断系统与此类同,只不过增加了一个中断源。1.允许中断寄村器IE(1)EA(IE7总允许位。EA=0禁止一切中断。EAl,则每个中断源是允许还是禁止,分别由各自的允许位确定。(2)一(IE 6)保留位。 (3)ET2(IE5)定时器2中断允许位。ET20,禁止定时器2中断。 (4)ES(IE.4)串行口中断允许位。ES0,禁止串行口中断。 (5)ETl(IE.3)定时器1中断允许这。ET10,禁止定时器1中断。 (6)EXl(IE.2)外部中断l允许位。EX10,禁止外部中断1。 (7)ET0(IE.1)定时器0中断允许位。ET00,禁止定时器

57、0中断。 (8)EX0(IE .0)外部中断0允许位。EX00,禁止外部中断02.中断优先级寄存器IP MCS51的中断分为2个优先级。每个中断源的优先级都可以通过中断优先级寄存器IP中的相应位来设定。其中:(1)一(IP.7)保留位。 、(2)一(IP .6)保留位。(3)PT2(IP.5)定时器2中断优先级设定位。PT2l,设定为高优先级。(4PS(1P.4)串行口中断优先级设定位。PS1,设定为高优先级o(5)PT1(1P.3)定时器1中断优先级设定位。PTl1设定为高优先级。(6)PXl(IP.2)外部中断1优先级设定位。PXl1,设定为高优先级。(7)PT0(IP.l)定时器0中断优

58、先级设定位。PT01,设定为高优先级。(8)PX0(1P0)外部中断0优先级设定位。PX01,设定为高优先级。3.优先级结构靠IP寄存器把各中断源的优先级分为高低两级。它们遵循这样两条基本规则:(1)低优先级中断可被高优先级中断所中断,反之不能;(2)一种中断(不管是什么优先级)一旦得到响应,与它同级的中断不能再中断它。 为了实现这两条规则,中断系统内部包含两个不可寻址的“优先级激活”触发器。其中一个触发器指示某高优先级的中断正在得到服务,所有后来的中断都被阻断。另一个触发器指示某低优先级的中断正得到服务,所有同级的中断都被阻断,但不阻断高优先级的中断。 当同时收到几个同一优先级的中断要求时,

59、哪一个要求得到服务,取决于内部的查询顺序,相当于在每个优先级内,还同时存在另一个辅助优先结构。如;中断源 同级内的优先权外部中断0 最高定时器/计数器0溢出外部中断1定时器/计数器1溢出串行口定时器/计数器2溢出 最低在每一机器周期中,所有中断源都顺序地被检查一遍;这样到任一周期的S6状态时,找到了所有已激活的中断请求,并排好了优先权。在下一机器周期的S1状态,只要不受阻断就开始响应其中最高优先级的中断请求。若发生下列情况,中断响应会受到阻断:(1)同级或高优先级的中断已在进行中;(2)正在执行的指令,尚未完成其最后一个机器周期(换言之,正在执行的指令完成前,任何中断请求都得不到响应); (3

60、)正在执行的是一条RETI或者访问专用寄存器IE或IP的指令(换言之,在RETI或者读写IE或IP之后,不会马上响应中断请求,而至少在执行一条其他指令之后才会响应)。若存在上述任一种情况,中断查询结果就被取消。否则在紧接着的下一个机器周期,中断查询结果变为有效。4.中断响应协议 当某中断源提出中断请求后,作为应答,CPU首先使相应的“优先级激活”触发器置位,以阻断同级和低级的中断。然后,根据中断源的类别,在硬件的控制下,程序转向相应的向量单元,执行中断服务子程序。 硬件中断服务子程序调用时,把当时程序计数器PC的内容压入堆栈(在MCS5l中,PC是16垃的,占用了2个字节,没有自动保存程序状态

61、字PSW的内容),同时还根据中断的来源,把相应的向量单元地址装入PC中。这些向量地址是: 中断源 向量单元 外部中断0 0003H 定时器0溢出 000BH 外部中断1 00l3H定时器1溢出 001BH串行口 0023H定时器2溢出或T2EX端出现负跳变 002BH中断服务子程序的最后一条指令应是RETI(中断返回)。RETI指令将清除”优先级激活”触发器(该触发器在响应中断时被置位)。然后由堆栈弹出两个字节(下一条指令地址)装入到PC中。5.外部中断 外部中断的激活方式分为两种:一种是电平激活另一种是边沿激活。这两种方式可以靠TCON寄存器中的中断方式位ITI或IT0来控制。若ITX0(X

62、为0或l,后文中用到类同的符号,其含意相似),则采用电平激活方式:在引脚上检测到低电平,将触发外部中断。若ITx1则采用边沿激活方式:在相继的两个周期中,对引脚进行连续两次采样,若第一次采样值为高,第二次为低,则TCON寄存器中的中断请求标志IEx被置1,以请求中断。由于外部中断引脚每个机器周期被采样一次,为确保采样,由引脚输入的信号应至少保持一个机器周期,即12个振荡器周期。如果外部中断为边沿激活方式,则引脚处的高电平和低电平值至少各保持一个机器周期,才能确保CPU检测到电平的跳变,而把中断请求标志IEx置1。如果采用电平激活外部中断方式,外部中断源应一直保持中断请求有效直至所请求的中断得到响应时为止。6 .中断请求的撤除 CPU响应某中断请求后,在中断返回(RETI)前,该中断请求应该撤除,否则会引起另一次中断。 对于定时器0或1溢出中断,CPU在响应中断后,就用硬件清除了有关的中断请求标志TF0(TCON.5)或TFl(TCON.?),即中断请求是自动撤除的,无需采取其他措施。对于边沿激活的外部中断,CPU在响应中断后

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!