当前位置:首页 >> 其它课程 >> 电子信息工程技术毕业设计

电子信息工程技术毕业设计


贵州电子信息职业技术学院

引 言

随着社会的发展,科技的进步,以及测量仪器在各个领域的应用,智能化已是现代 温度控制系统发展的主流方向。 特别是近年来, 温度控制已应用到人们生活的各个方面, 但温度控制一直是一个未开发的领域, 却又是与人们息息相关的一个实际问题。 针对这 种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。

温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。 在工业生产和实验中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、 酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电 厂锅炉的温度必须控制在一定的范围之内许多化学反应的工艺过程必须在适当的温度 下才能正常进行; 炼油过程中, 原油必须在不同的温度和压力条件下进行分馏才能得到 汽油、柴油、炼油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮食 的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越 来越高。可见,温度的测量和控制是非常重要的。 单片机在产品中的应用已经越来越广泛, 在很多的电子产品中也用到了温度检测和 温度控制。 随着温度控制器应用范围的日益广泛和多样, 各样适用于不场合的智能温度 控制器应运而生。

一 绪论

(一) 、51 内核单片机简介 将微处理器(CPU) 、存储器、I/O 接口电路和相应的实时控制器集成在一块芯片上 的单片机微型计算机,简称单片机。在世界上其他国家,人们又称单片机为微控制器 (MCU) 。单片机常根据其内部的 CPU 来分类,如 51 内核单片机、非 51 内核单片机、 ARM 内核单片机等。所谓 51 内核单片机,就是具有 8051 CPU 的单片机。 51 内核系列单片机被广泛应用于从家用电器到武器装备等各种应用系统,尤其是 Phlips,Infineon,Silicon Laboratories Inc,Analog Devices 等制造商给 51 内核系列单片机加 入了大量的外围模块,例如 I2C 总线接口、ADC、PWM、DMA、DAC 等,而且不少芯 片的工作频率达到了 40MHZ,内核工作电压下降到了 1.5V,这些功能的增加,使得 51 内核单片机得到了新生,形成新一代 51 内核系列单片机产品。 (二)温度传感器 DS18B20 DS18B20 温度传感器是美国 Dallas 半导体公司生产的总线式智能数字化温度传感 器。DS18B20 是采用单总线的方式传送数据。单总线是 Maxim 全资子公司 Dallas 的一 项专有技术, 与目前多数标准串行数据通信方式不同, 它采用单根信号线, 既传输时钟, 又传输数据,而且数据传输是双向的。它具有节省 I/O 口线资源、结构简单、成本低廉, 便于总线扩展和维护等诸多优点。 单总线采用简单的通信协议, 通过一条公共数据线实现主机与主控制器与一个或多

-1-

贵州电子信息职业技术学院
个从机(单线芯片)之间的半双工、双向通信。在单总线主机与从机配置中,所有 设备共享一条公共数据线, 从机芯片借助这条总线实现数据传输与供电。 在数据传输过 程中,总线状态为高电平时,向从机的内部电容充电;总线状态为低电平时,利用电容 存储的电荷为器件供电。 (三)1602 液晶显示器 ①1602 液晶显示为若干个 5*8 或 5*11 的点阵显示字符。 每一个模块为一个字符位, 字符间距和行距都为一个点的宽度。1602 液晶主控制驱动电路为 HD44780 或其他全兼 容电路,如 SED1278,KS0066,NJU6408。具有字符的 ROM 可显示 192 种字符。具有 64 个字节的自定义字符,具有 80 个字节的 RAM。 HD44780 是集成驱动器与控制器于一体的专用字符液晶显示控制驱动集成电路, 是字符液晶显示控制的代表芯片。 该芯片内集成了显示缓冲区和用户定义的字符发生器 CGRAM,具有简单但功能较强的指令,可以实现字符移动、闪烁等显示功能。 (四)方案选择 1、采用 AD 转换,通过单片机将温度值显示在显示器上,这种方法比较麻烦,而 且 AD 转换芯片也需要编程,相对来说,编程难度会加大,给设计带来许多的不便。如 果做实物的话,那么就会考虑更多的东西。 2、采用单总线进行双向传输数据的温度传感器,不需要 AD 芯片的转换,可直接 将温度值传给单片机进行处理,可直接显示温度。采用元件较少,使用方便。编程上来 说比等一种方案实用。

1602 温度显示 DS18B20

单片机 按键 报警

综合以上两种方案,觉得等二种方案比较实用,方便可靠性高,而且维修方便,性 价比好,所以这种设计采用等二种方案,采用 LCD 液晶显示

二 单片机的发展与应用

(一) 、单片机的概念 自 1946 年第一台数字式电子计算机 ENIAC 在美国宾夕法尼亚大学诞生以来,

-2-

贵州电子信息职业技术学院
计算机的发展已经历了四代,微型计算机属于第四代计算机。对微型计算机而言,如果 将 CPU、存储器、I/O 接口以及定时器/记数器集成在一块芯片上,就成为单片微型计 算机(SUM,single Chip Microcomputer) ,简称单片机。它具有体积小、功耗低、可靠 性高、抗干扰能力强、价格低等优点,被广泛应用于检测和控制领域。此外,单片机在 家用电器、电子玩具、语言设备、机器人等各个领域的应用也迅速发展。 随着单片机在技术上、 体系结构上的不断发展, 国际上逐渐采用 “微控制器 (MCU, Micro Controller Unit) ”来代替“单片微型计算机”这一名称,但在国内,由于习惯, 我们仍沿用“单片机”这一名称。 (二) 、MCS-51 单片机的简介 51 系列单片机是由美国 Intel 公司生产的以 80C51 为核心发展起来的各类单片机型 号系列的总称。这类单片机都使用 80C51 的 CPU 内核及指令系统,且 MCS-51 系列中 的 8051 成为许多半导体厂家。电气公司竞相选用的对象并以其为基核,推出了许多兼 容性的 CHMOS 单片机,且这些单片机都具有极好的兼容性,并有很强的生命力,统 称 80C51 系列 MCS-51 系列单片机产品有 8051,8031,8751,80C51,80C31 等型号(前三种为 CMOS 芯片,后两种为 CHMOS 芯片) 。它们的结构基本相同,其主要差别反映在存储 器的配置上。 8051 内部设有 4K 字节的掩模 ROM 程序存储器, 8031 片内没有程序存储 器,而 8751 是将 8051 片内的 ROM 换成 EPROM。由 ATMEL 公司生产的 89C51 将 EPROM 改成了 4K 的闪速存储器,他们的结构大同小异。 MCS-51 系列单片机的内部结构示意图如图 2—1

图 2—1 8051 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数 器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三 大总线,现在我们分别加以说明如图 2—2

-3-

贵州电子信息职业技术学院

