PIC18系列单片机原理及实践

合集下载

PIC18F452单片机原理及编程实践(第二章)PIC结构体与汇编语言编程

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单片机原理及编程实践(第三章)分支、调用和延时循环

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单片机原理及编程实践(第十章)PIC 18串行接口的汇编和C编程

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的中断编程

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);

PIC18系列单片机原理及实践【精选】

PIC18系列单片机原理及实践【精选】
采用掩模技术制造的芯片是“专用”的芯片,不能用于其 它项目。因此,掩模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:具有丰富的内部模块、完整的指令系统和良 好的向下兼容性。适合初学入门的系列;

PIC18F452单片机原理及编程实践(第四章)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

PIC18系列单片机原理及实践

PIC18系列单片机原理及实践


通过两个引脚可进行在线串行编程(ICSP);
通过2个脚在线调试器。
2019/2/14
大连理工大学 电工电子实验中心 陈育斌
11
(,高速度FLASH/EEPROM技术; 全静态设计; 宽范围的工作电压:2.0-5.5V; 工业级和扩展级温度范围; 低功耗: —在5V、4MHz下典型值1.6mA;
1.6 PIC微控制器的I/O引脚 1.7 PIC微控制器的外围设备
大连理工大学 电工电子实验中心 陈育斌 3
第一章 PIC微控制器的历史和特征

1989年Microchip公司开发了一种8位的微控制器: PIC(Peripheral Interface Controler ——— 外围接口控制器);


2019/2/14
大连理工大学 电工电子实验中心 陈育斌
20
1.6 PIC微控制器的I/O引脚



PIC18XXX系列单片机的引脚为18~80不等,其中可做 I/O引脚的数量为16~72不等。很明显,I/O引脚的数量受 到芯片引脚的约束。 Microchip公司对产品开发采用了“面向应用”的设计理 念,产品种类多而细,从8脚的简约型到80脚高档型。这 种设计使用户可以根据工程项目的需要有“针对性”的进 行选型,做到系统设计的“最优性价比”。 引脚的减少意味着芯片功能的简化,降低成本。相反,80 脚的产品意味着芯片内部模块的增加、功能的强大(因为 许多模块都需要借助于引脚进行数据交换的)。
2019/2/14

1. 2. 3. 4. 5. 6.

第一章 PIC微控制器的历史和特征 1.1 PIC微控制器的产品系列 1.2 PIC18系列微控制器的特性 1.3 PIC微控制器的产品局限性 1.4 PIC微控制器的程序ROM 1.5 PIC微控制器的数据RAM和

pic18实验指导书

pic18实验指导书

6、 键盘控制 LED 显示程序
要使用 SW2 和 SW3 两个按键,必须先将其对应的端口用下面的代码初始化为输入:
TRISBbits.TRISB0=1; //sw2 input pin TRISAbits.TRISA4=1; //sw3 input pin
然后通过下面的代码读取按键:
if(PORTAbits.RA4==0){ //开发板上已有硬件去抖动处理 //这里执行 SW3 按下时的动作
// Set b0 of LED is On // Enable Interrupt Priority bit,中断优先级位 // Timer2 设为高优先级,对应的中断向量地址地址为 0x08H // Enable High Priority Interrupt,允许高优先级中断
OpenTimer2 (TIMER_INT_ON&T2_PS_1_16 &T2_POST_1_10);
while(1);
// Loop Here!
}
#pragma code isrhighcode = 0x0008 void isr_high_direct(void) {
_asm goto isr_high _endasm } #pragma code
//伪指令告诉编译器中断函数的入口地址是 0x008h
TD7=0;
};
}
将顶部图标工具栏中的编译选项选择为 Debug,
,
再用 Project->Build All 来编译这个程序,Output 窗口应该显示编译成功。
连接硬件,将 App001 开发板和 ICD2 仿真器用 6 芯电缆连接起来,将 ICD2 和 PC
机用 USB 电缆连接起来,再为 App001 开发板上电。

