pic单片机输入输出端口
PIC24系列单片机原理与开发 第4章 输入输出端口和编程

读 PORTx 寄存器就是读取 I/O 引脚上的数据值。 读 LATx 寄存器就是读取保存在该端口锁存器中的数据值 。 写 PORTx 寄存器就是将数据值写入该端口锁存器 ,但可能出现“读-修改-写”操
作问题。
写 LATx 寄存器就是将数据值写入该端口锁存器 ,无“读-修改-写” 操作问题。 PIC24 系列的寄存器为16位,对于具体型号器件而言,有些I/O端口的引脚不存在。对 于该芯片不存在的端口,其相关的数据和控制寄存器都被禁止 ,这意味着对应的 LATx和 TRISx 寄存器以及该端口引脚将读为“0”。
PIC24 系列单片机原理与开发 by Zeng
2012-6-9
• ODCx:I/O 开漏控制寄存器 芯片的每个 I/O 引脚在 TRISx、 PORTx、 LATx 和 ODCx 寄存器中都分别有一个相关
的位。例如引脚 RB2(pin14)是 B 口的 D2 位,其对应方向寄存器 TRISB 的 D2 位、端口寄 存器 PORTB 的 D2 位、输出锁存寄存器寄存器 LATB 的 D2 位、开漏控制寄存器 ODCB 的 D2 位。
ODCx
开漏控制寄存器, R/W-0
复位:各位均为“0”
4.2.1 输入输出方向寄存器 TRISx
方向寄存器TRISx的各位控制端口 x各个引脚是作为输入还是输出 ,即控制端口数据的传 输方向。如果x端口的 I/O 引脚所对应的 TRISx 位为 1,则该引脚是输入引脚。如果某个 I/O 引脚的 TRISx 位为 0,则该引脚被配置为输出,引脚为输出锁存寄存器的状态。这种 设计完全继承了PIC系列单片机的一贯方法。也比较容易记忆,因为 “1” 很像字母“I ” (Input,输入),“0” 很像字母“O”(Output,输出),一目了然。I/O端口的各引脚 均可单独配置成输入或输出 。复位后,所有端口引脚都被定义为输入 。
pic单片机选型 (3)

pic单片机选型1. 引言在嵌入式系统和电子设备开发中,单片机起到至关重要的作用。
它们是一种集成了中央处理器、存储器和各种输入输出接口的微型计算机芯片。
PIC(Peripheral Interface Controller)单片机是由Microchip Technology公司推出的一系列单片机产品。
选择适合的PIC单片机是一个关键的决策,它需要考虑多个方面,包括系统需求、性能要求、电源管理、成本和开发环境等因素。
本文将介绍如何进行PIC单片机选型,并对一些常用的PIC单片机进行简要的比较和评估。
2. PIC单片机选型指南2.1 系统需求在选择PIC单片机之前,首先需要明确系统的需求。
这包括但不限于以下几个方面: - 处理能力:需要考虑系统的运算复杂性和实时性要求。
如果需要处理大量数据或实时响应,可能需要选择高性能的PIC单片机。
- 存储容量:系统需要的存储容量包括程序存储器(Flash)和数据存储器(RAM)。
根据系统的功能和数据处理需求,选择合适的存储容量。
- 输入输出接口:根据系统的外部设备需求,选择具有足够的IO口和通信接口的PIC单片机。
- 电源管理:如果系统对功耗要求比较高,需要选择低功耗的PIC单片机。
- 开发环境:选择一个熟悉且易于使用的开发环境,以便开发过程更加顺利。
2.2 PIC单片机性能PIC单片机的性能指标包括但不限于以下几个方面: - 主频:PIC单片机的主频决定了其计算能力和运行速度。
主频越高,性能越强。
- 片内存储器:片内存储器包括Flash和RAM。
Flash存储程序,RAM存储变量和临时数据。
存储容量越大,可以处理的程序越复杂,数据存储越丰富。
- 片外扩展:某些应用可能需要扩展片外存储器,如外部Flash、EEPROM或SD卡。
选择具备这些扩展接口的PIC单片机可以满足更高的存储需求。
- IO口数量和类型:根据系统的外部设备需求,需要足够的IO口和通信接口。
PIC单片机18系列引脚定义

