毕业设计(论文)无线遥测温度系统的设计_第1页
毕业设计(论文)无线遥测温度系统的设计_第2页
毕业设计(论文)无线遥测温度系统的设计_第3页
毕业设计(论文)无线遥测温度系统的设计_第4页
毕业设计(论文)无线遥测温度系统的设计_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、无线遥测温度系统的设计无线遥测温度系统的设计 摘摘 要要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中温度测控系统就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的智能数字式温度测控系统,它具有读数方便、测温范围广、测温准确、其输出温度采用数字显示等特点,主要用于室内环境温度检测与控制。本设计主要使用单片机 pic16f877a,测温传感器使用 ds18b20,用3个共阴极 led 数码管以动态显示方式实现温度显示

2、,能准确达到以上要求。 ds18b20温度传感器集温度测量和 a/d 转换于一体,具能够直接输出数量,与单片机接口电路简单等优点。因此,用 ds18b20温度传感器和单片机构成的温度测控系统具有市场推广价值关键词 单片机;ds18b20;传感器wireless temperature sensing system designabstractas people living standard rise ceaselessly, the single-chip microcomputer control is undoubtedly one of the goals of the people

3、to pursue, it brings convenience is negative, temperature measurement and control system is a typical example of it, but the demand is higher and higher to modern work, scientific research, and provide a better life more convenient facilities need from several single-chip microcomputer, all toward d

4、igital control system, intelligent control direction.the design of the intelligent digital temperature is introduced, and its control system with reading convenient, temperature range, temperature measurement accuracy, its output temperature using digital display, etc. mainly used in indoor environm

5、ent temperature measurement and control. this design using scm pic16f877a mainly temperature sensor ds18b20, use, with three of the cathode led digital display mode to realize dynamic tube temperature display, can reach above requirements.the temperature sensor ds18b20 set temperature measurement an

6、d a/d conversion, can directly in quantity, and scm output interface circuit is simple, etc. therefore, with the temperature sensor ds18b20 and temperature measurement and control system of the single market promotion value keywords mcu;ds18b20;sensor目目 录录1 绪论 .51.1 选题背景 .61.2 主要研究内容 .62 硬件理论基础 .72.

7、1 pic16f877a 单片机简介.72.1.1 单片机的发展 .72.1.2 pic 系列单片机特点 .72.1.3 pic16f877a 单片机性能 .82.1.4 pic16f877a 单片机外观及结构图 .92.2 pic16f877a 的输入/输出接口.102.2.1 pic16f877a i/o 端口内部结构.112.2.2 pic16f877a 基本输入/输出端口的工作原理.122.3 定时器/计数器 tmr0 .132.3.1 通用定时/计数器 timer0 模块.142.3.2 timer0 中断.152.3.3 使用带有外部时钟的 timer0 .152.3.4 预分频器

8、.152.4 模拟数字转换器 adc .152.4.1 a/d 转换器模块.162.4.2 a/d 转换器采集要求.202.4.3 选择 a/d 转换器时钟.202.4.4 设定模拟端口.212.4.5 a/d 转换 .212.4.6 在睡眠期间 a/d 操作.212.4.7 复位影响.222.5 pic16f877a 中断系统.222.5.1 pic16f877a的中断源.232.5.2 pic16f877a 的中断硬件逻辑.232.5.3 pic16f877a 中断的处理.242.6 pic16f877a 最小系统.262.7 mplab 集成开发环境软件包.273. ds18b20 温度

9、传感器简介.283.1 ds18b20 简述:.283.2 ds18b20 内部结构.283.3 ds18b20 的工作时序.293.4 ds18b20 与单片机的典型接口.314 无线收发模块 ptr2000 简介 .314.1 概述 .314.2 ptr2000 的主要特征.314.3 引脚排列及功能 .344.4 发送 .354.5 接收 .354.6 待机模式 .324.7 硬件连接 .364.8 应用 .374.9 软件编程注意事项 .375 软件系统设计程序 .395.1 软件运行流程 .395.2 软件运行程序 .395.2.1 接收程序 .395.2.2 发送程序 .43参 考

10、 文 献 .49附录 a.54英文文献 .54英文文献翻译 .611 绪论绪论随着“信息时代”的到来,作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其

11、性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文

12、利用单片机结合传感器技术而开发设计了这一温度监控系统。文中传感器理论单片机实际应用有机结合,详细地讲述了利用热敏电阻作为热敏传感器探测环境温度的过程,以及实现热电转换的原理过程。本设计应用性比较强,设计系统可以作为生物培养液温度监控系统,也可以做热水器温度调节系统、实验室温度监控系统等等。课题主要任务是完成环境温度检测,利用单片机实现温度调节并通过计算机实施温度监控。设计后的系统具有操作方便,控制灵活等优点。1.1 选题背景温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的