PIC18F452单片机原理及编程实践(第四章)PIC的端口编程

PIC18F452单片机原理及编程实践(第四章)PIC的端口编程

MOVF
PORTA,W
却使用了两个不同的地址。这是防止与PORTA得真正输 入(通过Input Latch的外信号输入)相区别。
LAT
的地址=F80H;
PORTA的地址=F92H。
端口结构图
2017/8/29 17
端口结构小结

1.
每一个端口都对应三个地址: 数据端口PORT x : 输入输出Latch地址。 注意:在端口内部输出与输入对应着两个锁存器: Out Data Latch ----- 输出数据的锁存器; Input Data Latch ----- 输入数据的锁存器。 但他们都具有相同的地址:如 MOVWF PORTA 利用输出锁存器输出数据; MOVF PORTA,W 通过输入锁存器读取引脚信号。 两者是靠指令的性质(输入/输出)来自动选择的。
端口结构图
2017/8/29
16

5 检查端口的输出数据。(RD LAT)
端口做输出时的“回馈 ”操作,可以称之为“准输 入 ”。与真正的输入的区别是:回送前次输出数据的状 态,而不是端口的引脚电平信号。

注意:尽管在物理结构上 RD LAT 的操作与端口输出时 WR PORT 是同一个锁存器,但是两种操作: MOVF LATA,W

端口A: 7位并行端口(引脚:RA0~RA6); 端口地址(SFR): PORTA:F80H; I/O引脚 第二功能 TRISA: F92H; RA0 AN0 / CAREF LATA: F89H。 RA1 AN1 / 端口的第二功能: RA2 AN2 / VREFADC电路的模拟 RA3 AN3 / VREF+ 输入引脚等。
如: MOVF MOVF LATA,W PORTA,W ;回读Out Data Latch 数据 ;输入PORTA的引脚信号

PIC18F452单片机原理及编程实践(第十三章)PIC18的ADC模块编程

PIC18F452单片机原理及编程实践(第十三章)PIC18的ADC模块编程
2017/8/29
PIC 18F458
microchip
FLASH型
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 V dd V ss RD7 RD6 RD5 RD4 RC7 RC6 RC5 RC4 RD3 RD2
端口A:RA(6线) 端口B:RB(8线) 端口C:RC(8线) 端口D:RD(8线) 端口E:RE(3线)

如果即要高的转换分辨率又要较宽的测量范围,那就要选取高位数的
ADC模块:如:10位、12位或16位等,但这是要付出很高的费用。
2017/8/29
8
ADC模块的主要特征 ---- 数字信号的输出
4.

数字信号的输出: 与位数有关,如:8位、10位、12位或16位等; 输出的码制:有二进制、BCD码的形式; 输出的格式:并行数据、串行数据等。
000000
nn
nnnnnnnn
nnnnnnnn
nn 000000
ADRESH
2017/8/29
ADRESL
ADRESH
ADRESL
返回
24
ADCON1寄存器
ADFM
MSB
ADS2
---
---
PCFG3
PCFG2 PCFG1
PCFG0
LSB
PCFG3~0 0000 : : 1111
ADC端口配置位
6.

可利用+Vref 与 - Vref 的差值获取不同的Vref值。
2017/8/29
15
Hale Waihona Puke .ADC模块包含一个自带的“RC低功耗时钟系统” ,在 此模式下,ADC模块可以摆脱对系统时钟fosc的依赖性, 确保在SLEEP模式下ADC模块仍可正常工作。

PIC18系列单片机原理及实践

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口寄存器来 实现。

PIC18F452单片机原理及编程实践(第六章)存储器转换、表处理、宏和模块

PIC18F452单片机原理及编程实践(第六章)存储器转换、表处理、宏和模块