笔者认为对初学者而言需了解各引脚符号的意义,才能进一步学习和使用它。
笔者为此作相关的说明,以便和初学者共同提高。
一、关于I/O口符号PIC单片机系列封装引脚最少的是8引脚(如PIC12C5XX和PIC12C6XX),多的可达84引脚(如PIC17C76X),其中I/O(输入/输出)口线按PIC单片机产品型号不同,其口线数量也不相同。
8脚封装的I/O口线是6根线,而84脚封装的I/O线多达66根线。
这些口线符号分别按英文字母顺序排列编号,简称A口、B口、C口、D口、E口、F口……,每个口是8位的,但不一定占满8位。
这些口在封装引脚图的标注上均在各口之前加有R符号。
例如B口标注为RB0、RB1、RB2……RB7;E口为RE0、RE1……RE7;G口为RG1、RG2……;而对8脚封装的单片机共有6根I/O口线,其引脚图的标注与上略有不同而是GP0~GP5。
上述的各口线都是可独立编程的双向I/O口线。
二、引脚的复用功能和符号单片机的信号引脚是单片机外特性的体现,在硬件上用户只能使用引脚,通过引脚的连接组建单片机系统。
PIC8位单片机系列和MCS-51系列单片机一样,其引脚除电源VDD、VSS为单一功能外,其余的信号引脚常是多个功能,即引脚的复用功能。
常见的引脚符号和主要功能如下:1MCLR/Vpp清除(复位)输入/编程电压输入。
其中MCLR为低电平时,对芯片复位。
该脚上的电压不能超过VDD,否则会进入测试方法。
Vpp代表编程电压。
2OSC1/CLKIN振荡器晶体/外部时钟输入端。
3OSC2/CLKOUT振荡器晶体输出端,在晶体振荡方式接晶体,在RC方式输出OSC1频率的1/4信号CLKOUT。
4TOCK1TMRO计数器输入端,如不用,为了减少功能应接地或接VDD。
5TICK1TMR1时钟输入端。
6TIOSI TMR1的振荡输入端。
7TIOSO TMR1的振荡输出端。
8RD、WR、CS分别代表并行口读信号、写信号和片选控制线。
PIC_IO_端口A

因此在设置各端口的输入/输出方式时,必须注意体 的选择。 PCFG3 、PCFG2、PCFG1和PCFG0的状态决定了
PORTA各位在A/D中的功能
STATUS中的D6和D5,RP1:RP0=00体0;RP1:RP0=01体1;RP1:RP0=10体2; RP1:RP0=11体3
方向寄存器 端口寄存器
5个端口33个I/O位
RA2/AN2/VREF-
注意: I/O的驱动能力为:
每一个I/O位可输出电流为20~25mA
每个端口总的驱动电流为60~70mA
5个端口总的驱动电流为200mA
P143 (第3版) 2。 端口驱动能力 +4行 PIC单片机端口引脚可以直接驱动小型继电器等,!!!
一.PORTA端口和PORTA有关的寄存器 1.PORTA可实现的功能 ● 6个I/O位 ● ADC模拟信号输入/ADC参考电压输入 ● TMR0外部时钟输入 ● SSP从动选择(串行通信)
图中SP/EN接上拉电阻使8259在初始化时SP/EN为高电平,确保CPU通过 数据总线对8259执行正确的写操作。 EN为“0”,表示选中8259和CPU之间的数据缓冲器,CPU通过数据总线缓 冲器读取8259的工作状态。
INTA
15V
RON
4051 8:1 MUX
模拟开关
VCC
15V
通过74LS07 OC门和上 拉电阻实现了电平匹配
RA4/TOCKI :
输入ST(施密特触发器)
输出OC
VIN ST VOUT
上升沿阈值
VIN
小信号虽然超过阈值 输出端没有任何变化
下降沿阈值
VOUT
信号经过上升沿阈 值时,输出变高。
信号经过下降沿阈 值时,输出变低。
常用PIC系列8位单片机芯片引脚符号的功能

常用PIC系列8位单片机芯片引脚符号的功能常用PIC系列8位单片机芯片引脚符号的功能类别:单片机/DSP一、关于I/O口符号PIC单片机系列封装引脚最少的是8引脚(如PIC12C5XX和PIC12C6XX),多的可达84引脚(如PIC17C76X),其中I/O(输入/输出)口线按PIC单片机产品型号不同,其口线数量也不相同。
8脚封装的I/O 口线是6根线,而84脚封装的I/O线多达66根线。
这些口线符号分别按英文字母顺序排列编号,简称A口、B口、C口、D口、E口、F口……,每个口是8位的,但不一定占满8位。
这些口在封装引脚图的标注上均在各口之前加有R 符号。
例如B口标注为RB0、RB1、RB2……RB7;E口为RE0、RE1……RE7;G口为RG1、RG2……;而对8脚封装的单片机共有6根I/O口线,其引脚图的标注与上略有不同而是GP0~GP5。
上述的各口线都是可独立编程的双向I/O口线。
二、引脚的复用功能和符号单片机的信号引脚是单片机外特性的体现,在硬件上用户只能使用引脚,通过引脚的连接组建单片机系统。
PIC8位单片机系列和MCS-51系列单片机一样,其引脚除电源VDD、VSS为单一功能外,其余的信号引脚常是多个功能,即引脚的复用功能。
常见的引脚符号和主要功能如下:1MCLR/Vpp 清除(复位)输入/编程电压输入。
其中MCLR为低电平时,对芯片复位。
该脚上的电压不能超过VDD,否则会进入测试方法。
Vpp代表编程电压。
2OSC1/CLKIN 振荡器晶体/外部时钟输入端。
3OSC2/CLKOUT 振荡器晶体输出端,在晶体振荡方式接晶体,在RC方式输出OSC1频率的1/4信号CLKOUT。
4TOCK1TMRO计数器输入端,如不用,为了减少功能应接地或接VDD。
5TICK1TMR1时钟输入端。
6TIOSI TMR1的振荡输入端。
7TIOSOTMR1的振荡输出端。
8RD、WR、CS 分别代表并行口读信号、写信号和片选控制线。
pic单片机原理与接口技术

