车窗升降控制器地研究设计.doc

上传人:一*** 文档编号:811219 上传时间:2019-07-16 格式:DOC 页数:48 大小:1.20MB
返回 下载 相关 举报
车窗升降控制器地研究设计.doc_第1页
第1页 / 共48页
车窗升降控制器地研究设计.doc_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《车窗升降控制器地研究设计.doc》由会员分享,可在线阅读,更多相关《车窗升降控制器地研究设计.doc(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、自动车窗升降控制器的设计与制作摘 要:车窗是汽车必不可少的重要部件,早期的汽车采用传统的手动升降车窗。90 年代中期以来,汽车车窗控制器的控制技术发展迅速,电子模块控制形式大量应用于批量装车,并设有安全保护装置。现在许多轿车门窗玻璃的升降使用的是价格低廉、性能稳定的单片机作为集成模块控制器进行控制。据此本次设计也是以 STC89C52RC 单片机作为核心控制器,L9110 芯片为电机驱动,带有温度检测以及状态显示的车窗升降控制器。通过 5V 小功率电机的正反转、停止以及自动上升功能,模拟车窗的升降以及车辆停车熄火时车窗自动关闭控制功能。采用单片机作控制核心不仅价格低廉而且性能稳定,电路简单。关

2、键词:单片机;直流电机;车窗升降;温度检测Design and manufacture of automatic window lift controllerAbstract: Windows are important and indispensable parts for automobiles, early cars used traditional manually lift window. Since the mid 90, rapid development of control technology of automobile window controller, electro

3、nic control module forms widely used in bulk loading, and are equipped with safety devices. Now many car window glass lift is used as cheap, stable performance of the single chip microcomputer integrated control module controller. This design is also STC89C52RC SCM as the core controller, L9110 chip

4、 for motor drive, with temperature detection and State display window lift controller. 5V low power motor reverse, stop, as well as an automatic rise function, when a simulating movements in the car window and vehicle parking stall window closes automatically control functions. Using single-chip mic

5、rocomputer controlled core not only low prices but stable performance, simple circuit.Keywords: microcontroller;DC motor ;window lift;temperature detection目 录第 1 章 绪论.11.1 选题意义.1 1.2 自动车窗升降控制器的发展历程.1 1.3 本文主要研究内容.2第 2 章 系统元件选择与论证.32.1 单片机选择与论证.3 2.2 电机驱动芯片选择与论证.4 2.3 温度传感器筛选与论证.4 2.4 显示器选择与论证.4 2.5

6、系统方案设计.5第 3 章 硬件电路设计.63.1 硬件系统总体设计.6 3.2 STC89C52RC 微处理器核心电路. .6 3.2.1 STC89C52RC 单片机简介. .6 3.2.2 晶振电路.8 3.2.3 单片机复位电路.9 3.2.4 单片机总体硬件电路设计.9 3.3 电源输入电路.10 3.4 L9110 电机驱动电路. .11 3.4.1 L9110 芯片.11 3.5 1602 液晶显示器电路. .12 3.5.1 1602 液晶显示器. .12 3.5.2 1602LCD 电路设计.14 3.6 DS18B20 数字温度传感器电路. .15 3.6.1 DS18B2

7、0 的主要特征.15 3.6.2 工作原理及应用.15 3.6.3 DS18B20 数字温度传感器电路设计. .17 3.7 按键模块设计.17第 4 章 软件程序设计.184.1 C 语言在单片机中的应用.184.1.1 文件包含处理.18 4.1.2 单片机引脚定义.19 4.2 主程序流程图设计.19 4.3 DS18B20 传感器模块程序设计. .20 4.4 LCD1602 模块程序设计.22第 5 章 软硬件调试.315.1 硬件调试.31 5.2 软件程序调试.32 5.3 软硬件联调.32结语.33参考文献.34致 谢.36附录 1 硬件电路原理图.37附录 2 元器件清单.3

8、8附录 3 源程序清单.39附录 4 硬件实物图.42第 1 章 绪 论1.1 选题意义车窗是汽车必不可少的重要部件。它不仅可以遮风挡雨,为驾驶人提供足够的视角来安全的行车而且调节车窗的开度可以使车内的温度,湿度和气压适应驾驶人和乘客。当汽车高速行驶时,车窗打开必然要提高汽车的风阻系数1从而使车辆的用油量变多,而且风产生的噪音会对驾驶人和乘客的听力造成一定的破坏。同时一旦发生意外打开的车窗也成为隐患,不利于保护乘客。当汽车低速行驶时,车窗的开度需要不断地调整来满足乘坐舒适的需要。鉴于以上原因,车窗的开度不时需要调节。为了使车窗可以自由调节开度以及操作更加简便灵活车窗升降控制器就成了控制车窗的关

9、键部件。目前大多数汽车制造商制造的汽车都会有车窗升降控制器,车窗的升降功能已经是汽车的标准功能之一。我相信没有哪个消费者会购买一款没有车窗升降功能的汽车。综上所述,自动车窗升降控制器关系到驾驶人和乘客的舒适度和健康,行车安全以及车辆的行驶成本等等。1.2 自动车窗升降控制器的发展历程早期的汽车采用传统的手动升降车窗。欧洲的一些豪华汽车制造商于二十世纪八十年代后期将自动窗户控制器首次应用于他们制造的汽车上,经过几十年的发展,其应用技术已相当成熟。目前国内许多车辆也有这样的配置,它的设计思想是将汽车车窗的平常工作状态和停止状态输入的模拟信号进行A/D转换,把读取的数字信号存储在存储器(ROM)内,

10、通过一个特定的微处理器匹配窗户自动关闭时与正常工作时信号的差别,再通过程序编写来控制电机的旋转2。因为整个过程是连续依次的,可以确保电池没有在充电状态下放电,所以电池和电机能够高效,安全的工作。现在通过微控制器控制车窗已经普及,实现的功能也多种多样,我相信将来的车窗控制器会更加人性化,智能化。1.3 本文主要研究内容本次设计是以STC89C52RC单片机为核心控制器,主要研究内容如下:(1) 熟悉STC89C52RC单片机的引脚功能及其硬件外围电路和软件程序的设计。(2) 直流电机驱动芯片L9110的了解,运用以及该芯片电路图的绘制,LCD1602的运用和温度传感器DS18B20的运用。(3)

11、 硬件电路设计遵循布局合理简单,易于实现,简单实用的原则,使系统的抗干扰性能以及各项技术指标都达到设计要求。(4) 学习,研究高级语言 C 语言在单片机中的应用。(5) 硬件模块的仿真,软件程序的调试以及程序下载到 STC89C52RC 单片机中运行。第2章 系统元件选择与论证本次设计会使用到单片机、传感器、电机驱动芯片、LED/LCD、独立按键等元件。所以在使用何种型号的元件的问题上有必要进行选择和论证。所以,系统的元件选择应在顺应自动车窗升降控制器功能的前提下,以控制器所处的环境条件为参考,所设计的各个硬件模块电路不仅要符合设计要求的技术参数而且要完成相应的功能。元器件的选择不仅要考证其实

12、用性而且要满足易于购买,参数合适,性能稳定,功耗低,成本低廉的特点3。2.1 单片机选择与论证从处理能力的角度来看,AT系列微控制器分为基本和增强两个种类。两种类型的单片机区分主要是从芯片的末位数字1和2来判定。若末位数字是1,就代表该单片机为基本型。基本的单片机内含4字节的掩膜ROM,128位的RAM,2个16位定时器/计数器,5个中断源,4个并行口和1个串行口。若末位数字是2,就代表该单片机为增强型。增强型单片机拥有8字节掩膜ROM,256位的RAM,3个16位的定时器/计数器,6个中断源,4个并行口和1个串行口4。由以上内容可知增强型单片机较基础型有以下优势:(1) 片内ROM增加了4K

13、B的存储空间。(2) 片内数据存储器提高了128位的存储空间,可以处理更多的数据。(3) 定时器/计数器从2个增加到了3个,在串行通信中可以设置更高的波特率。(4) 中断增加了1而且增加1个看门狗增强型还在数据指针和断电保护等方面有些进步。(5) 增强型最高时钟频率可达33MHz,基础型大抵只有24MHz5。当前市场上的AT89C51已经停销,取代它的是具有ISP能力的S系列单片机。相比于C系列S51/52具备系统编程功能(ISP)。考虑到够买器件的价格和难易度,本次设计选择购买宏晶科技公司生产的STC89C52RC单片机。2.2 电机驱动芯片选择与论证众所周知单片机是5V供电,工作电流很小。

14、本次设计购买的直流电机工作电流在1.5A左右,如果直接将直流电机接在单片机上会造成动力不足,过小的电流时电机不能转动。这时需要电机驱动来提供足够的电流使直流电机能够正常工作。而且电机工作时会产生扰动,扰动电流会影响控制器件的正常工作甚至遭到损坏。电机驱动芯片可以很好的解决这个问题6。由于单片机是5V供电而且本次设计不需要大功率直流电机,所以选择的是5V供电的小型直流电机。那么,选择电机驱动芯片时不需要太大的电压范围和工作电流,所以本次设计选择了L9110电机驱动芯片。2.3 温度传感器筛选与论证因为本次设计中有测温的附加功能,所以需要用到温度传感器。温度传感器的种类很多,从测量点上看有接触式和

15、非接触式两大类。从温度传感器的出现发展到现在大体包含四个种类:热电偶、热敏电阻、电阻温度传感器和IC温度传感器。这四个种类中的IC温度传感器根据输出方式的不同又可以分为:模拟输出和数字输出两种种类7。本次设计是以单片机为核心控制器的,温度传感器的选择上还是数字输出型的IC传感器更为方便,简单,对于后续程序设计也大大减少了工作量。当前市场上的IC温度传感器还是以美国DALLAS半导体公司的DS18B20传感器为主。它不仅是数字输出型的还是单总线型的,也就是说它与单片机的接口只有一根线,硬件电路十分简单。2.4显示器选择与论证显示部分可以使用数码管或液晶显示芯片。但是若使用数码管的话电路接线太过复

16、杂而且软件设计也会大大增加难度,所以这次我选用了1620液晶显示器。液晶显示器相比于其他显示器有很多优点:功率小耗能低、小巧玲珑、可以显示字符及图形、厚度小,由于以上优点使它在各种仪器仪表和小型低功率系统中大放异彩。液晶显示器又有字符型和图形型之分,顾名思义字符型可以显示字符;图形型可以显示图形。液晶显示器有单行十六字的;也有两行十六字的;两行二十字的8。1620是一种通用模块。与数码管相比该模块有如下优点: 1.位数多,可显示32位,32个数码管体积相当庞大了 2.显示内容丰富,可显示所有数字和大、小写字母 3. 程序很简单,如果使用数码管动态显示,将需要大量的时间来刷新显示,而1602的自

17、动完成功能。2.5 系统总体方案设计按下控制开关,控制开关和温度传感器将命令或信号传送给单片机,单片机接收到信号后通过程序的执行再发出控制命令,电机驱动电路连接在单片机和电机之间,能够采集直流电机的电流将其作样本,把样本信号传送给单片机中的AD转换采样模块,单片机处理采样信号后发出控制指令返回给电机执行,电机就可以进行相应的动作所以才能控制玻璃的升降运动。液晶显示器也是通过单片机中的程序执行来显示相应的字符。STC89C52单片机温度传感器 测温车窗按键电机驱动直流电机电机状态显 示图2-1 自动车窗升降控制器总体设计框图第3章 硬件电路设计3.1 硬件系统总体设计本系统的硬件主要由STC89

18、C52RC单片机核心电路、1602液晶显示器电路、DS18B20数字温度传感器电路、电源电路以及L9110电机驱动电路和5V直流电机组成。以下是硬件结构框图。单片机核 心电路L9110电机驱 动电路1602液晶显 示器电路DS18B20数字温 度传感器电路电源电路5V直流电机图3-1 自动车窗升降控制器硬件结构框图3.2 STC89C52RC微处理器核心电路3.2.1 STC89C52RC单片机简介STC89C52RC是宏晶科技生产的最新单片机,该单片机有处理速度快、功率小能耗低、抗扰动性能强的特点。它的控制指令标示符是和传统AT系列8051单片机兼容的。它还有十二时钟/机器周期和六时钟/机器

19、周期两个工作频率,用户可以随意挑选。主要特性如下: (1)5V单片机工作电压范围是3.3V到5.5V。(2)其工作频率范围为040MHz。(3)拥有片内ROM8KB,片内512BRAM。(4)共有输入/输出口有32个,当清零后为:P14口是准双向口,P0口是集电极开路输出,当P0口接上拉电阻起输入/输出口作用,当P0口不接上拉电阻时作总线扩展用。(5)ISP/IAP,与普通的单片机不同的是它可以直接通过预留的引脚下载软件,不需要编程器和仿真器节省了很多资源。(6)拥有3个16位定时器/计数器。 (7)它拥有四个外部中断源,时钟下降沿触发中断并进入掉电模式9。 图 3-2 STC89C52RC

20、引脚图STC89S52RC 引脚功能说明:VCC:电源GND:接地P0 口:P0 口可以作一个八位漏极开路的双向 I/O 口使用或者作为低八位地址/数据总线使用。当 P0 口作双向 I/O 口时,每个口能驱动八个肖特基门。当调用外部存储器时,P0 口开始作为低八位地址总线,然后再作为双向数据总线使用,这时需要外接一个地址锁存器。在这个分时复用的情况下,P0 具有内部上拉电阻。P1 口:P1 口和 P2 口在数据输入功能上相同。对 P1 端口写“1”时,其中内部的上拉电阻把端口的电平拉高,这时 P1 口承担着输入口的作用。当作其作为输入口使用时,内部的高电平电阻和外部的低电平引脚产生压降,这个压

21、降便输出了一个电流。此外,P1.0 和 P1.2 引脚具有复用功能,当作触发输入和外部计数输入时它们可以单独作为定时器/计数器 2(P1.0/T2)和定时器/计数器 2(P1.1/T2EX)。P2 口:P2 口和 P1 口在数据输入功能相同。但 P2 口在访问外部程序存储器或用 16 位地址读取外部数据存储器时,P2 口送出高八位地址。在使用八位地址访问外部数据存储器功能时,P2 口的内容被锁存在整个访问期间都不会改变。P3 口:P3 口和 P1 口一样有一般 I/O 口所具有的功能和特点,但它也有一些复用功能。如 P3.0:RXD(串行输入口),P3.1:TXD(串行输出口),P3.2:外部

22、中断 0,P3.3:外部中断 1,P3.4:定时器 0 的外部输入,P3.5:定时器 1 的外部输入,P3.6:外部存贮器的数据写选通,P3.7:存贮器数据的外部读选通。RST:复位端口。晶振工作时,在 RST 端口不间断给出两个时钟周期的高电平单片机就会清零。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。EA/VPP:片外程序存储器访问许可/编程电压输入引脚。在这个引脚上电平是零还是一决定了该引脚执行那个存储器里的程序。如果引脚上的电位是“1”,单片机从片内 R

23、OM 的 0000H 单元开始执行到 FFFFH 单元;如果引脚上的电位是“0”,单片机只从片外程序存储器中的初始单元开始运行程序。用户对单片机片内 flash 进行并行编程时,此引脚会接收到十二伏的编程电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端10。3.2.2 晶振电路微处理器的正常运行需要矩形脉冲信号来提供其内部各种微操作的时间准则。时钟信号的产生通常有两种,一种是内部振荡方式另一种是外部振荡方式。由于单片机内部自带振荡器反向放大器,为了电路简单此处选择采用内部振荡方式。内部振荡方式是在 XTAL1 和 XTAL2 之间接一个石英晶体

24、或陶瓷振荡器11,分别在两端接上一个电容来稳定振荡频率。晶振电路相当于一个电容和一个电阻并联再串联一个电容的二端网络。在这个网络中有两个谐振点,串联谐振是谐振频率较低的点,并联谐振是谐振频率较高的点。因为晶体自己本身的物理特点使串联谐振和并联谐振的差别不是很明显即频率大致相同,在这个极小的差距内,晶振就相当于一个电感。晶振可以选用 12MHz。单片机处理速度取决于最小系统的晶振频率,因此为了有更快的处理速度可以采用更高频率的晶振12。晶振负载电容一般使用 15 30pF,为了减少寄生电容,晶振和电容要尽可能靠近,单片机和晶振间也要尽可能近。这个取值是数据手册推荐的经验值。3.2.3 单片机复位

25、电路单片机在启动时都需要复位,来使单片机及各个部分都在初始时的工作状态。在单片机处在平时的工作状态和振荡器的稳定状态的时候,只需要在第 9引脚 RST 接个 2 毫秒的高电平就使单片机复位。上电复位只需要在复位端口上接个电容和电源,下端连接一个电阻和接地。在上电位复位操作的过程中,上电操作的时候,复位电路经电容来给复位端提供高电压,这高电压会跟着电容的作用而逐渐减弱。为了保证系统可靠地复位,高电平必须持续足够长的时间。复位电路使用的是十千欧的电阻和十微法的电容。在这样的参数下只需要0.1S的时间就能够使电容充电的容量达到电源电压的0.7倍。在微控制器运行0.1S中,电容的电压在03.5V增0加

26、。此时十千欧电阻两端的电压从51.5V反而在减少。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)13。上电复位电路的原理是单片机RST引脚接收到2uS以上的高电平信号,只要保证电容的充放电时间大于2uS,即可实现复位,所以电路中的电容值是可以改变的14。3.2.4 单片机总体硬件电路设计这部分是本系统的核心部分,提供了一个让单片机能够正常工作的最小电路。其中,上电复位电路是实现单片机的上电复位