图 2—2 1、中央处理器(CPU) 中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运 算和控制输入输出功能等操作。 2、数据存储器(RAM) 数据存储器用于保存程序中的变量,以及一些不怕断电丢失的数据。 8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元, 它们是统一编 址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数 据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运算的中间结果或用 户定义的字型表。 51 单片机的数据存储器如图图 2—3,具有 256 字节的内部数据存储器,并可以扩展到 64KB 外部数据存储器。数据存储在电源关闭时,会丢失所有的内容 数据存储器如图 2—3 FFH
特殊功能 寄存器

FFFFH

80H 7FH 30H 2FH 20H 1FH
BANK3 BANK2 BANK1 BANK0

外部扩 展 64KB

用户数据区 可位寻址区

一般用途区 0000H 图 2—3

00H 3、程序存储器(ROM) 51 单片机具有 64K 程序储存器寻址空间,这些空间用于存放用户程序、数据和表

-4-

贵州电子信息职业技术学院
格等信息。程序存储器都是用与 U 盘相同的 Flash 存储器构成的,如果使用 51 单片机 内部的存储器保存用户程序,若要单片机正常运行,需要 EA 引用接高电平,使 CPU 先内部的程序存储器中读取程序,当 PC 值超过内部 ROM 的容量时,才会转向外部存 储器读取程序,而其后的 60KB(1000H~FFFFH)使用外部存储器。 程序存储器结构图 2—4 外 部 FFFFH 外 部 FFFFH
扩 展 60KB 扩 展 64KB

1000H
内 部 4KB

0FFFH 0000H

0000H EA=1

EA=0 图 2—4 4、定时/计数器(ROM) 8051 有两个 16 位的可编程定时/计数器, 以实现定时或计数产生中断用于控制程序 转向。它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对 控制寄存器的编程,就可以方便地选择适当的定时工作方式。 定时器 0 由计数器 TL0(低 8 位)和 TH0(高 8 位)构成,定时器 1 由计数器 TL1 (低 8 位)和 TH1(高 8 位)构成。定时器的方式控制寄存器 TMOD 用于控制定时器 的工作方式,寄存器 TCON 则用于控制定时器 0 和 1 的启动和停止计数,同时管理定 时器 0 和 1 的溢出标志。为使定时器满足程序需要,程序开始时需对 TL0、TH0、TL1 和 TL1 进行初始化编程,以确定它们的工作方式并控制定时器 0 和 1 如何工作。 5、并行输入输出(I/O)口 8051 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对外部数据的传输。 6、全双工串行口 8051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口 既可以用作异步通信收发器,也可以当同步移位器使用。 7、中断系统 8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中 断,可满足不同的控制要求,并具有 2 级的优先级别选择。 TCON 的中断标志如表 2—1 位号 字节地址: 88H 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 TT0

表 2—1 IT0:外部中断 INT0 触发方式控制位。 IE0:外部中断 INT0 中断请求标志位。IE0=1 时,表示 INTO 向 CPU 请求中 断。

-5-

贵州电子信息职业技术学院
IT1:外部中断 INT1 触发方式控制位。 IE1: 外部中断 INT1 中断请求标志位。 IE0=1 时, 表示 INT1 向 CPU 请求中断。 TF0:定时/计数器 T0 益出中断请求标志位。在 T0 启动后就开始由出值加 1 记数,直至最高位产生益出由硬件置位 TF0,向 CPU 响应中断。CPU 响应中断时, TF0 由硬件自动清 0。 TF1:定时/计数器 T1 益出中断请求标志位。 中断允许控制: CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器 IE 控制的。IE 的状态可通过程序由软件设定。某位设定为 1,相应的中断源允许; 某位设定为 0,相应的中断源屏蔽。CPU 复为时,IE 各位清 0,禁止所有中断。 IE 寄存器如表 2—2 所示 位号 7 6 5 4 3 2 1 0 字节地址: A8H EA ES ET1 EX1 ET0 EX0 表 2—2 EX0:外部 INT0 中断允许位。 ET0:定时/计数器 T0 中断允许位。 EX1:外部 INT1 中断允许位。 ET1:定时/计数器 T0 中断允许位。 ES:串行口中断允许位。 EA:CPU 中断允许(总允许)位。 (三) 、单片机的引脚说明 AT89C51 单片机如图 2—3 所示

-6-

贵州电子信息职业技术学院

U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

18

XTAL2

9

RST

29 30 31

PSEN ALE EA

1 2 3 4 5 6 7 8

P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52

图 2—3 1、主电源引脚 VCC(40 脚) :接+5V 电源正端 VSS(20 脚) :接+5V 电源的接地端 电源电压范围是 4~5.5V, 最高电源电压为 6.6V。作何引脚对地的电压范围是 -1~7V。 2、外接晶体引脚 XTAL1(19 脚) :接外部石英晶体的一端。在单片机内部,它是反相放大器的 输入端,这个放大器构成了片内振荡器。当采用外部时钟时,该引脚作为外部振荡 信号的输入端。 XTAL1(19 脚) :接外部石英晶体的另一端。在单片机内部,它是反相放大器 的输出端。 3、输入与输出引脚 (1) 、P0 口(P0.0~P0.7) (引脚 39~32) 作为输出口使用时,需要外接上拉电阻(在作为 I/O 口使用时,T1 管夹断) 。 若作为输入口使用时,需要先将“1”写入端口(使 T2 管夹断) 。 P0 口可作为地址线总线(AB0~AB7) ,也可作为数据总线(DB0~DB7). P0 口可驱动 8 个 LSTTL (低功耗肖特基 TTL)其他端口可以驱动 4 个 LSTTL。 , 一个 LSTTL 负载为 0.4mA. (2) 、P1 口(P1.0~P1.7) (引脚 1~8) P1 端口内部有上拉电阻,因此可以作为准双向 I/O 口使用。作为输入端使用

-7-

贵州电子信息职业技术学院
时,需要先将“1”写入端口(使 T2 管夹断) 。 (3) 、P2 口(P2.0~P2.7) (引脚 21~28) 该口内部有上拉电阻,因此可以作为准双向 I/O 口使用。 作为输入端口使用时,需要先将“1”写入端口(使 T2 管夹断) 。 在接片外存储器时,P2 口作为高 8 位地址总线(AB8~AB15). (4) 、P3 口(P3.0~P3.7) (引脚 10~17) 该口具有上拉电阻,可作为双向 I/O 口使用。 作为输入端使用时,需要先将“1”写入端口(使 T2 管夹断) 。 P3 口的引脚还有第二功能:P3.0 为串行输入口(RXD) ,P3.1 为串行输出口 (TXD) ,P3.2 为外中断 0(INT0) ,P3.3 为处中断 1(INT1) ,P3.4 为定时/计数器 0 的外部输入口(T0) ,P3.5 为定时/计数器 1 的外部输入口(T1) ,P3.6 为外数据 存储器写选通(WR) ,P3.7 为外部数据存储读选通(RD) 4、RST(引脚 9) 该引脚为单片机的上电复位引脚, 高电平有效。 当单片机电源电压达到单片机 工作电压、 同时单片机振荡器正常工作后, 该引脚上必须持续两个机器周期的高电 平,才可实现复位操作,使单片机恢复到初始状态。 复位引脚具有双向功能: 当上电时, 外加电容与单片机内部下拉电阻形成复位 电路使单片机复位;当单片机内部的看门狗(WDT)溢出时,该引脚输出高电平, 不仅复位单片机引脚输出信号,则需要 1~100K 的外部复位电阻。 在只需要上复位的系统中,由于单片机内部具有下拉复位电阻(阻值为 50~ 300K) ,所以可以不要外部下拉电阻,电容值可减小到 1uF。一般说来电源达到工 作电压值的时间一般在 10ms 以内,时钟为 12MHz 时,起振时间小于 1ms。

