第4章外部接口功能及应用课件.ppt
《第4章外部接口功能及应用课件.ppt》由会员分享,可在线阅读,更多相关《第4章外部接口功能及应用课件.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章外部接口功能及应用第1页,此课件共90页哦 4.1 I/O端口o单片机的性能优劣在很大程度上取决于I/O端口功能的强弱。任何单片机都带有用于信号输入和输出的引脚,差别只是多少而已。nPIC18F248/258RA、RB、RCnPIC18F448/458RA、RB、RC、RD、RE6 6根根3 3根根8 8根根8 8根根8 8根根第2页,此课件共90页哦o绝大多数I/O引脚具有复用功能,除具备常规的双向输入/输出功能以外,还有各自第二、第三功能的特殊作用o如果某个I/O端口承担相应功能模块的输入/输出或数据通信接口,就不再担任通用I/O端口的功能 4.1 I/O端口第3页,此课件共90页哦
2、每个端口都对应3个在RAM中统一编址的寄存器:1.端口数据寄存器PORTx PORTA、PORTB、PORTC、PORTD、PORTE2.端口方向控制寄存器TRISx 1 输入 0 输出3.端口输出数据锁存器LATx 从I/O端口输出数据,就是通过PORT端口寄存器 将数据写入数据锁存器第4页,此课件共90页哦 说明:o对端口进行读写操作的含义n端口寄存器读出的是相应I/O引脚的电平状态n写端口寄存器则是写入其输出数据锁存器n所有写I/O端口的操作都是“读入-修改-写入”操作第5页,此课件共90页哦 1、RA端口o是一个6位宽双向I/O端口o在基本I/O功能的基础上,复合了A/D转换器的模拟量
3、输入功能、A/D转换器所需的外接参考电压输入功能、TMR0的外部时钟输入功能、MSSP的从动选择信号输入功能等第6页,此课件共90页哦第7页,此课件共90页哦 RA对应3个寄存器oPORTA 端口A数据寄存器oLATA 端口A输出数据锁存器oTRISA 端口A方向控制寄存器n1 输入 0 输出第8页,此课件共90页哦 RA应用实例Main()PORTA=0;清空输出锁存器并初始化 LATA=0;清空输出锁存器 TRISA=0XCF;设置输出和输入 PORTA=0X55;输出数据 while(1);其他代码 第9页,此课件共90页哦 2、RB端口o8位双向I/On除用作基本I/O之外,每个引脚内
4、部都有一个可编程弱上拉电路。若想让弱上拉电路发挥作用,则必须在端口引脚方向设定为输入的情况下,将/RBPU设置为0第10页,此课件共90页哦 2、RB端口n高4位RB7-4引脚具有电平变化中断功能,RB2-0具有外部中断输入功能nRB5-7可用作串行编程的控制时钟和数据引脚,RB2和RB3可用作CAN发送/接收引脚第11页,此课件共90页哦 RB应用实例Main()PORTB=0;清空输出锁存器并初始化 LATB=0;清空输出锁存器 TRISB=0XCF;设置输出和输入 PORTB=0X55;输出数据 while(1);其他代码 第12页,此课件共90页哦 3、RC端口o也是一个8位双向I/O
5、端口,除了具有普通数字I/O功能外,绝大部分的片内外围模块都复用到该端口上来。nCCP1、TMR1、MSSP、USARTo每条引脚内部都设置了一个施密特触发输入缓冲器,对输入波形起整形作用。第13页,此课件共90页哦 4、RD端口o只有448和458芯片有此端口o8位双向I/O端口,除了用作基本的数字I/O口外,RD还被复用为并行从动端口的数据输入/输出线。oRD端口还可复用为CCP和ECCP模块PIC单片机原理及应用第14页,此课件共90页哦 5、RE端口o仅PIC18F448/458芯片有o只有3条引脚的双向I/O端口,除了基本的数字I/O口应用外,RE端口可以被复用为并行从动端口的控制线
6、和模数转换器的模拟信号输入端 第15页,此课件共90页哦o微芯公司生产的PIC系列各款产品片内全部配备有定时/计数器模块。oPIC18CXXX、PIC18FXXX都配置了4个定时/计数器模块。4.2 定时器/计数器第16页,此课件共90页哦o如果计数脉冲源自于单片机的内部指令周期,就称之为定时器;o若计数脉冲来自于外部引脚的输入信号,则被称之为计数器。4.2 定时器/计数器第17页,此课件共90页哦各定时/计数器模块功能及配置情况定时/计数器模块位宽分频器普通功能特别功能TMR08或16预分频器定时/计数通用目的TMR116预分频器定时/计数捕捉/输出比较TMR28预/后分频定时器脉宽调制TM
7、R316预分频器定时/计数捕捉/输出比较第18页,此课件共90页哦 1、定时/计数器模块TMR0o定时/计数器TMR0是所有PIC单片机都具备的一个标准定时器资源,可以作为一般功能的定时使用;o同时由于它有一个专用的外部触发信号输入端(T0CKI),也可用于一般功能的计数方式。第19页,此课件共90页哦 TMR0具有以下特性:o是一个8/16位宽的定时/计数器o定时寄存器的当前计数值可读/写o附带一个8位可编程的预分频器o可以选择内部或外部时钟源o具有溢出中断功能o可选择外部时钟信号的触发方式PIC单片机原理及应用第20页,此课件共90页哦 2、定时/计数器TMR1o在中、高档PIC系列单片机
8、中,还专门设计了一个具有较高性能的16位定时/计数器TMR1模块。o它在性能上有效突破了TMR0的局限。通过TMR1模块,可以很容易构成实时时钟、变频输出,以及实现信号捕捉、比较和频率检测等功能。PIC单片机原理及应用第21页,此课件共90页哦 TMR1的功能1)作为通用的定时/计数器2)利用内置的低频时基振荡器,可实现实时时钟RTC(Real Time Clock)输出等功能,并可在系统休眠模式下照常实现计数工作。3)能够与CCP模块配合使用,实现输入信号边沿的捕捉和输出信号的比较功能,在频率检测和脉冲宽度测量中得到广泛应用。第22页,此课件共90页哦 TMR1的特性1)核心是一个16位宽的
9、循环累加寄存器对TMR1H:TMR1L,采用时钟信号上升沿触发的计数方式。2)可用软件方式直接读出或写入TMR1寄存器对的内容。3)带有一个可编程预分频器,可形成4种分频比(1:1,1:2,1:4,1:8),可达到定时/计数的扩展效果。PIC单片机原理及应用第23页,此课件共90页哦 TMR1的特性4)用于累加计数的信号源可选择内部系统时钟、外部触发信号或自带时基振荡器信号。5)既可工作于定时模式,又可工作于计数模式,还可以用作实时时钟RTC。6)具有溢出中断功能第24页,此课件共90页哦 TMR1的控制寄存器T1CON位7 6543210功能RD16-T1CKPS1T1CKPS1T1OSCE
10、NT1SYNCTMR1CSTMR1ONTMR1CS:时钟源选择位1 选择外部时钟源,计数0 选择内部时钟源,定时TMR1ON:TMR1使能控制位第25页,此课件共90页哦 TMR1的控制寄存器T1CON位7 6543210功能RD16-T1CKPS1T1CKPS1T1OSCENT1SYNCTMR1CSTMR1ONRD16:16位读写使能位(TMR1H:TMR1L)1:16读写0:2个8位读写T1SYNC:外部输入时钟同步控制1:不同步0:同步第26页,此课件共90页哦 TMR1的控制寄存器T1CON位7 6543210功能RD16-T1CKPS1T1CKPS1T1OSCENT1SYNCTMR1
11、CSTMR1ONT1CKPS1-T1CKPS1:前分频选择位11:1:8 10:1:401:1:2 00:1:1TMR1ON:TMR1使能控制位第27页,此课件共90页哦 TMR1使用实例:利用定时器TMER1产生50HZ的方波,晶振4MHZ思路:方波周期T=1/50=20ms;定时10ms取反一次;1:8前分频;指令周期=1us;计数初值=65536-t/(1us x p)=FB1E;第28页,此课件共90页哦 TMR1使用实例:#include Main()TRISC=0;设置输出 PORTC=0;TICON=0X30;前分频1:8,2次8为读写 TMR1H=0XFB;TMR1L=0X1E
12、;TMR1IE=0;TMR1ON=1;启动 第29页,此课件共90页哦 TMR1使用实例:while(1)if(TMR1IF=1)TMR1IF=0;if(PORTC=0)PORTC=1;else PORTC=0;取反 TMR1H=0XFB;TMR1L=0X1E;第30页,此课件共90页哦 TMR1使用实例:利用TMER1对外部脉冲计数,晶振4MHZ思路:采用中断方式;初始值设置为:TMR1H=0XFF TMR1L=0XFF 第31页,此课件共90页哦 TMR1使用实例:#include Unsigned char count=0;Display(unsigned char count);Vio
13、d initial();Interrupt HI_ISR();第32页,此课件共90页哦 TMR1使用实例:Void initial()TRISC=1;设置输入,对外部引脚计数 PORTC=0;TICON=0X0A;前分频1:1,2次8位读写,计数方式。TMR1H=0XFF;TMR1L=0XFF;TMR1IE=1;使能 TMR1IF=0;第33页,此课件共90页哦 TMR1使用实例:IPEN=1;开优先级 TMR11P=1;定时器设置为高优先级 GIEH=1;使能高优先级 GIEL=1;第34页,此课件共90页哦 TMR1使用实例:Interrupt HI_ISR()GIEH=0;if(TMR
14、1IE=1&TMR1IF=1)TMR1IF=0;count+;计数 TMR1H=0XFF;TMR1L=0XFF;GIEH=1;第35页,此课件共90页哦 TMR1使用实例:Main()initial();TMR1ON=1;启动 While(1)Display(count);显示 .第36页,此课件共90页哦 4.3 捕捉/比较/PWM(CCP)模块oCCP是英文单词Capture、Compare和PWM的缩写。在PIC单片机中,CCP模块可以任意配置为这三种功能之一。o在PIC18F4X8中,同时配置了CCP/ECCP模块。它们各自都有独立的16位特殊功能寄存器CCPR1/ECCPR1。第37
15、页,此课件共90页哦 1、CCP模块基本功能(1)输入捕捉:)输入捕捉:是指CCP模块可捕捉外部输入时序脉冲 的上升沿或下降沿,从而产生相应的捕捉中断,适用于测量引脚输入的周期性方波信号的周期、频率和占空比等。第38页,此课件共90页哦 1、CCP模块基本功能(2)输出比较:)输出比较:n主要是依据标准时序信号的计数比较从引脚上输出不同宽度的矩形正脉冲、负脉冲和延时启动信号等。第39页,此课件共90页哦 1、CCP模块基本功能(3)PWM功能:功能:n能够从引脚上输出脉冲宽度随时可调的PWM信号,来实现直流电机的变频调速、D/A转换和步进电机的步进控制等。第40页,此课件共90页哦 2、CCP
16、模块寄存器介绍o一个是CCP模块16位可读/写寄存器CCPR1H:CCPR1L主要用于存放数据参考信息或计数比较信息;o另一个是CCP模块控制寄存器CCP1CON,用于设置CCP模块的工作方式。第41页,此课件共90页哦o寄存器CCPR1H:CCPR1L,它在3种工作方式下承担的功能:16位捕捉寄存器/16位比较寄存器,也能通过主/从寄存器的设置定义占空比可变的脉宽调制信号输出。o不管CCP模块工作于哪一种模式,都需要用到CCPR1H:CCPR1L寄存器对。因此,任何时候只能有一种模式。2、CCP模块寄存器介绍PIC单片机原理及应用第42页,此课件共90页哦oDC1B1:DC1B0 PWM占空
17、因数寄存器的低2位,高8位通过CCPR1L设置。n引入低2位补充数据,其目的是为了提高PWM脉宽调制的精度。n该2位定义仅适用于PWM方式,在捕捉和比较方式中未使用。CCP1CON寄存器寄存器第43页,此课件共90页哦oCCP1M3:CCP1M0 模式选择位o0000 关闭功能o0001 保留o0010 比较模式,若匹配输出翻转o0011 捕获模式,CAN总线数据接收触发o0100 捕获模式,下降沿触发o0101 捕获模式,上升沿触发o0110 捕获模式,四个上升沿触发o0111 捕获模式,十六个上升沿触发CCP1CON寄存器寄存器第44页,此课件共90页哦oCCP1M3:CCP1M0 模式选
18、择位o1000 比较模式,CCP1置高o1001 比较模式,CCP1置低o1001 比较模式,CCP1电平不变o1001 比较模式,CCPIF置1,计数器复位到0,并启动一次A/D转换。o11XX PWM模式CCP1CON寄存器寄存器第45页,此课件共90页哦 3、捕捉方式oPIC单片机的输入捕捉功能,就是对外部接口引脚CCP1上输入的脉冲信号上升沿或下降沿进行实时捕捉检测。具 体:o当引脚输入信号发生沿跳变时,CCP的捕捉功能就立即把当时的TMR1/TMR3定时器的16位计数值记录到寄存器CCPR1H:CCPR1L。第46页,此课件共90页哦 工作原理o当CCP工作于输入捕捉模式,下列事件出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外部 接口 功能 应用 课件
限制150内