27、功能(本电路不含手动复位按钮,断电开机等于复位) 。软件程序下载接口是现有的不需要购买编程器,STC89C52RC单片机拥有下载程序的专用接口。晶振电路是给单片机提供振荡信号的,而晶振旁的两个电容则是晶振的负载电容。单片机的P0口与其他接口不同,P0口是集电极开漏输出,原本就是低电平不能满足外围电路工作需求即没有高电平的驱动能力。为了给单片机外部电路一个高电平来驱动相应的功能模块需要加装一些电阻。这些电阻接在电源正极和单片机对应的P0口上,该电阻就叫上拉电阻。图3-3 STC89C52RC单片机电路3.3 电源输入电路图3-4 电源输入电路本部分是用于电源输入的,其中104电容起到的是去除干扰

28、的作用,而220uF电解电容是用于稳定输入电源用的。VCC即提供到系统各处的5V电压,通过限流电阻和电源灯实现电源接通的指示。3.4 L9110电机驱动电路3.4.1 L9110芯片L9110 是电机驱动芯片。它是两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片集成电路之中,使外围器件成本降低,整机可靠性提高。该芯片有两个 TTL/CMOS 兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 750800mA 的持续电流,峰值电流能力可达 1.52.0A; 同时它具有较低的输出饱和压降; 内置的钳位二极管能释放感性负载的反