三 DS18B20 的使用
(一) 、DS18B20 的简介 DS18B20 温度传感器是美国 Dallas 半导体公司生产的总线式智能数字温度传 感器。DS18B20 可根据实际要求通过的编程实现 9 至 12 位的分辨数字值计数读数 方式。其工作电源既可在远端引入,也可采用寄生电源方式产生。多个 DS18B20 可以并联到 3 根或 2 根线上,CPU 只需要一根端口线就能与诸多 DS18B20 通信, 占用微处理的端口较少, 可节省大量的引线和逻辑电路。 现场温度直接以单总线的 数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量。 DS18B20 引脚排列及定义如图 3—1 所示。

图 3—1 DQ:数据输入输出

-8-

贵州电子信息职业技术学院
VDD: 可选的电源电压脚 GND:接地 (二)、 技术性能描述 1、 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可 实现微处理器与 DS18B20 的双向通讯。 2 、测温范围 -55℃~+125℃,固有测温分辨率 0.5℃。 3、支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,最多只能并联 8 个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传 输的不稳定。 4、工作电源: 3~5V/DC 5 、在使用中不需要任何外围元件 6、 测量结果以 9~12 位数字量方式串行传送 7、不锈钢保护管直径 Φ 6 8 、适用于 DN15~25, DN40~DN250 各种介质工业管道和狭小空间设备测温 9、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 9、PVC 电缆直接出线或德式 球型接线盒出线,便于与其它电器设备连接。 (三)、DS18B20 接线说明 1、特点 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应 用 无需外部元件 可用数据总线供电,电压范围为 3.0 V 至 5.5 V 无需备用电源 测量温度范围为-55 ° C 至+125 ℃ 。 华氏相当于是-67 ° F 到 257 华氏度 -10 ° C 至+85 ° C 范围内精度为±0.5 ° C 温度传感器可编程的分辨率为 9~12 位 温度转换为 12 位数字格式最大值为 750 毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统, 消费电子产品温度计,或任何热敏感系统 描述该 DS18B20 的数字温度计提供 9 至 12 位(可编程设备温度读数。信息被发 送到/从 DS18B20 通过 1 线接口,所以中央微处理器与 DS18B20 只有一个一条口 线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因 为每一个 DS18B20 的包含一个独特的序号, 多个 ds18b20s 可以同时存在于一条总 线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控 制,感测建筑物内温设备或机器,并进行过程监测和控制。 8 引脚封装 TO-92 封装 用途 描述 5 1 接地 接地 4 2 数字 信号输入输出,一线输出:源极开路 3 3 电源 可选电源管脚。见"寄生功率"一节细节方面。电源必须接地,为行动 中,寄生虫功率模式。

-9-

贵州电子信息职业技术学院
2、DS18B20 的通信接口 DS18B20 采用一线通信接口。因为一线通信接口,必须在先完成 ROM 设定,否则 记忆和控制功能将无法使用。 主要首先提供以下功能命令之一: 1 ) ROM, 2 ) 读 ROM 匹配, 3 )搜索 ROM, 4 )跳过 ROM, 5 )报警检查。这些指令操作作用 在没有一个器件的 64 位光刻 ROM 序列号, 可以在挂在一线上多个器件选定某一个 器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。 若指令成功地使 DS18B20 完成温度测量,数据存储在 DS18B20 的存储器。一个 控制功能指挥指示 DS18B20 的演出测温。测量结果将被放置在 DS18B20 内存中, 并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器 TH 和 TL 都有一字节 EEPROM 的数据。如果 DS18B20 不使用报警检查指令,这些寄存 器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转 换。写 TH,TL 指令以及配置字节利用一个记忆功能的指令完成。通过缓存 器读寄 存器。所有数据的读,写都是从最低位开始。 3、DS18B20 主要的 4 个数据部件 (1)光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。64 位光刻 ROM 的排列是:开始 8 位(28H)是产品类型标号,接 着的 48 位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码 (CRC=X8+X5+X4+1)。光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就 可以实现一根总线上挂接多个 DS18B20 的目的。 (2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以 0.0625℃/LSB 形式表达,其中 S 为符 号位。 表 3—1 DS18B20 温度值格式表

表 3—1 这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二 进制中的前面 5 位是符号位,如果测得的温度大于 0, 这 5 位为 0,只要将测到 的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数 值需要取反加 1 再乘于 0.0625 即可得到实际 温度。 例如+125℃的数字输出为 07D0H,+25.0625℃的数字输出为 0191H,-25.0625℃的数字输出为 FE6FH,-55℃ 的数字输出为 FC90H 。 表 3—2 DS18B20 温度数据表

- 10 -

贵州电子信息职业技术学院

表 3—2 (3)DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个 高速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触 发器 TH、TL 和结构寄存器。 (4)配置寄存器 该字节各位的意义如下: 表 3—3 配置寄存器结构 TM R1 R0 1 1 表 3—3 低五位一直都是"1",TM 是测试模式位,用于设置 DS18B20 在工作模式还是在 测试模式。在 DS18B20 出厂时该位被设置为 0,用 户不要去改动。R1 和 R0 用来 设置分辨率,如下表所示:(DS18B20 出厂时被设置为 12 位) 表 3—4 温度分辨率设置表
R1 R0 分辨率 温度最大转换时间

1

1

1

0

0

9位

93.75ms

0

1

10 位

187.5ms

1

0

11 位

375ms

1

1

12 位

750ms

表 3—4 (四)、存储器

- 11 -

贵州电子信息职业技术学院
DS18B20 的存储器包括高速暂存器 RAM 和可电擦除 RAM, 可电擦除 RAM 又包括 温度触发器 TH 和 TL,以及一个配置寄存器。存储器能完整的确定一线端口的通 讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确 认这些数字。当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦 除 RAM 中。当修改过寄存器中的数时,这个过程能确保数字的完整性 。 表 3—5 DS18B20 暂存寄存器分布 寄存器内容 温度值低位 (LS Byte) 温度值高位 (MS Byte) 高温限值(TH) 低温限值(TL) 配置寄存器 保留 保留 保留 CRC 校验值 字节地址 0 1 2 3 4 5 6 7 8

表 3—5 根据 DS18B20 的通讯协议,主机(单片机)控制 DS18B20 完成温度转换必须经过 三个步骤:每一次读写之前都要对 DS18B20 进行 复位操作,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求 主 CPU 将数据线下拉 500 微秒,然后 释放,当 DS18B20 收到信号后等待 16~60 微秒左右,后发出 60~240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。 1、高速暂寄存器 RAM 高速暂存器 RAM 是由 8 个字节的存储器组成; 第一和第二个字节是温度的显示位。 第三和第四个字节是复制 TH 和 TL,同时第三和第四个字节的数字可以更新;第 五个字节是复制配置寄存器,同时第五个字节的数字可以更新;六、七、八三个 字节是计算机自身使用。用读寄存器的命令能读出第九个字节,这个字节是对前 面的八个字节进行校验。 表 3—6 RAM 指令表 约定 代码

指 令

功 能

- 12 -

贵州电子信息职业技术学院
温度变 换 44H 启动 DS1820 进行温度转换,12 位转换时最长为 750ms(9 位为 9 3.75ms)。结果存入内部 9 字节 RAM 中。

读暂存 器

0BEH

读内部 RAM 中 9 字节的内容

写暂存 器

4EH

发出向内部 RAM 的 3、4 字节写上、下限温度数据命令,紧跟该 命令之后,是传送两字节的数据。

复制暂 存器

48H

将 RAM 中第 3 、4 字节的内容复制到 EEPROM 中。

重调 EE PROM 读供电 方式

0B8H

将 EEPROM 中内容恢复到 RAM 中的第 3 、4 字节。

0B4H

读 DS1820 的供电模式。寄生供电时 DS1820 发送“ 0 ”,外接 电源供电 DS1820 发送“ 1 ”。 表 3—6

2、64 位光刻 ROM 64 位光刻 ROM 的前 8 位是 DS18B20 的自身代码,接下来的 48 位为连续的数 字代码,最后的 8 位是对前 56 位的 CRC 校验。64-位的光刻 ROM 又包括 5 个 ROM 的功能命令:读 ROM,匹配 ROM,跳跃 ROM,查找 ROM 和报警查找。 表 2—6 ROM 指令表 指 令 读 ROM 约定 代码 33H 功 能 读 DS1820 温度传感器 ROM 中的编码(即 64 位地址) 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该 编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读 写作准备。 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地 址。为操作各器件作好准备。

符合 R OM

55H

搜索 R OM

0FOH

跳过 R

0CCH

忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于

- 13 -

贵州电子信息职业技术学院
OM 单片工作。

告警搜 索命令

0ECH

执行后只有温度超过设定值上限或下限的片子才做出响应。 表 3—6

(五)、DS18B20 的内部结构 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM 、温度传感器、非挥发的温 度报警触发器 TH 和 TL、配置寄存器。

图 3—2 (六)、DS18B20 工作原理 1、DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位数因 分辨率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。 DS18B20 测温 原理如图 3 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固 定频率的脉冲信号送给计数器 1。 高温度系数晶振 随温度变化其振荡率明显改变, 所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在-55℃ 所对应的一个基数值。计数器 1 对 低温度系数晶振产生的脉冲信号进行减法计 数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将 重新被装入,计数器 1 重 新开始对低温度系数晶振产生的脉冲信号进行计数,如 此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中 的数值即 为所测温度。图 3 中的斜率累加器用于补偿和修正测温过程中的非线 性,其输出用于修正计数器 1 的预置值。 2、DS18B20 测温原理框图

- 14 -

贵州电子信息职业技术学院

图 3—3 (七)、DS18B20 的应用电路 DS18B20 测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等 优点。下面就是 DS18B20 几个不同应用方式下的 测温电路图: 1、 DS18B20 寄生电源供电方式电路图 如下面图 2—4 所示, 在寄生电源供电方式下, DS18B20 从单线信号线上汲取能量: 在信号线 DQ 处于高电平期间把能量储存在内部 电容里,在信号线处于低电平期 间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 独特的寄生电源方式有三个好处: (1)进行远距离测温时,无需本地电源 (2)可以在没有常规电源的条件下读取 ROM (3)电路更加简洁,仅用一根 I/O 口实现测温 要想使 DS18B20 进行精确的温度转换,I/O 线必须保证在温度转换期间提供足够 的能量,由 于每个 DS18B20 在温度转换期间工作电流达到 1mA,当几个温度传感 器挂在同一根 I/O 线上进行多点测温时, 只靠 4.7K 上拉电阻就无法提供足够的 能 量,会造成无法转换温度或温度误差极大。 因此,图 3—4 电路只适应于单一温度传感器测温情况下使用,不适宜采用电 池供电系统中。并 且工作电源 VCC 必须保证在 5V,当电源电压下降时,寄生电 源能够汲取的能量也降低,会使温度误差变大。

- 15 -

贵州电子信息职业技术学院

图 3—4 2、DS18B20 寄生电源强上拉供电方式电路图 改进的寄生电源供电方式如下面图 3—5 所示, 为了使 DS18B20 在动态转换周期中 获得足够的电流供应,当进行温度转换或拷贝到 E2 存储器操作时,用 MOSFET 把 I/O 线直接拉到 VCC 就可提供足够的电流,在发出任何涉及到拷贝到 E2 存储器或 启动温度转换的指令后,必须在最 多 10μ S 内把 I/O 线转换到强上拉状态。在强 上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺 点就 是要多占用一根 I/O 口线进行强上拉切换。

图 3—5 注意:在图 3—4 和图 3—5 寄生电源供电方式中,DS18B20 的 VDD 引脚必须 接地 3、DS18B20 的外部电源供电方式 在外部电源供电方式下,DS18B20 工作电源由 VDD 引脚接入,此时 I/O 线不需 要强上拉,不存在电源电流不足的问题,可以保证 转换精度,同时在总线上理论 可以挂接任意多个 DS18B20 传感器,组成多点测温系统。注意:在外部供电的方 式下, DS18B20 的 GND 引脚不能悬空 , 否则不能转换温度, 读取的温度总是 85℃。 图 3—6 外部供电方式单点测温电路

- 16 -

贵州电子信息职业技术学院

图 3—6 图 3—7 外部供电方式的多点测温电路图

图 3—7 外部电源供电方式是 DS18B20 最佳的工作方式,工作稳定可靠,抗干扰能力强, 而且电路也比较简单,可以开发出稳定可靠的多点温度 监控系统。站长推荐大家 在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根 VCC 引线。在 外接电源方式下, 可以充分发挥 DS18B20 宽电源电压范围的优点,即使电源电压 VCC 降到 3V 时,依然能够保证温度量精度。

四 、LCD1602 液晶显示器
(一)1602 液晶显示器简介 1、LM016L 的结构及功能 LM016L 液晶模块采用 HD44780 控制器, HD44780 具有简单而功能较强的指令集, 可以实 现字符移动,闪烁等功能,LM016L 与单片机 MCU 通讯可采用 8 位或 4 位并行传输两种 方式,hd44780 控制器由两个 8 位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标 志(BF) ,显示数 RAM(DDRAM) ,字符发生器 ROMA(CGOROM)字符发生器 RAM(CGRAM) , 地址计数器 RAM(AC)。IR 用于寄存指令码,只能写入不能读出,DR 用于寄存数据,数 据由内部操作自动写入 DDRAM 和 CGRAM,或者暂存从 DDRAM 和 CGRAM 读出的数据,BF 为 1 时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM 用来存储显示 的字符,能存储 80 个字符码, CGROM 由 8 位字符码生成 5*7 点阵字符 160 中和 5*10 点阵字符 32 种.8 位字符编码和字符的对应关系,可以查看参考文献(30)中的表 4. CGRAM 是为用户编写特殊字符留用的,它的容量仅 64 字节,可以自定义 8 个 5*7 点阵字符或者 4 个 5*10 点阵字符,AC 可以存储 DDRAM 和 CGRAM 的地址,如果地址码随 指令写入 IR,则 IR 自动把地址码装入 AC,同时选择 DDRAM 或 CGRAM。

- 17 -

贵州电子信息职业技术学院
2、LM016L 液晶模块的引脚功能 (1) 、引脚外形图如图 4—1 所示

图 4—1

(2)引脚说明 1602 字符型 LCD 通常有 14 条引脚线或 16 条引脚线的 LCD,多出来的 2 条线是 背光电源线 VCC(15 脚)和地线 GND(16 脚),其控制原理与 14 脚的 LCD 完全一样,其中: 引脚 符号 功能说明 1 2 3 VSS VDD V0 一般接地 接电源(+5V) 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对 比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。 RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指 令寄存器。 R/W 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操 作。 E(或 EN)端为使能(enable)端,下降沿使能。 底 4 位三态、 双向数据总线 0 位(最低位) 底 4 位三态、 双向数据总线 1 位 底 4 位三态、 双向数据总线 2 位 底 4 位三态、 双向数据总线 3 位 高 4 位三态、 双向数据总线 4 位 高 4 位三态、 双向数据总线 5 位 高 4 位三态、 双向数据总线 6 位 高 4 位三态、 双向数据总线 7 位(最高位)(也是 busy flang) 背光电源正极 背光 电源负极 表 4—1

4 5 6 7 8 9 10 11 12 13 14 15 16

RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 BLA BLK

(二) 、1602 液晶显示器的工作原理 1、寄存器选择控制表

- 18 -

贵州电子信息职业技术学院
1602 寄存器控制表如表 4—2 RS R/W 0 0 1 1 0 1 0 1 操作说明 写入指令寄存器(清除屏等) 都 busy flag(DB7),以及读取位址计数器(DB0~DB6)值 写入数据寄存器(显示各字型等)

从数据寄存器读取数据 表 4—2 注:关于 E=H 脉冲——开始时初始化 E 为 0,然后置 E 为 1,再清 0. busy flag(DB7):在此位为被清除为 0 时,LCD 将无法再处理其他的指令要求 2、1602 字符集 1602 液晶模块内部的字符发生存储器 (CGROM)已经存储了 160 个不同的点阵字符图 形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一 个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H), 显示时模块把地址 41H 中的点阵字符图形显示出来, 我们就能看到字母“A”。 因为 1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值,在单片机编程中还可以用字符型 常量或变量赋值,如'A’。 以下是 1602 的 16 进制 ASCII 码表 4—3

