PIC18系列单片机原理及实践【精选】
合集下载
PIC18F452单片机原理及编程实践(第二章)PIC结构体与汇编语言编程

2017/8/29
20
―快速访问RAM区”的映射示意图
0区 (256B)
000H 0FFH
GP RAM GP RAM
000H 07FH F80H FFFH
128B 14区 (256B)
GP RAM FSR
GP RAM
F00H F7FH
F80H FFFH
128B
―快速访问”存 储区的组成 (256B)
9
2017/8/29
PIC18F452的“文件寄存器”结构示意图
4K RAM 000H 0FFH
GP RAM GP RAM
0 255
通用寄存器GPR 文件寄存器 特殊功能寄存器SFR
GP RAM
F00H F7FH F80H FFFH
3840
GP RAM SFR区域 (128B)
3967 3968 4095
2017/8/29
8
PIC文件寄存器(RAM)的空间分配
按照功能逻辑划分,文件寄存器(RAM)被分为: ① 通用寄存器 GPR:存储程序中的变量数据; ② 特殊功能寄存器 SFR:用于设定功能模块的工作 模式、工作状态等特殊信息。
GPR和SFR同在一个RAM存储阵列。 凡是没有分配给SFR的空间都可以作为通用寄存器GPR。 在18F系列中,SFR被“统一集中”在RAM的高地址空间 中(第15区的高128B)。 PIC18系列 RAM的大小随型号而不同,从32B~4KB。
―区选择寄存器”BSF的设定是可以通过指令: MOVLW k MOVWF BSR (k=0~15)
15区 (256B)
GP RAM SFR区域 (128B)
PIC18F452单片机原理及编程实践(第三章)分支、调用和延时循环

2017/8/29
19
(一)DECFSZ 指令在循环程序中的应用
指令格式: DECFSZ
f,d
----- decrease if f=0 then skip
说明:对文件寄存器f-1→f,如果f=0则跳一步(skip), 否则顺序执行下一条指令。 编制固定次数循环程序时往往采用一个f 做“循环计数 器 ”: 选择一个文件寄存器 f 做“循环计数器”,该寄存器预先 装载一个初值N (N=循环次数); 利用DECFSZ指令作为循环控制语句:每执行一次循环便 执行一次DECFSZ,当f=0时通过指令的skip操作跳出循 环体,结束整个循环。
2017/8/29 8
(二)无条件分支指令 BRA n ---- branch
格式:
BRA
n
;PC+2+2n→PC
功能:实现-1024~+1023范围内的转移; 说明:2B字节指令,其中高5位操作码、低11位为偏移量, 采用补码的形式。实际编程中使用“符号地址”替代偏移 量补码,以简化编程。
3.
BNZ只是对现在状态寄存器Z标志进行判断。而Z标志借 用前面的 DECF F,1 指令运行结果来影响的。
29
2017/8/29
练
习
试用DECFSZ和BNZ两种指令完成: 将PORTC口输入的数据乘以4,在通过PORTB口输出。 【提示】: 1. 首先要将端口的方向寄存器TRISC(F94H)置0xff、 TRISB(F93H)置0x00; 2. 方向寄存器 TRISC的地址=F94H, TRISB的地址=F93H; 3. 端口寄存器PORTC的地址=F82H, PORTB的地址=F81H.
PIC18F452单片机原理及编程实践(第十三章)PIC18的ADC模块编程