29、向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110 被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上15。它具有以下特点: 低静态工作电流;宽电源电压范围;2.5V-12V;电流输出能力为每通道800mA;较低的饱和压降;TTL/CMOS 输出电平兼容,可直接连 CPU;输出内置钳位二极管,适用于感性负载;控制和驱动集成于单片 IC 之中;具备管脚高压保护功能;工作温度:0-80。 图3-5 电机驱动电路L9110的电机芯片根据数据手册中规定的操作时序,由IB和IA引脚共同决定转动状态,从而使L9110电机驱动芯片的OA和OB引脚分别输出不同

30、的电平组合而驱动电机进行正转或反转。L9110电机的3和4引脚都是接入VCC即5V的电源。电机上并联的104电容是吸收电机运转过程中发出的干扰,以免影响整体电路的稳定性。3.5 1602液晶显示器电路3.5.1 1602液晶显示器(1)液晶显示的原理液晶显示原理是液晶的物理性质的使用,电压控制显示区域,区域电压的不同就可以显示图形及字符。市场上销售的液晶显示器在个人电脑、智能手机、电视机、数字摄影机等众多领域都有应用。(2)液晶显示器的分类目前液晶显示器在市场上有各种各样的型号及种类,如果按照其显示器的工作方式分,可分为段式、字符式、点阵式等。LCD 不仅拥有显示黑白、彩色等各种颜色的能力,还