表 4—3 3、显示地址

- 19 -

贵州电子信息职业技术学院
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH 4CH 4DH 4EH 4FH 表 4—4 4、指令集 1602 通过 D0~D7 的 8 位数据端传输数据和指令。 显示模式设置:(初始化) 0011 0000 [0x38] 设置 16×2 显示,5×7 点阵,8 位数据接口; 显示开关及光标设置: (初始化) 0000 1DCB D 显示(1 有效)、C 光标显示(1 有效)、B 光标闪烁(1 有效) 0000 01NS N=1(读或写一个字符后地址指针加 1 &光标加 1), N=0(读或写一个字符后地址指针减 1 &光标减 1), S=1 且 N=1 (当写一个字符后,整屏显示左移) s=0 当写一个字符后,整屏显示不移动 (三)、1602 液晶与 51 单片机的接线 1602 液晶与 51 单片机的接线图如图 4—2 所示。图中 V0 是对比度控制引脚, 电压在 0 到 5V 之间选择,LEDK 是背光电源的正负极,使用时需要连接限流电阻, 电流大小可以控制背光亮度。 1602 液晶与 51 单片机的接线如图 4—2 所示

LCD1
LM016L

14 13 12 11 10 9 8 7

6 5 4

U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

18

XTAL2

9

RST