为FSRx装载数据的指令是:LFSRx (Load FSRx),如: LFSR 0,0x40 --------为FSR0赋值0x40;
2017/8/29
10
相关SFR寄存器及地址
第0组
SFR FSR0H 地址 FEAH SFR
第1组
地址 FE2H SFR FSR1H
第2组
地址 FDAH FSR2H
12

1. 2. 3.

2017/8/29
(一)直接寻址方式访问数据快
MOVLW MOVWF MOVWF MOVWF MOVWF

0x55 0x40 0x41 0x42 0x43
特点:如果数据快不是很大,直接寻址的方式还是可以的, 但是如果数据快的长度很大时,直接寻址的编程方法会占 用大量的指令、内存。
9


2017/8/29
6.2.1 间接寻址寄存器 INDF x

尽管间接寻址是通过 FSR x 做数据地址指针,但在使用 指令时却使用了另外一个寄存器 INDF x,这一点似乎对 FSR x 显得“不公平”,这也是PIC指令系统的一个特点。 从另一个角度去分析“寄存器间接寻址”: 当使用间接寻址的指令时,是通过间址寄存器 INDFx来表 征的,而实际上在后台做数据指针的却是FSRx。所以在 使用INDFx寻址时,要事先为指针FSRx装数据。
4


2017/8/29
“立即数寻址”应用举例
例如:向文件寄存器10H单元送数据0FH。
MOVLW MOVWF 0x0F 0x10


练习:将PORTD端口设定为输出端口,试编程。
2017/8/29
5

PIC18F452单片机原理及编程实践(第十章)PIC 18串行接口的汇编和C编程

PIC18F452单片机原理及编程实践(第十章)PIC 18串行接口的汇编和C编程

计算机内部的数据是按字节存储、运算的; 计算机与外部设备之间的数据传输从理论上讲:采用并 行方式是效率最高的,因为并行传输数据的速度快; 如果两套设备之间距离变长,则不得不考虑下列因素: 数据传输设备的成本:并行设备至少要8条以上的线; 随着距离的加长,信号幅值将要衰减、干扰信号的影响 将显著增加。 因此长距离通信采用串行传输方式必然结果。
第十章 PIC 18串行接口的汇编和C编程

1. 2. 3. 4. 5. 6. 7. 8. 9.
本章内容: 串行通信和并行通信,串行通信的优点; 串行通信的协议; 同步串行和异步串行; 半双工和全双工传输; 数据帧格式; 串行数据传输速度和波特率,PIC18的波特率; RS-232标准及MAX232芯片的应用; PIC18串行通信的特征以及相关的寄存器; 使用汇编和C语言对PIC18串行口的编程。
RS232 电平
TX RX
MAX232
MAX232
RX TX
PIC18甲乙两地之间远距离通讯(RS-232电平)
TX RX MAX232 PC机 COM1,COM2
PIC18与PC机之间的数据通讯(RS-232电平)
2017/8/29 14
10.2.1 PIC18的串行接口模块

1. 2.
具备同步、异步的全双工的功能模块; 在PIC18单片机中有两个引脚是用于串行通信的: RX --- 串行数据接收端(RC7); TX --- 串行数据发送端(RC6)。 当使能串口模块时要通过TRISC的相关位的引脚方向进 行设置(BCF TRISC,6 和 BSF TRISC,7)。 主要的相关SFR寄存器: SPBGR:波特率寄存器); TXSTA、 RCSTA:发送状态、接收状态寄存器; TXREG、RCREG:发送数据、接收数据缓冲器。

PIC18F452单片机原理及编程实践(第一章)PIC微控制器的历史和特征

PIC18F452单片机原理及编程实践(第一章)PIC微控制器的历史和特征
2017/8/29 2
Microchip 公司简介

1990年Microchip 公司在世界同行排名第20名;
2003年6月“市场研究公司——Gartner Dataquest‖ 的“2002年单片机 市场份额和单位出货量”报告指出: Microchip 公司8位机已跃居全球第 一,占全球市场的16.1%;


2017/8/29
3
第一章 PIC微控制器的历史和特征