31、有可以根据外界光强调整灰度的功能。如果根据驱动方式来分,可分为静态驱动,单纯矩阵驱动和有源矩阵驱动三种。图 3-6 1602 液晶显示器引脚图引脚接口说明如表 3-1 所示:表 3-1 引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第 1 脚:VSS 为地电源。第 2 脚:VDD 接 5V 正电源。第 3 脚:VL 是用来调整液晶显示器对比度的端口,如果该引脚是高电平那

32、么对比度最小,如果是低电平对比度那么最高,不过对比度太高会产生重影不利于显示。第 3 脚能外接一个十千欧的电位器用来调整 LCD 的对比度。第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据16。第 6 脚:E 端为使能端,端口工作在下降沿,即下降沿时液晶电路运行指令。第 714 脚:D0D7 为 8 位双向数据线。第 15 脚:背

33、光源正极。第 16 脚:背光源负极。3.5.2 1602LCD电路设计图3-7 1602LCD电路图LCD电路原理图的设计主要是控制寄存器选择端、读写信号选择端及使能端的状态,双向数据线与单片机的双向I/O口之间的连接,另外就是液晶显示器的背光电源与驱动电源之间的连接以及对比度调节了。3.6 DS18B20数字温度传感器电路3.6.1 DS18B20 的主要特征最近美国的 DALLAS 半导体公司发布了一款改进型的智能温度传感器那就是 DS18B20 温度传感器。它是环境控制,设备或过程控制,温度类消费电子产品。传统的热敏电阻等元件测温后的值并不是温度值而是电阻值要想知道具体的温度还需要将电阻