29 30 31

PSEN ALE EA

1 2 3 4 5 6 7 8

P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52

图 4—2

五 电路的设计调试

- 20 -

3 2 1

VEE VDD VSS

E RW RS

D7 D6 D5 D4 D3 D2 D1 D0

R1
300

贵州电子信息职业技术学院
这次调试并没有做出实物图, 因此只能在认真图上进行一个简单的调试, 看一下仿真的 效果。
C1
33PF

C2 X1
33PF

LCD1
LM016L CRYSTAL

U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

18

XTAL2

R2
5K

C3
VEE VDD VSS

9 10uF

E RW RS

D7 D6 D5 D4 D3 D2 D1 D0

RST

U2
3 2 1 VCC DQ GND DS18B20 27.0

R1
10k 29 30 31 PSEN ALE EA

14 13 12 11 10 9 8 7

6 5 4

3 2 1

1k

R3

1 2 3 4 5 6 7 8

Q1
MPS3638

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

LS1

SOUNDER

等一步 开始温度的显示,18B20 测量的常温温度
C1
33PF

C2 X1
33PF

LCD1
LM016L CRYSTAL

U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

18

XTAL2

R2
5K

C3
VEE VDD VSS

9 10uF

E RW RS

D7 D6 D5 D4 D3 D2 D1 D0

RST

U2
3 2 1 VCC DQ GND DS18B20 27.0

R1
10k 29 30 31 PSEN ALE EA

14 13 12 11 10 9 8 7

6 5 4

3 2 1

1k

R3

1 2 3 4 5 6 7 8

Q1
MPS3638

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

LS1

SOUNDER

等二步 按键 1 的功能就是进行上限与下限的温度位选进行操作,位选结束后回来温度 显示界面。

- 21 -

贵州电子信息职业技术学院
C1
33PF

C2 X1
33PF

LCD1
LM016L CRYSTAL

U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

18

XTAL2

R2
5K

C3
VEE VDD VSS

9 10uF

E RW RS

D7 D6 D5 D4 D3 D2 D1 D0

RST

U2
3 2 1 VCC DQ GND DS18B20 27.0

R1
10k 29 30 31 PSEN ALE EA

14 13 12 11 10 9 8 7

6 5 4

3 2 1

1k

R3