1989年Microchip公司开发了一种8位的微控制器: PIC(Peripheral Interface Controler ——— 外围接口控制器);

将少量的RAM、ROM、一个定时器和一些I/O端口全 部集成在一个8脚的芯片上;
1.
2017/8/29 6
计算机/单片机系统的构成

一个计算机系统是由“硬件系统”和“应用软件”组成; 硬件系统主要包括: CPU--中央处理器:执行指令的机构; 存储器:包含程序存储器ROM和数据存储器; I/O --- 输入输出端口:CPU与外部器件的数据通道; 中断系统:高效处理外部器件服务请求的硬件逻辑;


2017/8/29
5
了解几个单片机的名词
CPU:中央处理器(),执行指令的机构; 2. RAM:随机存储器();存数程序的中间、结果数据; 3. ROM:只读存储器();存储程序或常数; 4. Bit:二进制数据的“位”; 5. 字节:数据/指令的宽度,由8bit或16bit组成; 6. 8位单片机:指可直接处理8位数据的单片机; 7. 立即数:存在于指令中的原始数据; 8. 寄存器:用于暂存数据的存储单元(是RAM的一部分); 9. 指 令:控制CPU的代码(存放于ROM中); 10. 程 序:实现某一功能的指令序列;

PIC18F452单片机原理及编程实践(第十五章)PIC18的CCP和ECCP编程

PIC18F452单片机原理及编程实践(第十五章)PIC18的CCP和ECCP编程

1. 2. 3. 4.
2017/8/29
5
CCP1CON寄存器
--MSB
--- DC1B1
DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0
LSB
DC1B1 DC1B0
PWM模式下10位占空比中的第1位 PWM模式下10位占空比中的第0位
返回
2017/8/29 6
CCP1CON寄存器
FLAG EQU DISP EQU 0x10 0x00 ;定义一个标志寄存器FLAG ;定义FLAG,0=1为捕捉完成标志
ORG 0000H GOTO MAIN ORG 0008H BTFSC PIR1,CCP1IF GOTO CCP_ISR RETFIE
第一次捕 捉上升沿
T1计数
第二次捕 捉下降沿
捕捉脉宽参数
2017/8/29
27
MAIN
MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF CLRF CLRF BSF CLRF CLRF BCF
2017/8/29
PIC 18F458 microchip
FLASH型
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 V dd V ss RD7 RD6 RD5 RD4 / ECCP1 RC7 RC6 RC5 RC4 RD3 RD2
13
15.2 输入捕捉(Capture)

用于测量外部的周期性方波信号的周期(频率); 外部信号由CCP1/RC2输入。
返回
2017/8/29
12
15.1 .3 CCP 信号引脚
/MCLR / Vpp RA0/AN0 RA1/AN1 RA2/AN2 RA3/AN3 RA4/T0CKI RA5/AN4 RE0/AN5 RE1/AN6 RE2/AN7 V dd V ss OSC1/CLKI OSC2/CLKO/RA6 T1CIK / RC0 RC1 CCP1 / RC2 RC3 RD0 RD1

PIC18系列单片机原理和实践

PIC18系列单片机原理和实践

2019/1/4
大连理工大学 电工电子实验中心 陈育斌
5
1.2 PIC18系列单片机的特性
与其它PIC系列单片机一样,采用精简指令集RISC、流 水作业、丰富的内部模块、低功耗大电流驱动等。为了 更适合单片机的C语言开发,18系列设计成较大的信息 存储空间。如: 2M的程序存储器空间; 4K的数据存储空间; 这种设计极大的方便了C语言的设计与编程。
2019/1/4


第一章 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微控制器的外围设备
PIC18系列单片机原理及实践 (第一章)
参考资料:《PIC技术宝典》 PIC Microcontroller and Embedded Systems [美] Rolin D.Mckinlay 著 课件编写:大连理工大学 电工电子实验中心 2009年12月
2019/1/4
大连理工大学 电工电子实验中心 陈育斌
—在3V、32KHz下典型值25uA;
—待机电流典型值0.2uA。
2019/1/4
大连理工大学 电工电子实验中心 陈育斌
12
1.3 PIC微控制器的产品局限性

