欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    毕业设计(论文)-无线遥测温度系统的设计.doc

    • 资源ID:3285144       资源大小:1.25MB        全文页数:66页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-无线遥测温度系统的设计.doc

    I 无线遥测温度系统的设计无线遥测温度系统的设计 摘摘 要要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给 人带来的方便也是不可否定的,其中温度测控系统就是一个典型的例子,但人们对 它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要 从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的智能数字式温度测控系统,它具有读数方便、测温范围广、测 温准确、其输出温度采用数字显示等特点,主要用于室内环境温度检测与控制。本 设计主要使用单片机 PIC16F877A,测温传感器使用 DS18B20,用3个共阴极 LED 数 码管以动态显示方式实现温度显示,能准确达到以上要求。 DS18B20温度传感器集温度测量和 A/D 转换于一体,具能够直接输出数量,与单 片机接口电路简单等优点。因此,用 DS18B20温度传感器和单片机构成的温度测控 系统具有市场推广价值 关键词 单片机;DS18B20;传感器 II Wireless temperature sensing system design Abstract As people living standard rise ceaselessly, the single-chip microcomputer control is undoubtedly one of the goals of the people 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 digital 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 environment 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 and 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 III 目目 录录 1 绪论 .5 1.1 选题背景 6 1.2 主要研究内容 6 2 硬件理论基础 .7 2.1 PIC16F877A 单片机简介7 2.1.1 单片机的发展 7 2.1.2 PIC 系列单片机特点 .7 2.1.3 PIC16F877A 单片机性能 8 2.1.4 PIC16F877A 单片机外观及结构图 9 2.2 PIC16F877A 的输入/输出接口10 2.2.1 PIC16F877A I/O 端口内部结构.11 2.2.2 PIC16F877A 基本输入/输出端口的工作原理12 2.3 定时器/计数器 TMR0 13 2.3.1 通用定时/计数器 Timer0 模块14 2.3.2 Timer0 中断.15 2.3.3 使用带有外部时钟的 Timer0 .15 2.3.4 预分频器15 2.4 模拟数字转换器 ADC 15 2.4.1 A/D 转换器模块16 2.4.2 A/D 转换器采集要求20 2.4.3 选择 A/D 转换器时钟20 2.4.4 设定模拟端口21 2.4.5 A/D 转换 21 2.4.6 在睡眠期间 A/D 操作21 2.4.7 复位影响22 2.5 PIC16F877A 中断系统.22 2.5.1 PIC16F877A的中断源.23 2.5.2 PIC16F877A 的中断硬件逻辑.23 2.5.3 PIC16F877A 中断的处理.24 2.6 PIC16F877A 最小系统.26 IV 2.7 MPLAB 集成开发环境软件包27 3. DS18B20 温度传感器简介.28 3.1 DS18B20 简述:28 3.2 DS18B20 内部结构28 3.3 DS18B20 的工作时序29 3.4 DS18B20 与单片机的典型接口31 4 无线收发模块 PTR2000 简介 .31 4.1 概述 .31 4.2 PTR2000 的主要特征31 4.3 引脚排列及功能 .34 4.4 发送 .35 4.5 接收 .35 4.6 待机模式 .32 4.7 硬件连接 .36 4.8 应用 .37 4.9 软件编程注意事项 .37 5 软件系统设计程序 .39 5.1 软件运行流程 .39 5.2 软件运行程序 .39 5.2.1 接收程序 .39 5.2.2 发送程序 .43 参 考 文 献 49 附录 A54 英文文献 .54 英文文献翻译 .61 5 1 绪论绪论 随着“信息时代”的到来,作为获取信息的手段传感器技术得到了显著的 进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术 已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传 感器的基本结构、工作原理及特性是非常重要的。 由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们 可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在 温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影 响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必 须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求, 而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感 器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。另一 方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高 工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及 传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以 及其应用之广,并且还有很大潜力。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法 与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感 器技术而开发设计了这一温度监控系统。文中传感器理论单片机实际应用有机结合, 详细地讲述了利用热敏电阻作为热敏传感器探测环境温度的过程,以及实现热电转 换的原理过程。 本设计应用性比较强,设计系统可以作为生物培养液温度监控系统,也可以做 热水器温度调节系统、实验室温度监控系统等等。课题主要任务是完成环境温度检 测,利用单片机实现温度调节并通过计算机实施温度监控。设计后的系统具有操作 方便,控制灵活等优点。 6 1.1 选题背景 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、 机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度 高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也 将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和 采用的控制算法也不同,因而,对温度的测控方法多种多样。随着电子技术和单片 机技术的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用 单片机技术对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来 越显示出其优越性。本设计即单片机技术对温度进行实时检测与控制. 1.2 主要研究内容 温度信息在某些工业生产中具有较为重要的地位,为了保障生产的顺利进行,我们必须实 时监测温度的变化,同时为了适应一些恶劣环境,可利用无线网络进行信号传递。本课题拟采 用 PIC 单片机作为主控芯片,单总线温度传感器 DS18B20 作为温度采集设备,PTR2000 作为无 线传输模块,进行系统整合,通过程序实现无线温度传感系统。本课题着眼于培养系统整合能 力,提高实践应用技能。 7 2 硬件理论基础硬件理论基础 此系统硬件平台是PIC16F877A单片机开发板,PIC系列单片机的硬件系统设计简 洁,指令系统设计精炼;它不仅全部指令均为单字节指令,而且绝大多数指令为单周期 指令,以利于提高执行速度;其运行速度远远高于其他相同档次的单片机.其体积小, 功耗低,精简指令集 ,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好; 它可以实现在线调试和在线编程。因此,在此控制系统中,采用PIC16F877A单片机 作为控制核心。 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位单片机,而在这个时期, Motorola、Intel、ATMEL、TI、三菱、日立、飞利浦等公司推出了许多增强型的8位 单片机、16位单片机,甚至32位单片机,出了非常多的新型单片机,极大地推动了 单片机的应用。现代社会中单片机有着广泛的应用领域。随着单片机功能集成化的 发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信 号处理(DSP,Digital Signal Processor)等领域。 2.1.2 PIC 系列单片机特点系列单片机特点 PIC16F877A 是由 Microchip 公司所生产开发的新产品,属于 PICmicro 系列单 片微机,具有 Flash program 程序内存功能,可以重复烧录程序,适合教学、开发 新产品等用途;而其内建 ICD(In Circuit Debug)功能,可以让使用者直接在单片 8 机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速 地进行程序除错与开发。 PIC16F877A 单片机除了具备体积小 、集成度高、价格低、性能强、速度块、 可靠性高等优点之外,它还有它的优越之处: (1)哈弗总线结构,提高CPU执行指令的速度 (2)精简指令集(RISC)技术,以利于提高执行速度 (3) 寻址方式简单,代码压缩率高,运行速度高 (4) 功耗低,驱动能力强 (5)I2C和SPI串行总线端口 (6)外接电路简洁,因为PIC系列单片机内集成了上电复位电路,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)和振荡启动定时器(OST); 10)监视定时器(WDT),它带有片内可靠运行的RC振荡器 11)可编程的代码保护,低功耗睡眠方式; 9 12)可选择的振荡器 13)低功耗,高速CMOS FLASH/EEPROM工艺 14)全静态设计,在线串行编程(ICSP) 15)单独5V的内部电路串行编程(ICSP)能力 处理机读/写访问程序存储器 16)运行电压范围 2.0V到5.5V 17)高吸入/拉出电流范围 18)低功耗 -在5V,4MHz时典型值小于2mA -在3V,32KHz时典型值小于20uA -典型的稳态电流值小于1uA 2.1.4 PIC16F877A 单片机外观及结构图单片机外观及结构图 本设计无线遥测温度系统选用的单片机型号为PIC16F877A。 PIC16F877A外形图如图2.1所示: 图2.1 PIC16F877A外形图 PIC16F877A结构图如图2.2所示: 10 图2.2 PIC16F877A结构图 2.2 PIC16F877A的输入/输出接口 输入/输出接口(也可简称为I/O端口)是单片机与外设交换信息的通道。输入端 口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界传 11 送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。在PIC16F877A 单片机中,28脚封装的型号具有3个输入/输出端口,40脚封装的PIC16F877A型号具有5 个输入/输出端口.由于PIC16F87X属于8位单片机,因此每个端口都是数量不超过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串行通信模式的数据输入引脚,海可以作为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个图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电平缓冲器送到D触发器INPUT 12 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端输出低电平封装住与门,或门输出的高电平 使PMOS管截止,与门输出的低电平使NMOS管截止,数据输出的路径被阻断,因此,该脚I/O被设置为 13 输入状态,并且引脚对外呈现高阻状态。 (2)将引脚设置为输出状态:经Data Bus送来0,同时由WR TRIS送来脉冲下降沿,0被锁入TRIS Latch中,其Q端输出低电平打开或门,其端输出高电平打开与门,或门和与门的输出电平 取决于Data Latch的的端电平,互补对管构成一级反相器,其导通与截止受控于双 门的输出状态,因此,该引脚I/O被设置为输出状态。 2.经端口输出数据:将打算输出的数据写入端口数据寄存器 Data Latch中; 经端口引脚输出数据的前提是该端口引脚必须预先已被设置为输出态,然后把欲输出的数据 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送来的读脉冲,一是加到D触发器INPUT Latch的EN端上,控制D触发器锁存此刻I/O 脚经过输入缓冲器送来的逻辑电平,二是打开三态门将D触发器锁存的数据转移到内部数据总线 Data Bus上,D触发器的功能可以展宽输入信号的脉冲宽度。 (2) 方向控制寄存器的内容为0时,读取的是端口数据寄存器中锁存的数据;双门被放开,对管 的输出状态取决于数据寄存器内容,进而使I/O脚上的逻辑电平也就取决于数据寄存器的内容,所 以此时会将数据寄存器的内容读回到内部数据总线Data Bus上。 4.检查端口的输入输出状态:从端口的方向控制寄存器读取控制信息 由RD TRIS 送来读脉冲,打开三态门将TRIS Latch锁存的数据转移到内部数据总 线Data Bus上。例如,若其中锁存的内容为1,则其端输出低电平,经过三态门反相 后变成逻辑1,送到数据总线上。 2.3 定时器/计数器TMR0 PIC16F877A提供了3个定时/计数器:TMR0,TMR1和TMR3。TMR0为8位宽,有 一个可选的预分频器,用于通用目的;TMR1为16位宽,附带一个可编程的预分频器,还 附带一个可选的低频时基振荡器,适合与CCP(捕捉比较脉宽调制)模块配合使用来实 14 现输入捕捉或输出比较的功能;TMR2为8位宽,同时附带一个可编程的预分频器和一 个可编程的后分频器,还附带一个周期寄存器和比较器,适合与CCP模块配合使用来实 现PWM脉冲宽度调制信号的产生。 2.3.1 通用通用定时定时/ /计数器计数器 Timer0 模块模块 定时器/计数器 TMR0 具有一下特性: 1)核心是一个 8 位宽的由时钟信号上升沿触发的循环累加计数寄存器 TMR0 2)TMR0 也是一个在文件寄存器区域内统一编址的寄存器,地址为 01H 或 101H 3)用户用软件方式可直接读出或写入计数器的内容 4)具有一个可选用的 8 位可编程预分频器 5)用于累加计数的信号源可选择内部或外部时钟信号源,也就是既可工作于定时器模式,又可工 作于计数器模式 6)当使用外部触发信号作为时钟信号源时可由程序定义上升沿或下降沿触发有效 7)具有溢出中断功能 TMR0的结构如图2 .4: 图 2.4 TMR0 结构图 通过对 TOCS 位清零可选择定时器方式,在定时器方式时,TMR0 模块在每个指令 周期加 1(无预分频器) 。如果是在写入 TMR0 寄存器时,递增将会延迟到两个指令周期发生。 15 用户可以通过向 TMR0 寄存器写入一个调整值来解决。 计数器方式通过对 TOCS 位置 1 来选择,用计数器方式时,TMR0 在 TOCK1 引脚的每个上升/下 降边沿递增加 1。递增边沿通过 TMR0 源边沿选择位 TOSE 来决定,通过对 TOSE 位清 0 来选择上升 边沿。 2.3.2 Timer0 中断中断 当 TMR0 寄存器从 FFH 到 00H 溢出时将产生 TMR0 中断。这个溢出将位 TOIF 置 1。可以通 过对 T0IE 位清零来屏蔽中断,在重新使能这个中断之前,为 T0IF 必须通过 TMR0 模块中断服务程 序清零。TMR0 中断不能将单片机从睡眠中唤醒,因此在睡眠期间,定时器是关闭的。 2.3.3 使用带有外部时钟的使用带有外部时钟的 Timer0 当没有使用预分频器时,外部时钟输入与预分频器输出相同,通过采样在内部相位时钟的 Q2 和 Q4 周期时的预分频器输出,来实现 TOCK1 内部相位时钟(TOSC)同步。因此,对 TOCK1 变成高 电平至少需要 2TOSC(一个 20ns 的 RC 延迟)和变为低电平至少需要 2TOSC(一个 20ns 的 RC 延迟) 。 2.3.4 预分频器预分频器 只有一个预分频器在 Timer0 模块和监视定时器之间相互肚子分享,当预分频器分 配给 Timer0 模块,意味着将没有预分频器分给监视定器和 Vice-Versa 使用,这种预分 频器是不可读写的。 PSA 和 PS0PS2 位决定了预分频器的分配对象和分配频率。 当预分频器分配给 Timer0 模块时,所有写入 Timer0 寄存器的指令将使预分频器清零,当预分 频器分配给 WDT 时,CLRWDT 指令在对预分频器清零时,也对 WDT 清零。预分频器既不可读也不可 写。 注:当预分频器分配给Timer0模块时,写入TMR0将预分频器清零,但不改变预分频 器分配。 2.4 模拟数字转换器ADC PIC16F877A单片机有8个输入,模拟输入充电一个采样和保持电容,采样和保持输 出是输入到转换器。转换器Via逐次近似法产生一个模拟电平的数字结果。模拟输入 16 信号的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结果低位寄存器(ADRESL) A/D控制寄存器0(ADCON0) A/D控制寄存器1(ADCON1) (1)ADCON0寄存器控制AD模块的操作: ADCON0寄存器(地址1Fh) Bit7-6 ADCS1:ADCS0:A / D转换时钟选择位 Bit5-3 CHS2:CHS0:模拟通道选择位 17 Bit2 A / D转换状态位 当 ADON = 1: 1 = A / D 转换正在启动(该位置 1 启动 A / D 转换器是由硬件自动完成清除当 A / D 转换) 0 = A / D转换未开启 Bit1 未用:读为'0' Bit0 ADON: 1 = A / D转换模块上电 0 = A / D转换模块的关闭,不消耗工作电流 (2)ADCON1寄存器设端口引脚的功能: ADCON1寄存器(地址9Fh) Bit7 ADFM:A / D 转换结果的格式选择位 1 =右对齐。六(6)ADRESH 最高有效位被读为'0'。 0 =左对齐。六(6)ADRESL 最低有效位被读为'0'。 Bit6 ADCS2:A / D转换时钟选择位 Bit5-4 未用:读为'0' Bit3-0 PCFG3:PCFG0:A / D端口配置控制位 18 端口引脚能被设置为模拟输入(RA3也可当作参考电压)或为数字输入/输出。 ADRESH: ADRESL寄存器包括A/D转换的10位结果。当A/D转换完成时,结果放到 A/D结果寄存器对,GO/DONE位(ADCON0)被清零,A/D中断标志位ADIF置1,A/D模块方 框图见图2.5 19 图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位置1 3. 0:等待所要求的采集时间 20 4. 0:开始转换 将GO/DOWN位置1(ADCON0) 5. 等待A/D转换完成,既可通过: 探寻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。源阻抗在 模拟输入时影响偏移电压(由于引脚漏电流) 。所推荐的最大模拟源阻抗时10K,在模块输入通 道被选择后,在转换可用开始之前采集必须通过。 图2.6 模拟输入模型 2.4.3 选择选择 A/D 转换器时钟转换器时钟 A/D转换器时间每位定义为TAD,A/D转换器每10位转换要求12TAD,A/D转换器时钟 21 源是 用软件可选择的,TAD的四种可能选择是: 2TOSC 8TOSC 32TOSC 内部RC振荡器 对于正确的A/D转换,A/D转换时钟(TAD)必须被选择以保证1.6s的最小TAD时间。 2.4.4 设定模拟端口设定模拟端口 ADCON1、TRISA和TRISE寄存器控制A/D端口引脚的操作,这个需做为模拟输入的 端口引脚必须有他们的相应位TRIS置1(输入),如果TRIS为清零(输出),数字输出电平 (VOH或VOL)将被转换。 A/D操作是独立于(CHS)位和TRIS位的状态之外的。 注:1.当读端口寄存器时,所有设定为模拟输入通道引脚将读作零,设定为数字输 入的引脚将转换一个模拟输入。在数字设定输入上的模拟电平将不会影响转换精度。 2.在任何引脚上定做数字输入的模拟电平,不做为模拟输入,可用导致输入缓 冲器消耗不是指定的电流。 2.4.5 A/D 转换转换 在转换期间对GO/DONE位清零将中断电流转换。ADRES寄存器将不会用局部完成A/D转 换采样来更新。这是因为ADRES寄存器继续包含最后完成转换的值。在A/D转换中断 之后,在下一个采集之前,在A/D转换结束之后, 要求一个2TAD等待。在2TAD等待之后,一 个采集在所选的通道上自动地开始。 在图2.7里,在GO位置1之后,第一个时间段有一个最小的TCY和一个最大TAD的实 践。 注:GO/DONE位不应该置1用打开A/D的相同的指令。 22 图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中断使能,单片机将从睡眠中唤醒,如果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 系列单片机是芯片内部 包含有外围设备模块数量最多的单片机品种之一。PIC16F877 单片机的芯片内部集 成了 15 个外围设备模块;由于 CPU 的运行速度非常高,而各个外围设备模块的工作 速度却非常低,况且这些外围设备模块也不是频繁地要求 CPU 对其服务。因此,通 常采取一种让众多外围设备模块共享 1 个 CPU,并且能够及时得到 CPU 服务的调度 方法中断 23 2.5.1 PIC16F877APIC16F877A 的中断源的中断源 PIC 系列单片机是当今世界上很有影响力的精简指令集(RISC)微控制器,具 有丰富的中断功能。其中功能强大的中、高挡型号的中断源有 18 种之多。在 PIC 单 片机家族中,排位属于中上水平的 PIC16F87X 子系列单片机具备的中断源多达 14 种。其中,单片机的型号不同,中断源的种类、个数也不同,如表 1 所列。其不足 之处是:中断矢量只有 1 个,并且各个中断源之间也没有优先级别之分,不具备非 屏蔽中断。 中断源种类中断源志位 中断源蔽 位 873/ 876 874/ 877 870871872 外部触发中断 INTINTF INTE TMR0 溢出中断 T0IFT0IE RB 端口电平变化 中断 RBIFRBIE TMR1 溢出中断 TMR1IFTMR1IE TMR2 中断 TMR2IFTMR2IE CCP1 中断 CCP1IFCCP1IE CCP2 中断 CCP2IFCCP2IE SCI 同步发送中断TXIF TXIE SCI 同步接收中断RCIF RCIE SSP 中断 SSPIFSSPIE SSP I2C 总线碰撞 中断 BCLIFBCLIE 并行端口中断 PSPIFPSPIE A/D 转换中断 ADIFADIE E2PROM 中断 EEIFEEIE 13 种 14 种10 种 11 种 10 种 表表 1 1 PIC16F87XPIC16F87X 单片机的中断源及其数量单片机的中断源及其数量 2.5.2 PIC16F877A 的中断硬件逻辑的中断硬件逻辑 PIC16F877A 单片机中断系统的逻辑电路如图 2.8 所示。每一种中断源对应着 1 个中断标志位(记为 XXXF,F 是 Flag 的第 1 个英文字母)和 1 个中断屏蔽位或者叫 中断使能位(记为 XXXE,E 是 Enable 的第 1 个英文字母) 。中断源产生的中断标志 信号是否得以向前传递,将受控于对应的中断屏蔽位。每一个中断标志位都对应着 24 1 个触发器。当中断源申请 CPU 中断时,与之对应的触发器就由硬件自动置位,而 该触发器的清零是由用户安排程序来实现的;每一个中断屏蔽位也对应着 1 个触发 器。该触发器的置位和清零均是由用户程序完成的。 所有的中断源都受全局中断屏蔽位(也可以称为总屏蔽位)GIE 的控制。第 1 梯队的中断源不仅受全局中断屏蔽位的控制,还要受各自中断屏蔽位的控制;第 2 梯队的中断源不仅受到全局中断屏蔽位和各自中断屏蔽位的控制,还要额外受到 1 个外设中断屏蔽位 PEIE 的控制。 图 2.8PIC16F877A 的中断逻辑 2.5.3 PIC16F877A 中断的处理中断的处理 单片机复位后,由硬件自动对全局中断屏蔽位进行设置 GIE=0,将屏蔽所有的 中断源。中断返回指令“RETFIE”执行后,也由硬件自动对总屏蔽位进行设置 GIE=1,重新开放所有的中断源。不论各种中断屏蔽位和全局中断屏蔽位 GIE 处于何 种状态(是开放还是禁止) ,当某一中断源的中断条件满足时,都会发出中断请求, 相应的中断标志位都会被置位(=1) 。但是,是否能够得到 CPU 的响应,则要根据该 中断源所涉及到的中断屏蔽位的状态而定。CPU 响应中断后,由硬件自动对全局中 断屏蔽位进行清零(GIE=0) ,屏蔽所有的中断源,以免发生重复中断响应,然后, 由硬件自动把当前的程序计数器 PC 值(即程序断点地址)压入堆栈(实际为硬件堆 栈) ,并且把 PC 寄存器置以中断向量地址(0004H) ,从而转向并开始执行中断服务 25 程序。进入中断服务程序后,程序中必须安排指令,检查发出请求的中断源(如果 同时开放多个中断源的话) 。这可以通过检查各个中断源的标志位来实现。一旦确定 出发出申请的中断源,就用软件把该中断源的标志位人为地清零,否则,执行中断 返回指令“RETFIE” 。重开中断后,由于中断标志位仍为“1”而引起 CPU 重复响应 同一个中断请求。中断服务程序的末尾必须放置 1 条中断返回指令“RETFIE” 。执行 该条指令后,不仅可以重开中断,而且还可以由硬件自动将保留在堆栈顶部的断点 地址弹出,并放回到程序计数器 PC 中,使 CPU 返回和继续执行被中断的主程序。 (1)中断的延时响应和延时处理 1 次中断过程,从中断源发出请求到得到 CPU 的响应必然存在一定的延迟时间。 各个相关信号的时序图如图 2.9 所示。 图 2.9INT 引脚中断时序图 在图2.9中,第1行是系统时钟脉冲信号,每4个时钟周期对应1个指令周期。第2 行就是指令周期信号。该信号只有在RC振荡模式下,从OSC2脚上可以向片外送出。 第3行是单片机外部引脚INT送入的中断脉冲信号。外部中断信号INT是用边沿触发的。 假设预先设定的是INT中断信号上升沿有效的

    注意事项

    本文(毕业设计(论文)-无线遥测温度系统的设计.doc)为本站会员(爱问知识人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开