pic单片机原理与接口技术PIC(Peripheral Interface Controller)单片机是一种广泛应用于嵌入式系统和微控制器应用的微处理器。
它由Microchip Technology(前身为General Instrument)开发,并具有低成本、低功耗、高性能和丰富的外设接口等特点。
下面将介绍PIC单片机的原理和接口技术。
1. 原理:- CPU(Central Processing Unit):PIC单片机的核心是其CPU,用于执行指令和控制系统的操作。
CPU包括ALU(算术逻辑单元)、寄存器、时钟和控制单元等组件。
- 存储器:PIC单片机具有多种类型的存储器,包括程序存储器(Flash ROM)用于存储程序代码,数据存储器(RAM)用于存储变量和临时数据,以及EEPROM用于非易失性数据存储。
- 外设接口:PIC单片机提供了多种外设接口,包括数字输入/输出端口(GPIO),模拟输入/输出端口(ADC和DAC),串行通信接口(USART、SPI、I2C)等。
这些接口使PIC单片机能够与其他设备进行通信和交互。
- 时钟系统:PIC单片机需要时钟信号来同步其操作。
它可以使用外部晶振或内部时钟源,具体取决于型号和应用需求。
2. 接口技术:- 数字输入/输出(GPIO):PIC单片机具有多个GPIO 引脚,可用于输入和输出数字信号。
通过配置引脚的工作模式(输入或输出)和状态(高电平或低电平),可以实现与外部设备的数字通信。
- 模拟输入/输出(ADC和DAC):PIC单片机具有模拟输入和输出功能,用于处理模拟信号。
ADC(模数转换器)用于将模拟输入信号转换为数字形式,而DAC(数模转换器)用于将数字信号转换为模拟输出信号。
- 串行通信接口:PIC单片机支持多种串行通信接口,如USART、SPI和I2C。
这些接口可用于与其他设备(如传感器、显示器、存储器等)进行数据交换和通信。
- 定时器和计数器:PIC单片机配备了多个定时器和计数器,可用于测量时间、生成精确的时序信号和执行定时操作。
PIC18F452单片机原理及编程实践(第四章)PIC的端口编程

端口A:RA(7线) 端口B:RB(8线) 端口C:RC(8线) 端口D:RD(8线) 端口E:RE(3线)
注: ①只列出引脚的基本功能; ②28脚芯片只有RA、 RB 和RC端口。
4
4.1 PIC 单片机的I/O端口编程
与其它单片机(如:MCS-51)不同:每一个端口都对 应三个SFR。其中: Out Data Latch x:--------------端口输出数据锁存器; TRIS Latch x: -------端口数据传送方向控制寄存器;
2017/8/29
5
4.1.1 TRIS x 寄存器的作用
1. 2.
TRISx寄存器控制对应端口、 对应位 数据传送的方向; TRIS x寄存器的宽度(bit)与PORT x的宽度一致; TRIS x寄存器某一位=1,对应PORT x对应位为输入; TRIS x寄存器某一位=0,对应PORT x对应位为输出。
TTL 电平输 入缓冲器
CK /Q
Tris Latch
RD TRIS
Q
RD PORT
D
Data Input Latch
EN
返回上次
2017/8/29 8
PIC18端口的两类主要操作
数据的输出:来自内部的数据总线送至Data Latch的D端, 再经/Q端输出经门电路和场效应管送至I/O引脚。 数据的输入:来自I/O引脚的数据经TTL电平输入缓冲器送 到Input Latch的D端,由Q端经三态门送内部数据总线。
2017/8/29
2
4.0 PIC18单片机的I/O端口简介
以DIP40脚的PIC18F458/452为例。具有5个并行端口、 共占据34个芯片引脚: PORTA ------ 7bit PORTB ------ 8bit
PIC端口