由于历史原因:PIC单片机的产品是逐渐从低向高发展。 其中最明显的特征是:随着产品性能的提高其内部的硬 件结构也在变化。如程序存储器ROM的宽度会随着产品 性能的升级而加宽,且指令系统也在扩充。
16FXXX:具有丰富的内部模块、完整的指令系统和良 好的向下兼容性。适合初学入门的系列; 18FXXX:高效的16位指令系统、大容量的ROM和RAM 结构使其更适合C语言编程。更为丰富的内部某块和8位 的硬件乘法器使其具备DSP的性能。学习的高级阶段。

PIC18F452单片机原理及编程实践(第九章)PIC 18定时器的汇编和C编程

PIC18F452单片机原理及编程实践(第九章)PIC 18定时器的汇编和C编程
1.
2.
3. 4.
5.
有2~5个定时计数器(结构、用途各不相同); 长度为16位、8位 两种; 计数器计数方式为“加一 ”计数; 定时模式:计数脉冲频率F计数为系统时钟的四分之一, ----- F计数= fosc/4 ; 或:计数脉冲的周期 ----- T计数 = 4 * Tosc 具备分频器(预分频 或 后分频),以增加计数范围。 T计数 =0.25μS
11
2017/8/29
9.1.1 与TMR0相关的SFR
1.
TMR0H、TMR0L:16 bit结构,对于8位机而言,由两 个寄存器组合而成; T0CON:控制寄存器,用来设定TMR0的工作模式; INTCON:中断控制寄存器 ,存储TMR0的计数溢出标 志TMR0IF和中断允许位TMR0IE(与中断相关) 。
2017/8/29
7
9.1 定时器TMR0和定时器TMR1

定时器的核心部件是一个“二进制加1计数器”;
计数器是由计数脉冲cp来推动 计数操作的; 计数脉冲cp可以来自两个方面:
1.
来自内部的系统时钟fosc,计数脉冲频率
cp = fosc/4 ---- 定时模式的计数脉冲;
2.
来自外部事件、经引脚输入
1

2017/8/29
生活当中离不开时间---定时
2017/8/29
2
―定时、计数器”的应用领域

定时方式
多用于“周期性定时”:函数(方波)发生器的脉宽控制、 异步串行通讯中的“波特率发生器”,PWM信号的周期、 脉宽控制,电子钟系统等 ------- 由内部时钟信号fosc控制;

计数方式 通过单片机的引脚输入外部的脉冲信号,对输入脉冲的数 量进行统计。如生产线上的产品数量统计、公路上的车辆 计数等 -----------信号由外部通过单片机的端口引脚输入。

PIC18F452单片机原理及编程实践(第十四章)PIC18的EEPROM模块编程

PIC18F452单片机原理及编程实践(第十四章)PIC18的EEPROM模块编程
EQU ORG MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF TBLWT*+ 20H 0000H 0x00 TBLPTRL 0x04 TBLPTRH A‟G‟ TABLAT
COUNT
;为TBLPTR赋值0400H
;开始8B数据短写操作
2017/8/29
21
MOVLW MOVWF TBLWT*+ MOVLW MOVWF TBLWT*+ MOVLW MOVWF TBLWT*+ MOVLW MOVWF TBLWT*+ MOVLW MOVWF TBLWT*+


2017/8/29
4
14.1.3 EPROM 和 UV-EPROM
EPROM为程序员提供了一种可多次擦除、编程的ROM; 一个EPROM芯片可擦除几千次,这为开发一个系统非常 重要,因为一个好的用户程序是要经过反复调试、不断改 进才能完成; 常用的EPROM是UV-EPROM,即使用紫外线的照射来擦 除芯片中的旧程序 ------ 光化学反映。照射时间一般为 15~30分钟(擦除次数越多、擦除时间就会变长)。; 因UV-EPROM擦除时间长、使用不方便而逐渐被淘汰。
2017/8/29
2
14.1 ROM半导体存储器