13、测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。随着电子技术和单片机技术的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用单片机技术对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。本设计即单片机技术对温度进行实时检测与控制.1.2 主要研究内容温度信息在某些工业生产中具有较为重要的地位,为了保障生产的顺利进行,我们必须实时监测温度的变化,同时为了适应一些恶劣环境,可利用无线网络进行信号传递。本课题拟采用 pic 单片机作为主控芯片

14、,单总线温度传感器 ds18b20 作为温度采集设备,ptr2000 作为无线传输模块,进行系统整合,通过程序实现无线温度传感系统。本课题着眼于培养系统整合能力,提高实践应用技能。2 硬件理论基础硬件理论基础此系统硬件平台是pic16f877a单片机开发板,pic系列单片机的硬件系统设计简洁,指令系统设计精炼;它不仅全部指令均为单字节指令,而且绝大多数指令为单周期指令,以利于提高执行速度;其运行速度远远高于其他相同档次的单片机.其体积小,功耗低,精简指令集 ,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好; 它可以实现在线调试和在线编程。因此,在此控制系统中,采用pic16f877a单片

15、机作为控制核心。2.1 pic16f877a单片机简介2.1.1 单片机的发展单片机的发展所谓单片机(single chip microcomputer),是指在一块芯片中集成有中央处理器(cpu)、存储器(ram和rom)、基本i/o接口以及定时器、计数器等部件,并具有独立指令系统的智能器件,即在一块芯片上实现一台微型计算机的基本功能。特点是:体积小,控制功能强,性价比高等。单片机经历初级阶段(1971-1974),低性能单片机阶段(1974-1978),高性能单片机发展阶段(1978-1983)以及提高阶段(1983-现在),1983年intel公司推出mcs-96系列的16位单片机,而在

16、这个时期,motorola、intel、atmel、ti、三菱、日立、飞利浦等公司推出了许多增强型的8位单片机、16位单片机,甚至32位单片机,出了非常多的新型单片机,极大地推动了单片机的应用。现代社会中单片机有着广泛的应用领域。随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(dsp,digital signal processor)等领域。2.1.2 pic 系列单片机特点系列单片机特点pic16f877a 是由 microchip 公司所生产开发的新产品,属于 picmicro 系列单片微机,具有 flash program 程序内存功

17、能,可以重复烧录程序,适合教学、开发新产品等用途;而其内建 icd(in circuit debug)功能,可以让使用者直接在单片机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速地进行程序除错与开发。 pic16f877a 单片机除了具备体积小 、集成度高、价格低、性能强、速度块、可靠性高等优点之外,它还有它的优越之处:(1)哈弗总线结构,提高cpu执行指令的速度(2)精简指令集(risc)技术,以利于提高执行速度(3) 寻址方式简单,代码压缩率高,运行速度高(4) 功耗低,驱动能力强(5)i2c和spi串行总线端口(6)外接电路简洁,因为pic系列单片机内集成了上电复

18、位电路,i/o引脚上拉电路,看门狗定时器等,可以最大程度地减少或免用外接器件2.1.3 pic16f877a 单片机性能单片机性能pic16f877a单片机的性能;1)具有高性能pisc cpu ;2)仅有35条单字指令; 3)除程序分支指令为两个周期外,其余均为单周期指令;4)运行速度: dc-20mhz时钟输入dc-20ns指令周期5)8k*14个flash程序存储器368*8个数据存储器(ram)字节256*8eeprom数据存储器字节; 6)中断能力(达到14个中断源); 7)8级深度的硬件堆栈; 8)直接,间接和相对寻址方式; 9)上电复位(por),上电定时器(pwrt)和振荡启动

19、定时器(ost); 10)监视定时器(wdt),它带有片内可靠运行的rc振荡器11)可编程的代码保护,低功耗睡眠方式; 12)可选择的振荡器13)低功耗,高速cmos flash/eeprom工艺14)全静态设计,在线串行编程(icsp)15)单独5v的内部电路串行编程(icsp)能力 处理机读/写访问程序存储器16)运行电压范围 2.0v到5.5v17)高吸入/拉出电流范围18)低功耗 -在5v,4mhz时典型值小于2ma -在3v,32khz时典型值小于20ua -典型的稳态电流值小于1ua2.1.4 pic16f877a 单片机外观及结构图单片机外观及结构图本设计无线遥测温度系统选用的单

20、片机型号为pic16f877a。pic16f877a外形图如图2.1所示:图2.1 pic16f877a外形图pic16f877a结构图如图2.2所示:图2.2 pic16f877a结构图2.2 pic16f877a的输入/输出接口 输入/输出接口(也可简称为i/o端口)是单片机与外设交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界传送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。在pic16f877a单片机中,28脚封装的型号具有3个输入/输出端口,40脚封装的pic16f877a型号具有5个输入/输出端口.由于pic16f87x属于8

