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

上传人:laozhun 文档编号:3982941 上传时间:2023-03-30 格式:DOC 页数:66 大小:1.17MB
返回 下载 相关 举报
毕业设计(论文)无线遥测温度系统的设计.doc_第1页
第1页 / 共66页
毕业设计(论文)无线遥测温度系统的设计.doc_第2页
第2页 / 共66页
毕业设计(论文)无线遥测温度系统的设计.doc_第3页
第3页 / 共66页
毕业设计(论文)无线遥测温度系统的设计.doc_第4页
第4页 / 共66页
毕业设计(论文)无线遥测温度系统的设计.doc_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《毕业设计(论文)无线遥测温度系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)无线遥测温度系统的设计.doc(66页珍藏版)》请在三一办公上搜索。

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

2、20温度传感器集温度测量和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 to pursue, it brings

3、 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 syste

4、m, 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 meas

5、urement 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, ca

6、n 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.1 PIC16F877A单片机简介72.1.1 单片机的发展

7、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定时器/计数器TMR0132.3.1通用定时/计数器Timer0模块142.3.2 Timer0中断152.3.3使用带有外部时钟的Timer0152.3.4预分频器152.4模拟数字转换器ADC152.4.1 A/D转换器模块162.4.2 A/D转换器采集要求202.4.3选择A/D转换器

8、时钟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温度传感器简介283.1 DS18B20简述:283.2 DS18B20内部结构283.3 DS18B20的工作时序293.4 DS18B20与单片机的典型接口314 无线收发模块PTR2000简介314

9、.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参 考 文 献49附录A54英文文献54英文文献翻译611 绪论随着“信息时代”的到来,作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、

10、工作原理及特性是非常重要的。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高

11、工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一温度监控系统。文中传感器理论单片机实际应用有机结合,详细地讲述了利用热敏电阻作为热敏传感器探测环境温度的过程,以及实现热电转换的原理过程。本设计应用性比较强,设计系统可以作为生物培养液温度监控系统,也可以做热水器温度调节系统、实验室温度监控系统等等。课题主要任务

12、是完成环境温度检测,利用单片机实现温度调节并通过计算机实施温度监控。设计后的系统具有操作方便,控制灵活等优点。1.1 选题背景温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。随着电子技术和单片机技术的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用单片机技术对温度进行测控的技术,也便随之而生,

13、并得到日益发展和完善,越来越显示出其优越性。本设计即单片机技术对温度进行实时检测与控制.1.2 主要研究内容温度信息在某些工业生产中具有较为重要的地位,为了保障生产的顺利进行,我们必须实时监测温度的变化,同时为了适应一些恶劣环境,可利用无线网络进行信号传递。本课题拟采用PIC单片机作为主控芯片,单总线温度传感器DS18B20作为温度采集设备,PTR2000作为无线传输模块,进行系统整合,通过程序实现无线温度传感系统。本课题着眼于培养系统整合能力,提高实践应用技能。2 硬件理论基础此系统硬件平台是PIC16F877A单片机开发板,PIC系列单片机的硬件系统设计简洁,指令系统设计精炼;它不仅全部指

14、令均为单字节指令,而且绝大多数指令为单周期指令,以利于提高执行速度;其运行速度远远高于其他相同档次的单片机.其体积小,功耗低,精简指令集 ,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好; 它可以实现在线调试和在线编程。因此,在此控制系统中,采用PIC16F877A单片机作为控制核心。2.1 PIC16F877A单片机简介2.1.1 单片机的发展所谓单片机(Single Chip Microcomputer),是指在一块芯片中集成有中央处理器(CPU)、存储器(RAM和ROM)、基本I/O接口以及定时器、计数器等部件,并具有独立指令系统的智能器件,即在一块芯片上实现一台微型计算机的基本功

15、能。特点是:体积小,控制功能强,性价比高等。单片机经历初级阶段(1971-1974),低性能单片机阶段(1974-1978),高性能单片机发展阶段(1978-1983)以及提高阶段(1983-现在),1983年Intel公司推出MCS-96系列的16位单片机,而在这个时期,Motorola、Intel、ATMEL、TI、三菱、日立、飞利浦等公司推出了许多增强型的8位单片机、16位单片机,甚至32位单片机,出了非常多的新型单片机,极大地推动了单片机的应用。现代社会中单片机有着广泛的应用领域。随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DS