步数 256 1 024 4 096 65 536 步长(mV)电压转换 5000 mV /256=19.53 5000 mV /1024=4.88 5000 mV /4096=1.2 5000 mV /65536=0.076 步长(℃)温度转换 1000 ℃/256=3.91 ℃ 1000 ℃/1024=0.97 ℃ 1000 ℃/4096=0.24 ℃ 1000 ℃/65536=0.015 ℃
2017/8/29
Data out
串行数字输出
10
2017/8/29
ADC模块的主要特征 ---- 模拟输入通道
6.
模拟输入通道: 在应用中往往有多个模拟信号需要采集、转换,所以 ADC模块一般设计有多个模拟信号的输入通道; 考虑到设计成本:采用一个ADC转换器、配合一个“多 路模拟开关”实现对多路信号的转换。
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
本章内容
1. 2. 3. ADC转换器的主要特性; PIC18芯片的ADC模数特性; ADC数据采集过程;
4.
PIC18的ADC的汇编与C编程;
2017/8/29
1
第十三章 PIC18的ADC模块编程
本章将介绍ADC模块特性,探讨这些模块的编程原理。
模拟量 输入VX 基准电压VR
D7 A/D 转换器 :
Hale Waihona Puke 如果即要高的转换分辨率又要较宽的测量范围,那就要选取高位数的
ADC模块:如:10位、12位或16位等,但这是要付出很高的费用。
2017/8/29
8
ADC模块的主要特征 ---- 数字信号的输出
4.
数字信号的输出: 与位数有关,如:8位、10位、12位或16位等; 输出的码制:有二进制、BCD码的形式; 输出的格式:并行数据、串行数据等。
2017/8/29
Data out
串行数字输出
10
2017/8/29
ADC模块的主要特征 ---- 模拟输入通道
6.
模拟输入通道: 在应用中往往有多个模拟信号需要采集、转换,所以 ADC模块一般设计有多个模拟信号的输入通道; 考虑到设计成本:采用一个ADC转换器、配合一个“多 路模拟开关”实现对多路信号的转换。
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
本章内容
1. 2. 3. ADC转换器的主要特性; PIC18芯片的ADC模数特性; ADC数据采集过程;
4.
PIC18的ADC的汇编与C编程;
2017/8/29
1
第十三章 PIC18的ADC模块编程
本章将介绍ADC模块特性,探讨这些模块的编程原理。
模拟量 输入VX 基准电压VR
D7 A/D 转换器 :
Hale Waihona Puke 如果即要高的转换分辨率又要较宽的测量范围,那就要选取高位数的
ADC模块:如:10位、12位或16位等,但这是要付出很高的费用。
2017/8/29
8
ADC模块的主要特征 ---- 数字信号的输出
4.
数字信号的输出: 与位数有关,如:8位、10位、12位或16位等; 输出的码制:有二进制、BCD码的形式; 输出的格式:并行数据、串行数据等。
PIC18F452单片机原理及编程实践(第十章)PIC 18串行接口的汇编和C编程

计算机内部的数据是按字节存储、运算的; 计算机与外部设备之间的数据传输从理论上讲:采用并 行方式是效率最高的,因为并行传输数据的速度快; 如果两套设备之间距离变长,则不得不考虑下列因素: 数据传输设备的成本:并行设备至少要8条以上的线; 随着距离的加长,信号幅值将要衰减、干扰信号的影响 将显著增加。 因此长距离通信采用串行传输方式必然结果。
2017/8/29
21
波特率的物理概念
0 1 0 1 100 10 1 01 1 00 单位时间内传送二进制数据(bit)的个数
2017/8/29
22
10.3.1 PIC18的SPBRG和波特率B
PIC18的串行接口的异步通信支持不同的波特率,以满足 双方(不同的fosc)的通信的要求;
PIC18波特率的设定是由8位的寄存器SPBRG实现的;
2017/8/29
25
10.3.2 PIC18的TXREG寄存器
TXREG ----发送数据缓冲器。要想将数据发送出去,必须 事先将数据装载到TXREG中。例如;
MOVLW MOVWF 0x41 TXREG
当执行MOVWF TXREG 装载数据时,数据同时会被写入 “移位寄存器TSR”中,并开始通过TX引脚串行发送数据;
2017/8/29
12
10.1.5 RS-232串行电平标准
为了使不同厂家生产的通信设备彼此兼容,电子工业联 盟(EIA)在1960年制定了一个接口标准 --- RS232, 后续有修改为RS232B、RS232C。这里将其统称为 RS232; 在RS232标准中: 逻辑1的电平是-3~-25V; 逻辑0的电平是+3~+25V。
PIC18F452单片机原理及编程实践(第十一章)PIC 18的中断编程