21、位单片机,因此每个端口都是数量不超过8条的端口引脚构成.每个端口中的每条引脚都可以用软件的方式,由用户按需要单独编程,设定为输出引脚或者输入引脚.pic16f877a单片机40脚有5个端口,分别是ra,rb,rc,rd和re。ra包含6根引脚,re包含3根引脚,rb,rc和rd都包含8根引脚。其中有些引脚i/o引脚和单片机内部的某些功能部件或(i/o模块之外的)其他外围模块的外接信号线进行了复用。也就是说,既可以作为普通i/o引脚,又可以作为某些功能部件或外围模块的外接引脚,并由用户以软件方式定义。例如,端口rc中的引脚rc4既可用作一般的输入/输出引脚,又可以作为spi串行通信模式的数据输入

22、引脚,海可以作为i2c串行通信模式的数据双传送引脚。集3种功能于一脚,这样就可以给用户开发不同的具体项目带来极大的灵活性和便利。2.2.1 pic16f877a i/o 端口内部结构端口内部结构 pic16f877a的5个端口ra,rb,rc,rd和re之间不仅存在内部结构上的差异,而且同属于一个端口的各条引脚的内部结构也不尽相同。如图2.3所示的是可代表各个端口及其各个引脚共性的一个i/o引脚内部的基本结构模型。其中包括3个d触发器,2个受控三态门,1个反相器,1个ttl电平缓冲器,二输入端或门和与门各1个,能承受大电流的(2025ma)构成互不推挽输出级的pmos管和nmos管各1只。8个

23、图2.3所示的引脚结构图并列在一起,就构成了一个8为宽的i/o端口的内部结构图。图中右侧连接单片机的外接引脚,左侧连接到单片机的内部的数据总线(data bus),写端口数据的控制线(wr port), 写端口方向的控制(wr tris),读端口方向的控制线(rd tris)和读端口数据的控制线(rd port) 。数据输出的途径,是来自内部数据总线data bus的数据,送入数据锁存器data latch的d输入端,由端送出反相后的数据,经二输入或门和与门构成的双门及pmos管和nmos管构成的对管,数据再次被反相,最终送到引脚i/o上。数据输入途径,是来自i/o脚上的数据,经过ttl电平缓

24、冲器送到d触发器input latch的d输入端,由其q端送出,再经受控三态门送到内部数据总线data bus上。 图2.3 pic16f877a i/o基本端口内部结构模型2.2.2 pic16f877a 基本输入/输出端口的工作原理对i/o端口的基本操作无外乎有4种:1.设置端口的输入输出状态:向端口的方向控制器寄存器tris latch写控制信息;根据向方向寄存器中写入的内容不同,又可以分为2种情况;(1) 将引脚设置为输入状态:经data bus送来1;同时由wr tris 送来脉冲下降沿,1被锁入tris latch 中,其q端输出高电平封装住或门,其q端输出低电平封装住与门,或门输

25、出的高电平使pmos管截止,与门输出的低电平使nmos管截止,数据输出的路径被阻断,因此,该脚i/o被设置为输入状态,并且引脚对外呈现高阻状态。(2)将引脚设置为输出状态:经data bus送来0,同时由wr tris送来脉冲下降沿,0被锁入tris latch中,其q端输出低电平打开或门,其端输出高电平打开与门,或门和与门的输出电平取决于data latch的的端电平,互补对管构成一级反相器,其导通与截止受控于双门的输出状态,因此,该引脚i/o被设置为输出状态。2.经端口输出数据:将打算输出的数据写入端口数据寄存器 data latch中;经端口引脚输出数据的前提是该端口引脚必须预先已被设置

26、为输出态,然后把欲输出的数据x(0或1)放到数据总线data latch中。(1)当x=0时,data latch的端输出高电平,或门和与门同时输出高电平,使得p管截止,n管导通。引脚i/o上出现低电平,既数据0被输出。(2)当x=1时,data latch的端输出低电平,或门和与门同时输出低电平,使得n管截止,p管导通。引脚i/o上出现高电平,既数据1被输出。3.经端口输入数据:读取端口上的逻辑电平状态信息;对于这种操作,根据方向控制器的内容不同,又分为2种情况:(1) 方向控制寄存器的内容为1时,读取的是引脚逻辑电平;双门被封住,对管处于截止状态,此时经rd port送来的读脉冲,一是加到

27、d触发器input latch的en端上,控制d触发器锁存此刻i/o脚经过输入缓冲器送来的逻辑电平,二是打开三态门将d触发器锁存的数据转移到内部数据总线data bus上,d触发器的功能可以展宽输入信号的脉冲宽度。(2) 方向控制寄存器的内容为0时,读取的是端口数据寄存器中锁存的数据;双门被放开,对管的输出状态取决于数据寄存器内容,进而使i/o脚上的逻辑电平也就取决于数据寄存器的内容,所以此时会将数据寄存器的内容读回到内部数据总线data bus上。4.检查端口的输入输出状态:从端口的方向控制寄存器读取控制信息由rd tris 送来读脉冲,打开三态门将tris latch锁存的数据转移到内部数

