您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > PIC单片机原理及应用(第四版)(下)
1第0章键盘和显示(预备知识)键盘和显示是单片机控制系统非常重要的人机交互界面。返回目录20.1八段数码显示1、八段数码显示器的编码数值编码数值编码106H67DH25BH707H34FH87FH466H96FH56DH03FH2、编码查表程序33、多位数字动态显示多位数字动态显示涉及数据的传送和显示位的控制。位控制显示数据(编码)停留时间(确保视觉需要)44、多位数字静态显示多位数字静态显示涉及数据显示位数据的锁存控制,一般采用两种方案实现。多位74LS164移位寄存器采用74LS224和74LS373数据锁存50.2独立键盘和矩阵键盘1、独立键盘62、矩阵键盘0SW-PB1SW-PB2SW-PB3SW-PB4SW-PB5SW-PB6SW-PB7SW-PB8SW-PB9SW-PBASW-PBBSW-PBCSW-PBDSW-PBESW-PBFSW-PBRSW14K7RSW24K7RSW34K7RSW44K7RK0RK1RK2RK3CK0CK1CK2CK3VCCRK0RK1RK2RK3CK0CK1CK3CK2RK0RK1RK2RK3CK0CK1CK2CK3TOPIC16F8777第9章串行通信模块串行扩展通信接口是单片机与其它计算机之间进行数据交换的重要渠道,F877单片机主要配置有2种形式的串行通信模块:主控同步串行通信MSSP(MasterSynchronousSerialPort)通用同步/异步收发器USART(UniversalSynchronous/AsynchronousReceiverTransmitter)。返回目录8MSSP模块主要应用于系统内部近距离的串行通信扩展,如SPI、I2C模式。USART模块主要应用于系统之间的远距离串行通信,在外围接口电路及计算机通信中应用相当广泛。99.1SPI串行通信模块SPI(SerialPeripheralInterface)是一种单片机外设芯片同步串行扩展接口,由摩托罗拉公司推出。采用SPI接口外围器件的特点是引脚性价比高等优点,因而在市场上得到了广泛的应用。109.1.1SPI模式下相关寄存器在SPI模式下,有关的寄存器共有10个,其中无编址的只有一个SSPSR。这10个寄存器中有6个寄存器是与其它模块共用的。另外有4个寄存器与MSSP模块相关,它们是与I2C模式共用的。111.SSPBUF(收/发数据缓冲器)bit7bit6bit5bit4bit3bit2bit1bit0MSSP接收/发送数据缓冲空间122.SSPSTAT(同步串口状态寄存器)bit7bit6bit5bit4bit3bit2bit1bit0SMPCKED/APSR/WUABF13Bit0/BF:缓冲器满标志位,被动参数。仅仅用于SPI接收状态下:0:缓冲器空;1:缓冲器满。Bit6/CKE:SPI时钟沿选择和I2C总线输入电平选择位。在CKP=0,静态电平为低时:0:SCK的下降沿发送数据;1:SCK的上升沿发送数据。在CKP=1,静态电平为高时:0:SCK的上升沿发送数据;1:SCK的下降沿发送数据。14Bit7/SMP:SPI采样控制位兼I2C总线转换率控制位。在SPI主控方式下:0:在输出数据的中间采样输入数据;1:在输出数据的末尾采样输入数据。注意:在SPI从动方式下,SMP位必须置位。153.SSPCON(同步串口控制寄存器)bit7bit6bit5bit4bit3bit2bit1bit0WCOLSSPOVSSPENCKPSSPM3SSPM2SSPM1SSPM016同步串行口MSSP方式选择位SSPM3-SSPM0(Bit3-Bit0)SPI工作方式时钟0000主控方式fosc/40001主控方式fosc/160010主控方式fosc/640011主控方式TMR2输出/20100从动方式SCK脚输入,使能SS引脚功能0101从动方式SCK脚输入,关闭SS引脚功能,SS被用作普通数字I/O引脚17Bit4/CPK:时钟极性选择位。0:表示空闲时时钟停留在低电平;1:表示空闲时时钟停留在高电平。Bit5/SSPEN:同步串口MSSP使能位。在SPI模式下时,有关引脚必须正确的设定为输入或输出状态。0:关闭串行端口功能,且设定SCK、SOD、SDI和SS为普通数字I/O脚;1:允许串行端口工作,且设定SCK、SOD、SDI和SS为SPI接口专用。18Bit6/SSPOV:接收溢出标志位,被动参数。0:未发生接收溢出;1:发生接收溢出。注意:所指的接收溢出是缓冲器SSPBUF中数据还未取出时,移位寄存器SSPSR中又收到新的数据,原SSPSR中的数据丢失。19Bit7/WCOL:写操作冲突检测位,被动参数。在SPI从动方式下:0:未发生冲突;1:发生冲突。注意:当WCOL=1,正在发送前一个数据时,又有新数据写入SSPBUF,必须用软件予以清零。204.SSPSR移位寄存器直接从端口引脚接收或发送数据,将已经成功接收到的数据送到缓冲器SSPBUF中,或者从缓冲器SSPBUF读取将发送的数据。bit7bit6bit5bit4bit3bit2bit1bit0MSSP接收/发送数据串行移位空间219.1.2SPI模式工作原理要发送的数据通过数据总线送入发送缓冲器,然后自动传送到移位寄存器中;移位寄存器接收到数据自动传送到接收缓冲器,然后由程序读取收到的数据;移位寄存器有移入和移出两个端口,分别与收和发两条通信线路连接,负责收发数据。22SPI模式电路的基本结构23SPI工作原理示意图24【例题】如图9-5为8位数码显示和16个键盘电路,利用F877的SPI同步串行功能实现数码管数据串行传送,并通过8个74LS164组成的移位电路,达到数码数据的静态显示。而16个键盘组成矩阵电路,采用RD口高低四复合选通。请编写相应的应用程序,要求:在系统复位后8位数码管全暗,接着1、2、3…7分别从数码管的最高位到最低位依次点亮,最后直接进入系统的监控状态,以在最高位出现“-”为标志。25【例题】在电路原理图9-5基础上,对其电路结构稍作调整,以便外扩展一个静态128KEPROM数据存储器。利用RC3、RC4、RC5引脚组成一个SPI同步串行方式,通过164移位产生17位寻址功能,实现对HM628128的并行数据传送(RD端口)。编程要求:首先将256个数据00H-FFH存入EPROM单元0000H-00FFH中,然后再将这些单元中的数据逐个取出,送往数码显示区的最后两位显示数据内容,每个数显示停留1秒种。26第7章定时器/计数器定时器/计数器模块是大部分单片机都内置的一项重要功能,定时器/计数器的正常工作一般表现为计数累计功能,通常是由时钟脉冲来驱动。定时器/计数器模块一般适用于以下3种不同的应用场合:返回目录27从单片机I/O引脚上向外部电路输出一系列符合一定时序规范的方波信号。从单片机I/O引脚上,检测外部电路输入的一系列方波信号的脉宽、周期或频率,以便单片机接收外部电路的输入信号或通信信号。单片机对其端口引脚上输入的由外部事件产生的触发信号进行准确地计数,依据计数结果来控制完成相应的动作。28单片机配置3个定时器/计数器模块:定时器/计数器模块位宽分频器普通功能特别功能备注TMR08预分频器定时/计数通用目的TMR116预分频器定时/计数捕捉或输出比较低频时基振荡器TMR28预/后分频器定时脉宽调制CCP:输入捕捉、输出比较和PWM脉冲宽度调制功能低频时基振荡器:32768Hz29三者的共同点:它们的核心部分都是一个由时钟信号触发,按递增方式累加工作的循环计数器;从预先设定的某一初始值开始累计,在累计到计数器产生溢出,并且同时会建立一个相应的溢出中断标志。307.2定时器/计数器TMR1定时器/计数器TMR1是一个16位的计数寄存器,带有一个3位的可编程预分频器和一个内置的低功耗低频时基振荡器。31TMR1的用途:TMR1可作通用的定时器和计数器;利用内置的低频时基振荡器,可实现实时时钟RTC功能TMR1与CCP模块配合使用,可实现输入捕捉和输出比较功能。32定时器/计数器TMR1的特性:一个16位的由时钟信号上升沿触发的累加计数寄器对TMR1L:TMR1H;TMR1L和TMR1H是在RAM中统一编址的寄存器对,地址为0EH和0FH,可用软件方式读/写TMR1寄存器对的内容;一个可选用的3位可编程预分频器;累加计数的信号源可选择内部系统时钟、外部触发信号或自带时基振荡器信号;33定时器/计数器TMR1的特性:既可工作于定时器模式又可工作于计数器模式,还可用作实时时钟RTC;在计数器溢出时,相应的溢出中断标志自动置位,并可产生溢出中断。34TMR1模块相关的寄存器中断控制寄存器INTCONTMR1控制寄存器T1CON第一外设中断屏蔽寄存器PIE1高字节低字节TMR1H:TMR1L35TMR1控制寄存器T1CONBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0--T1CKPS1T1CKPS0T1OSCENT1SYNCTMR1CSTMR1ON36Bit0/TMR1ON:TMR1使能控制位(而TMR0不能被关闭的),主动参数。0:关闭TMR1,使TMR1退出活动状态,以节省能耗;1:启用TMR1,使TMR1进入活动状态。Bit1/TMR1CS:时钟源选择位,主动参数。0:选择内部时钟源(fosc/4=Tcyc指令周期);1:选择外部时钟源,即时钟信号来源于外部引脚或者自带振荡器。37Bit2/T1SYNC:TMR1外部输入时钟与系统时钟同步控制位,主动参数。当TMR1工作于计数器方式(TMR1CS=1时):0:TMR1外部输入时钟与系统时钟保持同步;1:TMR1外部输入时钟与系统时钟不保持同步;当TMR1工作于定时器方式(TMR1CS=0时):该位不起作用。Bit3/T1OSCEN:TMR1自带振荡器使能位,主动参数。0:禁上TMR1振荡器起振,使非门的输出端呈高阻态;1:允许TMR1振荡器起振。38T1CKPS1—T1CKPSO(Bit5-bit4)分频比001:01011:02101:04111:08分频器的分频比选择位,主动参数。39定时器/计数器TMR1模块的电路结构40TMR1与系统时钟的协调关系TMR1分频器定时同步指令周期信号不工作不工作适用T1CKI不工作工作适用T1OSI不工作工作适用T1OSO-T1OSI不工作工作适用T1CKI工作工作不适用T1OSI工作工作不适用T1OSO-T1OSI工作工作不适用捕捉、比较功能同步异步计数SLEEP状态触发信号工作方式与系统的协调关系417.3定时器TMR2TMR2是一个8位定时器,带一个可编程预分频器和一个可编程后分频器,一个可编程8位周期寄存器PR2。42主要用途TMR2是存放计数值的寄存器,只能工作于定时器模式;可以为主同步串行端口MSSP模块(SPI模式),提供波特率时钟;TMR2还可以与CCP模块配合使用,提供脉宽调制PWM功能的时基信号。43定时器TMR2的特性TMR2在RAM空间内统一编址,地址为011H;可用软件方式直接读/写TMR2的内容;可编程的2位预分频器,有1:1、1:4、1:16,3种分频比;可编程的4位后分频器,有16种分频比;带有一个8位周期寄存器PR2,这个寄存器的值由用户填入;44定时器TMR2的特性只能由内部系统时钟来触发定时器的增量,因此只工作于定时器模式;具有溢出次数经过分频的溢出中断功能;不管哪种复位,都会将TMR2清零。注意,TMR0和TMR1寄存器的内容不受复位的影响;可以被软件关闭。45定时器TMR2模块相关的寄存器中断控制寄存器INTCON第一外设中断屏蔽寄存器PIE1第一外设中断标志寄存器PIR1TMR2工作寄存器TMR2TMR2控制寄存器T2COMTMR2周期寄存器PR246控制寄存器T2CONBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0-TOUTPS3TOUTPS2TOUTPS1TOUTPS0CCP
本文标题:PIC单片机原理及应用(第四版)(下)
链接地址:https://www.777doc.com/doc-1882898 .html