




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津职业技术师范大学天津职业技术师范大学 Tianjin University of Technology and Education 毕毕 业业 设设 计计 专 业: 电气技术教育 班级学号: 电气 0611 - 17 学生姓名: 指导教师: 二一一年六月 天津职业技术师范大学本科生毕业设计天津职业技术师范大学本科生毕业设计 基于单片机的多功能万年历设计基于单片机的多功能万年历设计 The Design Of Multi-Function Calendar Based on Microcomputer 专业班级:电气 0611 班 学生姓名:刘涛 指导教师:路海龙讲师 学 院:自动化与电气工程学院 2011 年 6 月 摘摘 要要 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置, 到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的 实时控制和数据处理,以及我们生活中广泛使用的各种智能 IC 卡、电子宠物等,这 些都离不开单片机。单片机是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的 微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而 51 系列单片机是各单片机中最为典型和最有代表性的一种。本设计以 AT89S52 单 片机为核心,结合 DS1302 时钟芯片,并采用 LCD12864 液晶显示。该多功能电子 万年历具有时间显示、及具有温度计功能功能。以时、分、秒格式显示时间(精度 为 1 秒) 。计算器通过 44 按键对时间、日期进行调整,进行功能切换。同时具有自 动调整功能。整机电路使用+5V 稳压电源,可稳定工作。在实现硬件电路的基础上, 通过软件控制程序实现其功能。 关键词关键词:状态显示;时钟;温度;计算器;AT89S52 单片机 ABSTRACT With the rapid development of microcomputer application technology, we now look at all areas of life, from the missiles navigation devices to various instruments on the aircraft, from the computer network communication and data transmission, to industrial automation, real-time process control and data processing, and we live in a variety of widely used smart IC cards, electronic pets, these are inseparable from the microcomputer. Microcomputer is a CPU, RAM, ROM, timing, counting and multiple interfaces in one of the microcomputer. Its small size, low cost, powerful, widely used in smart industries and industrial automation. The 51 microcomputer series is the most typical of the microcontroller and the most representative one. The AT89S52 microcomputer as the core design, combined with DS1302 clock chip and liquid crystal display using LCD12864. The multi-function electronic calendar with a time display, and has a thermometer function function. Hours, minutes, seconds format time (an accuracy of 1 second). 44 Calculator by keys on the time, date, adjust the function switch. Also has automatic adjustment function. Machine using the +5 V regulated power supply circuit can be stability. In the realization of hardware based on software control program to achieve its function. Key Words: Status display;Clock;Temperature;Calculator;AT89S52 Microcomputer I 目 录 1 绪论.1 1.1 多功能万年历设计的背景及意义.1 1.2 总体要求和规划.1 1.2.1 方案选择与论证.1 1.2.2 电路设计最终方案.1 1.2.3 主要技术指标.1 2 主要元器件简介.1 2.1 AT89S52.1 2.2 温度传感器 DS18B20.1 2.3 DS1302 时钟芯片.1 3 系统硬件电路的设计.1 3.1 系统总体硬件结构设计.1 3.2 AT89S52 及其外围电路.1 3.2.1 温度传感器 DS18B20.1 3.2.2 液晶显示电路.1 4 软件设计.1 4.1 系统总软件的设计流程.1 4.2 DS18B20 的软件设计.1 4.3 键盘输入的软件设计.1 5 测试过程及结果.1 5.1 硬件测试.1 5.2 软件测试.1 5.3 测试结果.1 结 论.1 参考文献.1 附录 1:整体电路图.1 附录 2:源程序.1 致 谢.1 天津职业技术师范大学 2011 届本科生毕业设计 1 1 绪论 1.1 多功能万年历设计的背景及意义 随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电 产品陆续出现在我们的生活当中。日历是人们不可或缺的日常用品。但一般日历都 为纸制用品,使用不便,寿命不长。电子万年历采用智能电子控制和显示技术,改 善了纸制日历的缺陷。本设计以 AT89S52 单片机为核心,构成单片机控制电路, AT89S52 是一种带 8K 字节闪速可编程可擦除只读存储器(PEROM)的低电压、高 性能 CMOS 8 位为控制器。该器件采用 ATMEL 非易失存储器制造技术制造,与工 业标准的 80C51 和 80C52 指令集和输出管脚相兼容。结合 DS1302 时钟芯片和 24C02 FLASH 存储器,完成时间的自动调整和掉电保护,全部信息用液晶显示。时 间、日期调整由三个按键来实现,并可对闹铃开关进行设置。日历能显示阳历和阴 历年、月、日以及星期、时、分、秒。在显示阴历月份时,能标明是否闰月。此万 年历具有读取方便、显示直观、功能多样、电路简单、成本低廉等诸多优点,符合 电子仪表的发展趋势,具有广阔的市场前景。 二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代 扮演着极为重要的角色。电子万年的开发与研究在信息化的今天亦是当务之急,因 为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等 场合,可以说遍及人们生活的每一个角落。所以说电子年历的开发是国家之所需, 社会之所需,人民之所需。由于社会对信息交换不断提高的要求及高新技术的逐步 发展,促使电子万年历发展并且投入市场得到广泛应用。 1.2 总体要求和规划 1.2.1 方案选择与论证 (1)显示模块选择方案和论证: 方案一:采用 LED 数码管动态扫描,LED 数码管价格适中,对于显示数字较合适, 但它的硬件电路复杂,没有汉字显示,需要的接口线多,并且显示起来不美观,所 以不用此种作为显示. 方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组 成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以 也不用此种作为显示. 方案三:采用 LED 液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图 天津职业技术师范大学 2011 届本科生毕业设计 2 形,显示多样,清晰可见,需要的接口线少,看起来方便美观,所以在此设计中采用 LED 液晶显示屏. (2)时钟芯片的选择方案和论证: 方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、 星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实 现的时间误差较大。所以不采用此方案。 方案二:采用 DS1302 时钟芯片实现时钟,目前市场上已有很多实时时钟芯片, 如 DS18B20,DS1302,PCF8563,X1227 等,芯片内部都集成了时钟/日历功能,给 时钟设计带来很多方便。因此计时功能以选用专用时钟芯片为宜。在系统硬件时, 我们考虑到串行总线接口较并行总线接口较为方便和设计成本等因素,选用了 DS1302。 1.2.2 电路设计最终方案 本设计研究的问题是显示时钟,温度。并有计算器功能。时钟结合 DS1302 时 钟芯片,以时、分、秒格式采用液晶显示。温度由 DS18B20 测量,通过单片机计算 并在液晶屏上显示。计算器采用 4*4 键盘输入,并由单片机运算得出。功能模块主 要包括:电源,实时时钟,显示,温度和键盘模块。在软件设计部分,根据万年历 各个模块的功能,设计系统各个任务的功能流程。 (1) 控制模块:控制模块用于对系统的其他模块进行控制与调度,从而实现所 需功能。 (2) 电源模块:用于给整个系统提供稳定的电源,包括控制模块所需的 5V 电压 和时钟模块所需的 3.6V 电压等。 (3) 温度采集模块:用温度传感器 DS18B20 将所需测量的温度值转换为电信号 并传递给单片机。 (4) 计算输入模块:采用 44 键盘输入。 图 1-1 系统硬件框图 电源 单片机控制电路 键盘调节电路 显示电路 软件控制程序 天津职业技术师范大学 2011 届本科生毕业设计 3 1.2.3 主要技术指标 (1) 显示阳历年、月、日、时、分、秒、星期等,可设置节日提醒。时钟的运 行可以采用24h格式。 (2) 用液晶进行显示,用按键进行调整。 (3) 计算器切换功能。 (4) 温度显示功能。 AT89S52 是一种低功耗,高性能 CMOS 8 位单片机,片内含 8 KBISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器。40 个引脚计数器; 2 个全双工串行通信口;看门狗(WDT)电路和片内时钟振荡器。 低功耗时钟芯片 DS1302318 位 RAM;最少引脚的串行 I/O;2.55.5V 电压工 作范围;2.5V 时耗电小于 300nA;用于时钟或 RAM 数据读/写的单字节或多字节(脉 冲方式)数据传送方式;简单的 3 线接口;可选的慢速充电(至 VCC1)的能力。可 以对年、月、日、时、分、秒进行计时。特别是对某些具有特殊意义的数据点的记 录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系 统结果的分析以及对异常数据出现的原因的查找有重要意义。 天津职业技术师范大学 2011 届本科生毕业设计 4 2 主要元器件简介 2.1 AT89S52 AT89S52 的引脚1图如图 2-1 所示。主电源引脚 Vcc 和 Vss,Vcc(40 脚)接 5V 电压;Vss(20 脚)接地。 XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相 放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直 接接到内部时钟发生器的输入端。 XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放 大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。 RESET 复位输入端。当振荡器运行时,在该引脚上出现两个机器周期的高电平 将使单片机复位。 ALE/PROG2当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地 址的低位字节。即使不访问外部存储器,ALE 端仍以不变的频率(此频率为振荡器 频率的 1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定 时目的。然而要注意的是:每当访问外部数据存储器时,将跳过一个 ALE 脉冲。在 对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(/PROG) 。 如果需要的话, 通过对专用寄存(SFR)区中 8EH 单元的 D0 位置数,可禁止 ALE 操作。该位置数 后,只有在执行一条 MOVX 或 MOVC 指令期间,ALE 才会被激活。另外,该引脚 会被微弱拉高,单片机执行外部程序时,该设定禁止 ALE 位无效。 /PSEN 程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。当 AT89S51/LV51 由外部程序存储器取指令(或常数)时,每个机器周期两次/PSEN 有效(既输出 2 个脉冲) 。但在此期间内,每当访问外部数据存储器时,这两次有效 的/PSEN 信号将不出现。 /EA/Vpp 外部访问允许端。要使 CPU 只访问外部程序存储器(地址为 0000HFFFFH) ,则/EA 端必须保持低电平(接到 GND 端) 。然而要注意的是,如 果保密位 LB1 被编程,复位时在内部会锁存/EA 端的状态。当/EA 端保持高电平 (接 Vcc 端)时,CPU 则执行内部程序存储器中的程序。在 Flash 存储器编程期间, 该引脚也用于施加 12V 的编程允许电源 Vpp(如果选用 12V 编程) 。 P0 端口(P0.0 P0.7):P0 是一个 8 位漏极开路型双向 I/O 端口。作为输出口 用时,每位能以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗 输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低 8 位)/ 数据总线,在访问期间激活了内部的上拉电阻。 在 Flash 编程时,P0 端口接收指令 天津职业技术师范大学 2011 届本科生毕业设计 5 字节;而在验证程序时,则输出指令字节。验证时,要求外接上拉电阻。 P1 端口(P1.0 P1.7):P1 是一个带有内部上拉电阻的 8 位双向 I/O 端口。P1 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过 内部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部 的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在对 Flash 编程和程序 验证时,P1 接收低 8 位地址。 P2 端口 (P2.0P2.7):P2 是一个带有内部上拉电阻的 8 位双向 I/O 端口。P2 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过 内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2 作输入口使用时,因为 有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序 存储器和 16 位地址的外部数据存储器(如执行 MOVX DPIR 指令)时,P2 送出 高 8 位地址在访问 8 位地址的外部数据存储器(如执行 MOVX RI 指令)时,P2 口引脚上的内容(就是专用寄存器(SFR)区中 P2 寄存器的内容) ,在整个访问期 间不会改变。在对 Flash 编程和程序验证期间,P2 也接收高位地址和一些控制信号。 P3 端口(P3.0P3.7):P3 是一个带有内部上拉电阻的 8 位双向 I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过 内部的上拉电阻把端口拉到高电位这时可用作输入口。P3 作输入口使用时,因为有 内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。作为第一功能使用 时,就作为普通 I/O 口使用,功能和操作方法与 P1 口相同。 图 2-1 AT89S52 管脚图 天津职业技术师范大学 2011 届本科生毕业设计 6 2.2 温度传感器 DS18B20 众所周知温度传感器的种类很多,比如 AD590,LM35,DS18B20 等,所以在 设计温度电路的时候温度传感器的选择就尤为重要了。 本设计采用了温度传感器 DS18B20,通过此传感器采集监控场所的温度,把此温 度信号变成数字信号通过 DS18B20 的二管脚传给单片机的实现温度控制的作用。本 设计设计的温度下限温度为 30C,上限温度为 60C 当超出此范围就会报警。 DSl8B203利用单总线的特点可以方便的实现多点温度的测量,DSI8B20 直接把 温度信息转换成相应的数字信号,可以轻松的组建传感器网络,系统的抗干扰性好、 设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量,所以重点分析一 下 DSl8B20。温度传感器 DS18B20 的主要特性: (1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线 供电; (2) 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可 实现微处理器与 DS18B20 的双向通讯; (3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实 现组网多点测温; (4) DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在 形如一只三极管的集成电路内; (5) 温范围55C125C,在-10+85C 时精度为0.5C; (6) 可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5C、0.25 C、0.125C 和 0.0625C,可实现高精度测温; (7) 在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12 位分辨率时最多 在 750ms 内把温度值转换为数字,速度更快; (8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可 传送 CRC 校验码,具有极强的抗干扰纠错能力; (9) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 DS18B20 的外形及管脚排列如图 2-2 所示,1:GND 为电源地;2:DQ 为数字信 号输入/输出端;3:VDD 为外接供电电源输入端(在寄生电源接线方式时接地) 。 天津职业技术师范大学 2011 届本科生毕业设计 7 图 2-2 DS18B20 管脚图 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发 的温度报警触发器 TH 和 TL、配置寄存器。 DS18B20 的应用电路:DS18B20 测温系统具有测温系统简单、测温精度高、连 接方便、占用口线少等优点。DS18B20 在寄生电源供电方式下,DS18B20 从单线信 号线上汲取能量:在信号线 DQ 处于高电平期间把能量储存在内部电容里,在信号 线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容) 充电。独特的寄生电源方式有三个好处:1)进行远距离测温时,无需本地电源 2) 可以在没有常规电源的条件下读取 ROM3)电路更加简洁,仅用一根 I/O 口实现测 温要想使 DS18B20 进行精确的温度转换,I/O 线必须保证在温度转换期间提供足够 的能量,由于每个 DS18B20 在温度转换期间工作电流达到 1mA,当几个温度传感 器挂在同一根 I/O 线上进行多点测温时,只靠 4.7K 上拉电阻就无法提供足够的能量, 会造成无法转换温度或温度误差极大。 DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位数因 分辨率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。 DS18B20 测温原理 如图 2-3 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频 率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改变,所产 生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在55所对应 的一个基数值。计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数 器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入, 计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数 器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温 度4。图 3 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正 计数器 1 的预置值。 天津职业技术师范大学 2011 届本科生毕业设计 8 图 2-3 DS18B20 测温原理图 2.3 DS1302 时钟芯片 现在流行的串行时钟电路很多,如 DS13025、 DS1307、PCF8485 等。这些电路 的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的实时时钟电路 DS1302 是 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可 以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个 字节的时钟信号或 RAM 数据。DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增 加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 DS1302 的控制字的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写 入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据; 位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在 紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数 据时从低位 0 位到高位 7。DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟 相关,存放的数据位为 BCD 码形式。 DS1302 的引脚排列,其中 Vcc1 为后备电源,VCC2 为主电源。在主电源关闭的情 况下,也能保持时钟的连续运行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc1+0.2V 时,Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。X1 和 X2 是振荡源,外接 32.768kHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接 通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多 字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。上电运行时,在 Vcc2.0V 之前,RST 必须保持低电平。只有 在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串行数据输入输出端(双向), 。SCLK 为时钟输入端。图 2-4 DS1302 的引脚功能图。 天津职业技术师范大学 2011 届本科生毕业设计 9 图 2-4 DS1302 封装图 3 系统硬件电路的设计 3.1 系统总体硬件结构设计 根据系统设计功能的要求,本设计的硬件电路6包括单片机电路、液晶显示电 路和温度传感电路、键盘电路。主控芯片使用 51 系列 AT89S52 单片机,时钟芯片 使用 DS18B20。电路系统构成图如图 3-1 所示。 3.2 AT89S52 及其外围电路 AT89S52 单片机为 40 引脚双列直插芯片,有四个 I/O 口 P0,P1,P2,P3,MCS-51 单片机共有 4 个 8 位的 I/O 口(P0、P1、P2、P3) ,每一 条 I/O 线都能独立地作输出或输入。如图 3-2 所示。 P0 口:P0 口是一个 8 位漏极开路7的双向 I/O 口。作为输出口,每位能驱 动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部 程序和数据存储器时, P0 口也被作为低 8 位地址/数据复用。在这种模式下, P0 不具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验 时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能 驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时 图 3-1 系统总体硬件结构 单片机 液晶显示键盘输入 温度测量 日历时钟 44 键 盘 天津职业技术师范大学 2011 届本科生毕业设计 10 可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因, 将输出电流(TTL) 。 此外,P1.0 和 P1.1 分别作定时器/计数器 2 的外部计数输入( P1.0/T2)和 定时器/计数器 2 的触发输入(P1.1/T2EX) 。 在 flash 编程和校验时, P1 口接 收低 8 位地址字节。 引脚号第二功能: P1.0 T2(定时器/计数器 T2 的外部计数输入) ,时钟输出 P1.1 T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器 能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时 可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因, 将输出电流(IIL) 。在访问外部程序存储器或用 16 位地址读取外部数据存储器 时,P2 口送出高八位地址。在这种应用中, P2 口使用很强的内部上拉发送 1。 在使用 8 位地址访问外部数据存储器时, P2 口输出 P2 锁存器的内容。 在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p3 输出缓冲器能 驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此 时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原 因,将输出电流( IIL) 。 P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如 下表所示。在 flash 编程和校验时,P3 口也接收一些控制信号。 端口引脚 第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断 0) P3.3 INT1(外中断 1) P3.4 TO(定时/计数器 0) P3.5 T1(定时/计数器 1) P3.6 WR(外部数据存储器写选通 ) P3.7 RD(外部数据存储器读选通 ) 此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。 天津职业技术师范大学 2011 届本科生毕业设计 11 RST:复位输入。当振荡器工作时, RST 引脚出现两个机器周期以上高电平将 是单片机复位。 ALE/PROG8:当访问外部程序存储器或数据存储器时, ALE(地址锁存允许) 输出脉冲用于锁存地址的低 8 位字节。一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是: 每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该 引脚还用于输入编程脉冲( PROG) 。如有必要,可通过对特殊功能寄存器 (SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外 部程序时,应设置 ALE 禁止位无效。 PSEN:程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89S52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效, 即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN 信号。 EA/VPP9:外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH) ,EA 端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被 编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端) ,CPU 则执 行内部程序存储器的指令。 FLASH 存储器编程时,该引脚加上 +12V 的编程允许电 源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 天津职业技术师范大学 2011 届本科生毕业设计 12 图 3-2 AT89S52 引脚图 PLCC 封装 单片机的最小系统如下图所示,18 引脚和 19 引脚接时钟电路,XTAL1 接外部晶 振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2 接外部晶振和微 调电容的另一端,在片内它是振荡器倒相放大器的输出.第 9 引脚为复位输入端,接上 电容,电阻及开关后够上电复位电路,20 引脚为接地端,40 引脚为电源端 。如图 3-3 所示。 VCC 10 RESET 9 GND 11 XTAL1 13 XTAL2 12 AVCC 30 AREF 32 GND 31 PD0 (RXD) 14 (SCL) PC0 22 (SDA) PC1 23 (TCK) PC2 24 (TMS) PC3 25 PC4 (TDO) 26 PC5 (TDI) 27 PC6 (TOSC1) 28 PC7 (TOSC2) 29 (XCK/T0) PB0 1 (T1) PB1 2 (INT2/AIN0)PB2 3 (OC0/AIN1) PB3 4 (SS) PB4 5 (MOSI) PB5 6 (MISO) PB6 7 (SCK) PB7 8 (ADC7) PA7 33 (ADC6) PA6 34 (ADC5) PA5 35 (ADC4) PA4 36 (ADC3) PA3 37 (ADC2) PA2 38 (ADC1) PA1 39 (ADC0) PA0 40 PD1 (TXD) 15 PD2(INT0) 16 PD3 (INT1) 17 PD4 (OC1B) 18 PD5 (OC1A) 19 PD6 (ICP1) 20 PD7 (OC2) 21 U2 AT89S52 R7 10K C8 10UF S1 SW-PB +5V 12 8MHZ C1 30pf C2 30pf VCC 天津职业技术师范大学 2011 届本科生毕业设计 13 图 3-3 单片机最小系统图 3.2.1 温度传感器 DS18B20 DS18B20 的应用电路:DS18B20 测温系统具有测温系统简单、测温精度高、连接 方便、占用口线少等优点。独特的一线接口,只需要一条口线通信 多点能力,简化 了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为 3.0 V 至 5.5 V 无需备用电源 测量温度范围为-55至+12510 。温度传感器可编程的分 辨率为 9-12 位温度转换为 12 位数字格式最大值为 750 毫秒用户可定义的非易失性 温度报警设置应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热 敏感系统。描述该 DS18B20 的数字温度计提供 9-12 位(可编程设备温度读数。信息 被发送到/DS18B20 通过 1 线接口,所以中央微处理器与 DS18B20 只有一个一条口线 连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每 一个 DS18B20 的包含一个独特的序号,多个 DS18B20 可以同时存在于一条总线。这 使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测 建筑物内温设备或机器,并进行过程监测和控制。不在本表中所有管脚不须接线。 DS18B20 采用一线通信接口。因为一线通信接口,必须在先完成 ROM 设定,否 则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:1)读 ROM,2) ROM 匹配,3)搜索 ROM,4)跳过 ROM,5)报警检查。这些指令操作作用在没有一 个器件的 64 位光刻 ROM 序列号,可以在挂在一线上多个器件选定某一个器件,同时, 总线也可以知道总线上挂有有多少,什么样的设备。 若指令成功地使 DS18B20 完成温度测量,数据存储在 DS18B20 的存储器。一个控 制功能指挥指示 DS18B20 的演出测温。测量结果将被放置在 DS18B20 内存中,并可 以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器 TH 和 TL 都有一字节 EEPROM 的数据。如果 DS18B20 不使用报警检查指令,这些寄存器可作 为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写 TH,TL 指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所 有的数据都读,写都是从最低位开始。 DS18B20 有 4 个主要的数据部件11: (1)光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。64 位光刻 ROM 的排列是:开始 8 位(28H)是产品类型标号,接着 的 48 位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码。光 刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多 个 DS18B20 的目的。 (2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 天津职业技术师范大学 2011 届本科生毕业设计 14 位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中 S 为符号 位。 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM,温度传感器,温度报警 触发器 TH 和 TL,配置寄存器。 DS18B20 的存储器包括高速暂存器 RAM 和可电擦除 RAM,可电擦除 RAM 又包括温 度触发器 TH 和 TL,以及一个配置寄存器。存储器能完整的确定一线端口的通讯, 数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些 数字。当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除 RAM 中。 当修改过寄存器中的数时,这个过程能确保数字的完整性。高速暂存器 RAM 是由 8 个字节的存储器组成;第一和第二个字节是温度的显示位。第三和第四个字节是复 制 TH 和 TL,同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存 器,同时第五个字节的数字可以更新;六、七、八三个字节是计算机自身使用。用 读寄存器的命令能读出第九个字节,这个字节是对前面的八个字节进行校验。64 位 光刻 ROM 的前 8 位是 DS18B20 的自身代码,接下来的 48 位为连续的数字代码,最后 的 8 位是对前 56 位的 CRC 校验。64-位的光刻 ROM 又包括 5 个 ROM 的功能命令:读 ROM,匹配 ROM,跳跃 ROM,查找 ROM 和报警查找。 DS18B20 可以使用外部电源 VDD,也可以使用内部的寄生电源。当 VDD 端口接 3.0V5.5V 的电压时是使用外部电源;当 VDD 端口接地时使用了内部的寄生电源。 无论是内部寄生电源还是外部供电,I/O 口线要接 5K 左右的上拉电阻。 DS18B20 在出厂时以配置为 12 位,读取温度时共读取 16 位,所以把后 11 位的 2 进制转化为 10 进制后在乘以 0.0625 便为所测的温度,还需要判断正负。前 5 个 数字为符号位,当前 5 位为 1 时,读取的温度为负数;当前 5 位为 0 时,读取的温 度为正数。16 位数字摆放是从低位到高位。 下图 3-4 即为温度传感器 DS18B20 的测温电路图12:DS18B20 在寄生电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京知识直播培训课件
- 2025年党章知识竞赛必考题及答案
- (2025年)黑龙江省牡丹江市全国计算机等级考试网络技术预测试题含答案
- 循环系统护理试题(含答案)
- 护理查对制度试题及标准答案
- 2024年急性精神科科N2-N4护士理论知识考核试题(含答案)
- 2024年山东“安全生产月”知识主题试题附参考答案
- 2024年全国RDPAC资格认证考试题库(附含答案)
- 2025年育婴师三级(高级育婴师)从业资格证考试内容及答案
- 标准基础知识培训课件教学
- 医院信息系统廉洁风险防控方案
- 2025年《农产品质量安全法》知识点考试题库资料及答案
- 智人扩散路径重构-洞察及研究
- 三方委托付工程款协议书
- 信通员考试试题及答案
- 四川成都成华区龙潭街道办事处招聘编外聘用制工作人员笔试模拟试题及答案详解1套
- 有限空间安全作业培训试题(含答案)
- 物业应急管理办法
- 设备调剂管理办法
- 蓝天救援队规定管理制度
- 银监会手机租赁管理办法
评论
0/150
提交评论