28、据总线data bus上。例如,若其中锁存的内容为1,则其端输出低电平,经过三态门反相后变成逻辑1,送到数据总线上。2.3 定时器/计数器tmr0 pic16f877a提供了3个定时/计数器:tmr0,tmr1和tmr3。tmr0为8位宽,有一个可选的预分频器,用于通用目的;tmr1为16位宽,附带一个可编程的预分频器,还附带一个可选的低频时基振荡器,适合与ccp(捕捉比较脉宽调制)模块配合使用来实现输入捕捉或输出比较的功能;tmr2为8位宽,同时附带一个可编程的预分频器和一个可编程的后分频器,还附带一个周期寄存器和比较器,适合与ccp模块配合使用来实现pwm脉冲宽度调制信号的产生。2.3.1

29、 通用通用定时定时/ /计数器计数器 timer0 模块模块定时器/计数器 tmr0 具有一下特性:1)核心是一个 8 位宽的由时钟信号上升沿触发的循环累加计数寄存器 tmr02)tmr0 也是一个在文件寄存器区域内统一编址的寄存器,地址为 01h 或 101h3)用户用软件方式可直接读出或写入计数器的内容4)具有一个可选用的 8 位可编程预分频器5)用于累加计数的信号源可选择内部或外部时钟信号源,也就是既可工作于定时器模式,又可工作于计数器模式6)当使用外部触发信号作为时钟信号源时可由程序定义上升沿或下降沿触发有效7)具有溢出中断功能tmr0的结构如图2 .4:图 2.4 tmr0 结构图通

30、过对 tocs 位清零可选择定时器方式,在定时器方式时,tmr0 模块在每个指令周期加 1(无预分频器) 。如果是在写入 tmr0 寄存器时,递增将会延迟到两个指令周期发生。用户可以通过向 tmr0 寄存器写入一个调整值来解决。计数器方式通过对 tocs 位置 1 来选择,用计数器方式时,tmr0 在 tock1 引脚的每个上升/下降边沿递增加 1。递增边沿通过 tmr0 源边沿选择位 tose 来决定,通过对 tose 位清 0 来选择上升边沿。2.3.2 timer0 中断中断当 tmr0 寄存器从 ffh 到 00h 溢出时将产生 tmr0 中断。这个溢出将位 toif 置 1。可以通过

31、对 t0ie 位清零来屏蔽中断,在重新使能这个中断之前,为 t0if 必须通过 tmr0 模块中断服务程序清零。tmr0 中断不能将单片机从睡眠中唤醒,因此在睡眠期间,定时器是关闭的。2.3.3 使用带有外部时钟的使用带有外部时钟的 timer0 当没有使用预分频器时,外部时钟输入与预分频器输出相同,通过采样在内部相位时钟的 q2和 q4 周期时的预分频器输出,来实现 tock1 内部相位时钟(tosc)同步。因此,对 tock1 变成高电平至少需要 2tosc(一个 20ns 的 rc 延迟)和变为低电平至少需要 2tosc(一个 20ns 的 rc 延迟) 。2.3.4 预分频器预分频器

32、只有一个预分频器在 timer0 模块和监视定时器之间相互肚子分享,当预分频器分配给 timer0 模块,意味着将没有预分频器分给监视定器和 vice-versa 使用,这种预分频器是不可读写的。psa 和 ps0ps2 位决定了预分频器的分配对象和分配频率。当预分频器分配给 timer0 模块时,所有写入 timer0 寄存器的指令将使预分频器清零,当预分频器分配给 wdt 时,clrwdt 指令在对预分频器清零时,也对 wdt 清零。预分频器既不可读也不可写。 注:当预分频器分配给timer0模块时,写入tmr0将预分频器清零,但不改变预分频器分配。2.4 模拟数字转换器adc pic16