16、P,Digital Signal Processor)等领域。2.1.2 PIC系列单片机特点PIC16F877A是由Microchip公司所生产开发的新产品,属于PICmicro系列单片微机,具有Flash program程序内存功能,可以重复烧录程序,适合教学、开发新产品等用途;而其内建ICD(In Circuit Debug)功能,可以让使用者直接在单片机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速地进行程序除错与开发。 PIC16F877A单片机除了具备体积小 、集成度高、价格低、性能强、速度块、可靠性高等优点之外,它还有它的优越之处:(1)哈弗总线结构,提高

17、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*

18、8个数据存储器(RAM)字节256*8EEPROM数据存储器字节; 6)中断能力(达到14个中断源); 7)8级深度的硬件堆栈; 8)直接,间接和相对寻址方式; 9)上电复位(POR),上电定时器(PWRT)和振荡启动定时器(OST); 10)监视定时器(WDT),它带有片内可靠运行的RC振荡器11)可编程的代码保护,低功耗睡眠方式; 12)可选择的振荡器13)低功耗,高速CMOS FLASH/EEPROM工艺14)全静态设计,在线串行编程(ICSP)15)单独5V的内部电路串行编程(ICSP)能力 处理机读/写访问程序存储器16)运行电压范围 2.0V到5.5V17)高吸入/拉出电流范围18

19、)低功耗 -在5V,4MHz时典型值小于2mA -在3V,32KHz时典型值小于20uA -典型的稳态电流值小于1uA2.1.4 PIC16F877A单片机外观及结构图本设计无线遥测温度系统选用的单片机型号为PIC16F877A。PIC16F877A外形图如图2.1所示:图2.1 PIC16F877A外形图PIC16F877A结构图如图2.2所示:图2.2 PIC16F877A结构图2.2 PIC16F877A的输入/输出接口 输入/输出接口(也可简称为I/O端口)是单片机与外设交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界传送由内部电路产生的处理

20、结果、显示信息、控制命令、驱动信号等。在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模块之外的)其他外围模块的外接信号线进行了复用。也

21、就是说,既可以作为普通I/O引脚,又可以作为某些功能部件或外围模块的外接引脚,并由用户以软件方式定义。例如,端口RC中的引脚RC4既可用作一般的输入/输出引脚,又可以作为SPI串行通信模式的数据输入引脚,海可以作为I2C串行通信模式的数据双传送引脚。集3种功能于一脚,这样就可以给用户开发不同的具体项目带来极大的灵活性和便利。2.2.1 PIC16F877A I/O端口内部结构 PIC16F877A的5个端口RA,RB,RC,RD和RE之间不仅存在内部结构上的差异,而且同属于一个端口的各条引脚的内部结构也不尽相同。如图2.3所示的是可代表各个端口及其各个引脚共性的一个I/O引脚内部的基本结构模型

22、。其中包括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输

23、入端,由端送出反相后的数据,经二输入或门和与门构成的双门及PMOS管和NMOS管构成的对管,数据再次被反相,最终送到引脚I/O上。数据输入途径,是来自I/O脚上的数据,经过TTL电平缓冲器送到D触发器INPUT Latch的D输入端,由其Q端送出,再经受控三态门送到内部数据总线Data Bus上。 图2.3 PIC16F877A I/O基本端口内部结构模型2.2.2 PIC16F877A基本输入/输出端口的工作原理对I/O端口的基本操作无外乎有4种:1.设置端口的输入输出状态:向端口的方向控制器寄存器TRIS Latch写控制信息;根据向方向寄存器中写入的内容不同,又可以分为2种情况;(1)