1 2 3 4 5 6 7 8

Q1
MPS3638

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

LS1

SOUNDER

等三步 按键 2 和按键 3 就是对上、下限温度值的设置加减,2 键为加,3 键为减
C1
33PF

C2 X1
33PF

LCD1
LM016L CRYSTAL

U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

18

XTAL2

R2
5K

C3
VEE VDD VSS

9 10uF

E RW RS

D7 D6 D5 D4 D3 D2 D1 D0

RST

U2
3 2 1 VCC DQ GND DS18B20 31.0

R1
10k 29 30 31 PSEN ALE EA

14 13 12 11 10 9 8 7

6 5 4

3 2 1

1k

R3

1 2 3 4 5 6 7 8

Q1
MPS3638

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

LS1

SOUNDER

等四步 当温度超过设置的上、下限温度的时候,开始报警,因在仿真上听不到报警声, 用一个发光 LED 表示,亮说明达到设置的温度或超过设置的温度。

六 总结
这次设计只是在仿真图上仿真, 能够看到达到了我们想要的郊果, 但是实际与仿真还是 有一定的区别的, 但是我们可以知道我们的程序没有错误, 只要下去做实物的时候小心 一点,注意一下细节,我相信这次设计还是能够达到我们所期望值那样。在这次设计当 中,我出现了许多的问题,不管是在程序上面还是在仿真图上面,都让我们们出了许多 的不足。在我们的写程序仿真当中,出现的问题有程序编译错误、仿真没有输出文件、 在画仿真图的进修忘记元器件所在库、忘记程序代码等。这次设计当中,请教了许多的 学长和老师,同时也查阅了许多的资料,例如在无输出编译文件、忘记代码等问了学长 老师,写程序的时候查看芯片资料啊。不过通过这次的设计,让我们明白自己的不足, 我们还有许多要学习的地方, 另一方面通过这一次我学到了许多, 是在其它方面学不到

- 22 -

贵州电子信息职业技术学院
的,让我学会写简便的程序,怎样写才能更好的检查错误等。

致谢

本次毕业论文能够顺利完成, 要感谢学校领导对我们的关心, 给我们的学习生活提供这 么好的学习条件,有这么好的实验室,让我们学习。在我们课余时间里对我们开放,让 我们能够真正意义上学习, 理论与实践能够完美的结合起来, 让我们能够充分利用其他 的时间学习,使得我们的课余时间得到充分的利用,我们能能更好的学习。在有限的时 间时学到更多的知识。 还有就是我院系领导的大力支持和帮助, 尤其是我的指导老师兼 我们我班主任。 在她的工作之中抽出时间和在工作之余的宝贵休息时间, 仔细耐心的给 我指导,在每一次遇到困难的时候。老师一直给我鼓励,让我充满了信心去解决每个难 题。让我这么快而顺利的就完成了我的毕业论文。 电子信息技术日新月异飞速发展, 人们总是处在不同的学习阶段, 再加上我的水平有限。 所以本次毕业论文存在着许多的不足, 有许多不足人意的地方, 欢迎广大老师和同学的 批评与指证。 最后, 要感谢电子工程系的所有老师, 他们精心的栽培为我以后的学习和工作打下了坚 实的基础。

参考文献
(1) 蒋辉平, 周国雄 《基于 Proteus 的单片机系统设计与仿真实例》 ,北京:机械 工业出版社,2009,4 (2) 夏路易, 《单片机技术基础与实践》 ,北京:电子工业出版社,2008,1 (3) 刘松, 曹金玲 《单片机技术与应用》 ,北京:机械工业出版社,2010,11 (4) 杜树春, 《单片机 C 语言和汇编语言混合编程实例详解》 ,北京,清华大学出 版社,2002 (5) 张迎新, 《单片机原理及应用》 ,北京:电子工业出版社,2004 (6) 汪道辉, 《单片机系统设计与实践》 ,北京:电子工业出版社 附件 (一) 、程序设计流程图

- 23 -

贵州电子信息职业技术学院
开始

初始化 LCD1602
判断按键是否 按下?

读 DS18B20 温度寄存器
进行温度的上限与下限的 设置

数据处理
判断温度是否 相等?

温度显示
报警

(二) 、Proteus 电路仿真图

C1
33PF

C2 X1
33PF

LCD1
LM016L CRYSTAL

U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

18

XTAL2

R2
5K

C3
VEE VDD VSS

9 10uF

E RW RS

D7 D6 D5 D4 D3 D2 D1 D0

RST

U2
3 2 1 VCC DQ GND DS18B20 -24.0

R1
10k 29 30 31 PSEN ALE EA

14 13 12 11 10 9 8 7

6 5 4

3 2 1

1 2 3 4 5 6 7 8

Q1
MPS3638

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

LS1

SPEAKER

(三) 、DXP 原理图

- 24 -

1

U

6

0 B B VEE

V

2

1
2 D G R VSS L D R W D D D D D D D L K E 0 S A D N 7 6 5 4 3 2 1 D

2
1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1

3
6 5 4 3 2 1 0 3 C 3 0 2 0 p p A F B C F

C

1

4
VCC VCC

5
1

2

6
G

XTAL

Y

1
N

(四) 、DXP PCB 图

40

1

7
D 1 R C

2

39
0 1 1 K

3

8
0 u F

3

38

9

4

37
3 3 2

1

1

1 10
8 7 6 5 4 3 2 1 1 0 9

9

8

9

5
AT89X

36

U

11
1 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 E ALE PSEN RST XTAL2 XTLA1 A

6

35

12

2
7 34

13

8

33

14
P3.3/INT1 P3.1/TXD P3.0/RDX P3.2/INT0 P3.6/WR P2.0/A15 P3.7/RD P3.5/T1 P3.4/T0

P0.7/AD7

P0.6/AD6

P0.5/AD5

P0.4/AD4

P0.3/AD3

P0.2/AD2

P0.1/AD1

P0.0/AD0

P2.6/A14

P2.5/A13

P2.4/A12

P2.3/A11

P2.2/A10

P2.1/A9

P2.0/A8

9

32

15

2
31 10

16

30
1 1 1 1 1 7 6 5 4 3

11
1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 2 1 0 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9

1
29
A B C

12
VCC

28

13
5 R

贵州电子信息职业技术学院

没有铺地的 PCB 图

- 25 27 26 15 14

k 2 G

N

D

SW-PB

S

1 1

2

3

1
DS18B20 Q 1

25 24 17

16
G N D SW-PB S DS18B20

D

V

Q

D

D

2
1
23 18

2

DALLAS

2

22 21 20

19

SW-PB

S

3

VCC

1 2 1 2
PNP Q 2 G

1
N D

2
1

2

2

2 3 1 1

2

2

1
3

1
Speaker

LS1

贵州电子信息职业技术学院

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

2 2 1

1

1

2

3

1

2

2

1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

1

2

3

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

22

21

2

1

1

2

2

1

1

2

1

2

2

1