3. 如果中断源属于第二梯队(外设中断),还需将PEIE置 一(如: BSF INTCON,PEIE)。
INTCON寄存器各位定义 GIE PEIE MSB
2017/8/29
TMR0IE
INNT0IF
RBIF LSB
16
中断设置举例
编写出完成下列操作的指令: 允许定时器0的中断和外部以硬件引脚中断INT0;
主程序 断点 中断返回 中断响应 中断服 务程序
2017/8/29
6
编程者可对外设编写的ISR定义 在ROM的某一位置nnnn;
将与ISR地址相关的跳转指令存 放在ROM的特定单元 中,这些 单元称之-------中断向量 。 一旦CPU响应某一外设的中断申 请就首先跳到中断向量单元,并 从中获取跳转到ISR的指令、转 到真正的ISR中;
2017/8/29
8
在PIC18系统中只用一个中断向量单元。这就意味着不论 是谁引发的中断响应,CPU都会自动的跳转到0008H单元 中,那么如何实现不同中断源的ISR服务呢? 在系统编程中,如果使用了两个或两个以上的中断源时, 就要在向量的单元(0008H)中编写一段中断源查询的程 序:判断是哪个中断源引发的中断。 当然查询程序也可以在ROM的其他位置,但要有中断向 量中的指令来引导。如:在0008H单元中写入
2017/8/29
PEIE
GIE
第一梯队的中断使能 与PEIE无关
返回前一次
15
11.1.6 中断初始化的步骤(以TMR0为例)
使能任何一个中断,必须遵循下面的步骤: 必须将GIE置一 (BSF INTCON,GIE); 将对应的中断使能为置一
1. 2.
(如使能TMR0: BSF INTCON,TMR0IE);
INTCON寄存器各位定义 GIE PEIE MSB
2017/8/29
TMR0IE
INNT0IF
RBIF LSB
16
中断设置举例
编写出完成下列操作的指令: 允许定时器0的中断和外部以硬件引脚中断INT0;
主程序 断点 中断返回 中断响应 中断服 务程序
2017/8/29
6
编程者可对外设编写的ISR定义 在ROM的某一位置nnnn;
将与ISR地址相关的跳转指令存 放在ROM的特定单元 中,这些 单元称之-------中断向量 。 一旦CPU响应某一外设的中断申 请就首先跳到中断向量单元,并 从中获取跳转到ISR的指令、转 到真正的ISR中;
2017/8/29
8
在PIC18系统中只用一个中断向量单元。这就意味着不论 是谁引发的中断响应,CPU都会自动的跳转到0008H单元 中,那么如何实现不同中断源的ISR服务呢? 在系统编程中,如果使用了两个或两个以上的中断源时, 就要在向量的单元(0008H)中编写一段中断源查询的程 序:判断是哪个中断源引发的中断。 当然查询程序也可以在ROM的其他位置,但要有中断向 量中的指令来引导。如:在0008H单元中写入
2017/8/29
PEIE
GIE
第一梯队的中断使能 与PEIE无关
返回前一次
15
11.1.6 中断初始化的步骤(以TMR0为例)
使能任何一个中断,必须遵循下面的步骤: 必须将GIE置一 (BSF INTCON,GIE); 将对应的中断使能为置一
1. 2.
(如使能TMR0: BSF INTCON,TMR0IE);
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
PIC18F452单片机原理及编程实践(第五章)算数、逻辑指令和程序示例