ROM半导体存储器也称“只读存储器”。最大特点是掉 电后数据不丢失 ------ 也称之为“非易失性”存储器; 根据这一特点ROM可用于存储用户程序、常数或表; ROM的种类: PROM EPROM EEPROM Flash ROM 掩模ROM 一次性编程的ROM; 可多次用UV擦除/编程的PROM; 使用电擦除的可多次编程的PROM; 快速电擦除的PROM; 非用户编程的ROM。

PIC18F452单片机原理及编程实践(第十四章)PIC18的EEPROM模块编程

PIC18F452单片机原理及编程实践(第十四章)PIC18的EEPROM模块编程




2017/8/29
12
14.2.3 NV-RAM存储器

一种具备普通RAM的读、写特性,有具备非易失行的优 点,这就是NV-RAM存储器; NV-RAM有下列几部分组成: 使用CMOS低功耗的SRAM阵列; 使用内部锂电池做备用电源; 使用智能控制系统,对供电进行监控,当外部电源下降 带一个极限值时,自动切换电源、由内部锂电池供电。
在PIC18系列单片机中程序存储器就是使用flash EPROM装载用户程序的。

2017/8/29
8
14.1.6 掩模 ROM

由芯片制造厂商编程的一种ROM工艺,程序设计员将调 试好的程序发给ROM厂家,IC的生产厂家在制造ROM芯 片的同时,将用户程序一起烧写进去; 由于烧写过程非常复杂,所以只有大批量的投产(几十万 片)才会使用这种工艺; 芯片一旦制造出来,程序不能再改变。这种工艺的芯片是 与控制对象“对号入座”、其他产品是无法使用的。

1. 2. 3.

上述三个模块被集成在一个IC芯片中。因此NV-RAM的 价格是非常高的。
在芯片断点的情况下,RAM中数据可以保持十年之久。
13

2017/8/29
14.3 PIC18的存储器配置及 flash存储器

在PIC18中存储器有三种类型: SRAM。作为文件寄存器使用; flash ROM。作为用户程序、常数和常数表格存储; EEPROM。作为非易失行的数据存储器使用。 本节将探讨flash ROM和EEPROM的读写原理以及编程 方法。


2017/8/29
4
14.1.3 EPROM 和 UV-EPROM
EPROM为程序员提供了一种可多次擦除、编程的ROM; 一个EPROM芯片可擦除几千次,这为开发一个系统非常 重要,因为一个好的用户程序是要经过反复调试、不断改 进才能完成; 常用的EPROM是UV-EPROM,即使用紫外线的照射来擦 除芯片中的旧程序 ------ 光化学反映。照射时间一般为 15~30分钟(擦除次数越多、擦除时间就会变长)。; 因UV-EPROM擦除时间长、使用不方便而逐渐被淘汰。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014-4-19
大连理工大学 电工电子实验中心 陈育斌
3
第一章 PIC微控制器的历史和特征

1989年Microchip公司开发了一种8位的微控制器: PIC(Peripheral Interface Controler ——— 外围接口控制器);

将少量的RAM、ROM、一个定时器和一些I/O端口全 部集成在一个8脚的芯片上;


2014-4-19
大连理工大学 电工电子实验中心 陈育斌
17
(四)PIC单片机的掩模版本

所谓“掩模”技术是指:将编写好并调试成功的源程序代 码直接交给生产微控制器的厂家,由芯片制造厂家在制造 芯片的过程中将用户程序一同烧入的模式;