33、f877a单片机有8个输入,模拟输入充电一个采样和保持电容,采样和保持输出是输入到转换器。转换器via逐次近似法产生一个模拟电平的数字结果。模拟输入信号的a/d转换产生一个相应的10位数字数。a/d模块有高或低的参考电压输入,它是可用软件选择的vdd,vss,ra2或ra3的组合。2.4.1 a/d 转换器模块转换器模块a/d转换器具有一个独一无二的特征,即在单片机处在睡眠方式时,a/d转换器仍能够运行,为了在睡眠下运行,a/d转换器的时钟必须从a/d转换器指定的内部rc振荡器中导出 。a/d转换器模块有三个寄存器,这些寄存器是:a/d结果高位寄存器(adresh)a/d结果低位寄存器(adr

34、esl)a/d控制寄存器0(adcon0)a/d控制寄存器1(adcon1)(1)adcon0寄存器控制ad模块的操作:adcon0寄存器(地址1fh)bit7-6 adcs1:adcs0:a / d转换时钟选择位bit5-3 chs2:chs0:模拟通道选择位bit2 a / d转换状态位当 adon = 1:1 = a / d 转换正在启动(该位置 1 启动 a / d 转换器是由硬件自动完成清除当 a / d 转换)0 = a / d转换未开启bit1 未用:读为0bit0 adon:1 = a / d转换模块上电0 = a / d转换模块的关闭,不消耗工作电流(2)adcon1寄存器设

35、端口引脚的功能:adcon1寄存器(地址9fh)bit7 adfm:a / d 转换结果的格式选择位1 =右对齐。六(6)adresh 最高有效位被读为0。0 =左对齐。六(6)adresl 最低有效位被读为0。bit6 adcs2:a / d转换时钟选择位bit5-4 未用:读为0bit3-0 pcfg3:pcfg0:a / d端口配置控制位端口引脚能被设置为模拟输入(ra3也可当作参考电压)或为数字输入/输出。adresh: adresl寄存器包括a/d转换的10位结果。当a/d转换完成时,结果放到a/d结果寄存器对,go/done位(adcon0)被清零,a/d中断标志位adif置1,a

36、/d模块方框图见图2.5图2.5 a/d模块方框图在a/d模块已按要求设置后,所选择的通道在转换之前必须被采集,模拟输入通道必须有所选择的作为输入的相应tris位,为决定采样时间在这个采集时间意境过去之后a/d转换开始。下列步骤用作进行a/d转换:1. 设置a/d模块设定模拟引脚/参考电压/数字i/o(adcon1)选择a/d输入通道(adcon0)选择a/d转换时钟(adcon0)选择a/d模块(adcon0)2. 设置a/d中断(如果需要)对adif位清零对adif位置1对gie位置13. 0:等待所要求的采集时间4. 0:开始转换将go/down位置1(adcon0)5. 等待a/d转换

37、完成,既可通过:探寻go/done被清零等待a/d中断6. 读a/d结果寄存器(adres),如果需要对adif位清零。7. 对下一个转换,如果需要到第一步或第二步,每位的转换时间定义为tad,在下一个采集开始要求一个最小的2tad等待。2.4.2 a/d 转换器采集要求转换器采集要求为使a/d转换器符合它的指定精度,充电保持电容(chold)必须允许完全充电到输入通道电压等级,模拟输入模型见图2.6。源阻抗(rs)和内部采样开关(rss)阻抗直接影响所要求的充电电容chold的时间,采样开关(rss)阻抗在单片机电压上的变化,见图2.6。源阻抗在模拟输入时影响偏移电压(由于引脚漏电流) 。所

38、推荐的最大模拟源阻抗时10k,在模块输入通道被选择后,在转换可用开始之前采集必须通过。图2.6 模拟输入模型2.4.3 选择选择 a/d 转换器时钟转换器时钟a/d转换器时间每位定义为tad,a/d转换器每10位转换要求12tad,a/d转换器时钟源是 用软件可选择的,tad的四种可能选择是:2tosc8tosc32tosc内部rc振荡器对于正确的a/d转换,a/d转换时钟(tad)必须被选择以保证1.6s的最小tad时间。2.4.4 设定模拟端口设定模拟端口adcon1、trisa和trise寄存器控制a/d端口引脚的操作,这个需做为模拟输入的端口引脚必须有他们的相应位tris置1(输入),

39、如果tris为清零(输出),数字输出电平(voh或vol)将被转换。a/d操作是独立于(chs)位和tris位的状态之外的。注:1.当读端口寄存器时,所有设定为模拟输入通道引脚将读作零,设定为数字输入的引脚将转换一个模拟输入。在数字设定输入上的模拟电平将不会影响转换精度。 2.在任何引脚上定做数字输入的模拟电平,不做为模拟输入,可用导致输入缓冲器消耗不是指定的电流。2.4.5 a/d 转换转换在转换期间对go/done位清零将中断电流转换。adres寄存器将不会用局部完成a/d转换采样来更新。这是因为adres寄存器继续包含最后完成转换的值。在a/d转换中断之后,在下一个采集之前,在a/d转换

40、结束之后, 要求一个2tad等待。在2tad等待之后,一个采集在所选的通道上自动地开始。在图2.7里,在go位置1之后,第一个时间段有一个最小的tcy和一个最大tad的实践。注:go/done位不应该置1用打开a/d的相同的指令。图2.7 a/d转换tad循环周期2.4.6 在睡眠期间在睡眠期间 a/d 操作操作在睡眠期间a/d模块可以操作,这种a/d时钟源要求对rc置1,(adcs=11),当选择rc时钟源时,a/d模块在开始转换之前等待一个指令周期。这种允许执行睡眠指令,消除在转换中产生的所有数字开关噪声。当转换完成时,go/done位将被清零,和结果装入adres寄存器,如果a/d中断使

