PAGE1
PAGE1
PIC18F系列概述
1.PIC18F系列简介
PIC18F系列是Microchip公司推出的一款高性能8位单片机(MCU)系列。该系列单片机具有丰富的外设和强大的处理能力,广泛应用于各种嵌入式系统中。PIC18F系列单片机的特点包括:
高性能8位CPU:运行速度最高可达40MIPS(每秒40百万条指令)。
丰富的外设:包括USART、SPI、I2C、CAN、A/D转换器、PWM、定时器等。
大容量存储:程序存储器最高可达128KB,数据存储器最高可达4KB。
低功耗:多种低功耗模式,适合电池供电应用。
灵活的时钟源:支持内部振荡器和外部振荡器。
强大的中断系统:支持多个中断源和中断优先级。
2.PIC18F系列架构
PIC18F系列单片机采用哈佛架构,具有独立的程序存储器和数据存储器。这种架构使得指令和数据可以同时访问,提高了处理速度。以下是PIC18F系列的主要架构特点:
2.1哈佛架构
在哈佛架构中,程序存储器和数据存储器是分开的。程序存储器用于存储指令代码,数据存储器用于存储变量和数据。这种分离使得CPU可以在一个时钟周期内同时读取指令和数据,从而提高执行效率。
2.2处理器核心
PIC18F系列的处理器核心是高性能8位CPU,支持丰富的指令集。该CPU采用流水线技术,可以实现更高的吞吐量。以下是处理器核心的主要特点:
指令集:支持超过77条指令,包括基本的算术运算、逻辑运算、位操作、控制转移等。
寄存器:包括通用寄存器(WREG)、状态寄存器(STATUS)、程序计数器(PC)等。
中断系统:支持多个中断源和中断优先级,中断源包括定时器溢出、外部中断、串行通信中断等。
2.3存储器
PIC18F系列单片机具有灵活的存储器配置,包括程序存储器(Flash)和数据存储器(RAM)。以下是存储器的主要特点:
程序存储器:可编程的Flash存储器,最高可达128KB,支持多次编程和擦除。
数据存储器:SRAM,最高可达4KB,用于存储变量和数据。
EEPROM:可选的非易失性数据存储器,用于保存关键数据。
2.4时钟源
PIC18F系列单片机支持多种时钟源,包括内部振荡器和外部振荡器。时钟源的选择对单片机的性能和功耗有重要影响。以下是主要的时钟源:
内部振荡器:内置的RC振荡器,支持多种频率配置,适合简单的应用。
外部晶振:可以连接外部晶体或陶瓷谐振器,提供更精确的时钟源。
外部时钟:可以连接外部时钟源,如石英晶体振荡器的输出。
2.5电源管理
PIC18F系列单片机具有多种低功耗模式,可以在不影响系统功能的情况下降低功耗。以下是主要的电源管理模式:
空闲模式:CPU停止工作,但外设继续运行。
休眠模式:CPU和外设都停止工作,仅保留必要的低功耗功能。
看门狗定时器:用于防止系统死锁,自动复位单片机。
3.PIC18F系列的主要外设
PIC18F系列单片机配备了丰富的外设,这些外设使得单片机可以实现各种复杂的嵌入式功能。以下是主要的外设:
3.1USART
USART(通用异步收发传输器)用于实现串行通信。它支持UART、SPI和I2C通信协议。以下是USART的主要功能:
UART模式:支持全双工异步通信,可以设置波特率、数据位、停止位和奇偶校验。
SPI模式:支持全双工同步通信,可以配置为主模式或从模式。
I2C模式:支持半双工同步通信,可以配置为主模式或从模式。
3.1.1UART模式示例
#includexc.h
#defineF_CPUL//CPU频率为40MHz
#defineBAUD9600//波特率为9600
#defineMYUBRR(F_CPU/16/BAUD-1)
voidUSART_Init(unsignedintubrr){
//设置UBRR寄存器
UBRR0H=(unsignedchar)(ubrr8);
UBRR0L=(unsignedchar)ubrr;
//启用接收器和发送器
UCSR0B=(1RXEN0)|(1TXEN0);
//设置数据格式:8位数据,1位停止位,无奇偶校验
UCSR0C=(1UCSZ01)|(1UCSZ00);
}
voidUSART_Transmit(unsignedchardata){
//等待传输缓冲区为空
while(!(UCSR0A(1UDRE0)));
//将数据发送到缓冲区
UDR0=data;
}
unsignedc