24、将引脚设置为输入状态:经Data Bus送来1;同时由WR TRIS 送来脉冲下降沿,1被锁入TRIS Latch 中,其Q端输出高电平封装住或门,其Q端输出低电平封装住与门,或门输出的高电平使PMOS管截止,与门输出的低电平使NMOS管截止,数据输出的路径被阻断,因此,该脚I/O被设置为输入状态,并且引脚对外呈现高阻状态。(2)将引脚设置为输出状态:经Data Bus送来0,同时由WR TRIS送来脉冲下降沿,0被锁入TRIS Latch中,其Q端输出低电平打开或门,其端输出高电平打开与门,或门和与门的输出电平取决于Data Latch的的端电平,互补对管构成一级反相器,其导通与截止受控于双

25、门的输出状态,因此,该引脚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.经端口输入数据:读取端口上的逻辑电平状态信息;对于

26、这种操作,根据方向控制器的内容不同,又分为2种情况:(1) 方向控制寄存器的内容为1时,读取的是引脚逻辑电平;双门被封住,对管处于截止状态,此时经RD PORT送来的读脉冲,一是加到D触发器INPUT Latch的EN端上,控制D触发器锁存此刻I/O脚经过输入缓冲器送来的逻辑电平,二是打开三态门将D触发器锁存的数据转移到内部数据总线Data Bus上,D触发器的功能可以展宽输入信号的脉冲宽度。(2) 方向控制寄存器的内容为0时,读取的是端口数据寄存器中锁存的数据;双门被放开,对管的输出状态取决于数据寄存器内容,进而使I/O脚上的逻辑电平也就取决于数据寄存器的内容,所以此时会将数据寄存器的内容读

27、回到内部数据总线Data Bus上。4.检查端口的输入输出状态:从端口的方向控制寄存器读取控制信息由RD TRIS 送来读脉冲,打开三态门将TRIS Latch锁存的数据转移到内部数据总线Data Bus上。例如,若其中锁存的内容为1,则其端输出低电平,经过三态门反相后变成逻辑1,送到数据总线上。2.3 定时器/计数器TMR0 PIC16F877A提供了3个定时/计数器:TMR0,TMR1和TMR3。TMR0为8位宽,有一个可选的预分频器,用于通用目的;TMR1为16位宽,附带一个可编程的预分频器,还附带一个可选的低频时基振荡器,适合与CCP(捕捉比较脉宽调制)模块配合使用来实现输入捕捉或输出

28、比较的功能;TMR2为8位宽,同时附带一个可编程的预分频器和一个可编程的后分频器,还附带一个周期寄存器和比较器,适合与CCP模块配合使用来实现PWM脉冲宽度调制信号的产生。2.3.1 通用定时/计数器Timer0模块定时器/计数器TMR0具有一下特性:1) 核心是一个8位宽的由时钟信号上升沿触发的循环累加计数寄存器TMR02) TMR0也是一个在文件寄存器区域内统一编址的寄存器,地址为01H或101H3) 用户用软件方式可直接读出或写入计数器的内容4) 具有一个可选用的8位可编程预分频器5) 用于累加计数的信号源可选择内部或外部时钟信号源,也就是既可工作于定时器模式,又可工作于计数器模式6)

29、当使用外部触发信号作为时钟信号源时可由程序定义上升沿或下降沿触发有效7) 具有溢出中断功能TMR0的结构如图2 .4:图2.4 TMR0结构图通过对TOCS位清零可选择定时器方式,在定时器方式时,TMR0模块在每个指令周期加1(无预分频器) 。如果是在写入TMR0寄存器时,递增将会延迟到两个指令周期发生。用户可以通过向TMR0寄存器写入一个调整值来解决。计数器方式通过对TOCS位置1来选择,用计数器方式时,TMR0在TOCK1引脚的每个上升/下降边沿递增加1。递增边沿通过TMR0源边沿选择位TOSE来决定,通过对TOSE位清0来选择上升边沿。2.3.2 Timer0中断当TMR0寄存器从FFH

30、到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 预分频器 只有一个

