田老师的PIC单片机教案3.pdf_第1页
田老师的PIC单片机教案3.pdf_第2页
田老师的PIC单片机教案3.pdf_第3页
田老师的PIC单片机教案3.pdf_第4页
田老师的PIC单片机教案3.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

田老师的PIC单片机教案3.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 I/O接口第三章 I/O接口 第三章 I/O接口第三章 I/O接口 第三章 I/O接口 3.1 I/O接口 3.2 串行通讯接口 3.3 显示器接口 3.4 键盘接口 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1.1接口电路的功能及指标 单片机作为一个控制器件必定有数据输入 和输出。输入量可能是温度、压力、转速等, 而输出量可能是开关量和数据,以保证受控过 程在规定的范围内运行。数据的输入和输出都 需通过单片机内部有关电路,再与引脚构成输 入 单片机作为一个控制器件必定有数据输入 和输出。输入量可能是温度、压力、转速等, 而输出量可能是开关量和数据,以保证受控过 程在规定的范围内运行。数据的输入和输出都 需通过单片机内部有关电路,再与引脚构成输 入/输出输出(I/O)端口。端口。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.1接口电路的功能及指标 1PIC16F87X系列单片机的I/O口设置 在在PIC16F87X系列单片机中,系列单片机中,40引脚封装 的单片机共有五个 引脚封装 的单片机共有五个I/O端口:端口端口:端口A、端口、端口B、 端口 、 端口C、端口、端口D和端口和端口E。28引脚封装的单片机 有 引脚封装的单片机 有3个个I/O端口:端口端口:端口A、端口、端口B、端口、端口C 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.1接口电路的功能及指标 2.PIC16F87X系列单片机接口电路的功能和指标系列单片机接口电路的功能和指标 端口的一些引脚通过寄存器的选择用作多功能复 用,既可作为一般通用的 端口的一些引脚通过寄存器的选择用作多功能复 用,既可作为一般通用的I/O引脚,也可作为某些部件 特殊功能的输入 引脚,也可作为某些部件 特殊功能的输入/输出引脚。一旦作为特殊功能引脚, 这些引脚不再用作一般的 输出引脚。一旦作为特殊功能引脚, 这些引脚不再用作一般的I/O功能。每个端口由一个锁 存器、一个输出驱动器和输入缓冲器等组成。当把 功能。每个端口由一个锁 存器、一个输出驱动器和输入缓冲器等组成。当把I/O 口作输出时,数据可以锁存;作输入口时,数据可以 缓冲。 口作输出时,数据可以锁存;作输入口时,数据可以 缓冲。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.1接口电路的功能及指标 (1)端口A(PORTA)和它的方向寄存器 (TRISA) (1)端口A(PORTA)和它的方向寄存器 (TRISA) PIC16F87X系列芯片的系列芯片的PORTA是是6位宽带锁存 器的 位宽带锁存 器的I/O口,它的最大特点是作为口,它的最大特点是作为A/D转换模拟 输入通道,它包含四个功能:数字 转换模拟 输入通道,它包含四个功能:数字I/O功能、模 拟输入功能、 功能、模 拟输入功能、A/D参考电压输入功能和定时器参考电压输入功能和定时器/ 计数器计数器0外部时钟输入功能。外部时钟输入功能。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.1接口电路的功能及指标 作为数字作为数字I/O功能,端口A是一个5位输入/输出口, 传送数据的方向由和端口A相应的数据方向寄存器 功能,端口A是一个5位输入/输出口, 传送数据的方向由和端口A相应的数据方向寄存器 TRISA决定。当决定。当TRISA寄存器相应位置为寄存器相应位置为1,其输出驱 动器呈高阻状态, ,其输出驱 动器呈高阻状态,PORTA相应相应I/O引脚被定义为输入; 当 引脚被定义为输入; 当TRISA寄存器相应位为寄存器相应位为0,输出锁存器上的数据就从 相应 ,输出锁存器上的数据就从 相应I/O引脚上输出,所以这时引脚上输出,所以这时PORTA的相应的相应I/O引脚 被定义为输出。 引脚 被定义为输出。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 一般端口的逻辑结构一般端口的逻辑结构 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.1接口电路的功能及指标 (2)端口B(PORTB)和它的方向寄存器(TRISB)2)端口B(PORTB)和它的方向寄存器(TRISB) 端口B(PORTB)是一个8位宽、双向可编程端口。具有四 个功能:数字I/O功能、外部中断输入功能、端口电平变化中 断功能和在线编程功能。 端口B(PORTB)是一个8位宽、双向可编程端口。具有四 个功能:数字I/O功能、外部中断输入功能、端口电平变化中 断功能和在线编程功能。 作为数字I/O功能,端口B是一个8位输入/输出口,传送数 据的方向由相应的方向寄存器TRISB设置。当TRISB寄存器相应 位置1,其输出驱动器呈高阻状态,PORTB相应I/O引脚被定义 输入;当TRISB寄存器相应位为0,输出锁存器上的数据就从相 应I/O引脚上输出,这时PORTB的相应I/O引脚被定义为输出。 作为数字I/O功能,端口B是一个8位输入/输出口,传送数 据的方向由相应的方向寄存器TRISB设置。当TRISB寄存器相应 位置1,其输出驱动器呈高阻状态,PORTB相应I/O引脚被定义 输入;当TRISB寄存器相应位为0,输出锁存器上的数据就从相 应I/O引脚上输出,这时PORTB的相应I/O引脚被定义为输出。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1.1接口电路的功能及指标 ( 3 ) 端 口 C(PORTC) 和 它 的 方 向 寄 存 器 (TRISC) ( 3 ) 端 口 C(PORTC) 和 它 的 方 向 寄 存 器 (TRISC) 端口C是一个8位宽、双向可编程I/O口,具 有六种功能:数字I/O功能、定时器/计数器1功 能、捕捉/比较/PWM功能、I 端口C是一个8位宽、双向可编程I/O口,具 有六种功能:数字I/O功能、定时器/计数器1功 能、捕捉/比较/PWM功能、I2 2C总线功能、SPI总 线功能和USART功能。 C总线功能、SPI总 线功能和USART功能。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.1接口电路的功能及指标 (4)端口D(PORTD)和它的方向寄存器 (TRISD) (4)端口D(PORTD)和它的方向寄存器 (TRISD) 在PIC16F87X系列中,只有PC16F874(A) /877(A)芯片上有端口D和端口D的方向寄存器。 端口D有两种功能:数字I/O功能和并行从动I/O 功能。 在PIC16F87X系列中,只有PC16F874(A) /877(A)芯片上有端口D和端口D的方向寄存器。 端口D有两种功能:数字I/O功能和并行从动I/O 功能。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.1接口电路的功能及指标 ( 5 ) 端 口 E(PORTH) 和 它 的 方 向 寄 存 器 (TRISE) ( 5 ) 端 口 E(PORTH) 和 它 的 方 向 寄 存 器 (TRISE) 在 PIC16F87X 系 列 中 , 只 有 PC16F874(A) /877(A)芯片有端口E和端口E的方向寄存器。 端口E只有三个引脚RE0/RD/AN5、RE1/WR/AN6和 RE2/CS/AN7,即普通I/O接口、读/写/片选和模 拟输入口。 在 PIC16F87X 系 列 中 , 只 有 PC16F874(A) /877(A)芯片有端口E和端口E的方向寄存器。 端口E只有三个引脚RE0/RD/AN5、RE1/WR/AN6和 RE2/CS/AN7,即普通I/O接口、读/写/片选和模 拟输入口。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 3.1开关量接口 3.1.2开关量接口举例 【3-2】设计一套十字路口交通灯的控制程序。 (用发光二极管代替交通灯) 设4个路口的红灯由RC0RC3控制,RC0、RC1控制南北方向 的红灯,RC2、RC3控制东西方向的红灯。 设4个路口的红灯由RC0RC3控制,RC0、RC1控制南北方向 的红灯,RC2、RC3控制东西方向的红灯。 4个路口的黄灯由RC4RC7控制,RC4、RC5控制南北方向的 黄灯,RC6、RC7控制东西方向的黄灯。 4个路口的黄灯由RC4RC7控制,RC4、RC5控制南北方向的 黄灯,RC6、RC7控制东西方向的黄灯。 第三章 I/O接口第三章 I/O接口 3.1开关量接口 第三章 I/O接口第三章 I/O接口 4个路口的绿灯由RA0RA3控制, RA0、RA1控制南北方向的绿灯, RA2、RA3控制东西方向的绿灯。 控制的过程为: (1)东西方向通车绿灯 亮,而南北方向红灯亮。 (2)东西方向的绿灯灭, 黄灯闪烁,南北方向红灯亮。 (3)南北方向通车绿灯 亮,而东西方向红灯亮。 (4)南北方向的绿灯灭, 黄灯闪烁,东西方向红灯亮。 (5)如此循环 4个路口的绿灯由RA0RA3控制, RA0、RA1控制南北方向的绿灯, RA2、RA3控制东西方向的绿灯。 控制的过程为: (1)东西方向通车绿灯 亮,而南北方向红灯亮。 (2)东西方向的绿灯灭, 黄灯闪烁,南北方向红灯亮。 (3)南北方向通车绿灯 亮,而东西方向红灯亮。 (4)南北方向的绿灯灭, 黄灯闪烁,东西方向红灯亮。 (5)如此循环 交通信号灯 第三章 I/O接口第三章 I/O接口 3.1开关量接口 程序清单如下:程序清单如下: START FLASHLEQU20H;循环次数计数器START FLASHLEQU20H;循环次数计数器 STATUS EQU03HSTATUS EQU03H ZEQU02HZEQU02H PR0EQU05PR0EQU05 PR1EQU06PR1EQU06 CLRFPORTC;清C口CLRFPORTC;清C口 CLRFPORTA;清A口CLRFPORTA;清A口 BSFSTATUS,PR0;选择存储体1BSFSTATUS,PR0;选择存储体1 BCFSTATUS,PR1BCFSTATUS,PR1 CLRFTRISC;设置C口输出CLRFTRISC;设置C口输出 CLRFTRISA;设置A口输出CLRFTRISA;设置A口输出 BCFSTATUS,PR0;选择存储体0BCFSTATUS,PR0;选择存储体0 MOVLW0X05MOVLW0X05 MOVWFFLASHLMOVWFFLASHL 第三章 I/O接口第三章 I/O接口 3.1开关量接口 LOOP BSF PORTC,0LOOP BSF PORTC,0 BSFPORTC,1BSFPORTC,1 BSFPORTA,2BSFPORTA,2 BSFPORTA,3BSFPORTA,3 CALLDELAY1CALLDELAY1 BCFPORTA,2BCFPORTA,2 BCFPORTA,3BCFPORTA,3 LOOP1BSFPORTC,6LOOP1BSFPORTC,6 BSFPORTC,7BSFPORTC,7 CALLDELAY2CALLDELAY2 BCFPORTC,6BCFPORTC,6 BCFPORTC,7BCFPORTC,7 CALLDELAY2CALLDELAY2 DECFSZ FLASHLDECFSZ FLASHL GOTOLOOP1GOTOLOOP1 MOVLW0X05MOVLW0X05 MOVWFFLASHLMOVWFFLASHL BSFPORTC,2BSFPORTC,2 BSFPORTC,3BSFPORTC,3 BCFPORTC,0BCFPORTC,0 BCFPORTC,1BCFPORTC,1 第三章 I/O接口第三章 I/O接口 3.1开关量接口 CALL DELAY2 DECFSZFLASHL GOTOLOOP2 MOVLW 0X05 MOVWF FLASHL GOTOLOOP DELAY1延 时 6 0 s 程序略 DELAY2延时0.5s略 END CALL DELAY2 DECFSZFLASHL GOTOLOOP2 MOVLW 0X05 MOVWF FLASHL GOTOLOOP DELAY1延 时 6 0 s 程序略 DELAY2延时0.5s略 END BSFPORTA,0 BSFPORTA,1 CALLDELAY1 BCFPORTA,0 BCFPORTA,1 LOOP2BSFPORTC,4 BSFPORTC,5 CALLDELAY2 BCFPORTC,4 BCFPORTC,5 BSFPORTA,0 BSFPORTA,1 CALLDELAY1 BCFPORTA,0 BCFPORTA,1 LOOP2BSFPORTC,4 BSFPORTC,5 CALLDELAY2 BCFPORTC,4 BCFPORTC,5 第三章 I/O接口第三章 I/O接口 3.2 SPI串行通信功能 3.2.1 SPI串行通信原理SPI串行通信原理 串行通信是计算机与外界交换信息的一种基本 方式。所谓串行通信是指将一个数据字按顺序逐位 分时传输的方式。串行外围接口 串行通信是计算机与外界交换信息的一种基本 方式。所谓串行通信是指将一个数据字按顺序逐位 分时传输的方式。串行外围接口SPI是一种单片机 外设芯片同步串行扩展接口,由摩托罗拉公司首先 推出。 是一种单片机 外设芯片同步串行扩展接口,由摩托罗拉公司首先 推出。SPI通信模式常用于通信模式常用于CPU与外围设备如串行与外围设备如串行 EEPROM、移位寄存器、显示驱动器和、移位寄存器、显示驱动器和A/D转换器 的通信。 转换器 的通信。SPI接口可以用全双工方式同时发送和接 收 接口可以用全双工方式同时发送和接 收8位数据,它共定义了位数据,它共定义了4根信号线,这四根信号线 分别定义如下: 根信号线,这四根信号线 分别定义如下: 1.串行数据输出线串行数据输出线SDO。作用是单向传送数据, 先送高位,后送低位。 。作用是单向传送数据, 先送高位,后送低位。 第三章 I/O接口第三章 I/O接口 3.2.1 SPI串行通信概述 2.串行数据输入线2.串行数据输入线SDI。作用是单向传送数 据,先送高位,后送低位。 。作用是单向传送数 据,先送高位,后送低位。 3.同步串行时钟线3.同步串行时钟线SCK。作用是由主机向 从器件传送时钟信号,是收发双方操作同步。 在 。作用是由主机向 从器件传送时钟信号,是收发双方操作同步。 在8个时钟周期内,主机、从器件之间完成一 个字节的数据交换。 个时钟周期内,主机、从器件之间完成一 个字节的数据交换。 从器件方式选择线从器件方式选择线SS。它是从器件选通信号输 入端。 。它是从器件选通信号输 入端。 第三章 I/O接口第三章 I/O接口 3.2.3 SPI模式的工作原理 3.2.3 SPI模式的工作原理 单片机中的数据通常为单片机中的数据通常为8位,在进行串行数 据发送时,首先将该 位,在进行串行数 据发送时,首先将该8位数据,并行送入移位 寄存器,并在移位脉冲的作用下,由左向右或 者由右向左移出寄存器,在进行串行数据接收 时,在移位脉冲的作用下,将引脚上的电平读 入移位寄存器。然后,将该 位数据,并行送入移位 寄存器,并在移位脉冲的作用下,由左向右或 者由右向左移出寄存器,在进行串行数据接收 时,在移位脉冲的作用下,将引脚上的电平读 入移位寄存器。然后,将该8位数据,并行送 出移位寄存器。 位数据,并行送 出移位寄存器。 第三章 I/O接口第三章 I/O接口 并行输入串行输出 第三章 I/O接口第三章 I/O接口 串行输入并行输出 第三章 I/O接口第三章 I/O接口 从机从机S 第三章 I/O接口第三章 I/O接口 3.2.3 SPI模式的工作原理 从图中看出,从图中看出,SPI模块主要包含发送缓 冲器、接收缓冲器和移位三部分,要发送的 数据在 模块主要包含发送缓 冲器、接收缓冲器和移位三部分,要发送的 数据在CPU控制下,通过数据总线送到数据 缓冲器,再经过内部线路自动送入移位寄存 器,移位寄存器将并行信号转换为串行信号 发送到接收器件的数据总线上,接收机的移 位寄存器将串行信号转换成并行信号送入接 收缓冲器,然后由程序读取。 控制下,通过数据总线送到数据 缓冲器,再经过内部线路自动送入移位寄存 器,移位寄存器将并行信号转换为串行信号 发送到接收器件的数据总线上,接收机的移 位寄存器将串行信号转换成并行信号送入接 收缓冲器,然后由程序读取。 第三章 I/O接口第三章 I/O接口 3.2.2 SPI模式下相关的寄存器 表3-19 与SPI相关的寄存器 寄存器名称 与符号 寄存器内容 地 址 D7D6D5D4D3D2D1D0 同步串口控制寄 存器 SSPCON WCO L SSP OV SSP EN CKP SSP M3 SSP M2 SSPM 1 SSP M0 14H 同步串口状态寄 存器 SSPSTAT SMPCKED/APSR/WUABF94H 收/发数据缓冲器 SSPBUF MSSP接收发送数据缓冲器13H 移位寄存器 SSPSR MSSP接收/发送数据串行移位寄存器无 第三章 I/O接口第三章 I/O接口 3.2.2 SPI模式下相关的寄存器 1收/发数据缓冲器SSPBUF SSPBUF是8位一个可读/写的寄存器,它直接与 内部数据总线相连。用户可以将要发送的数 据写进SSPBUF,也可以从SSPBUF中读取接收 到的数据。 SSPBUF是8位一个可读/写的寄存器,它直接与 内部数据总线相连。用户可以将要发送的数 据写进SSPBUF,也可以从SSPBUF中读取接收 到的数据。 2同步串口控制寄存器SSPCON SSPCON是8位一个可读/写的寄存器,它的作用 是对MSSP模块的功能和指标进行设置和定义。 SSPCON是8位一个可读/写的寄存器,它的作用 是对MSSP模块的功能和指标进行设置和定义。 第三章 I/O接口第三章 I/O接口 3.2.2 SPI模式下相关的寄存器 【3-3】如图教材如图教材3-5所示,实现的功能是将置 数开关的设置值经过 所示,实现的功能是将置 数开关的设置值经过8位并入位并入/串出移位寄存 器 串出移位寄存 器74HC165将并行数据以串行移位通讯的方 式经 将并行数据以串行移位通讯的方 式经SPI接口读入单片机,然后又由接口读入单片机,然后又由SPI接口 送至 接口 送至8位串入位串入/并出移位寄存器并出移位寄存器74HC164,通 过发光二极管显示。 ,通 过发光二极管显示。 第三章 I/O接口第三章 I/O接口 图 3-5 SPI通信举例 第三章 I/O接口第三章 I/O接口 3.2.3 异步串行通信原理 串行外围接口串行外围接口USART是一种单片机外设资源,该 资源常用于 是一种单片机外设资源,该 资源常用于CPU与较远距离的设备进行通讯。如,单 片机之间,或者单片机与微机之间的通信。USART接 口可以用作同步传送或异步传送。 与较远距离的设备进行通讯。如,单 片机之间,或者单片机与微机之间的通信。USART接 口可以用作同步传送或异步传送。 异步通讯方式和前面介绍的同步通讯方式的最大 区别在于:在从机内部自带时钟信号,而不用时钟信 号线,也不采用同一个时钟信号源。因而,信号线少, 仅两根,在远距离传送时成本低。为了保证数据正确 传输,在异步数据传输时,必须保证传送的波特率和 数据的格式一样。 异步通讯方式和前面介绍的同步通讯方式的最大 区别在于:在从机内部自带时钟信号,而不用时钟信 号线,也不采用同一个时钟信号源。因而,信号线少, 仅两根,在远距离传送时成本低。为了保证数据正确 传输,在异步数据传输时,必须保证传送的波特率和 数据的格式一样。 第三章 I/O接口第三章 I/O接口 3.2.3 异步串行通信原理 发送一个完整的字节信息,必须有发送一个完整的字节信息,必须有“起始位起始位”、 “若干数据位若干数据位”和和“停止位停止位”(有时还需要有(有时还需要有“奇偶校 验位 奇偶校 验位”);必须定义每位信息的时间宽度);必须定义每位信息的时间宽度每秒 发送的信息位个数,即为 每秒 发送的信息位个数,即为“波特率波特率”。单片机系统中 常用的波特率从30019 200 b/s。当波特率为 1200b/s时,每个信息位的时间宽度为 1/1200833s;无数据通信时,数据线空闲状态 应该是高电平, 。单片机系统中 常用的波特率从30019 200 b/s。当波特率为 1200b/s时,每个信息位的时间宽度为 1/1200833s;无数据通信时,数据线空闲状态 应该是高电平,“起始位起始位”为低电平,数据位低位先 发且后跟奇偶校验位(若有), 为低电平,数据位低位先 发且后跟奇偶校验位(若有),“停止位停止位”为高电平, 如图3-6所示 为高电平, 如图3-6所示。 第三章 I/O接口第三章 I/O接口 图3-6 串行通信的数据位 第三章 I/O接口第三章 I/O接口 起始位数据停止位 接收接收发送发送 起 始 位 停 止 位 起 始 位 TXEN 0 1 1 1 TXIF 接收缓冲寄存器 波特率发生器 RCIF 8 8 SPEN 1 0 波特率发生器 SPEN 发送缓冲寄存器 1 发送移位寄存器 01 接收移位寄存器 0 停 止 位 图3-7 USART异步传送模式结构原理及时序图 第三章 I/O接口第三章 I/O接口 3.2.4 USART异步传送模式下相关的寄存器异步传送模式下相关的寄存器 1发送控制兼状态寄存器TXSTA发送控制兼状态寄存器TXSTA TXSTA是6位可读/写的寄存器,D3位没有使用,D1位是 只读位。 是6位可读/写的寄存器,D3位没有使用,D1位是 只读位。 2、接收控制兼状态寄存器RCSTA2、接收控制兼状态寄存器RCSTA RCSTA是8位可读/写的寄存器,各位功能如图3-8所 示。 是8位可读/写的寄存器,各位功能如图3-8所 示。 3波特率发生器初值寄存器SPBRG波特率发生器初值寄存器SPBRG 要启动串口通讯首先要选择合适的波特率,要启动串口通讯首先要选择合适的波特率,PIC的的 USART模块中有一个模块中有一个8位的波特率发生器,它根据位的波特率发生器,它根据 SPBRG寄存器的值来决定周期;另外在异步通信的方 式下波特率还和 寄存器的值来决定周期;另外在异步通信的方 式下波特率还和BRGH位的状态有关,位的状态有关, 第三章 I/O接口第三章 I/O接口 表3-14 与USART异步传送模式相关的寄存器 寄存器名称 与符号 寄存器内容 地 址 B7B6B5B4B3B2B1B0 发送控制 状态寄存器 TXSTA CSRCTX9 TXE N SYNC- BRG H TRMT TX9 D 98H 接收控制 状态寄存器 RCSTA SPENRX9 SRE N CREN ADDE N FER R OERR RX9 D 18H 波特率寄存 器 SPBRG 波特率的设定值(八位数据)99H 发送缓冲器 TXREG USART八位数据发送缓冲器19H 接收缓冲器 RCREG USART八位数据接收缓冲器1AH 第三章 I/O接口第三章 I/O接口 3.2.4 USART异步传送模式下相关的寄存器异步传送模式下相关的寄存器 4发送缓冲器TXREG和接收缓冲器RCREG4发送缓冲器TXREG和接收缓冲器RCREG 发送缓冲器TXREG和接收缓冲器RCREG分别是 两个8位的数据寄存器。待发数据要写入发送 缓冲器TXREG中;每次受到的数据可以从接收 缓冲器RCREG中读出。 发送缓冲器TXREG和接收缓冲器RCREG分别是 两个8位的数据寄存器。待发数据要写入发送 缓冲器TXREG中;每次受到的数据可以从接收 缓冲器RCREG中读出。 第三章 I/O接口第三章 I/O接口 3.2.4 USART异步传送模式下相关的寄存器异步传送模式下相关的寄存器 图3-8发送控制状态寄存器TXSTA各位功能 发送第9位的选择位 0:不发送第9位 1:发送第9位 高速波特率选择位 0:低速 1:高速 B7B6B5B4B3B2B1B0 CSRCTX9TXENSYNC-BRGHTRMTTX9D 移位寄存器“空”标志位 0:发送移位寄存器“满” 1:发送移位寄存器“空” 同步/异步模式选择位0:选择异步模式1:选择同步模式 发送使能选择位 0:禁止发送功能 1:使能发送功能 发送长度选择位 0:发送8位数据 1:发送9位数据 同步时钟选择位 0:选外部时钟, 1:选内部时钟。 异步模式未用。 第三章 I/O接口第三章 I/O接口 3.2.4 USART异步传送模式下相关的寄存器异步传送模式下相关的寄存器 图3-9 接收控制兼状态寄存器RCSTA各位功能 接收数据 的第九位 帧格式错误标志位 0:未发生错误错误 1:发生错误错误 B7B6B5B4B3B2B1B0 SPENRX9SRENCRNEADDENFERROERRRX9D 溢出标志位 0:未发生溢出错误 1:发生溢出错误 连续接收使能选择位 0:禁止连续接收功能 1:允许连续接收功能 单字节使能选择位 0:禁止单字节接收功能 1:使能单字节接收功能 异步模式下未用该位 接收数据长度选择位 0:选择接收8位数据 1:选择接收9位数据 串行端口使能位 0:禁止串口工作, 1:使能串口工作。 地址匹配检测使能为 0:取消地址匹配检测功能 1:启用地址匹配检测功能 第三章 I/O接口第三章 I/O接口 3.2.4 USART异步传送模式下相关的寄存器异步传送模式下相关的寄存器 图3-10 串口与PIC16F873的接口 用用RS232通信方式实现单片机 与 通信方式实现单片机 与PC通信:通信: PC机的机的RS-232C串行接口采用 的是负逻辑,即逻辑 串行接口采用 的是负逻辑,即逻辑“1”: 5V至至15V;逻辑;逻辑“0”:+5V至至 +15V。单片机电平的逻辑。单片机电平的逻辑“1” 和和“0”则分别为则分别为2.4V和和0.4V。因 此在用 。因 此在用RS-232C总线进行串行 通信时需外接电路实现电平转 换。该板使用的电平转换芯片 是 总线进行串行 通信时需外接电路实现电平转 换。该板使用的电平转换芯片 是MAX232。其外围电路简单, 只需外接四个 。其外围电路简单, 只需外接四个0.1F的电容即 可,如图 的电容即 可,如图3-10所示。所示。 第三章 I/O接口第三章 I/O接口 3.3 显示器接口 3.3 显示器接口 3.3.1 LED 显示器 1LED显示器结构和工作原理 (1)LED结构 第三章 I/O接口第三章 I/O接口 3.3 显示器接口 3.3 显示器接口 3.3.1 LED 显示器 1LED显示器结构和工作原理 (2)工作原理 当选用共阴极的LED时,每一位数码管的所有发光二极管 的阴极连在一起叫做位线,要使某个字段发亮只需在对应的发 光二极管阳极上加上高电平。因此要显示某个字形就应此字形 的相应段的二极管点亮,即送一个用不同电平组合代表的数字 来控制LED的显示,这个数据叫做字符的段码。 当选用共阴极的LED时,每一位数码管的所有发光二极管 的阴极连在一起叫做位线,要使某个字段发亮只需在对应的发 光二极管阳极上加上高电平。因此要显示某个字形就应此字形 的相应段的二极管点亮,即送一个用不同电平组合代表的数字 来控制LED的显示,这个数据叫做字符的段码。 LED数码显示器与单片机的接口有动态扫描接口和静态显示接 口两种方式。 LED数码显示器与单片机的接口有动态扫描接口和静态显示接 口两种方式。 第三章 I/O接口第三章 I/O接口 3.3 显示器接口 3.3 显示器接口 3.3.1 LED 显示器 2LED静态显示接口 (1)静态显示接口电路1)静态显示接口电路 在静态方式中,只要将数据送出锁存以后,各数码显 示的数据不需要刷新,只要数据不需改变,就可以不 去管他,所以称为静态显示。 在静态方式中,只要将数据送出锁存以后,各数码显 示的数据不需要刷新,只要数据不需改变,就可以不 去管他,所以称为静态显示。 第三章 I/O接口第三章 I/O接口 3.3 显示器接口 3.3 显示器接口 3.3.1 LED 显示器 3LED动态显示接口 (1)动态显示接口电路动态显示接口电路 在动态扫描方式中,各数码显示是轮流点亮的,即控制数码显 示的位选信号和相应的要显示的数码的字形代码同时逐一送出, 反复不已,由于视觉的暂留现象,却好象全都点亮着。 在动态扫描方式中,各数码显示是轮流点亮的,即控制数码显 示的位选信号和相应的要显示的数码的字形代码同时逐一送出, 反复不已,由于视觉的暂留现象,却好象全都点亮着。 第三章 I/O接口第三章 I/O接口 3.3 显示器接口 3.3 显示器接 口 3.3.1 LED 显 示器 3LED动态 显示接口 动态显示接口电 路 动态显示接口电 路 图3-13 动态显示接口电路 第三章 I/O接口第三章 I/O接口 动态显示编程举例: ;8L3LED.ASM 数码管点亮 LIST P=16F873 ; 列表伪指令 INCLUDE“P16F873.INC“;将头文件含入源文件中 COUNTER EQU 25H ;定义循环计数器 ORG 0000H ;定义程序存放区域的起始地址 NOP ;ICD必需的空操作指令 BSFSTATUS,RP0 ;选择体1 CLRF TRISC ; CLRF TRISA ;设置RA、RC口为输出 BCF STATUS,RP0 ;设置文件寄存器的体0 MAIN MOVLW 00H 第三章 I/O接口第三章 I/O接口 MOVWF PORTC ;清C口 MOVWF PORTB ;清B口 MOVWF COUNTER ;清COUNTER LOOP MOVF COUNTER,W;把循环计数器放入W CALL CHABIAO ;调用查表子程序 MOVWF PORTC ;送到PORTC口 MOVLW B11110000 MOVWF PORTA ;让数码管的位选为低电平 CALL DELAY ;调用延时子程序 INCF COUNTER ;循环计数器加1 MOVF COUNTER,W;把计数次数放入W中 SUBLW 0AH ;与立即数相减 第三章 I/O接口第三章 I/O接口 BTFSS STATUS,Z ;判断是否循环10次 GOTO LOOP;无,继续循环 GOTO MAIN;跳回主程序 ;查表转换子程序 CHABIAO ADDWF PCL,F ;偏移量与PC相加 RETLW 3FH ;“0“笔的代码 RETLW 06H ;“1” 的笔代码 RETLW 5BH ;“2“ 的笔代码 RETLW 4FH ;“3“ 的笔代码 RETLW 66H ;“4“ 的笔代码 RETLW 6DH ;“5“ 的笔代码 第三章 I/O接口第三章 I/O接口 RETLW 7DH ;“6“ 的笔代码 RETLW 07H ;“7“ 的笔代码 RETLW 7FH ;“8“ 的笔代码 RETLW 6FH ;“9“ 的笔代码 ;一秒延时子程序 DELAYMOVLW 06H ;将外层参数值06H经过W MOVWF 20H ;送入用作外循环变量 LOOP1MOVLW 0EBH;将中循环参数之经过W MOVWF 21H ;送入用作中循环变量 LOOP2MOVLW 0ECH;将内循环参数值经过W MOVWF 22H ;送入用作内循环变量 LOOP3DECFSZ 22H ;变量递减,若为0跳跃 GOTO LOOP3 ;跳转到LOOP3 第三章 I/O接口第三章 I/O接口 DECFSZ 21H ;变量递减,若为0跳跃 GOTO LOOP2 ;跳转到LOOP2 DECFSZ 20H ;变量递减,若为0跳跃 GOTO LOOP1 ;跳转到LOOP1 RETURN;返回主程序 END ;源程序结束 第三章 I/O接口第三章 I/O接口 3.4 键盘接口 3.4 键盘接口 单片机的许多应用都需要进行人机对话,键盘是解决计算 机输入的简单手段;借此可以向计算机输入程序、置数、送操作 命令、控制程序的执行等等,所以使用非常广泛。 单片机的许多应用都需要进行人机对话,键盘是解决计算 机输入的简单手段;借此可以向计算机输入程序、置数、送操作 命令、控制程序的执行等等,所以使用非常广泛。 3.4.1按键识别流程 键盘有编码式和非编码式两种。编码式键盘具有按键闭合检 测、去抖动和产生按键编码的硬件电路,一般用在微机上。单片 机应用系统的键盘通常使用非编码式,它的按键闭合检测、去抖 动和产生按键编码的功能都是用软件完成。非编码式键盘又分为 独立式和行列式两种模式。 键盘有编码式和非编码式两种。编码式键盘具有按键闭合检 测、去抖动和产生按键编码的硬件电路,一般用在微机上。单片 机应用系统的键盘通常使用非编码式,它的按键闭合检测、去抖 动和产生按键编码的功能都是用软件完成。非编码式键盘又分为 独立式和行列式两种模式。 第三章 I/O接口第三章 I/O接口 3.4 键盘接口 3.4键盘接口 1 按键的去抖动 2 独立式按键结 构及识别 第三章 I/O接口第三章 I/O接口 3.4 键盘接口 3.4键盘接口 独立式识别编程举例 图3-12 静态显示电路图 第三章 I/O接口第三章 I/O接口 3.4 键盘接口 3.4键盘接口 3 行列式键盘的结构及按键识别 独立式键盘I/O口利用率不高,要减少键盘占用的I/O数 量,必须采用行列式键盘。用键盘扫描程序判断是否有键按下, 查找按下键的键值并转到相应的处理程序。 独立式键盘I/O口利用率不高,要减少键盘占用的I/O数 量,必须采用行列式键盘。用键盘扫描程序判断是否有键按下, 查找按下键的键值并转到相应的处理程序。 第三章 I/O接口第三章 I/O接口 第三章 I/O接口第三章 I/O接口 本章小节 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论