在所有ROM的制造工艺模式中,“掩模”工艺是制造成 本最低的一种方式,非常适合工厂对设备的批量生产。 采用掩模技术制造的芯片是“专用”的芯片,不能用于其 它项目。因此,掩模ROM工艺的单片机是针对某一产品 生产的。
最大拉/灌电流可达25mA; 3个外部中断引脚; 4个定时器TMR0、TMR1、TMR2、TMR3; 捕捉/比较/脉宽调制(CCP)模块/增强型CCP模块; 两种工作方式的主同步串行通讯(MSSP): ① SPI主控方式(支持所有4种SPI工作模式);
② I2C主控/从动方式;
可寻址的USART模块:支持RS-485和RS-232串口,并 行从动口模式,支持中断支持位。

2014-4-19
大连理工大学 电工电子实验中心 陈育斌
18
1.5 PIC微控制器的数据RAM和E2PROM

1.
2.
RAM和E2PROM都是用来存储数据的。其中: RAM用于存储程序的“变量”,如系统采集的输入数据、 处理运算的中间结果或者是程序的最终数据等。 RAM的大小影响着CPU处理数据的空间。一个大容量的 RAM还可以使高级语言运行更为流畅。 特点:存储速度快(与指令运行的速度同步)、掉电后 数据丢失。 E2PROM用于存储 “重要而不需经常修改的数据”。一 般是结果数据,如:水表的流量、汽车的行驶里程、远 端采集的遥感数据等。 特点:掉电后数据不丢失、存储数据速度慢(ms级)。

与其他厂家的微控制器一样,用于存储程序代码或常数 的程序ROM其结构、特点决定了其实用的环境和应用的 价值。 其大小决定了系统程序的容量。在广泛使用C语言编程 的今天,采用大容量结构设计显得尤为重要; ROM的制造工艺决定了微控制器的使用特点和制造成本, 这也与半导体工艺的发展水平相关;
1.
2.
2014-4-19
1.
2. 3.

12XXX的指令宽度为12位,指令系统为33条;
16XXX系列的指令宽度为14位,指令系统为35条; 18XXX系列的指令宽度为16为,指令系统为58条。 这种特点决定了不同系列的产品其指令系统没有很好的 兼容性。
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
13
1.4 PIC微控制器的程序ROM

可编程的锁定复位(BOR);
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
9
(四)特殊的单片机特性

增强功能的FLASH可经受100,000次擦/写操作; EEPROM可经受1,000,000次擦/写操作; FLASH/数据EEPROM数据保存期可超过40年; 软件控制自动可改编程序(在线升级);

上电复位电路(POR)、上电延迟定时器(PWRT) 和振荡器起振定时器(OST);
片内RC振荡的看门狗定时器(WDT)保证可靠运行;


低功耗睡眠模式(Sleep);
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
10

可选择不同的振荡器工作方式: ① 4锁相环(主振荡器); ② 2路振荡器(32KHz)时钟输入;
16FXXX:具有丰富的内部模块、完整的指令系统和良 好的向下兼容性。适合初学入门的系列; 18FXXX:高效的16位指令系统、大容量的ROM和RAM 结构使其更适合C语言编程。更为丰富的内部某块和8位 的硬件乘法器使其具备DSP的性能。学习的高级阶段。
大连理工大学 电工电子实验中心 陈育斌 2
1. 2.

通过两个引脚可进行在线串行编程(ICSP);
通过2个脚在线调试器。
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
11
(五)CMOS芯片工艺性能

低电压,高速度FLASH/EEPROM技术; 全静态设计; 宽范围的工作电压:2.0-5.5V; 工业级和扩展级温度范围; 低功耗: —在5V、4MHz下典型值1.6mA;
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
8
(三)高级模/数转换特性

10位、8通道的模/数(A/D)转换模块: 可利用休眠状态进行转换,以减少系统干扰、提高精度; 模拟比较模块:可编程多路输入/输出技术;
比较器参考电压模块;
可编程的低电压探测模块(PLVD):支持低电压检测时 产生中断;
2014-4-19


第一章 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微控制器的外围设备
在不到10年的时间内,Microchip公司已经把这个如 此简陋的产品发展成主流的8位微控制器这是一个奇 迹;

