当前位置:
文档之家› PIC单片机原理及应用(第三版)(下)
PIC单片机原理及应用(第三版)(下)
主编: 李荣正
1
第0章 键盘和显示
键盘和显示是单片机控制系统非常重要的人 机交互界面。
2
0.1 八段数码显示
1、八段数码显示器的编码
数值
1 2 3 4 5
编码
06H 5BH 4FH 66H 6DH
数值
6 7 8 9 0
编码
7DH 07H 7FH 6FH 3FH
2、编码查表程序
3
3、多位数字动态显示 多位数字动态显示涉及数据的传送和显示 位的控制。
18
Bit6/SSPOV:接收溢出标志位,被动参数。 0:未发生接收溢出; 1:发生接收溢出。 注意:所指的接收溢出是缓冲器SSPBUF中 数据还未取出时,移位寄存器SSPSR中又收到 新的数据,原SSPSR中的数据丢失。
19
Bit7/WCOL:写操作冲突检测位,被动参数。 在SPI从动方式下: 0:未发生冲突; 1:发生冲突。 注意:当WCOL=1, 正在发送前一个数据时, 又有新数据写入SSPBUF,必须用软件予以清零。
RK0 RK0 RK1 RK2 RK3 CK0 CK1 CK2 CK3 RK0 RK1 RK2 RK3 CK0 CK1 CK2 CK3 TO PIC1 6F877 RSW1 4K7 RSW2 4K7 RSW3 4K7 RSW4 4K7 RK3 C SW-PB D SW-PB E SW-PB F SW-PB RK2 8 SW-PB 9 SW-PB A SW-PB B SW-PB RK1 4 SW-PB 5 SW-PB 6 SW-PB 7 SW-PB 0 SW-PB 1 SW-PB 2 SW-PB 3 SW-PB
37
Bit2/T1SYNC:TMR1外部输入时钟与系统时钟同步控制位,主 动参数。 当TMR1工作于计数器方式(TMR1CS=1时): 0: TMR1外部输入时钟与系统时钟保持同步; 1: TMR1外部输入时钟与系统时钟不保持同步; 当TMR1工作于定时器方式(TMR1CS=0时):该位不起作用。 Bit3/T1OSCEN:TMR1自带振荡器使能位,主动参数。 0: 禁上TMR1振荡器起振,使非门的输出端呈高阻态; 1: 允许TMR1振荡器起振。
MSSP接收/发送数据缓冲空间
12
2.SSPSTAT(同步串口状态寄存器)
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SMP CKE D/A P S R/W UA BF
13
Bit0/BF:缓冲器满标志位,被动参数。 仅仅用于SPI接收状态下: 0:缓冲器空; 1:缓冲器满。 Bit6/CKE:SPI时钟沿选择和I2C总线输入电平选择位。 在CKP = 0,静态电平为低时: 0:SCK的下降沿发送数据; 1:SCK的上升沿发送数据。 在CKP = 1, 静态电平为高时: 0:SCK的上升沿发送数据; 1:SCK的下降沿发送数据。
16
同步串行口MSSP方式选择位
SSPM3-SSPM0 (Bit3-Bit0) 0000 0001 0010 0011 0100 0101 SPI工作方式 主控方式 主控方式 主控方式 主控方式 从动方式 从动方式 时钟 fosc/4 fosc/16 fosc/64 TMR2输出/2 SCK脚输入,使能SS引脚功能 SCK脚输入,关闭SS引脚功能, SS被用作普通数字I/O引脚
29
三者的共同点:
它们的核心部分都是一个由时钟信号触发 ,按递增方式累加工作的循环计数器;从预先 设定的某一初始值开始累计,在累计到计数器 产生溢出,并且同时会建立一个相应的溢出中 断标志。
30
7.2 定时器/计数器TMR1
定时器/计数器TMR1是一个16位的计数寄 存器,带有一个3位的可编程预分频器和一个 内置的低功耗低频时基振荡器。
20
4.SSPSR移位寄存器
直接从端口引脚接收或发送数据,将已经成 功接收到的数据送到缓冲器SSPBUF中,或者从缓 冲器SSPBUF读取将发送的数据。
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
MSSP接收/发送数据串行移位空间
21
9.1.2 SPI模式工作原理
25
【例题】在电路原理图9-5基础上,对其电 路结构稍作调整,以便外扩展一个静态 128KEPROM数据存储器。利用RC3、RC4、RC5引 脚组成一个SPI同步串行方式,通过164移位产 生17位寻址功能,实现对HM628128的并行数据 传送(RD端口)。 编程要求:首先将256个数据00H-FFH存入 EPROM单元0000H-00FFH中,然后再将这些单元 中的数据逐个取出,送往数码显示区的最后两 位显示数据内容,每个数显示停留1秒种。
10
9.1.1 SPI模式下相关寄存器
在SPI模式下,有关的寄存器共有10个, 其中无编址的只有一个SSPSR。这10个寄存器 中有6个寄存器是与其它模块共用的。另外有4 个寄存器与MSSP模块相关,它们是与I2C模式 共用的。
11
1.SSPBUF(收/发数据缓冲器)
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
26
第7章 定时器/计数器
定时器/计数器模块是大部分单片机都内 置的一项重要功能,定时器/计数器的正常工 作一般表现为计数累计功能,通常是由时钟脉 冲来驱动。 定时器/计数器模块一般适用于以下3种 不同的应用场合:
27
从单片机I/O引脚上向外部电路输出一系列符合一定 时序规范的方波信号。 从单片机I/O引脚上,检测外部电路输入的一系列方 波信号的脉宽、周期或频率,以便单片机接收外部电 路的输入信号或通信信号。 单片机对其端口引脚上输入的由外部事件产生的触发 信号进行准确地计数,依据计数结果来控制完成相应 的动作。
14
Bit7/SMP:SPI采样控制位兼I2C总线转换率控制位。 在SPI主控方式下: 0:在输出数据的中间采样输入数据; 1:在输出数据的末尾采样输入数据。 注意:在SPI从动方式下,SMP位必须置位。
15
3.SSPCON(同步串口控制寄存器)
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0
35
TMR1控制寄存器T1CON
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 - - T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON
36
Bit0/TMR1ON:TMR1使能控制位(而TMR0不能被关闭的), 主动参数。 0: 关闭TMR1,使TMR1退出活动状态,以节省能耗; 1: 启用TMR1,使TMR1进入活动状态。 Bit1/TMR1CS:时钟源选择位,主动参数。 0: 选择内部时钟源(fosc/4=Tcyc指令周期); 1: 选择外部时钟源,即时钟信号来源于外部引脚或 者自带振荡器。
28
单片机配置3个定时器/计数器模块:
定时器/计数器模块 位宽 分频器 TMR0 TMR1 TMR2 8 预分频器 普通功能 定时/计数 特别功能 通用目的 备注
16 预分频器 8 预/后分频器
定时/计数 捕捉或输出比较 低频时基振荡器 定时 脉宽调制
CCP:输入捕捉、输出比较和PWM脉冲宽度调制功能 低频时基振荡器 :32768Hz
33
定时器/计数器TMR1的特性:
既可工作于定时器模式又可工作于计数器
模式,还可用作实时时钟RTC; 在计数器溢出时,相应的溢出中断标志自 动置位,并可产生溢出中断。
34
TMR1模块相关的寄存器
中断控制寄存器 INTCON TMR1控制寄存器T1CON 第一外设中断屏蔽寄存器 PIE1 高字节低字节TMR1H:TMR1L
17
Bit4/CPK:时钟极性选择位。 0:表示空闲时时钟停留在低电平; 1:表示空闲时时钟停留在高电平。 Bit5/SSPEN:同步串口MSSP使能位。 在SPI模式下时,有关引脚必须正确的设定为输入或 输出状态。 0:关闭串行端口功能,且设定SCK、SOD、SDI和SS 为普通数字I/O脚; 1:允许串行端口工作,且设定SCK、SOD、SDI和SS 为SPI接口专用。
38
分频器的分频比选择位,主动参数。
T1CKPS1—T1CKPSO(Bit5-bit4) 00 01 10 11 分频比 1:01 1:02 1:04 1:08
39
定时器/计数器TMR1模块的电路结构
40
TMR1与系统时钟的协调关系
与系统的 工作方式 协调关系 定时 同步 触发信号 指令周期信号 T1CKI 同步 计数 异步 T1OSI T1OSO-T1OSI T1CKI T1OSI T1OSO-T1OSI SLEEP状 态 TMR1 不工作 不工作 不工作 不工作 工作 工作 工作 分频器 不工作 工作 工作 工作 工作 工作 工作 捕捉、比 较功能 适用 适用 适用 适用 不适用 不适用 不适用
8
MSSP模块主要应用于系统内部近距离的串行 通信扩展,如SPI、I2C模式。USART模块主要应 用于系统之间的远距离串行通信,在外围接口电 路及计算机通信中应用相当广泛。
9
9.1 SPI串行通信模块
SPI(Serial Peripheral Interface)是 一种单片机外设芯片同步串行扩展接口,由摩 托罗拉公司推出。采用SPI接口外围器件的特 点是引脚性价比高等优点,因而在市场上得到 了广泛的应用。
要发送的数据通过数据总线送入发送缓冲 器,然后自动传送到移位寄存器中;移位寄存 器接收到数据自动传送到接收缓冲器,然后由 程序读取收到的数据;移位寄存器有移入和移 出两个端口,分别与收和发两条通信线路连接, 负责收发数据。
22
SPI模式电路的基本结构