IO方向寄存器TRISX的介绍 IO方向寄存器TRISX的介绍
TRIS?(?为A,B,C,D或E)在Bank1 中,是PORT?的方向寄存器,例如 TRISC为PORTC的方向寄存器, TRISC的某位为0(Output),则对 ( ) 应PORTC的某位用做输出; TRISC的某位为1(Input),则对 ( ) 应PORTC的某位用做输入 输入; 输入
例题程序
延时函数
void delayms() { int i=0,j=0; for(i=0;i<100;i++) for(j=0;j<100;j++) {;} }
如果PIC的主频是4MHz的话,此函数执行 一次最多需要多长时间?如何修改此函 数使其能延时20ms?
作业题
电路如图所示,RC0到RC7共接了8个发 光二极管,编程实现各种动态效果(小灯 依次被点亮,小灯闪烁等) (看谁的效果最炫!)
PIC16F877外形 PIC16F877外形
引脚结构图
P20
PIC的通用I/O接口寄存器 PIC的通用I/O接口寄存器
33个I/O引脚归属于5个端口,这 33个引脚作为通用I/O口时,被文 件寄存器中的PORTA,PORTB到 PORTE共五个寄存器一一相对应。 要想使用PIC的引脚进行输入输 出操作,必须要设定引脚方向。
I/O端口(PORT) I/O端口(PORT)
端口是接口电路中暂时存放数据的 寄存器(Register)。 例如:外设向CPU的接口输入了
一个高电平(+5V),则把1放到端 口中,再由CPU读取。 如果向外输出一个高电平(+5V), 则CPU把1放到端口中,由端口 自动向外设输出+5V。
输出过程(Output) 输出过程(Output)
PIC16F72单片机引脚功能介绍

1:MCLR复位/烧写高压输入两用口
2:模拟量输入口:放大后的电流信号输入口,单片机将此信号进行A-D转换后经过运算来控制PWM的输出,使电流不致过大而烧毁功率管。正常运转时电压应在0-1.5V左右
3:模拟量输入口:电源电压经分压后的输入口,单片机将此信号进行A-D转换后判断电池电压是否过低,如果低则切断输出以保护电池,避免电池因过放电而损坏。正常时电压应在3V以上
6:数字量输入口:1+1助力脉冲信号输入口,当骑行者踏动踏板使车前行时,该口会收到齿轮传感器发出的脉冲信号,该信号被单片机接收到后会给电机输出一定功率以帮助骑行者更轻松地往前走。
7:模拟/数字量输入口:由于电机的位置传感器排列方法不同,该口的电平高低决定适合于哪种电机,目前市场上常见的有所谓120?和60?排列的电机。有的控制器还可以根据该口的电压高低来控制起动时电流的大小,以适合不同的力度需求。
PIC16F72单片机引脚功能介绍
PIC16F72该单片机有28个引脚,去掉电源、复位、振荡器等,共有22个可复用的IO口,其中第13脚是CCP1输出口,可输出最大分辨率达10BIT的可调PWM信号,另有AN0-AN4共5路AD模数转换输入口,可提供检测外部电路的电压,一个外部中断输入脚,可处理突发事件。
4:模拟量输入口:线性霍尔组成的手柄调速电压输入口,单片机根据此电压高低来控制输出给电机的总功率,从而达到调整速度的目的。
5:模拟/数字量输入口:刹车信号电压输入口。可以使用AD转换器判断,或根据电平高低判断,平时该脚为高电平,当有刹车信号输入时,该脚变成低电平,单片机收到该信号后切断给电机的供电,以减少不必要的损耗。
8:单片机电源地。
9:单片机外接振荡器输入脚。
10:单片机外接振荡器反馈输出脚。:功能开关2
第四章PIC16F877A功能及其编程

for (k=246;k>0;k--) NOP();
}
以后此程序略,可参见附录:公用子程序。
返回目录
4.3 定时/计数器TMR0 TMR0是个8位计数/定时器
自带可编程预分频器,可对外部脉冲计数或对内部 指令脉冲计数(1:1~1:256)
这就需要在中断时能进行现场保护与恢复。
中断的执行过程
➢ 中断发生:程序执行到某行,突然事件(能够产 生中断的事件)发生,产生中断。
➢ 断点保护:CPU自动将中断时刻即将要执行的下 一条指令的地址压入堆栈。
➢ 中断响应:CPU自动将PC强制设为0X0004,且GIE =0。执行中断服务程序(自动完成现场保护与恢 复,手动清中断标志位)。
RA3=1; NOP(); RA4=0;
4.1.1 端口A
因此,在使用RA口时,除了要设置TRISA外,有 时相关寄存器也要设置。
注意:在上电复位时,与AN有关的端口的默认 设置是作为模拟端口,即ADCON1(见4.6)中默认 值为0b00xx0000,这个值的设置结果是除RA4外的所 有的RA引脚都作为模拟输入。
➢ 一条写IO引脚的指令如RB3=1,实际上是在指令的 开头读入整个B端口,并在指令周期的末尾时刻把 1写入RB端口3的输出锁存器。 如果立即对同一端口操作,如x=PORTB,在指令 周期的开始处,由于前一指令产生在IO口的电平 尚未稳定,读入的可能是引脚的前一个状态而不 是新状态值。
因此连续对同一端口的操作时,最好用一个NOP 指令或者其他不访问该I/O 端口的指令隔开。
RD 并行口
中断 标志
AD转换 中断
pic单片机实验报告