铺地的 PCB 图 (五) 、Keil 仿真程序 AJB1 DQ RS RW E LB AJ1 AJ2 AJ3 BIT 00H

BITP2.0 BITP3.5 BITP3.6 BITP3.7 BIT BIT BIT BIT P3.1 P3.2 P3.3 P3.4

;LCD RS=P3.5 ;R/W=P3.6 ;E=P3.7 ;喇叭 ;按键 1 ;按键 2 ;按键 3

LCD_3 EQU 32H LCD_2 EQU 33H LCD_1 EQU 34H LCD_0 EQU 36H TEMP_DATA_L EQU 30H TEMP_DATA_H EQU 31H JRSZ TEMP_L1 TEMP_L2 TEMP_H1 TEMP_H2 EQU 3EH EQU 3CH EQU 3DH EQU 3AH EQU 3BH

- 26 -

贵州电子信息职业技术学院

ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV MOV MOV MOV MOV MOV MOV MOV JRSZ,#00H 35H,#2EH 37H,#0DFH 38H,#43H TEMP_H1,#3 TEMP_H2,#0 TEMP_L1,#2 TEMP_L2,#5

START2: MOV CALL MOV CALL MOV CALL MOV CALL MOV CALL

P1,#01H ENABLE P1,#38H ENABLE P1,#0CH ENABLE P1,#80H ENABLE DPTR,#TABLE1 WRITE1

;清除屏幕 ;写到指定寄存器 ;功能设定(8 位,2 行,5*7 点阵式) ;写到指定寄存器 ;显示器 ON,光标 OFF,闪烁 OFF ;写到指定寄存器 ;第一行起始地址 ;写到指定寄存器 ;到 TABLE1 取码并写到数据寄存器

START: ACALL READ_T ACALL CONVERT_T ACALL DISPLAY ACALL AJCX ACALL WDSX MOV A,JRSZ CJNE A,#01H,START ACALL SZCSH START1: ACALL SZXS ACALL AJAX ACALL AJCX ACALL AJFK MOV A,JRSZ CJNE A,#05H,START1 MOV JRSZ,#00H

- 27 -

贵州电子信息职业技术学院
SJMP START2 ;************************************* ; 初始化 DS18B20 ;************************************* DS18B20_INIT: SETB DQ NOP NOP CLR DQ MOV R7,#9 INIT_DELAY: CALL DELAY60US DJNZ R7,INIT_DELAY SETB DQ CALL DELAY60US CALL DELAY60US MOV C,DQ JC ERROR CALL DELAY60US CALL DELAY60US CALL DELAY60US CALL DELAY60US RET ERROR: CLR P2.0 SJMP DS18B20_INIT RET ;************************************** ; 读 DS18B20 一个字节程序 ;************************************** READ_BYTE: MOV R7,#08H SETB DQ NOP NOP LOOP: CLR DQ NOP NOP NOP SETB DQ MOV R6,#07H DJNZ R6,$ MOV C,DQ CALL DELAY60US RRC A SETB DQ DJNZ R7,LOOP

- 28 -

贵州电子信息职业技术学院
CALL DELAY60US CALL DELAY60US RET ;***************************************** ; 写 DS18B20 程序 ;***************************************** WRITE_BYTE: MOV R7,#08H SETB DQ NOP NOP LOOP1: CLR DQ MOV R6,#07H DJNZ R6,$ RRC A MOV DQ,C CALL DELAY60US SETB DQ DJNZ R7,LOOP1 RET DELAY60US:MOV R6,#1EH DJNZ R6,$ RET ;****************************************** ; 读温度程序 ;****************************************** READ_T: CALL DS18B20_INIT MOV A,#0CCH CALL WRITE_BYTE CALL DELAY60US CALL DELAY60US MOV A,#44H CALL WRITE_BYTE CALL DELAY60US READ_T1:CALL DS18B20_INIT MOV A,#0CCH CALL WRITE_BYTE CALL DELAY60US MOV A,#0BEH CALL WRITE_BYTE CALL DELAY60US CALL READ_BYTE MOV TEMP_DATA_L,A CALL READ_BYTE

- 29 -

贵州电子信息职业技术学院
MOV TEMP_DATA_H,A RET ;******************************************** ; 处理温度数据程序 ;******************************************** CONVERT_T: MOV A,TEMP_DATA_H ANL A,#80H JZ TEMPC1 CLR C MOV A,TEMP_DATA_L CPL A ADD A,#01H MOV TEMP_DATA_L,A MOV A,TEMP_DATA_H CPL A ADDC A,#00H MOV TEMP_DATA_H,A MOV A,TEMP_DATA_L ANL A,#0FH MOV DPTR,#TABLE3 MOVC A,@A+DPTR MOV LCD_0,A MOV A,TEMP_DATA_L ANL A,#0F0H SWAP A MOV TEMP_DATA_L,A MOV A,TEMP_DATA_H ANL A,#0FH SWAP A ORL A,TEMP_DATA_L MOV B,#100 DIV AB MOV LCD_3,#2DH;'-' SJMP TEMPC2 TEMPC1: MOV A,TEMP_DATA_L ANL A,#0FH MOV DPTR,#TABLE3 MOVC A,@A+DPTR MOV LCD_0,A MOV A,TEMP_DATA_L ANL A,#0F0H SWAP A MOV TEMP_DATA_L,A MOV A,TEMP_DATA_H

- 30 -

贵州电子信息职业技术学院
ANL A,#0FH SWAP A ORL A,TEMP_DATA_L MOV B,#100 DIV AB MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV LCD_3,A TEMPC2: MOV A,#10 XCH A,B DIV AB MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV LCD_2,A MOV A,B MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV LCD_1,A RET ;************************************** ; 按键程序 ;************************************** AJCX : MOV A,P3 ORL A,#11100011B CJNE A,#0FFH,AJS1 CLR AJB1 RET AJS1 : JB AJB1,AJS11 ACALL YSCX MOV A,P3 ORL A,#11100011B CJNE A,#0FFH,AJS2 AJS11 : RET AJS2 : JB INC AJS3 : JB ACALL AJS4 : JB ACALL AJS5 : SETB AJSN : RET YSCX : MOV AJ1,AJS3 JRSZ AJ2,AJS4 ZDZI1 AJ3,AJS5 ZDZJ1 AJB1

R4,#02H

- 31 -

贵州电子信息职业技术学院
TS1 : MOV DJNZ DJNZ RET R5,#00H R5,$ R4,TS1

AJAX:

AJA1: AJFK:

MOV A,P3 ORL A,#11100011B CJNE A,#0FFH ,AJA1 SJMP AJAX RET