41、能,单片机将从睡眠中唤醒,如果a/d中断不能使能,尽管adon位仍保持1,a/d模块将被关闭。当a/d时钟源是另一种时钟选择(不是rc),尽管adin位仍保持1,睡眠指令将导致目前的转换中断和a/d模块被关闭。2.4.7 复位影响复位影响单片机复位强迫所有寄存器复位到他们的复位状态,强迫a/d转换模块关闭和在进行的转换被中断。在adesh:adresl寄存器的值班在上电复位时不变。adesh:adresl寄存器在上电复位之后将包含未知数据。2.5 pic16f877a中断系统 目前在世界一些著名的单片机产品系列中,pic16f87x 系列单片机是芯片内部包含有外围设备模块数量最多的单片机品种之

42、一。pic16f877 单片机的芯片内部集成了 15 个外围设备模块;由于 cpu 的运行速度非常高,而各个外围设备模块的工作速度却非常低,况且这些外围设备模块也不是频繁地要求 cpu 对其服务。因此,通常采取一种让众多外围设备模块共享 1 个 cpu,并且能够及时得到 cpu 服务的调度方法中断2.5.1 pic16f877apic16f877a 的中断源的中断源pic 系列单片机是当今世界上很有影响力的精简指令集(risc)微控制器,具有丰富的中断功能。其中功能强大的中、高挡型号的中断源有 18 种之多。在 pic 单片机家族中,排位属于中上水平的 pic16f87x 子系列单片机具备的中

43、断源多达 14种。其中,单片机的型号不同,中断源的种类、个数也不同,如表 1 所列。其不足之处是:中断矢量只有 1 个,并且各个中断源之间也没有优先级别之分,不具备非屏蔽中断。中断源种类中断源志位中断源蔽位873/ 876874/ 877870871872外部触发中断 intintfintetmr0 溢出中断t0ift0ierb 端口电平变化中断rbifrbietmr1 溢出中断tmr1iftmr1ietmr2 中断tmr2iftmr2ieccp1 中断ccp1ifccp1ieccp2 中断ccp2ifccp2ie sci 同步发送中断txiftxie sci 同步接收中断rcifrcie s

44、sp 中断sspifsspie ssp i2c 总线碰撞中断bclifbclie 并行端口中断pspifpspie a/d 转换中断adifadiee2prom 中断eeifeeie 13 种 14 种10 种 11 种 10 种表表 1 1 pic16f87xpic16f87x 单片机的中断源及其数量单片机的中断源及其数量 2.5.2 pic16f877a 的中断硬件逻辑的中断硬件逻辑pic16f877a 单片机中断系统的逻辑电路如图 2.8 所示。每一种中断源对应着 1个中断标志位(记为 xxxf,f 是 flag 的第 1 个英文字母)和 1 个中断屏蔽位或者叫中断使能位(记为 xxxe

45、,e 是 enable 的第 1 个英文字母) 。中断源产生的中断标志信号是否得以向前传递,将受控于对应的中断屏蔽位。每一个中断标志位都对应着1 个触发器。当中断源申请 cpu 中断时,与之对应的触发器就由硬件自动置位,而该触发器的清零是由用户安排程序来实现的;每一个中断屏蔽位也对应着 1 个触发器。该触发器的置位和清零均是由用户程序完成的。 所有的中断源都受全局中断屏蔽位(也可以称为总屏蔽位)gie 的控制。第 1梯队的中断源不仅受全局中断屏蔽位的控制,还要受各自中断屏蔽位的控制;第 2梯队的中断源不仅受到全局中断屏蔽位和各自中断屏蔽位的控制,还要额外受到 1个外设中断屏蔽位 peie 的控

46、制。图 2.8pic16f877a 的中断逻辑2.5.3 pic16f877a 中断的处理中断的处理单片机复位后,由硬件自动对全局中断屏蔽位进行设置 gie=0,将屏蔽所有的中断源。中断返回指令“retfie”执行后,也由硬件自动对总屏蔽位进行设置gie=1,重新开放所有的中断源。不论各种中断屏蔽位和全局中断屏蔽位 gie 处于何种状态(是开放还是禁止) ,当某一中断源的中断条件满足时,都会发出中断请求,相应的中断标志位都会被置位(=1) 。但是,是否能够得到 cpu 的响应,则要根据该中断源所涉及到的中断屏蔽位的状态而定。cpu 响应中断后,由硬件自动对全局中断屏蔽位进行清零(gie=0)