34、值换算成温度值这样一来就特备麻烦。但是本次设计使用的传感器就没有这样复杂,它可以直接测出被测物体的温度,并且用户可以根据实际需求自行编程改变其数值读数方式。由 DS18B20 测量物体的温度是以数字信号在单总线中传送的,大大提高了测量的准确度减少了外部的扰动,对于一些控制环境比较差的场所该传感器也能够精确无误的测量。该传感器的工作电压在 3V 到 5V 之间,使系统设计更加灵活、方便17。其特征可概括如下:1、独特的单线接口仅需要一个端口引脚进行通信;3、采用了 3 线制与单片机相连,减少了外部硬件电路;4、零待机功耗;5、可通过数据线供电,电压范围在 3.0V-5.5V;6、用户可定义的非易

35、失性温度报警设置;7、对超温和搜索命令识别有报警功能; 8、当正负极接反时,传感器不会因反向电流作用而损坏,只是停止工作而已。9、全数字温度转换及输出。 10、拥有十二位分辨率,测量精度可达正负零点五摄氏度,精度非常高。 11、检测温度范围是零下五十五度到一百二十五度。 12、64 位光刻 ROM,内置产品序列号,方便多机挂接。 13、多样封装形式,适应不同硬件系统。3.6.2 工作原理及应用DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。它有温度检测和数据处理两个部分,而且这两个部分是在一个工作周期中完成的。DS18B20 作为一个温度传感器其的内部数据和程序