MOV A, P3 ORL A,#11100011B CJNE A,#0FFH,AJFK CLR AJB1 RET ;*************************************** ; 指定值加一 ;*************************************** ZDZI1 : MOV A , JRSZ ADD A , #39H MOV R1 ,A INC @R1 MOV A , @R1 CJNE A , #0AH , ZDZIN MOV @R1 , #00H ZDZIN : RET ;*************************************** ; 指定值减一 ;*************************************** ZDZJ1 : MOV A , JRSZ ADD A , #39H MOV R1 ,A DEC @R1 MOV A , @R1 CJNE A , #0FFH , ZDZJN MOV @R1 , #09H ZDZJN : RET ;************************************** ; 显示程序 ;************************************** DISPLAY:MOV P1,#0C0H CALL ENABLE

- 32 -

贵州电子信息职业技术学院
CALL RET ENABLE: CLR CLR CLR CALL SETB E RET WRITE3

RS RW E DELAY

;RS=0,写到旨令寄存器 ;R/W=0 ;E=1--0 使能 ;调用延时子程序 ;E=1 禁止

WRITE1: MOV R1,#00H A1: MOV A,R1 MOVC A,@A+DPTR CALL WRITE2 INC R1 CJNE A,#00H,A1 RET WRITE3: MOV MOV A2: MOV ACALL INC R1 DJNZ MOV RET R2,#7 R1,#32H A,@R1 WRITE2 R2,A2 R2,#7

;取码指针 ;到 TABLE 取码 ;调用写入到数据寄存器子程序 ;取码指针加 1 ;是否取到结束码 00H

;显示 8 位 ;从左至右显示

;地址减 1 ;8 位是否显示完

WRITE2: MOV P1,A ;将数据码写入数据寄存器 SETB RS ;RS=1 CLR RW ;R/W=0 CLR E ;E=1--0 使能 CALL DELAY SETB E ;E=1 禁止 RET ;*********************************** ; 设置显示 ;*********************************** SZXS : MOV DPTR,#TABLE2 MOV P1,#0C2H ;第一行起始地址 CALL ENABLE ;写到指定寄存器 MOV A,TEMP_H1 MOVC A,@A+DPTR ACALL WRITE2 MOV A,TEMP_H2

- 33 -

贵州电子信息职业技术学院
MOVC ACALL A,@A+DPTR WRITE2 ;第一行起始地址 ;写到指定寄存器

MOV P1,#0CAH CALL ENABLE MOV A,TEMP_L1 MOVC A,@A+DPTR ACALL WRITE2 MOV A,TEMP_L2 MOVC A,@A+DPTR ACALL WRITE2 MOV MOV MOVC MOV CALL RET A,JRSZ DPTR,#TABLE4 A,@A+DPTR P1,A ENABLE

;第一行起始地址 ;写到指定寄存器

DELAY: MOV R4,#05 D1: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,D1 RET SZCSH: MOV P1,#01H CALL ENABLE MOV P1,#38H CALL ENABLE MOV P1,#0FH CALL ENABLE MOV P1,#80H CALL ENABLE MOV DPTR,#TABLE0 CALL WRITE1 RET ;************************************* ; 温度识别 ;************************************* WDSX : MOV A,LCD_2 ANL A,#0FH MOV B,#0AH MUL AB MOV R2,A

;延时子程序

;清除屏幕 ;写到指定寄存器 ;功能设定(8 位,2 行,5*7 点阵式) ;写到指定寄存器 ;显示器 ON,光标 OFF,闪烁 OFF ;写到指定寄存器 ;第一行起始地址 ;写到指定寄存器 ;到 TABLE1 取码并写到数据寄存器

- 34 -

贵州电子信息职业技术学院
MOV ANL ADD MOV MOV MOV MUL ADD MOV MOV MOV MUL ADD MOV CLR MOV SUBB JNB CLR RET WDS1: MOV SUBB JNB CLR RET WDSN: SETB RET A,LCD_1 A,#0FH A,R2 R2,A A,TEMP_H1 B,#0AH AB A,TEMP_H2 R3,A A,TEMP_L1 B,#0AH AB A,TEMP_L2 R4,A CY A,R3 A,R2 CY,WDS1 LB

A,R2 A,R4 CY,WDSN LB LB

TABLE0: DB 'ceiling floor ',00H TABLE1: DB 'Temperature is :',00H TABLE2: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,3AH TABLE3: DB 30H,31H,31H,32H,33H,33H,34H,34H,35H,36H,36H,37H,38H,38H,39H,39H TABLE4: DB 0C0H,0C2H,0C3H,0CAH,0CBH END

- 35 -


更多相关文档:

电子信息工程专业毕业设计题目大全

电子信息工程专业毕业设计题目大全_工学_高等教育_教育专区。给想写论文的童鞋们...的设计 102、串行频率合成器应用设计 103、I2C 总线应用设计 104、媒体压缩技术...

本科.电子信息工程毕业设计题目大全

本科.电子信息工程毕业设计题目大全_工学_高等教育_教育专区。电信工程专业 设计...31、触摸眨眼音乐娃娃的设计与制作 近年来, 随着科学技术的不断发展和人们生活...

电子信息工程专业常见毕业设计题目简介

电子信息工程专业常见毕业设计题目简介_信息与通信_工程科技_专业资料。1、光电式...36、超宽带信号发生器设计 超宽带技术(UWB)是一种新的无线电技术,在无线通信...

电子信息工程毕业设计题目大全

电子信息工程毕业设计题目大全_工学_高等教育_教育专区。电子信息工程 通信工程 电子信息科学与技术 电子科学技术 1 压力容器液位测量 2 多功能遥控小车 3 基于 RS...

电子信息工程毕业论文范文

电子信息工程毕业论文范文_工学_高等教育_教育专区。12 届 分类号:TP213 单位...(院) 王金全 200807840119 2008 电子信息科学与技术 理学院 刘怀强 指导教师 ...

电子信息工程技术毕业设计论文

电子信息工程技术 编号 湖南科技经贸职业学院电子信息工程系 毕业设计报告 设计题目: 设计题目:数字温度日历表设计 选题类型: 选题类型:程序设计类 专学学 业: 号...

电子信息工程毕业设计论文

电子信息工程毕业设计论文_信息与通信_工程科技_专业资料。参考基于AT89S51 单片机...2005 级 指导老师:唐正明 摘要:本设计以数字集成电路技术为基础,单片机技术为...

电子信息工程技术毕业设计

7页 免费 电子信息工程毕业论文 20页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...

电子信息工程毕业设计论文

毕业设计 (论文)方波信号波形合成电路 方波信号波形合成电路 专业年级 2007 电子信息工程 学姓号名 20072321 周兴平 张秀平 指导教师 评阅人 2011 年 6 月 中国...

电子信息工程毕业论文(带程序)

电子信息工程毕业论文(带程序)_工学_高等教育_教育专区。毕业论文 ...第一章 绪论 1.1 目的和意义现代社会已经迈上了信息化的步伐,微电子技术的发展...
更多相关标签:
电子信息工程毕业设计 | 电子工程毕业设计 | 机械电子工程毕业设计 | 设计类作品集 | 网页设计是什么专业 | 应用电子技术毕业设计 | 电子工程系毕业设计 | 电子技术毕业设计题目 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com