pic单片机实验报告篇一:PIC单片机实验报告实验一循环点亮LED灯一、实验内容:将RE0-RE5配置为输出,连接6个LED灯;编写程序,调试并运行,下载到实验板上,实现循环点亮。
二、实验目的:学习PIC单片机I/O端口功能及特点,了解I/O端口引脚及连线,控制寄存器。
在开发板上实现循环点亮LED灯。
三、实验要求1. 了解掌握PIC单片机的结构和功能。
2. 应熟练掌握MPLAB开发环境的使用方法。
3. 熟练掌握PIC单片机的程序编写方法。
4. 掌握MPLAB IDE硬件调试的技巧。
四、实验准备:1、I/O引脚及连线:I/O端口特点:1、所有I/O 输入端口都是施密特触发器输入,以便增强抗干扰性。
2、外设复用:所有的器件引脚(除VDD、VSS、MCLR 和OSC1/CLKI之外),均为外设与I/O端口所共用。
3、如果外设使能,并且外设正在使用相关引脚时,该引脚将不再作为通用I/O 引脚使用。
4、优先级:I/O 与多个外设复用时I/O 引脚的名称定义了与该引脚相关的各个功能的优先级,如:I/O 引脚与两个外设复用(“外设A”和“外设B”)外设A 对引脚的控制具有最高优先权,若外设A 和外设B 同时使能,外设A将控制I/O 引脚5、电平变化通知引脚:电平变化通知引脚(CN)内接输入电平变化通知模块,使得dsPIC30F器件能够向处理器发出中断请求,以响应所选输入引脚上的状态变化。
I/O端口控制寄存器:所有的端口引脚,都有三个与端口引脚的操作直接相关的寄存器。
① TRISx:数据方向寄存器。
决定各个引脚是输入引脚还是输出引脚。
–若某个I/O 引脚的TRIS 位为“1”,则该引脚是输入引脚。
–某个I/O 引脚的TRIS 位为“0”,则该引脚被配置为输出引脚。
–复位以后,所有端口引脚被定义为输入。
② PORTx:I/O端口寄存器。
访问的是I/O引脚上的数据。
读的是端口引脚值;写端口引脚,写的是端口数据锁存器(LATx )。
PIC16F877A单片机中文文献

PIC16F877A单片机是microchip公司的产品,它采用14位的RISC指令系统,内部集成了A/D转换器、EEPROM、模拟比较器、带比较和捕捉功能的定时器/计数器、PWM输出、异步串行通信电路等。
1.程序存储器程序存储器和堆栈PIC16F877A单片机内部具有8K×14位的Flash程序存储器,程序存储器具有13位宽度的程序计数器地址范围:0000H-1FFFH。
由程序计数器提供13条地址线进行单元选择,每个单元宽14位,即PIC16F877A的指令字节宽度为14位,能够存放一条PIC单片机系统指令。
在系统上电或其他复位情况下,程序计数器均从0000H地址单元开始工作。
如果遇到调用子程序或系统发生事件中断时,将把当前程序断点处的地址送入8级×14位的堆栈区域进行保护。
堆栈是一个独立的存储区域,在调用的子程序或中断服务程序执行完后,再恢复断点地址。
通过14位程序总线,取出对应程序之灵的机器码,送入指令存储器,将组成的操作码和操作数进行有效分离。
如果操作数为地址,则进入地址复用器;如果操作数为数据,则进入数据复用器。
而操作码将在指令译码和控制单元中转化为相应的功能操作。
PIC的多数指令均是顺序执行,即使条件跳转也是隔行间接跳转。
具有大范围转移功能的指令只有两条:无条件GOTO语句和调用子程序CALL语句。
但它们受到2KB范围的约束。
所以必须将整个程序存储器以2KB为单位进行分页。
PIC16F877A单片机的上电复位地址是0000H,中端口地址是0004H,中断产生时PC指针会自动指向该地址。
在进行中断应用时,特别是涉及多个中断同时打开时,必须要逐个对中断标志进行判断。
编程时,在0000H-0003H单元内要放置一条GOTO跳转指令,跳转到主程序,以避开0004H存储器单元。
2.数据存储器数据存储器PIC单片机的数据存储器与传统的MCS-51单片机一样,在配置结构上可分为通用寄存器和特殊功能寄存器两大类。
单片机输入输出端口