47、,屏蔽所有的中断源,以免发生重复中断响应,然后,由硬件自动把当前的程序计数器 pc 值(即程序断点地址)压入堆栈(实际为硬件堆栈) ,并且把 pc 寄存器置以中断向量地址(0004h) ,从而转向并开始执行中断服务程序。进入中断服务程序后,程序中必须安排指令,检查发出请求的中断源(如果同时开放多个中断源的话) 。这可以通过检查各个中断源的标志位来实现。一旦确定出发出申请的中断源,就用软件把该中断源的标志位人为地清零,否则,执行中断返回指令“retfie” 。重开中断后,由于中断标志位仍为“1”而引起 cpu 重复响应同一个中断请求。中断服务程序的末尾必须放置 1 条中断返回指令“retfie”

48、 。执行该条指令后,不仅可以重开中断,而且还可以由硬件自动将保留在堆栈顶部的断点地址弹出,并放回到程序计数器 pc 中,使 cpu 返回和继续执行被中断的主程序。(1)中断的延时响应和延时处理1 次中断过程,从中断源发出请求到得到 cpu 的响应必然存在一定的延迟时间。各个相关信号的时序图如图 2.9 所示。图 2.9int 引脚中断时序图在图2.9中,第1行是系统时钟脉冲信号,每4个时钟周期对应1个指令周期。第2行就是指令周期信号。该信号只有在rc振荡模式下,从osc2脚上可以向片外送出。第3行是单片机外部引脚int送入的中断脉冲信号。外部中断信号int是用边沿触发的。假设预先设定的是int

49、中断信号上升沿有效的话,则该信号的上升沿将会在1个时钟周期后引发中断标志位intf被置位。第4行代表intf信号。每个指令周期内的第2个时钟脉冲上升沿时,该信号被抽检1次。一旦检测到intf信号被设置为“1” ,则cpu会在接下来的1个指令周期内,将全局中断屏蔽位gie清零。第5行是全局中断屏蔽位gie。在gie信号被清零的下一个指令周期内,程序计数器pc被置入中断向量0004h,见图2.9中第6行。同时在该指令周期内完成到中断服务程序的跳转,并且实现提取该子程序的首条指令,即指令(0004h) ,见图2中第7行。在其后的1个指令周期内,正式开始执行中断服务程序的第1条指令,见图2中第8行。自

50、int引脚输入有效信号,到中断服务程序的第1条指令得到执行,大约需要34个指令周期的延时。更精确的延迟时间取决于中断事件的发生时机。(2)中断现场保护问题中断现场的保护是中断技术中一个很重要的环节。在进入中断服务程序期间,只有返回地址,即程序计数器pc的值被自动压入堆栈。若需要保留其他寄存器的内容,就得由程序员另想办法。由于pic单片机的指令系统中没有像其他单片机那样的push(入栈)和pop(出栈)之类的指令,所以要用一段用户程序来实现类似的功能。因为是用一段程序来实现现场保护,而程序的执行有可能会影响到w寄存器和status寄存器,所以,首先应该把这2个寄存器保护起来,然后再去保存其他用户

51、认为有必要保护的寄存器。并且在pic单片机中,中断现场数据不是保留到芯片的堆栈存储区中,而是保留在用户自己选择的一些文件寄存器(即ram数据存储器单元)中,当然一般应该选择通用寄存器来保护现场。2.6 pic16f877a最小系统pic16f877a最小系统如下图2.10所示,其中mclr引脚一定要接,如果不接的话会出现单片机不能正常工作的现象,只接一个40k以下的电阻到电源也是可以正常工作的。图2.10 pic16f877a最小系统原理图2.7 mplab集成开发环境软件包microchip公司的内部电路调试器,maplab-icd是一个功能强大的低成本运行实践开发工具,这个工具是基于快速的

52、pic16f877和用作这种或那种pic16cxx系列中的picmicro单片机的开发。maplab-icd可以用于实验阶段的评估和辅助调试。它利用了pic16f87x片内集成的在线调试能力和microchip公司的在线串行编程技术。mplab-icd工作于mplab集成开发环境软件包之下,其仿真头直接连接到目标电路板上,如同将一片pic16f877插入到目标板内一样去运行用户编制的程序。3. ds18b20 温度传感器简介温度传感器简介 3.1 ds18b20简述: ds18b20是dallas公司生产的一线制数字温度传感器;温度测量范围为55125,可编程为9位12位a/d转换精度,测温分