2014-4-19
大连理工大学 电工电子实验中心 陈育斌
4
1.1 PIC微控制器的产品系列
1. 2. 3. 4. 5.

10XXX 12XXX 14XXX 16XXX:应用最广泛的8位机产品,14位指令宽度 18XXX:8位机中的高档产品,16位指令宽度。 它们全部都是8位机系列(内部的数据总线为8位),8 位机的特点:CPU每次处理数据的能力为8位,如果超 过8位就必须事先将其截为8位后再分别处理。
在PIC产品中是以F为来表示的,如:PIC18F458等;


当使用程序烧写器烧写程序时,首先要擦除旧程序然后烧 写新程序。擦除和写入的过程是由编程器自动进行的。
这类芯片适用于产品的研制阶段,需要不断修改、调试程 序的场合。
大连理工大学 电工电子实验中心 陈育斌 16

2014-4-19
(三)PIC单片机的OPT版本
大连理工大学 电工电子实验中心 陈育斌
14
(一)UV—EPROM的PIC微控制器
早期微控制器ROM的工艺结构。需配合“紫外线擦除器” 和“程序烧写器”完成程序的写入; 1. 2. 使用“紫外线擦除器”中的紫外线照射芯片大约20分钟, 利用“光—化学”反应将芯片中的旧程序擦除; 再使用“程序烧写器”将新程序烧写到芯片中。 早期产品,用于产品的研制阶段。这类芯片的最大缺点 是擦除时间长,目前已经被淘汰。 芯片本身有一个明显的特征:在芯片正面的中央有一个 大约直径10mm透明窗口,为紫外线照射提供一个入射 的光路通道。
① ②
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
6
(一)高性能RISC CPU
C编译器优化体系结构/指令设置; 兼容PIC16和PIC17指令源代码; 高达2MB的程序存储器; 高达4KB的数据存储器;

2014-4-19
大连理工大学 电工电子实验中心 陈育斌
7
(二)优越的外围功能模块特征

OPT(one time programmable)—— 一次性编程技术。 在PIC产品中是以C为来表示OPT结构的,如: PIC16C432等; 与闪存flash工艺结构的芯片相比,具有较低的制造成本。 因此,适合当程序调试成功后进行大规模的生产的情况, 这样可有效降低生产成本; OPT芯片只能进行一次编程,一旦程序烧写进去就永远无 法修改。因此此类芯片不适合开发阶段的使用。
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
5
1.2 PIC18系列单片机的特性
与其它PIC系列单片机一样,采用精简指令集RISC、流 水作业、丰富的内部模块、低功耗大电流驱动等。为了 更适合单片机的C语言开发,18系列设计成较大的信息 存储空间。如: 2M的程序存储器空间; 4K的数据存储空间; 这种设计极大的方便了C语言的设计与编程。
1.
2.
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
22
2014-4-19 大连理工大学 电工电子实验中心 陈育斌 15
(二)带闪存flash的PIC18FXXX

与UV—EPROM相比,flash闪存程序存储器采用“电擦除” 技术,具有速度快,擦除次数多的优点。因此闪存ROM 已经取代UV—EPROM,是当前广泛采用的模式;

PIC18FXXX系列微控制器采用闪存ROM结构。擦除程序 不用外加“擦除器”,但烧写程序时需要“程序烧写器”。
—在3V、32KHz下典型值25uA;
—待机电流典型值0.2uA。
2014-4-19
大连理工大学 电工电子实验中心 陈育斌
12
1.3 PIC微控制器的产品局限性

由于历史原因:PIC单片机的产品是逐渐从低向高发展。 其中最明显的特征是:随着产品性能的提高其内部的硬 件结构也在变化。如程序存储器ROM的宽度会随着产品 性能的升级而加宽,且指令系统也在扩充。


2014-4-19
大连理工大学 电工电子实验中心 陈育斌
相关文档
最新文档