for(i=0;i<10;i++)
{ PORTC=k=0x01; // 每次循环不要忘记k赋初始值
for(j=1;j<=4;j++) // 共需要刷新四个数码管位置
{ PORTC=k; //设置要点亮的位置
PORTB=TableNumber[Number[j]]; //设置字形
delay10ms(1); // 延时显示字形,造成视觉暂留现象
// 设置用于ICD2调试
void main(void)
{ int Data=2913;
SEG_BITSEL_PORT_DIR=0x00; // 位选方向寄存器
SEG_FONT_PORT_DIR=0x00; // 字形方向寄存器
while(1)
{
DisplayData(Data);
}
}
第 20页
第 5页
输入/输出端口原理
第 6页
输入/输出端口的相关寄存器
位7 位6 位5 位4 位3 位2 位1 位0
当B口处于输出状态时,PORTB的 内容能决定其对应引脚的电平状态。 1对应高电平,0对应低电平。
当B口处于输入状态时,外部引脚 的电平能决定其对应寄存器位的值。 高电平对应1,低电平对应0。
// KeyValue保存键值,KeyH4保存高四位,……
TRISC=0x0F; //高四位输出,低四位输入
PORTC=0x00; //高四位输出0000
asm("nop"); // 延时等待输出稳定
asm("nop"); // 延时等待输出稳定
keyL4=PORTC; // 读取低四位内容
keyL4=keyL4&0x0F; //屏蔽高四位,书写格式?
pic单片机中文手册

pic单片机中文手册摘要:一、引言二、单片机的概念与特点三、PIC 单片机的发展历程四、PIC 单片机的内部结构1.中央处理器2.存储器3.输入输出端口4.定时器/计数器5.中断系统五、PIC 单片机的指令集1.指令格式2.寻址方式3.指令功能六、PIC 单片机的应用领域七、PIC 单片机的开发工具与方法八、结论正文:一、引言单片机(Microcontroller Unit, MCU)是一种集成了CPU、存储器、外设接口等多种功能于一体的微型计算机。
近年来,随着科技的飞速发展,单片机在我国得到了广泛的应用,特别是在工业控制、通信、家电等领域。
其中,PIC 单片机以其高性能、低功耗和易扩展性等特点,受到广大开发者的青睐。
本文将对PIC 单片机进行详细的介绍。
二、单片机的概念与特点单片机是一种集成电路,它将CPU、存储器、外设接口等多种功能集成在一块芯片上,具有体积小、成本低、功耗低、功能强大等特点。
单片机的出现,极大地推动了计算机和电子技术的普及和发展。
三、PIC 单片机的发展历程PIC 单片机起源于1980 年代,由美国Microchip 公司推出。
自那时以来,PIC 单片机经历了多个版本的发展,从最初的PIC16C5X 到现在的PIC24FJXXXGPX06A,性能得到了极大的提升。
四、PIC 单片机的内部结构PIC 单片机的内部结构主要包括中央处理器、存储器、输入输出端口、定时器/计数器、中断系统等部分。
1.中央处理器:PIC 单片机的核心部分,负责程序的执行和数据处理。
2.存储器:包括程序存储器和数据存储器,用于存储程序代码和数据。
3.输入输出端口:负责与外部设备进行数据交换。
4.定时器/计数器:用于计时、计数等功能。
5.中断系统:可以响应外部设备或内部模块产生的中断信号,实现程序的跳转和执行。
五、PIC 单片机的指令集PIC 单片机的指令集包括指令格式、寻址方式和指令功能三个方面。
1.指令格式:PIC 单片机的指令格式为14 位二进制代码。
第三章 PIC单片机的接口

3.2 串行通讯接口
3.2.5 USART异步传送模式下相关的寄存器
3.1 开关量接口
3.1.1接口电路的功能及指标 作为数字I/O功能,端口A是一个6位的输入/输 出口,传送数据的方向由和端口A相应的数据 方向寄存器TRISA决定。当TRISA寄存器相应 位置为1,其输出驱动器呈高阻状态,PORTA 相应I/O引脚被定义为输入;当TRISA寄存器 相应位为0,输出锁存器上的数据就从相应I/O 引脚上输出,所以这时PORTA的相应I/O引脚 被定义为输出。
3.2 串行通讯接口
3.2.4 异步串行通信原理
发送一个完整的字节信息,必须有“起始位”、“若 “ ” “ 干数据位”和“停止位”(有时还需要有“奇偶校验 ” “ ” “ 位”);必须定义每位信息的时间宽度——每秒发送 ” 的信息位个数,即为“波特率”。单片机系统中常用 “ ” 的波特率从300~19 200 b/s。当波特率为1200b/s时, 每个信息位的时间宽度为1/1200≈833µs;无数据通 信时,数据线空闲状态应该是高电平,“起始位”为 “ ” 低电平,数据位低位先发且后跟奇偶校验位(若有), “停止位”为高电平,如图3-6所示。 ”
3.2 串行通讯接口
图3-6 串行通信的数据位
3.2 串行通讯接口
图3-7 USART异步传送模式结构原理及时序图
3.2 串行通讯接口
3.2.5 USART异步传送模式下相关的寄存器 1.发送控制兼状态寄存器TXSTA TXSTA是6位可读/写的寄存器,D3位没有使用,D1 位是只读位。 2、接收控制兼状态寄存器RCSTA RCSTA是8位可读/写的寄存器,各位功能如图3-8所 RCSTA 8 / 3-8 示。 3.波特率发生器初值寄存器SPBRG 要启动串口通讯首先要选择合适的波特率,PIC的 USART模块中有一个8位的波特率发生器,它根据 SPBRG寄存器的值来决定周期;另外在异步通信的 方式下波特率还和BRGH位的状态有关,
pic单片机的原理和应用

pic单片机的原理和应用一、pic单片机的概述PIC(Peripheral Interface Controller)单片机是由美国Microchip Technology公司生产的一种微控制器,广泛应用于嵌入式系统和电子设备中。
它采用哈佛结构,具有高性能、低功耗、易于编程等特点,在各种领域的控制应用中得到了广泛的应用。
二、pic单片机的核心组成部分pic单片机由五个主要部分组成,包括中央处理器(CPU)、存储器、输入/输出(I/O)端口、计时器/计数器和通信接口。
1.中央处理器(CPU):pic单片机通过CPU实现程序的控制和计算操作。
它包含一个ALU(算术逻辑单元)、寄存器和指令集,用于执行程序中的指令。
2.存储器:pic单片机具有多种类型的存储器,包括闪存存储器(用于存储程序代码和数据)、随机存取存储器(RAM)和特殊功能寄存器(SFR)。
这些存储器用于存储程序、变量和配置信息。
3.输入/输出(I/O)端口:pic单片机提供了多个I/O端口,用于与外部设备进行通信。
它们可以用于读取输入数据或控制输出信号,实现与外部世界的连接。
4.计时器/计数器:pic单片机具有多个计时器和计数器,用于执行时间相关的任务。
它们可以用于测量时间、生成定时器中断、计数输入脉冲等操作。
5.通信接口:pic单片机支持多种通信接口,包括串行通信接口(如SPI和I2C)和通用异步收发器(UART)。
这些接口使pic单片机能够与其他设备进行串行通信,实现数据传输和通信功能。
三、pic单片机的应用领域pic单片机在各种控制和嵌入式系统中得到了广泛的应用。
以下是pic单片机的一些常见应用领域:1.家用电器控制:pic单片机可以用于控制家用电器,如洗衣机、冰箱、空调等。
它们可以通过读取传感器数据并根据程序逻辑来控制电器的运行状态和功能。
2.工业自动化:pic单片机在工业自动化领域中得到了广泛应用。
它们可以用于控制生产线上的设备、监测温度、湿度、压力等参数,并根据需要进行相应的控制和调节。
PIC使用注意

单片机的I/O口(以16f87x为例)1、默认情况下A口跟E口是模拟信号输入口,若要做数字输入输出口必须设置ADCON1寄存器(地址为9FH)的值为06H或者07H,之所以默认情况下以上端口会处于这些状态,是因为上电复位后ADCON1的值为0,而此种组合下,正好A口跟E口的每一位都做模拟输入口使用。
2、RA4由于在结构上是开漏极,所以使用时必须外接上拉电阻,否则得到不到想要的高电平。
Mplab相关知识:一、项目的建立和保存:在mplab里建立的项目文件名不能用中文(据说5.x版本的可以)且必须为西文半角格式;保存时路径不能太深,以上两点任何一条件不满足时都将不能正确的保存。
二、项目的编译过程:便宜完成后,mplab有可能给出如下3种信息。
1、ERROR (xxx):…….. 当出现错误时,最后将导致编译失败,此时可以双击该信息,将光标定位到出处的位置改正,大部分情况是指令书写错误。
2、WARNING(xxx):……..当出现警告信息时,虽然不会影响编译的结果,但是我们还是必须把问题干掉,方法同上。
例如:Warning[205] D:\......\xxx.ASM 6 : Found directive in column 1. (ORG) 这是因为ORG出现在了第一列;Warning[207] D:\…….\xxx.ASM 13 : Found label after column 1. (W_TEMP) 这是因为变量W_TEMP没有顶格写总结:一般变量或者寄存器名称在书写时必须顶格写(从第一列写);而除变量和寄存器名称外(如inlcude、org等伪指令、movlw等指令)书写时前面至少空一列。
否则将出现上面的warning。
3、MESSAGE(xxx):…….. 此信息一般都只是起提示作用,当看到此信息时只需确定程序没有错误,就可以不管它。
此信息一般都会出现,除非你在程序开始时设置不显示此信息。
PIC单片机18系列引脚定义

笔者认为对初学者而言需了解各引脚符号的意义,才能进一步学习和使用它。
笔者为此作相关的说明,以便和初学者共同提高。
一、关于I/O口符号PIC单片机系列封装引脚最少的是8引脚(如PIC12C5XX和PIC12C6XX),多的可达84引脚(如PIC17C76X),其中I/O(输入/输出)口线按PIC单片机产品型号不同,其口线数量也不相同。
8脚封装的I/O口线是6根线,而84脚封装的I/O线多达66根线。
这些口线符号分别按英文字母顺序排列编号,简称A口、B口、C口、D口、E口、F口……,每个口是8位的,但不一定占满8位。
这些口在封装引脚图的标注上均在各口之前加有R符号。
例如B口标注为RB0、RB1、RB2……RB7;E口为RE0、RE1……RE7;G口为RG1、RG2……;而对8脚封装的单片机共有6根I/O口线,其引脚图的标注与上略有不同而是GP0~GP5。
上述的各口线都是可独立编程的双向I/O口线。
二、引脚的复用功能和符号单片机的信号引脚是单片机外特性的体现,在硬件上用户只能使用引脚,通过引脚的连接组建单片机系统。
PIC8位单片机系列和MCS-51系列单片机一样,其引脚除电源VDD、VSS为单一功能外,其余的信号引脚常是多个功能,即引脚的复用功能。
常见的引脚符号和主要功能如下:1MCLR/Vpp清除(复位)输入/编程电压输入。
其中MCLR为低电平时,对芯片复位。
该脚上的电压不能超过VDD,否则会进入测试方法。
Vpp代表编程电压。
2OSC1/CLKIN振荡器晶体/外部时钟输入端。
3OSC2/CLKOUT振荡器晶体输出端,在晶体振荡方式接晶体,在RC方式输出OSC1频率的1/4信号CLKOUT。
4TOCK1TMRO计数器输入端,如不用,为了减少功能应接地或接VDD。
5TICK1TMR1时钟输入端。
6TIOSI TMR1的振荡输入端。
7TIOSO TMR1的振荡输出端。
8RD、WR、CS分别代表并行口读信号、写信号和片选控制线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.1 I/O端口功能的通用结构 端口功能的通用结构 各I/O口都有 共性,主要包括: 3个D触发器(输 出、输入、输入输 出方向锁存器), 2个3态门控制电路; 二输入“与”门和 “或”门组成数据 输出的前向通道; P、N沟道场效应 管构成互补推挽的 输出级。
PIC单片机原理 单片机原理 设置端口的输入/ 设置端口的输入 输出状态 每一组端口都有一 个“输入输出方向锁存 器” TRIS ,通过对这个 锁存器的设置,可以定 义I/O口为输入或输出。 置“0”时为输出;置 “1”时为输入。 查询端口的输入/ 查询端口的输入 输出状态 读端口的输入/输 出状态,是读TRIS锁写”指令,用这二条指令对 I/O口操作时,“读”是读I/O口 设RA口原为输入口,且RA0=0,RA1=0 BSF RA,0 BCF RA,1 BSF RP0 MOVLW 00H MOVWF TRISA BCF RP0 ;RA口输出寄存器0位置1 ; RA口输出寄存器1位清0,0位清0 ;设置RA口为输出口
PIC单片机原理 单片机原理
从端口输入数 据 TRIS的对应位 置“1”,数据从输 入锁存器输入。 从端口输出数 据 TRIS的对应位 置“0”,数据从输 出锁存器输出。 输出驱动能力: IOH=20mA, IOL=25mA。
PIC单片机原理 单片机原理
使用“ 修改 修改-写 指令对I/O口操作的注意事项 使用“读-修改 写”指令对 口操作的注意事项
PIC单片机原理 单片机原理
章输入/输出端口 第7章输入 输出端口 章输入
PIC16F877A共有:PORTA(6)、PORTB(8)、 PORTC(8)、PORTD(8)、PORTE(3)五组端 口,共33条I/O口。各组端口的内部结构各不相同, 即使同一组端口各引脚的结构也存在差异。
PIC单片机原理 单片机原理