00111100 11100111
+ 00111011 10001101 01111000 01110100
=7874H
作为计算机,是按照字节运算的,所以应采用“先做低8 位” 、 “后做高8位”字节运算的规律。但是这种8位的 字节两次加法是否能与真正的16位加法运算相一致呢?
8
2017/8/29
9
2017/8/29
5.1.4 BCD(二进制编码的十进制数)系统
十进制数 BCD码
用二进制数来表示十进制数的 方法称之为“BCD”码; 在计算机系统中,存储BCD码 的方式有两种: 非压缩的BCD码; 压缩的BCD码。
1. 2.
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
2017/8/29
13
1. 2.
举例说明: 两个BCD码17H+28H。 人工计算=45H; 计算机计算=3FH。 问题出在计算机是按照二进制加法法则运算的。
1. 2.
修正原理。执行任何一条指令后: 如果低4位大于9或DC=1,那么低4位加6H; 如果高4位大于9或C=1,那么高4位加6H。
2017/8/29
14
57H+77H。
57H + 77H CEH + 6 6H 3 4H
DC=1、C=0 C=1
实际调整后应当为134,注意百位的BCD码是存在C中。
2017/8/29
15
PIC的DAW指令的特殊性
与其它的微处理器(如INTE公司的MCS-例如:
PIC18系列单片机原理及实践

PIC18系列单片机原理及 实践
PIC18系列单片机是一种非常常用的微控制器,本课程将通过理论与实践相 结合的方式,详细介绍该系列单片机的原理和应用。
PIC18单片机系列概述
PIC18单片机系列广泛应用于嵌入式系统,具有强大的处理能力和丰富的外设功能。本节课将介绍其特 点、应用领域和优势。
强大的处理能力
2
对电流、电压和功率的控制。
PIC18单片机可以通过PWM输出来控
制LED的亮度,实现动态调节效果。
3
电机速度控制
利用PWM输出可以控制电机的转速, 实现精确的速度控制。
定时器与中断的应用
定时器和中断是PIC18单片机重要的功能模块。本节课将介绍定时器的原理和中断的应用方法。
定时器 中断ቤተ መጻሕፍቲ ባይዱ
通过定时器模块可以实现精确的时间计量和延 时控制。
1
需求分析
明确系统的功能需求和性能指标。
硬件设计
2
选择适合的单片机和外围电路,并进
行电路设计。
3
软件设计
编写单片机的程序代码,实现系统的
系统集成
4
功能。
将硬件和软件部分进行整合,并进行 调试和测试。
开发工具的选择与环境配置
选择合适的开发工具和环境对于单片机开发非常重要。本节课将介绍开发工具的选择准则和环境配置的 步骤。
2 汇编语言
更接近硬件,可以对单片机进行更细致的控制,适合对性能要求较高的应用。
I/O口及外设的应用方法
通过I/O口和外围设备,PIC18单片机可以与外部世界进行信息交互。本节课将介绍I/O口的基本原理和 外设的应用方法。
I/O口基本原理
外设的应用方法
I/O口用于输入和输出数字信号, 通过设置和读取I/O口寄存器来 实现。
PIC18系列单片机是一种非常常用的微控制器,本课程将通过理论与实践相 结合的方式,详细介绍该系列单片机的原理和应用。
PIC18单片机系列概述
PIC18单片机系列广泛应用于嵌入式系统,具有强大的处理能力和丰富的外设功能。本节课将介绍其特 点、应用领域和优势。
强大的处理能力
2
对电流、电压和功率的控制。
PIC18单片机可以通过PWM输出来控
制LED的亮度,实现动态调节效果。
3
电机速度控制
利用PWM输出可以控制电机的转速, 实现精确的速度控制。
定时器与中断的应用
定时器和中断是PIC18单片机重要的功能模块。本节课将介绍定时器的原理和中断的应用方法。
定时器 中断ቤተ መጻሕፍቲ ባይዱ
通过定时器模块可以实现精确的时间计量和延 时控制。
1
需求分析
明确系统的功能需求和性能指标。
硬件设计
2
选择适合的单片机和外围电路,并进
行电路设计。
3
软件设计
编写单片机的程序代码,实现系统的
系统集成
4
功能。
将硬件和软件部分进行整合,并进行 调试和测试。
开发工具的选择与环境配置
选择合适的开发工具和环境对于单片机开发非常重要。本节课将介绍开发工具的选择准则和环境配置的 步骤。
2 汇编语言
更接近硬件,可以对单片机进行更细致的控制,适合对性能要求较高的应用。
I/O口及外设的应用方法
通过I/O口和外围设备,PIC18单片机可以与外部世界进行信息交互。本节课将介绍I/O口的基本原理和 外设的应用方法。
I/O口基本原理
外设的应用方法
I/O口用于输入和输出数字信号, 通过设置和读取I/O口寄存器来 实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
采用掩模技术制造的芯片是“专用”的芯片,不能用于其 它项目。因此,掩模ROM工艺的单片机是针对某一产品 生产的。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
18
1.5 PIC微控制器的数据RAM和E2PROM
RAM和E2PROM都是用来存储数据的。其中:
1. RAM用于存储程序的“变量”,如系统采集的输入数据、 处理运算的中间结果或者是程序的最终数据等。
大连理工大学 电工电子实验中心 陈育斌
3
第一章 PIC微控制器的历史和特征
1989年Microchip公司开发了一种8位的微控制器: PIC(Peripheral Interface Controler ——— 外围接口控制器);
将少量的RAM、ROM、一个定时器和一些I/O端口全 部集成在一个8脚的芯片上;
2. 将芯片内部所包含的ADC、定时器、同步/异步收发器、 E2PROM、看门狗WDT、I2C总线、CAN总线接口等统 称为“外围模块”。外围模块有两个特征:
①都是由对应的SFR进行初始化控制;
②在PIC18XXX系列中,不同的型号其配置各不相同。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
RAM的大小影响着CPU处理数据的空间。一个大容量的 RAM还可以使高级语言运行更为流畅。
特点:存储速度快(与指令运行的速度同步)、掉电后 数据丢失。
2. E2PROM用于存储 “重要而不需经常修改的数据”。一 般是结果数据,如:水表的流量、汽车的行驶里程、远 端采集的遥感数据等。
特点:掉电后数据不丢失、存储数据速度慢(ms级)。
1. 16FXXX:具有丰富的内部模块、完整的指令系统和良 好的向下兼容性。适合初学入门的系列;
2. 18FXXX:高效的16位指令系统、大容量的ROM和RAM 结构使其更适合C语言编程。更为丰富的内部某块和8位 的硬件乘法器使其具备DSP的性能。学习的高级阶段。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
Microchip公司对产品开发采用了“面向应用”的设计理 念,产品种类多而细,从8脚的简约型到80脚高档型。这 种设计使用户可以根据工程项目的需要有“针对性”的进 行选型,做到系统设计的“最优性价比”。
引脚的减少意味着芯片功能的简化,降低成本。相反,80 脚的产品意味着芯片内部模块的增加、功能的强大(因为 许多模块都需要借助于引脚进行数据交换的)。
和振荡器起振定时器(OST); 片内RC振荡的看门狗定时器(WDT)保证可靠运行; 低功耗睡眠模式(Sleep);
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
10
可选择不同的振荡器工作方式: ① 4锁相环(主振荡器); ② 2路振荡器(32KHz)时钟输入;
通过两个引脚可进行在线串行编程(ICSP); 通过2个脚在线调试器。
在PIC产品中是以F为来表示的,如:PIC18F458等;
当使用程序烧写器烧写程序时,首先要擦除旧程序然后烧 写新程序。擦除和写入的过程是由编程器自动进行的。
这类芯片适用于产品的研制阶段,需要不断修改、调试程 序的场合。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
16
(三)PIC单片机的OPT版本
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
17
(四)PIC单片机的掩模版本
所谓“掩模”技术是指:将编写好并调试成功的源程序代 码直接交给生产微控制器的厂家,由芯片制造厂家在制造 芯片的过程中将用户程序一同烧入的模式;
在所有ROM的制造工艺模式中,“掩模”工艺是制造成 本最低的一种方式,非常适合工厂对设备的批量生产。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
11
(五)CMOS芯片工艺性能
低电压,高速度FLASH/EEPROM技术; 全静态设计; 宽范围的工作电压:2.0-5.5V; 工业级和扩展级温度范围; 低功耗:
—在5V、4MHz下典型值1.6mA; —在3V、32KHz下典型值25uA; —待机电流典型值0.2uA。
在不到10年的时间内,Microchip公司已经把这个如 此简陋的产品发展成主流的8位微控制器这是一个奇 迹;
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
4
1.1 PIC微控制器的产品系列
1. 10XXX 2. 12XXX 3. 14XXX 4. 16XXX:应用最广泛的8位机产品,14位指令宽度 5. 18XXX:8位机中的高档产品,16位指令宽度。
最大拉/灌电流可达25mA; 3个外部中断引脚; 4个定时器TMR0、TMR1、TMR2、TMR3; 捕捉/比较/脉宽调制(CCP)模块/增强型CCP模块; 两种工作方式的主同步串行通讯(MSSP):
① SPI主控方式(支持所有4种SPI工作模式); ② I2C主控/从动方式; 可寻址的USART模块:支持RS-485和RS-232串口,并 行从动口模式,支持中断支持位。
与RAM不同,E2PROM是以“外围模块”的方式来工作的, 它需要SFR的控制来参与“读/写”操作。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
20
1.6 PIC微控制器的I/O引脚
PIC18XXX系列单片机的引脚为18~80不等,其中可做 I/O引脚的数量为16~72不等。很明显,I/O引脚的数量受 到芯片引脚的约束。
2
2019/9/11
目录
第一章 PIC微控制器的历史和特征 1.1 PIC微控制器的产品系列 1.2 PIC18系列微控制器的特性 1.3 PIC微控制器的产品局限性 1.4 PIC微控制器的程序ROM 1.5 PIC微控制器的数据RAM和E2PROM 1.6 PIC微控制器的I/O引脚 1.7 PIC微控制器的外围设备
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
19
在PIC18XXX系列中,不同型号芯片其RAM、 E2PROM 的配置是不同的;
RAM的容量从256B~4096B不等,一般是按照256B的整 数倍来设置RAM的容量;
在PIC18XXX系列产品中,都会配置一个小容量(256B) 的E2PROM模块,以满足一些需要特定环境(如掉电)的 数据保存的要求。
OPT(one time programmable)—— 一次性编程技术。 在PIC产品中是以C为来表示OPT结构的,如:
PIC16C432等; 与闪存flash工艺结构的芯片相比,具有较低的制造成本。
因此,适合当程序调试成功后进行大规模的生产的情况, 这样可有效降低生产成本;
OPT芯片只能进行一次编程,一旦程序烧写进去就永远无 法修改。因此此类芯片不适合开发阶段的使用。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
8
(三)高级模/数转换特性
10位、8通道的模/数(A/D)转换模块: 可利用休眠状态进行转换,以减少系统干扰、提高精度; 模拟比较模块:可编程多路输入/输出技术; 比较器参考电压模块; 可编程的低电压探测模块(PLVD):支持低电压检测时
1ห้องสมุดไป่ตู้
如何学习PIC单片机
在产品的设计中,对于PIC单片机的选型采用的是“因 地制宜”的策略——根据需要合理选择各种系列产品, 这样可以做到产品的最佳“性价比”。这也是PIC单片 机的一种“优势”。如洗衣机、电冰箱或电梯控制系统 等会采用从低到高不同的PIC系列产品。
由于PIC单片机各个档次之间存在于指令不完全兼容的 特点,那么如何选择、从那个系列入手学习呢?
2. 再使用“程序烧写器”将新程序烧写到芯片中。
早期产品,用于产品的研制阶段。这类芯片的最大缺点 是擦除时间长,目前已经被淘汰。
芯片本身有一个明显的特征:在芯片正面的中央有一个 大约直径10mm透明窗口,为紫外线照射提供一个入射 的光路通道。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
15
兼容性。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
13
1.4 PIC微控制器的程序ROM
与其他厂家的微控制器一样,用于存储程序代码或常数 的程序ROM其结构、特点决定了其实用的环境和应用的 价值。
1. 其大小决定了系统程序的容量。在广泛使用C语言编程 的今天,采用大容量结构设计显得尤为重要;
22
(二)带闪存flash的PIC18FXXX
与UV—EPROM相比,flash闪存程序存储器采用“电擦除” 技术,具有速度快,擦除次数多的优点。因此闪存ROM 已经取代UV—EPROM,是当前广泛采用的模式;
PIC18FXXX系列微控制器采用闪存ROM结构。擦除程序 不用外加“擦除器”,但烧写程序时需要“程序烧写器”。
产生中断; 可编程的锁定复位(BOR);
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
9
(四)特殊的单片机特性
增强功能的FLASH可经受100,000次擦/写操作; EEPROM可经受1,000,000次擦/写操作; FLASH/数据EEPROM数据保存期可超过40年; 软件控制自动可改编程序(在线升级); 上电复位电路(POR)、上电延迟定时器(PWRT)
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
12
1.3 PIC微控制器的产品局限性
由于历史原因:PIC单片机的产品是逐渐从低向高发展。 其中最明显的特征是:随着产品性能的提高其内部的硬 件结构也在变化。如程序存储器ROM的宽度会随着产品 性能的升级而加宽,且指令系统也在扩充。
1. 12XXX的指令宽度为12位,指令系统为33条; 2. 16XXX系列的指令宽度为14位,指令系统为35条; 3. 18XXX系列的指令宽度为16为,指令系统为58条。 这种特点决定了不同系列的产品其指令系统没有很好的
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
18
1.5 PIC微控制器的数据RAM和E2PROM
RAM和E2PROM都是用来存储数据的。其中:
1. RAM用于存储程序的“变量”,如系统采集的输入数据、 处理运算的中间结果或者是程序的最终数据等。
大连理工大学 电工电子实验中心 陈育斌
3
第一章 PIC微控制器的历史和特征
1989年Microchip公司开发了一种8位的微控制器: PIC(Peripheral Interface Controler ——— 外围接口控制器);
将少量的RAM、ROM、一个定时器和一些I/O端口全 部集成在一个8脚的芯片上;
2. 将芯片内部所包含的ADC、定时器、同步/异步收发器、 E2PROM、看门狗WDT、I2C总线、CAN总线接口等统 称为“外围模块”。外围模块有两个特征:
①都是由对应的SFR进行初始化控制;
②在PIC18XXX系列中,不同的型号其配置各不相同。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
RAM的大小影响着CPU处理数据的空间。一个大容量的 RAM还可以使高级语言运行更为流畅。
特点:存储速度快(与指令运行的速度同步)、掉电后 数据丢失。
2. E2PROM用于存储 “重要而不需经常修改的数据”。一 般是结果数据,如:水表的流量、汽车的行驶里程、远 端采集的遥感数据等。
特点:掉电后数据不丢失、存储数据速度慢(ms级)。
1. 16FXXX:具有丰富的内部模块、完整的指令系统和良 好的向下兼容性。适合初学入门的系列;
2. 18FXXX:高效的16位指令系统、大容量的ROM和RAM 结构使其更适合C语言编程。更为丰富的内部某块和8位 的硬件乘法器使其具备DSP的性能。学习的高级阶段。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
Microchip公司对产品开发采用了“面向应用”的设计理 念,产品种类多而细,从8脚的简约型到80脚高档型。这 种设计使用户可以根据工程项目的需要有“针对性”的进 行选型,做到系统设计的“最优性价比”。
引脚的减少意味着芯片功能的简化,降低成本。相反,80 脚的产品意味着芯片内部模块的增加、功能的强大(因为 许多模块都需要借助于引脚进行数据交换的)。
和振荡器起振定时器(OST); 片内RC振荡的看门狗定时器(WDT)保证可靠运行; 低功耗睡眠模式(Sleep);
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
10
可选择不同的振荡器工作方式: ① 4锁相环(主振荡器); ② 2路振荡器(32KHz)时钟输入;
通过两个引脚可进行在线串行编程(ICSP); 通过2个脚在线调试器。
在PIC产品中是以F为来表示的,如:PIC18F458等;
当使用程序烧写器烧写程序时,首先要擦除旧程序然后烧 写新程序。擦除和写入的过程是由编程器自动进行的。
这类芯片适用于产品的研制阶段,需要不断修改、调试程 序的场合。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
16
(三)PIC单片机的OPT版本
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
17
(四)PIC单片机的掩模版本
所谓“掩模”技术是指:将编写好并调试成功的源程序代 码直接交给生产微控制器的厂家,由芯片制造厂家在制造 芯片的过程中将用户程序一同烧入的模式;
在所有ROM的制造工艺模式中,“掩模”工艺是制造成 本最低的一种方式,非常适合工厂对设备的批量生产。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
11
(五)CMOS芯片工艺性能
低电压,高速度FLASH/EEPROM技术; 全静态设计; 宽范围的工作电压:2.0-5.5V; 工业级和扩展级温度范围; 低功耗:
—在5V、4MHz下典型值1.6mA; —在3V、32KHz下典型值25uA; —待机电流典型值0.2uA。
在不到10年的时间内,Microchip公司已经把这个如 此简陋的产品发展成主流的8位微控制器这是一个奇 迹;
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
4
1.1 PIC微控制器的产品系列
1. 10XXX 2. 12XXX 3. 14XXX 4. 16XXX:应用最广泛的8位机产品,14位指令宽度 5. 18XXX:8位机中的高档产品,16位指令宽度。
最大拉/灌电流可达25mA; 3个外部中断引脚; 4个定时器TMR0、TMR1、TMR2、TMR3; 捕捉/比较/脉宽调制(CCP)模块/增强型CCP模块; 两种工作方式的主同步串行通讯(MSSP):
① SPI主控方式(支持所有4种SPI工作模式); ② I2C主控/从动方式; 可寻址的USART模块:支持RS-485和RS-232串口,并 行从动口模式,支持中断支持位。
与RAM不同,E2PROM是以“外围模块”的方式来工作的, 它需要SFR的控制来参与“读/写”操作。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
20
1.6 PIC微控制器的I/O引脚
PIC18XXX系列单片机的引脚为18~80不等,其中可做 I/O引脚的数量为16~72不等。很明显,I/O引脚的数量受 到芯片引脚的约束。
2
2019/9/11
目录
第一章 PIC微控制器的历史和特征 1.1 PIC微控制器的产品系列 1.2 PIC18系列微控制器的特性 1.3 PIC微控制器的产品局限性 1.4 PIC微控制器的程序ROM 1.5 PIC微控制器的数据RAM和E2PROM 1.6 PIC微控制器的I/O引脚 1.7 PIC微控制器的外围设备
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
19
在PIC18XXX系列中,不同型号芯片其RAM、 E2PROM 的配置是不同的;
RAM的容量从256B~4096B不等,一般是按照256B的整 数倍来设置RAM的容量;
在PIC18XXX系列产品中,都会配置一个小容量(256B) 的E2PROM模块,以满足一些需要特定环境(如掉电)的 数据保存的要求。
OPT(one time programmable)—— 一次性编程技术。 在PIC产品中是以C为来表示OPT结构的,如:
PIC16C432等; 与闪存flash工艺结构的芯片相比,具有较低的制造成本。
因此,适合当程序调试成功后进行大规模的生产的情况, 这样可有效降低生产成本;
OPT芯片只能进行一次编程,一旦程序烧写进去就永远无 法修改。因此此类芯片不适合开发阶段的使用。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
8
(三)高级模/数转换特性
10位、8通道的模/数(A/D)转换模块: 可利用休眠状态进行转换,以减少系统干扰、提高精度; 模拟比较模块:可编程多路输入/输出技术; 比较器参考电压模块; 可编程的低电压探测模块(PLVD):支持低电压检测时
1ห้องสมุดไป่ตู้
如何学习PIC单片机
在产品的设计中,对于PIC单片机的选型采用的是“因 地制宜”的策略——根据需要合理选择各种系列产品, 这样可以做到产品的最佳“性价比”。这也是PIC单片 机的一种“优势”。如洗衣机、电冰箱或电梯控制系统 等会采用从低到高不同的PIC系列产品。
由于PIC单片机各个档次之间存在于指令不完全兼容的 特点,那么如何选择、从那个系列入手学习呢?
2. 再使用“程序烧写器”将新程序烧写到芯片中。
早期产品,用于产品的研制阶段。这类芯片的最大缺点 是擦除时间长,目前已经被淘汰。
芯片本身有一个明显的特征:在芯片正面的中央有一个 大约直径10mm透明窗口,为紫外线照射提供一个入射 的光路通道。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
15
兼容性。
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
13
1.4 PIC微控制器的程序ROM
与其他厂家的微控制器一样,用于存储程序代码或常数 的程序ROM其结构、特点决定了其实用的环境和应用的 价值。
1. 其大小决定了系统程序的容量。在广泛使用C语言编程 的今天,采用大容量结构设计显得尤为重要;
22
(二)带闪存flash的PIC18FXXX
与UV—EPROM相比,flash闪存程序存储器采用“电擦除” 技术,具有速度快,擦除次数多的优点。因此闪存ROM 已经取代UV—EPROM,是当前广泛采用的模式;
PIC18FXXX系列微控制器采用闪存ROM结构。擦除程序 不用外加“擦除器”,但烧写程序时需要“程序烧写器”。
产生中断; 可编程的锁定复位(BOR);
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
9
(四)特殊的单片机特性
增强功能的FLASH可经受100,000次擦/写操作; EEPROM可经受1,000,000次擦/写操作; FLASH/数据EEPROM数据保存期可超过40年; 软件控制自动可改编程序(在线升级); 上电复位电路(POR)、上电延迟定时器(PWRT)
2019/9/11
大连理工大学 电工电子实验中心 陈育斌
12
1.3 PIC微控制器的产品局限性
由于历史原因:PIC单片机的产品是逐渐从低向高发展。 其中最明显的特征是:随着产品性能的提高其内部的硬 件结构也在变化。如程序存储器ROM的宽度会随着产品 性能的升级而加宽,且指令系统也在扩充。
1. 12XXX的指令宽度为12位,指令系统为33条; 2. 16XXX系列的指令宽度为14位,指令系统为35条; 3. 18XXX系列的指令宽度为16为,指令系统为58条。 这种特点决定了不同系列的产品其指令系统没有很好的