36、存储器资源也很充足。DS18B20 共有三种形态的存储器资源,它们分别是:(1)ROM 只读存储器,它拥有 64 位的存储空间用来储存 DS18B20 的程序代码,开始的八位是单线系列编码(DS18B20 的编码是 19H) ,后面四十八位是芯片独一无二的序列号,最后八位是以上五十六的位的 CRC 码(冗余校验) 。芯片在出厂时的设置用户不能自行随意改动。 (2)RAM 数据暂存器,DS18B20 内部 RAM 共 9KB。暂存器顾名思义就是内部运算输入/输出数据暂时存放的地方,这些数据不能永久保存在芯片中,芯片掉电时会自动丢失。前两个字节单元存放的是被测物体温度翻译后的数据代码信息,第三、四

37、个字节是用户非易失性存储器(常用于温度报警值储存)的镜像。在上电复位后非易失性存储器中的信息被清空。第五个字节则是用户的第三个非易失性存储器的镜像。第六、七、八字节为计数寄存器,这三个字节是内部运算结果和温度值转化的临时存储单元。另外这三个字节还可以提高温度检测的分辨率。最后一个字节为前八个字节的冗余校验码18。(3)EEPROM 非易失性存储器。它和 RAM 有本质区别,保存在 EPROM 中的数据不易丢失,适合将一些需要长时间不需改动的数据存放其中。如上下限温度报警值和校验数据。DS18B20 中共三位非易失性存储器,并在数据暂存器中都存在镜像,这些镜像可以方便使用者调取使用,大大简化了设