53、辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个ds18b20可以并联到一起,cpu只需一根数据线就能与诸多ds18b20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使ds18b20非常适用于远距离多点温度检测系统。 3.2 ds18b20内部结构 ds18b20内部结构图 3.1所示,主要由4部分组成:64位rom、温度传感器、温度报警触发器th和tl、配置寄存器。ds18b20的管脚排列如图 3.2所示,dq为数字信号输入/输出端;gnd为电源地;vdd为外接供电电源输入端(寄生电源接线方式时

54、接地) 图3.1 图 3.2 rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码,每个ds18b20的64位序列号均不相同。64位rom排放循环冗余校验码(crc=x8x5x41)。rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。 ds18b20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。例如125的数字输出为07d0h,25.0625的数字输出为0191h,25.0625的数字输出为ff6fh,55的数字输出为fc90h。 3.3

55、 ds18b20的工作时序 ds18b20的一线工作协议流程是:初始化rom操作指令存储器操作指令数据传输时序始化时序、写时序和读时序,如图 3.3、图 3.4和图 3.5所示。 图 3.3主机即单片机首先发480us-960us的低电平,进行复位,然后释放总线,之后总线被外部上拉电阻电阻抬高,大约等待1560us之后,ds18b20发出60到240us的低电平信号,以示存在,至此初始化结束 图 3.4写“0“的时候,首先单片机发复位信号,然后发“0”于是低电平持续60us就完成了写“0”写“1”的时候首先单片机发复位信号,持续时间大于1us小于15us然后发“1”持续50us以上即可。 图

56、3.5读时序也是主机先发低电平,然后在15us内检测连接ds18b20的数据线的引脚,从而读得相应值。 3.4 ds18b20与单片机的典型接口 可以采用外接电源与寄生电源供电:采用寄生供电如图 3.6所示,注意需要将ds18b20的vdd引脚接地。采用外接电源供电如图 3.7所示,是较常用的供电方式。 图 3.6 图 3.74 无线收发模块无线收发模块 ptr2000 简介简介4.1 概述 无线收发一体数传modem 模块ptr2000 芯片性能优异, 在业界居领先水平, 它的显著特点是所需外围元件少, 因而设计非常方便. 该模块在内部集成了高频发射、高频接收、pll 合成、fsk调制/ 解

57、调、参量放大、功率放大、频道切换等功能, 因而是目前集成度较高的无线数传产品. 以往设计无线数传产品常常需要相当的无线电专业知识和昂贵的专业设备, 而且传统的电路方案不是电路太复杂就是调试困难而令人望而却步, 以致影响了用户的使用和新产品的开发研制工作.ptr2000 的出现, 使人们摆脱了传统无线产品设计的困扰. 该器件采用抗干扰能力较强的fsk调制/ 解调方式, 其工作频率稳定可靠、外围元件少、功耗极低且便于设计生产, 这些优异特性使得ptr2000 非常适合于便携及手持产品的设计. 另外, 由于它采用了低发射功率、高灵敏度设计, 因而可满足无线管制的要求且无需使用许可证, 是目前低功率无

58、线数传的理想选择.4.2 ptr2000的主要特征 1.1.ptr2000的主要特征如下: 2.该器件将接收和发射合接为一体;3.工作频率为国际通用的数传频段433mhz;4.采用fsk调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合;5.采用dds(直接数据合成)+pll频率合成技术,因而频率稳定性极好; 6.灵敏度高达105bbm; 7.工作电压低(2.7v) ,功耗小,接受待机状态电流仅为8a;8.具有两个频道,可满足需要多信道工作的场合;9.工作数率最高达20kbit/s(也可在较抵速率下工作,如9600bps);超小体积,约40 275mm3;10.可直接与c

59、pu串口进行连接(如8031) ,也可以用rs232与计算机接口,软件编程 非常方便; 11.标准的dir引脚间距更适合于趼、嵌入式设备;由于采用了低发射功率、高接收灵敏的设计,因此使用时无需申请许可证,开阔地时的使用距离最远可达1000米。4.3 引脚排列及功能 ptr2000 引脚说明如图1 所示(顶视图) 图1 2vcc(1脚) ;下输入端,电压范围为2.75.25v;cs(2脚):频道选择端。cs=0时,选择工作频道1, 即433.92mhz;cs=1时选择工作频道2,即434.33 mhzdo(3脚):数据输出端;di(4脚):数据输入端gnd(5脚):电源地pwr(6脚):节能控制

60、端。当 pwr=1时,模块处于正常工作状态,pwr=0时,模块处于待机微功耗状态;txtn(7脚):发射/接收控制端。当 txtn=1时,模块为发射状态;当 txtn=0时,模块被设置为接受状态。模块工作模式控制及工作频道选择如下表 1 所示表14.4 发送ptr2000的通信速率最高为20kbit/s,也可工作在其它速率如4800bps、9600bps下,无需设置 ptr2000的工作速率。在发送数据之前,应将模块先置于发射模式,即 txen=1。然后在等待至少5ms后(接收到发射的转换时间)才可以发送任意长度的数据。发送结束后应将模块置于接收状态,即 txen=0。发射到接收的转换时间为5

温馨提示

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

最新文档

评论

0/150

提交评论