《基于单片机的家用红外按摩仪设计正文大学学位论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的家用红外按摩仪设计正文大学学位论文.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2015届毕业生论文 题 目: 基于单片机的家用红外按摩仪设计 院系名称: 学院 专业班级: 电信工程 班 学生姓名: 学 号: 2 指导教师: 教师职称: 讲 师 2012 年6月3日II摘 要 本课题主要是家用远红外按摩器控制系统设计。在设计开始之前必须先了解远红外按摩器设计要求、实现功能。由此设计硬件电路,并按照要求选择合适的器件。硬件电路主要是利用单片机作为最小系统,外扩展一系列其他模块电路来实现功能。主要包括设计霍尔传感器电路,实现位置控制;设计继电器电路,控制按摩、震动和远红外加热;设计时针电路,实现实时时间显示及定时控制;设计电源电路,具有+12伏、+5伏和+6伏输出等。软件设计
2、则应根据现有的硬件电路,和制定的工作流程编写。远红外按摩器系统的工作原理主要是通过用单片机作为主控部件,霍尔传感器作为位置采样部件,固态继电器及小型双路继电器作为开关部件,时钟芯片作为实时时钟及定时部件,蜂鸣器作为状态提示部件,外扩按摩电机,震动电机,远红外加热板,实现按摩器定位按摩,选择震动,选择远红外加热及实时时间显示和定时等功能。除此之外,还可以通过按键电路的按键进行数据的复位,确定和选择等操作,以达到能根据用户的实际需求灵活的修改工作参数,让用户可以很方便的寻找到合适的按摩方式。关键词:最小系统;硬件电路;工作流程;软件设计ABSTRACTThe main topic is the f
3、ar infrared massage bed control system design .At the beginning of the design before the Jie Yuan infrared massage bed design requirements ,to achieve functional.The design of the hardware circuit,and in accordance with the requirements to choose the right device.the hardware circuit is mainly the u
4、se of single-chip microcomputer as a minimum system,and a series of other expansion module circuit to realize the function of.Mainly includes the design of Holzer sensor circuit,to realize the position control;design of relay circuit,the control massage,vibration and far infrared heating;clock circu
5、it design,to achieve real time display and timing control;design of power supply circuit,with the +12V,+5 volts and the +6 volt output,Software design should be based on existing hardware circuit,and make the work process to prepare. Far infrared massage bed control system principle of work mainly b
6、y using the single chip as the main control unit,Holzer sensor as the position sampling part,solid state relay and small dual relay as part of the switch,the clock chip as a real time clock and timing components,buzzer as the state prompting part,spread the massage motor,vibration motor,far infrared
7、 heating plate realization of positioning massage,massage bed,selsction of vibration,selection of far infrared heating and real time display and timing functions.In addition,but also through button circuit keys for data reduction,identification and selection of operation,in order to achieve accordin
8、g to the users actual demand for flexible modify operating parameters,so that users can easily find the suitable way of massage.Key words:minimum system;hardware circuit;work flow;software design目 录第一章 绪 论11.1 引言11.2 选题背景及现状1第二章 总体方案设计2第三章 具体方案设计 33.1单片机的选择.33.1.1选择AT89C52的理由33.1.2管脚信息的介绍43.2实时时间电路5
9、3.2.1计时模式的选择53.2.2时钟芯片的选择53.2.3各管脚的信息介绍53.3数码显示电路的设计63.4温度检测模块的设计73.4.1温度传感器的选择73.4.2各管脚的信息介绍83.5霍尔电路模块的设计83.6电机及加热模块的设计9第四章 主要硬件器件简介114.1 AT89C52单片机114.1.1 AT89C52系列单片机的优点114.1.2 AT89C52单片机的内部结构114.1.3 AT89C52单片机的引脚功能说明124.1.4 AT89C52单片机的时钟电路124.1.5 AT89C52单片机的复位电路134.2 时钟芯片(DS1302)144.2.1 引脚功能及结构1
10、44.2.2注意事项154.3 温度传感器(DS18B20)154.3.1 特点154.3.2 DS18B20使用中注意事项154.4 AT24C16 EEPROM 简介164.4.1特点164.4.2引脚说明164.5反相器ULN2003 器件164.5.1作用174.5.2接线介绍174.6固态继电器174.6.1固态继电器的优缺点174.6.2固态继电器的使用注意事项18第五章 功能分析及参数计算195.1 功能分析195.1.1时钟功能195.1.2温度检测功能195.1.3局部按摩功能195.1.4按摩机热疗功能195.1.5提示报警功能195.2参数计算195.2.1复位电路195
11、.2.2数码管电路的计算205.2.3 DS1302时钟芯片晶振的计算20第六章 硬件开发工具简介216.1原理图的绘制216.2画原理图元件库226.3电路板设计226.4绘制PCB图236.5绘图总结24第七章 软件系统设计267.1系统工作流程图267.2软件设计267.2.1系统初始化的程序设计267.2.2按键扫描子程序设计277.2.3选择按摩位置的子程序设计28第八章 调试过程308.1硬件调试308.2软件调试308.2.1调试软件308.2.2调试程序31第九章 结论349.1 论文总结349.2主要工作及结论349.3存在问题349.4感想34参 考 文 献35附录A:原理
12、图36附录C:PCB图37IV第一章 绪 论1.1引言随着经济的不断发展,人民生活水平的不断提高,温饱已不再是困扰老百姓的头等大事,人们已将注意力转向各种提高精神享受、提高身体机能上。正是如此,各种保健器械如雨后春笋般不断涌现,诸如按摩床、按摩垫、足浴盆等数不胜数!其中,按摩器又以其完善的设计、强大的功能深受人们的青睐。按摩器是根据中国博大精深的经络学、人体工程学及欧美保健科技,精心设计而成。设计独特、轻便、简捷,集推拿、指压、刮痧、热灸、远红外振动按摩,又分自动与手动两种工作方式,鉴于其平台的良好,仍可以对之进行不断的加装扩展其功能。轻便型设计,简洁大方,易安装,可折叠,空间占用率低等优点,
13、是亿万家庭寻求健康、休闲养生的最佳保健产品。较于其他保健产品,其具有以下三大优点:1、 脊椎矫正坐垫后背中置有一组电机,在微电脑控制下,按设计程序沿脊柱上下振动,对脊椎弯曲、关节功能紊乱等状况进行矫正,对脊神经进行梳理,以纠正神经功能异常,维护神经正常传导。神经功能的正常化能够增强内脏器官及四肢组织的活力,以此治疗多种慢性病症。2、 指压按摩指压医疗原理认为,疾病是体内能量得不到释放和能量不均所引起的。指压按摩是通过手掌、大拇指。手指关节、肘、膝、甚至是脚底进行施压,沿着经穴线和能量导管,对全身数百个经穴进行按摩,安全、有效、简便、易行,对维护健康、增强活力、均衡气血起着重要的作用。采用独特的
14、排列方式,利用自身体重对人体背部重要穴位施压,是一种最自然的指压按摩方式。3、热疗热属于物理能量的一种,其生物学上的变化,在物理治疗中是最常用的一种方法。通过对人体表面的经络、穴位及疼痛的部位施加一定的热量,给予经络以温暖的气息,使气血循环通畅,从而达到防病治病的目的。从现代医学上讲,利用热疗,能提高细胞组织的能力,减轻疼痛,增强血液循环,缓解炎症性反应和水肿,从而发挥其临床治疗效果。1.2选题背景及现状当今信息革命的浪潮正在冲击着世界的每一个角落,世界同一市场正在形成,全球经济一体化正以超乎寻常的速度发展。因此,保健业所面临的环境比以往任何时候都要复杂多变,竞争之激烈。保健业要有能力对其外部
15、环境的瞬间变化作出快捷反应,必须采用先进的保健技术、战略理念,以求得长期的生存和发展。按摩器也是随着科技进步,逐步发展,其发展趋势有智能化、小型化、集成化、专业化、信息化等等。而国内的保健企业却并未顺应时代的潮流,而是只在中低端发展,其生产的产品集成度低,只能近乎于零。本课题的设计采用了最小系统是AT89C52单片机,这种型号的单片机有很广泛的使用,它结构简单、使用方便,对它的硬件进行设计,这为以后的设计奠定了基础。本课题研究的远红外按摩器具有实时时间显示及定时控制、加热振动、温度报警等功能,这样更有助于实现按摩器的集成化、智能化。第二章 总体方案设计这次设计主要是针对远红外按摩器控制系统的设
16、计。为了使其成本小,功能齐全,所以选择器件的时候,要科学选择各原器件,使个器件硬件资源能得到充分的利用。硬件电路主要是利用单片机AT89C52作为最小系统,外扩展一系列其他模块芯片来实现控制功能。主要包括霍尔传感器、继电器电路、时钟电路、电源电路,按键控制电路等。其具体硬件结构框图如图2.1所示: 远红外按摩器的控制系统的主要模块可划分为7部分:1、 时钟电路。该模块主要用于远红外按摩器的实时计时。2、 显示模块。该模块主要用于远红外按摩器的实时显示和定时的倒计时显示,便于用户了解实时时间和按摩的进程。3、 温度检测模块。该模块主要用于完成对远红外按摩器的温度检测。4、 霍尔电路模块。该模块主
17、要用于实现位置采样,并送入单片机,用于了解按摩部位的状况,使单片机及时作出决策。5、电机及加热模块。该模块主要完成的是对按摩器的主电路进行控制:1,按摩电机的控制;2,振动电机的控制;3,加热电路的控制。利用固态继电器和普通继电器的组合对三个主电路进行控制,达到弱电控强电的目的,有效地保护用户。6、按键输入指示模块。该模块负责响应按摩器的20个按键输入信号,并利用指示灯显示当前工作状态。7、蜂鸣器提示模块。该模块完成的是按摩床的报警和工作提示,在一般工作情况下,蜂鸣器都会发声报警(例如超温报警,超市报警)。第三章 具体方案设计3.1 单片机的选择这次硬件设计采用AT89C52如图3.1所示:3
18、.1.1 选择AT89C52的理由:此次选择了芯片AT98C52单片机,由于该单片机的内部ROM为8KB,比AT89C51单片机的多了4KB;而且内部RAM(256B)也比51系列的单片机(128B)多了128B,这样就避免了因为存储空间不足而进行的存储器扩展,大大方便了设计的工作,而且也减少了因扩展而增加的成本价格;另一方面,52系列的单片拥有8个中断源,3个定时/计数器,具有比其他型号单片机更完整的功能。而且52系列单片机能和51系列单片机的指令完全兼容,这样就为在处理一些51系列指令的时候提供了方便,进而使由单片机组成的最小系统功能更加完善。另外,52系列单片机选用的晶振频率为11.05
19、92MHZ。通常用11.0592MHZ晶振频率是为了得到标准的无误差的波特率,具体计算过程如下:如我们要得到9600bit/s的波特率,晶振频率为11.0592MHZ和12MHZ,定时器1为模式2,SMOD设为0,分别看看那所要求的TH1为何值。代入公式:对于11.0592MHZ:9600=(132)(11.0592M/12)/(256-TH1))TH1=253对于12MHZ:9600=(132)((12M/12)/(256-TH1))TH1252.7上面的计算可以看出使用12MHZ晶振频率的时候计算出来的TH1不为整数,而TH1的值只能取整数,否则它就会有一定的误差存在不能产生精确的9600
20、bit/s波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592MHZ的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。此外,我们选择AT89C52而没有选择AT89C51的单片机,这是因为前者多了一个T2定时器,在进行通信的过程中,我们要选用不同的波特率,所以只能选用方式1和方式3,其速率是取决于定时器1或定时器2的定时值(溢出速率)。AT89C51和AT89C2051等51系列芯片只有两个定时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的。这样就使该控制系统具有更全面的功能。 3.1.2 管脚信息的
21、介绍: 此次设计主要利用单片机AT89C52作为主导模块,扩展其他功能模块。P0口主要控制按键的选择功能如表3.1;P1口主要用于输出按摩电机的启停信号、正反转信号、振动电机的启停信号、热疗信号和蜂鸣器的报警信号如表3.1。P2口主要用于控制数码显示电路在数码管上显示时间结果。P3口主要用于输入霍尔传感器的位置采样信号。时钟振荡器如图3.2所示:此次总的采用内部(见图3.2左图),其中振荡电路的电容有两种材料可以选择,一种是石英晶体,另一种是陶瓷谐振器;前者要求电容容量在30PF左右,后者为40PF左右,所以考虑到成本方面的问题,此次设计中采用石英晶体。电容容量不能过大或过小,这是因为电容的容
22、量过大或是过小会影响到振荡频率的高低、震荡器工作的稳定性、起振的难易程度及温度的稳定性。P0口引脚功能特性P1口引脚功能特性P0.1按摩选择键P1.0蜂鸣P0.2开关键P1.1反转P0.3按摩键P1.2振动P0.4振动键P1.3加热P0.5热疗键P1.4运转P0.6时间时键P0.7时间分键 但是用户也可以采用外部振荡电路(见图3.2右图),这是时钟脉冲接XTAL1,即内部时钟发生器的输入端,而且XTAL2悬空。但是外部时钟脉冲对最小高电平持续时间和最大低电平持续时间要求比较严格,这样就会增加实现的难度,所以选择了内部振荡电路。3.2实时时间电路 在确定了单片机的型号后,我决定按照之前划分的功能
23、模块进行设计。 首先进行的是实时时间模块的设计,该模块主要用于远红外按摩器的实时计时。3.2.1计时模式的选择 首先我考虑到单片机本身可以计时,这样可以简化设计,无需增加太多器件就可以达到计时的目的。但考虑到实时的要求和用单片机计时会耗费不少的资源,所以我决定放弃用单片机计时,选用时钟芯片计时。 3.2.2时钟芯片的选择 在放弃利用单片机计时之后,我开始搜集并比较现有的计时芯片。在参考了资料后,我选取了2种芯片进行比较、筛选,分别是都是美国Dallas公司的DS1616和DS1302,通过比较他们的功能和成本方面的问题来决定选择哪一型号的芯片。 DS1616是美国Dallas公司推出的一种带实
24、时时钟的集成数据采集记录器件。它由控制逻辑、实时时钟、通信端口、温度传感器、A/D转换器等构成。片内还集成了1个范围在-40+85摄氏度的温度计和3路A/D通道。DS1302也是美国Dallas公司推出的一款计时器件。其可以工作于24小时模式和AM/PM的12小时模式。器件采用了简单的I2C三线通信方式,便于节省芯片和与之接口的微处理器的管教的数量。芯片有着2.05.5V的宽供电电压范围,并且功耗很低,在2.0V供电时仅耗300mA电流。从设计的难易度、时钟工作方式、经济型和节约资源的角度综合来考虑,我选择使用DS1302时钟芯片作为本次设计的计时芯片。3.2.3各管脚的信息介绍X1,X2连接
25、32.768khz晶振,为芯片提供计时脉冲。 GND:电源地。 RST:复位引脚。 I/O:数据输入、输出引脚。 SCLK:串行时钟输入。 VCC1、VCC2:主电源于后备电源引脚。 另外,时钟芯片DS1302与单片机的连接仅需要3条线,即SCLK、I/O、RST。3.3数码显示电路的设计 在这次硬件的设计中,最后的环节就是把数据输入到数码显示电路上进行显示,数码显示的方式有两种:一种动态显示,另一种是静态显示。 在这两种显示方式中,静态显示是指需要显示的字符的各字段连续通电流,所显示的字段连续发光;动态显示是单片机依次发出段选控制字和对应哪一位LED显示器的位选控制信号,显示器逐个循环点亮。
26、适当选择扫描速度,利用人眼的“留光”效应,使得看上去好像这几位显示器同时在显示一样,而在动态扫描显示控制中,同一时刻,实际上只有一位LED显示器被点亮。基于以上的原理,动态显示每个时刻都要显示,所以会有时间的停留,大约每一位要停留1ms,再加上动态显示显示的亮度没有静态显示高,而且静态显示占用单片机的时间比较少,接线也比较简单,所以硬件的成本也比动态显示的稍高一些,综合两种显示的性能和成本情况,我选择采用静态显示进行显示。 在确定了显示方式之后,接下来就是选择数码显示器件,鉴于要实现时钟显示,就必须扩展I/O口。要扩展I/O口,就要选用移位寄存器或利用外部RAM扩展LED。首先,我考虑的是串行
27、输入的移位寄存器,因为串行的接线比较简单,这一方面能减少错误的可能性,另一方面能降低设计的硬件成本;这次需要将数据显示在数码管上,所以需要并行输出,基于这些要求,我选择了74HC595系列的移位寄存器和8位显示器其具体的电路图如图3.7所示: QS引脚:级联输出端。该芯片的QS引脚是为移动寄存器之间的级联而设计的。当需要使用两片或以上的移位寄存器时,需要将此引脚接到下一移位寄存器的串行输入端。 CLR是主复位(低电平)引脚,本设计中接高电平,保证不复位。 SLCK为存储寄存器时钟输入引脚,该引脚接在P2.2引脚上,在PLCK的上升沿,即由单片机输出的SP脉冲的上升沿,将在八位位移缓存器的数据存
28、入到八位平行输出缓存器。 SCLK为移位寄存器时钟输入引脚,该引脚接在单片机的P2.3引脚上,在单片机输出的SCLK的上升沿,将输入引脚上的数据移入到移位寄存器中; SDA为数据输入引脚,第一个移位寄存器的该引脚连接在P2.0引脚上,其他的SDA接前一个移位寄存器的数据输出引脚;Q0Q7引脚为平行三态输出,该引脚和数码管的八段管脚相连接,进行数码管的显示;CLR是主复位(低电平)引脚,本设计中接高电平,保证不复位;EN为输出有效引脚,当/E的控制讯号为低电平时,平行输出端的输出值,等于平行输出缓存器所储存的值。而当EN的控制讯号为高电位,也就是输出关闭时,平行输出端会维持在高阻抗状态,在此次设
29、计中直接接地。在本设计中,74HC595的工作过程如图3.5:其工作过程大致可分为三步:1、串行移位寄存器输入端SCLK的上升沿,数据串入74HC595的移位寄存器;2、串行锁存器输入端SLCK的上升沿,将移入数据寄存器中的数据送入到输出锁存器,锁存输出;3、EN置高电平,锁存器的数据并行输出。3.4温度检测模块的设计 该模块主要是完成对远红外按摩器的温度进行检测,在达到或超过温限后,发出报警信号。 3.4.1温度传感器的选择在此次设计中,要用温度传感器进行温度检测并及时提交单片机判断,防止加热温度过高,避免用户产生不舒适感和有效保护用户的人身安全。在参考了各种资料后,我选出了三种测温芯片,进
30、行比较以此来挑选出最佳芯片进行测温,分别为PT100,AD590和DS18B20。这三者是最常用的三个类型的温度传感器,分属于传统的分立式温度传感器、模拟集成温度传感器和智能温度传感器。PT100温度传感器,是铂热电阻,它的阻值会随着温度的变化而变化。PT后的100即表示它在0C时阻值为100欧姆,在100C时它的阻值约为138.5欧姆。但是它必须无A/D功能,再利用它时我们要另外设计A/D转换电路。AD590是美国模拟器件公司生产的模拟温度集成传感器,其主要特点是功能单一、测温误差小、响应速度快、体积小、微功耗,适合远距离测温、控温,不需要进行非线性校准。DS18B20是美国DALLAS半导
31、体公司继DS1820之后推出的一种改进型智能温度传感器,其独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电电压范围为3.0V至5.5V无需备用电源测量温度范围为-55C至+125C。在对比了三者的设计的难易度、工作方式、购买价格等因素,我决定选用DS18B20作为设计的温度传感器。3.4.2各管脚的信息介绍 DS18B20管脚示意图,如下图3.6; DQ为数字信号输入/输出端; GND 为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地)。3.5霍尔电路模块的设计 由于本次设计中要求检测按摩部件的位置,而位置检测最常用的就是霍尔传感
32、器,它的检测对象是磁场,故按摩器件上装有磁性刚体以便其检测到。 本部分电路最主要的元件就是霍尔传感器,也叫霍尔接近开关,由于本次设计做的是控制系统的设计,而霍尔传感器只是作为检测元件将信号提供给控制系统,虽然它不在控制系统中,但其原理我们必须要掌握,这样我们才能更好地理解电机的动作,为程序的编写也提供了一些思路。 霍尔器件以霍尔效应为其工作基础。所谓霍尔效应,是指磁场作用于载流金属导体、半导体中的载流子时,产生横向电位差的物理现象。当电流通过金属箔片时,若在垂直于电流的方向施加磁场,则金属箔片两侧面会出现横向电位差。半导体中的霍尔效应比金属箔片中更为明显,而铁磁金属在居里温度以下将呈现极强的霍
33、尔效应 按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件。前者输出模拟量,后者输出数字量。 霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达1MHZ),耐震动,不怕灰尘、油污、水汽及盐雾等污染或腐蚀。 霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高(可达级)。取用了各种补偿和保护措施的霍尔器件的工作温度范围宽,可达-55C150C。 所以此次设计中采用的是霍尔开关器件。应用如图3.7要求实现不同身体部位的准确按摩,共需要六个霍尔传感器,分别代表如下身体部位:肩部,下肢,腰部,下半身,上半身,全身。将它们固定在按摩器
34、的六个位置上,它们的任务是检测按摩部件的位置,并反馈给单片机。3.6电机及加热模块的设计 该模块主要完成的是对远红外按摩器的主电路进行控制:1,按摩电机的控制;2,振动电机的控制;3,加热电路的控制。通过利用固态继电器、普通继电器和反相器ULN2003的组合对三个主电路进行控制,达到弱电控强电的目的,有效地保护用户。 设计方案为: 鉴于上文表3.1已经介绍了P0口的定义,不一一介绍。单路如图3.8. 由于本次设计中采用的普通电磁继电器型号为CMP7-S-DC12V,它的吸合电压为9V,即代表继电器执行吸合动作时,其两端的电压差不低于9V,则ULN2003输出的电压值需小于3V,为一个低电平,故
35、单片机向ULN2003输入的是高电平,同理该继电器的释放电压为1.2V,即ULN2003输出的电压值不小于10.8V,其大小值为高电平,则单片机向输入的为低电平。P1.1和P1.2是单片机向ULN2003输入信号的引脚,它们都服从上面的规律,P1.2控制的是振动电机的继电器,信号经过两次反相,故当P1.2为“0”时,K1吸合,振动电机接通电源,开始振动。 由于振动电机仅需正转,故设计中采用小型双路继电器,而且固态继电器控制按摩电机正反转。故P1.1和P1.4这两个信号时相互配合工作的,当P1.4为“0”时,电机才能运作,这时当P1.1为“1”时,继电器不吸合,电阻正转,反过来当P1.1为“0”
36、时,电机反转。 P1.3信号控制的固态继电器是用来控制远红外加热系统,当P1.3为“0”时,固态继电器开通,从而接通加热系统的电源;反之,当P1.3为“1”时,停止加热。第四章 主要硬件元器件简介4.1 AT89C52单片机 AT89C52单片机是ATMEL公司的8位单片机89系列的一种,89系列的单片机的最大特点就是片内含有FLASH存储器。ATMEL89系列单片机是以8031核构成的。所以,它和8052系列单片机是兼容。 4.1.1 AT89C52系列单片机的优点1、内部含FLASH存储器 本次毕业设计选用该系列的单片机的最主要的原因就是因为该系列的单片机内部是FLASH存储器。在系统的开
37、发与调试过程中可以十分容易的进行程序的修改。同时,在系统工作过程中,能有效地保存一些数据信息,即使外接电源损坏也不影响到信息的保存。2、和8051插座兼容 我们所使用的教材主要是关于Intel公司生产的MCS-51系列的单片机。而89系列单片机的引脚是和8051一样的,所以,当用89系列单片机取代8051时,可以直接进行代换。4.1.2 AT89C52单片机的内部结构 AT90C52单片机的存储器组织是把程序存储器和数据存储器截然分开,各有自己的寻址系统、控制信号和功能。下面根据其硬件结构和功能着重分析AT89C52单片机的存储器组织。1、程序存储器AT89C52可寻址64KB程序存储器,低地
38、址区可采用驻留在片内的程序存储器。2、数据存储器AT89C52可直接寻址64KB外部数据存储器,用MOVX访问外部数据存储器。它的内部数据存储器是最灵活的也是最为复杂和难以掌握的地址空间现着重介绍如下:内部数据存储器分为物理上独立的且性质不同的几个区。低128字节的地址空间(00H7FH)为RAM区,对该区既可以直接寻址也可以间接寻址,高128字节地址空间(80HFFH)对于AT89C52来说为特殊功能寄存器。如图4.1所示。堆栈指针SP是一个8位寄存器。它指示出堆栈顶部在内部RAM块中的位置。系统复位后,SP初始化位07H,使得堆栈事实上由08H单元开始。考虑到08H1FH分属于工作寄存区1
39、3,最好吧SP值设置的比较大些。4.1.3 AT89C52单片机的引脚功能说明 AT89C52单片机采用40脚双列直插式封装方式,40根引脚中包括32根并行I/O引脚,4根控制线引脚,2根电源线引脚,2根外接晶振引脚,单片机的如图4.2所示。各个并行口P0P3就不再说明了。1、控制信号引脚RST/VPD,ALE/PROG,/PSEN和/EA/Vpp RST/VPD:复位信号输入端。当振荡器工作时,在此引脚上出现两个以上的机器周期的高电平(由低到高跳变)时,将使单片机复位。在VCC掉电时,此引脚可以接上备用电源,由VPD提供备用电源,以保持内部R145AM中数据。 ALE/PROG(ADDRES
40、S LATCH EN ABLE/PROGRAMMING):地址锁存允许信号输出端。访问外部存储器时,ALE为低8位地址锁存允许输出信号。 /PSEN(PROGRAM STORE ENABLE):访问外部程序存储器读选通信号输出端。在访问外部程序存储器读取指令时,/PSEN在每一个机器周期内两次有效,但在访问外部数据存储器或访问内部程序存储器读取指令时/PSEN无效。 /EA/Vpp(ENABLE ADDRESS,VOLTAGE PULSE OF PROGRAMMING):/EA为访问外部或内部程序存储器控制信号。2、时钟电路引脚XTAL1和XTAL2:接外部晶振和微调电容的一端,在单片机内部接
41、反相放大器的输入端。3、主电路引脚Vss和Vcc Vss:接地端;Vcc:电源输入引脚,正常工作时接+5V电源。4.1.4 AT89C52单片机的时钟电路 AT89C52单片机芯片内部有一个高增益反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2。在XTAL1和XTAL2两端接上石英晶体和微调电容就可构成自激振荡器。电容C1,C2通常取30pF左右,它们对振荡频率由微调作用。振荡频率通常取3MHz至24MHz范围内:我用的晶振频率为11.059MHz,根据式4-1可求得 本次毕业设计采用如图4.3所示电路接线。4.1.5 AT89C52单片机的复位电路 熟悉使用PC机的人都知道,一
42、旦PC机出现问题如死机的情况,就要使用机箱上的复位按钮。那么单片机出现不能正常工作时,就要对单片机进行复位,这是对单片机的初始化操作。单片机复位后,程序计数寄存器PC初始化为0000H,单片机从0000H地址单元开始执行程序。要使单片机可靠地复位,必须使RST/VPD引脚保持两个机器周期以上的高电平,一般上电复位时间需要大于10ms。复位后,片内各个寄存器的状态如表4.1所示:寄存器内容寄存器内容PC0000HTH000HACC00HTL000HB00HTH100HPSW00HTL100HSP07HTH200HDPTR0000HTL200HP0P30FFHSCON00HIP000000BSBU
43、F不确定IE0000000BPCON00000BTMOD00H 常用的复位操作电路有以下几种方式:上电自动复位、按键手动复位两种方式。上电复位电路是利用外部复位电路的RC充电来实现的,上电后,电源对通过电阻对电容进行充电,充电时间常数为RC。本次设计采用的电路如图4.4所示:4.2时钟芯片(DS1302) DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、星期、月、日、时、分、秒进行计时,具有闰月补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31
44、8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源引脚,同时提供了对后备电源进行沮涓细电流充电的能力。 4.2.1引脚功能及结构 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小雨Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送
45、。RST输入有两种功能:首先RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),SCLK为时钟输入端。 下图为DS1302的引脚功能图4.5和连线图4.6: 4.2.2注意事项 要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几个小时或几天)时,就可以用漏电较小的普通电解电容器代替。100F就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。4.3温度传感器(DS18B20) DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封
限制150内