31、预分频器在Timer0模块和监视定时器之间相互肚子分享,当预分频器分配给Timer0模块,意味着将没有预分频器分给监视定器和Vice-Versa使用,这种预分频器是不可读写的。PSA和PS0PS2位决定了预分频器的分配对象和分配频率。当预分频器分配给Timer0模块时,所有写入Timer0寄存器的指令将使预分频器清零,当预分频器分配给WDT时,CLRWDT指令在对预分频器清零时,也对WDT清零。预分频器既不可读也不可写。 注:当预分频器分配给Timer0模块时,写入TMR0将预分频器清零,但不改变预分频器分配。2.4 模拟数字转换器ADC PIC16F877A单片机有8个输入,模拟输入充电一个

32、采样和保持电容,采样和保持输出是输入到转换器。转换器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结果低位寄存器(ADRESL)A/D控制寄存器0(ADCON0)A/D控制寄存

33、器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寄存器设端口引脚的功能:ADCON1寄存器(地址9Fh)Bit7 ADFM:A

34、/ 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/D模块方框图见图2.5图2.5 A/D模块方框图在A/D模块已按要求设置后

35、,所选择的通道在转换之前必须被采集,模拟输入通道必须有所选择的作为输入的相应TRIS位,为决定采样时间在这个采集时间意境过去之后A/D转换开始。下列步骤用作进行A/D转换:1. 设置A/D模块l 设定模拟引脚/参考电压/数字I/O(ADCON1)l 选择A/D输入通道(ADCON0)l 选择A/D转换时钟(ADCON0)l 选择A/D模块(ADCON0)2. 设置A/D中断(如果需要)l 对ADIF位清零l 对ADIF位置1l 对GIE位置13. 0:等待所要求的采集时间4. 0:开始转换l 将GO/DOWN位置1(ADCON0)5. 等待A/D转换完成,既可通过:l 探寻GO/DONE被清零

36、l 等待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,在模块输入通道被选择后

37、,在转换可用开始之前采集必须通过。图2.6 模拟输入模型2.4.3 选择A/D转换器时钟A/D转换器时间每位定义为TAD,A/D转换器每10位转换要求12TAD,A/D转换器时钟源是 用软件可选择的,TAD的四种可能选择是:l 2TOSCl 8TOSCl 32TOSCl 内部RC振荡器对于正确的A/D转换,A/D转换时钟(TAD)必须被选择以保证1.6s的最小TAD时间。2.4.4 设定模拟端口ADCON1、TRISA和TRISE寄存器控制A/D端口引脚的操作,这个需做为模拟输入的端口引脚必须有他们的相应位TRIS置1(输入),如果TRIS为清零(输出),数字输出电平(VOH或VOL)将被转换

38、。A/D操作是独立于(CHS)位和TRIS位的状态之外的。注:1.当读端口寄存器时,所有设定为模拟输入通道引脚将读作零,设定为数字输入的引脚将转换一个模拟输入。在数字设定输入上的模拟电平将不会影响转换精度。 2.在任何引脚上定做数字输入的模拟电平,不做为模拟输入,可用导致输入缓冲器消耗不是指定的电流。2.4.5 A/D转换在转换期间对GO/DONE位清零将中断电流转换。ADRES寄存器将不会用局部完成A/D转换采样来更新。这是因为ADRES寄存器继续包含最后完成转换的值。在A/D转换中断之后,在下一个采集之前,在A/D转换结束之后, 要求一个2TAD等待。在2TAD等待之后,一个采集在所选的通

39、道上自动地开始。在图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中断使能,单片机将从睡眠中唤醒,如果A/D中断不能使能,尽管ADON位仍保持1,A/D模块将被关

40、闭。当A/D时钟源是另一种时钟选择(不是RC),尽管ADIN位仍保持1,睡眠指令将导致目前的转换中断和A/D模块被关闭。2.4.7 复位影响单片机复位强迫所有寄存器复位到他们的复位状态,强迫A/D转换模块关闭和在进行的转换被中断。在ADESH:ADRESL寄存器的值班在上电复位时不变。ADESH:ADRESL寄存器在上电复位之后将包含未知数据。2.5 PIC16F877A中断系统 目前在世界一些著名的单片机产品系列中,PIC16F87X系列单片机是芯片内部包含有外围设备模块数量最多的单片机品种之一。PIC16F877单片机的芯片内部集成了15个外围设备模块;由于CPU的运行速度非常高,而各个外