38、计。LSB位置/清除增加计数器 1斜率累加器计数比较器温度寄存 器减到 0预置计数器 2减到 0停止预置低温度系数晶振高温度系数晶振图 3-8 DS18B20 测温原理3.6.3 DS18B20 数字温度传感器电路设计DS18B20 数字温度传感器使用单总线协议传输,第二个引脚 DQ 接的是单片机的 P2.4 引脚。为了增强稳定性排除外部干扰,在 DQ 引脚处做上拉电阻处理,电阻阻值为 4.7K。第一脚是 VCC 引脚,第三脚是 GND 引脚。图3-9 DS18B20数字温度传感器电路设计3.7 按键模块设计本次设计用到了四个按键,其中一个用来模拟汽车车窗的行程开关,另外三个采用独立按键,如图

39、3-10所示S1为上升按钮,S2为下降按钮,S3为一键升降按钮。这三个独立按键分别连接在STC89S52RC的P1.13接口上。采用该此种接法电路简单易于检查错误,软件程序编写方便快捷也可节省单片机资源。图3-10 按键模块电路如上图所示S1为上升按键,用来控制电机正转;S2为下降按钮键,用来控制电机反转;S3为自动上升按键,用来模拟汽车停车落锁信号以控制电机连续正转。当车窗上升到一定高度(车窗触碰到行程开关,即模拟行程开关的按键按下时)直流电机停止转动。第4章 软件程序设计本次设计的自动车窗升降控制器是由单片机做核心控制器的所以必须要有程序来控制硬件的动作。因此软件设计业应当是和硬件电路模块

40、设计对应的。把整个系统分为几个模块分别进行编写、调试、运行。最后在用一个主程序把各个模块连接起来,实现最终的功能。模块化设计使主程序变得简单、清晰明了,使阅读和维护程序变得容易。模块化设计就像组装一台计算机一样,事先生产好各个部件,最后组装计算机时直接把做好的部件装上就好了这样使程序设计难度降低,思路更清晰,调试更方便同时增强了程序的可移植性。单片机已经出现了几十年最初的汇编语言也正在被高级语言取代,由于汇编语言复杂难以理解,目前已有大多数的人已经习惯使用高级语言开发,其中主要是以C语言为主,现在许多单片机制造厂家都开发了C语言开发环境19。4.1 C语言在单片机中的应用4.1.1 文件包含处

41、理文件包含其实是一个载体文件,此文件定义了一些常用函数和数据接口声明。简单来说就是将一个模块装载到另一个模块中,这样就可以在总模块中调用子模块的端口等。如下面一句程序:#include “reg51.h”这里程序中包含REG51.h文件。为了要确定使用的是STC89C52RC微处理器的端口而不是其它变量,此句程序即通知C编译器实现这样的目的。若开启 reg51.h 能够看到以下的内容:/* BYTE Register */ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; sfr ACC =

42、0xE0;等上述的P1P3等就是单片机中的I/O口,这里的赋值语句规定了符号名与地址的对应关系。如sfr P2 = 0xA0; 0xA0是对P2口地址的定义,P2端口地址为0xA0(0xA0是十六进制数的方法,C语言相当于汇编语言写的A0h)20。sfr是单片机中的特殊功能寄存器,而在标准C语言中并没有sfr关键字,为何sfr可以直接出现在C语言程序中呢?特殊功能寄存器能直接接入单片机是因为Keil提供了一种新的关键字,它的使用方法是:sfrt变量名=地址值。4.1.2 单片机引脚定义在 C语言里,引脚的定义不能直接引用单片机中的符号。比如直接写P2.1就是错误的。因为P2.1是一个不合法的C

43、语言的变量名,C编译器并不能识别,所以不能使用原来的标号需要重新定义,这里修改的变量名为P1_0,用关键字sbit来定义,对SBIT使用如下:第一种方法:sbit位变量名地址值第二种方法:sbit位变量名SFR名称变量位地址值第三种方法:sbit位变量名SFR地址值变量位地址值4.2 主程序流程图设计开始初始化定时器 和液晶显示器采集温度开机超过1秒显示温度上升按钮按下下降按钮按下NYNN电机下降并显示电机上升并显示上限开关未通自动按钮按下进入自动上升状态自动上升状态上限开关未通电机上升并显示YYYYYYN NNN停止电机并显示结束图4-1 主程序流程图4.3 DS18B20传感器模块程序设计DS18

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com