41、围设备模块的工作速度却非常低,况且这些外围设备模块也不是频繁地要求CPU对其服务。因此,通常采取一种让众多外围设备模块共享1个CPU,并且能够及时得到CPU服务的调度方法中断2.5.1 PIC16F877A的中断源PIC系列单片机是当今世界上很有影响力的精简指令集(RISC)微控制器,具有丰富的中断功能。其中功能强大的中、高挡型号的中断源有18种之多。在PIC单片机家族中,排位属于中上水平的PIC16F87X子系列单片机具备的中断源多达14种。其中,单片机的型号不同,中断源的种类、个数也不同,如表1所列。其不足之处是:中断矢量只有1个,并且各个中断源之间也没有优先级别之分,不具备非屏蔽中断。中

42、断源种类中断源志位中断源蔽位873/ 876874/ 877870871872外部触发中断INTINTFINTETMR0溢出中断T0IFT0IERB端口电平变化中断RBIFRBIETMR1溢出中断TMR1IFTMR1IETMR2中断TMR2IFTMR2IECCP1中断CCP1IFCCP1IECCP2中断CCP2IFCCP2IESCI同步发送中断TXIFTXIESCI同步接收中断RCIFRCIESSP中断SSPIFSSPIESSP I2C总线碰撞中断BCLIFBCLIE并行端口中断PSPIFPSPIEA/D转换中断ADIFADIEE2PROM中断EEIFEEIE13种14种10种11种10种表1

43、 PIC16F87X单片机的中断源及其数量 2.5.2 PIC16F877A的中断硬件逻辑PIC16F877A单片机中断系统的逻辑电路如图2.8所示。每一种中断源对应着1个中断标志位(记为XXXF,F是Flag的第1个英文字母)和1个中断屏蔽位或者叫中断使能位(记为XXXE,E是Enable的第1个英文字母)。中断源产生的中断标志信号是否得以向前传递,将受控于对应的中断屏蔽位。每一个中断标志位都对应着1个触发器。当中断源申请CPU中断时,与之对应的触发器就由硬件自动置位,而该触发器的清零是由用户安排程序来实现的;每一个中断屏蔽位也对应着1个触发器。该触发器的置位和清零均是由用户程序完成的。 所

44、有的中断源都受全局中断屏蔽位(也可以称为总屏蔽位)GIE的控制。第1梯队的中断源不仅受全局中断屏蔽位的控制,还要受各自中断屏蔽位的控制;第2梯队的中断源不仅受到全局中断屏蔽位和各自中断屏蔽位的控制,还要额外受到1个外设中断屏蔽位PEIE的控制。图2.8PIC16F877A的中断逻辑2.5.3 PIC16F877A中断的处理单片机复位后,由硬件自动对全局中断屏蔽位进行设置GIE=0,将屏蔽所有的中断源。中断返回指令“RETFIE”执行后,也由硬件自动对总屏蔽位进行设置GIE=1,重新开放所有的中断源。不论各种中断屏蔽位和全局中断屏蔽位GIE处于何种状态(是开放还是禁止),当某一中断源的中断条件满

45、足时,都会发出中断请求,相应的中断标志位都会被置位(=1)。但是,是否能够得到CPU的响应,则要根据该中断源所涉及到的中断屏蔽位的状态而定。CPU响应中断后,由硬件自动对全局中断屏蔽位进行清零(GIE=0),屏蔽所有的中断源,以免发生重复中断响应,然后,由硬件自动把当前的程序计数器PC值(即程序断点地址)压入堆栈(实际为硬件堆栈),并且把PC寄存器置以中断向量地址(0004H),从而转向并开始执行中断服务程序。进入中断服务程序后,程序中必须安排指令,检查发出请求的中断源(如果同时开放多个中断源的话)。这可以通过检查各个中断源的标志位来实现。一旦确定出发出申请的中断源,就用软件把该中断源的标志位

46、人为地清零,否则,执行中断返回指令“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中断信号上升沿有效的话,则该信号的上升沿将会

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号