PIC24系列单片机原理与开发
PIC单片机原理及应用
PIC 系列单片机代表着单片机发展的新动向
7 2021/4/20
PIC 单片机的特色
❖ 指令单字节化
数据总线和指令总线分离,ROM和RAM寻址空间互相独立, 宽度不同。 确保数据安全性、提高运行速度和实现全部指令单字节化。
MCS-51系列ROM和RAM都是8位,指令长度1~3字节,长短不一!
PIC12C50X/PIC16C5X 系列单片机的指令字节为12位; PIC16C6X/7X / 8X 系列单片机的指令字节为14位; PIC17CXX 系列单片机的指令字节为16位;
PIC 系列单片机代表着单片机发展的新动向
14 2021/4/20
PIC 单片机的特色
❖ I2 和 SPI 串行总线端口
I2(Inter IC Bus)和 SPI( Seril Peripheral Interface)是在 芯片之间实现同步串行数据传输的技术。方便灵活的扩展 外围器件,大大简化单片机应用系统的结构,极易形成产 品电路的模块化结构。 大屏幕彩电中都引入了I2技术。
26 2021/4/20
PIC12F629/675系统结构与工作原理
❖ PIC12F629/675简化结构框图
T1G T1CKI T0CKI
Flash程序 存储器 1K * 14
程序计数器PC 8级堆栈13位
RAM 寄存器 64*8
GP0/AN0/CIN+
指令寄存器 内部
4MHz 振荡器
指令译码 与控制
PIC单片机原理及应用
2005.12
1 2021/4/20
内容提要
单片机概述 PIC单片机的特色 PIC单片机的程序设计
2 2021/4/20
单片机概述
PIC24系列单片机原理与开发 第6章 AD转换器及编程
R/W -0
U-0
U-0
R/W-0
U-0
U-0
VCFG<2:0>
未用
未用
CSCNA
未用
未用
bit 15
bit 8
R -0
BUFS bit 7
U-0 未用
R/W -0
R/W -0
R/W -0
SMPI<3:0>
R/W-0
R/W -0 BUFM
R/W -0 ALTS bit 0
其中: U=未用(读为0),R=可读, W=可写,-n =上电复位值
逐次逼近型(SAR)A/D 转换,转换位数或分辨率为 10 位,转换速度最高可达 500 ksps; 最多可有 16 路模拟输入通道,由多路模拟开关切换; 有采样/保持电路(S/H); 具有外部参考电压输入引脚; 有自动通道扫描转换模式; 有多种转换触发源供用户编程选择; 16 个转换结果缓冲器,4 种数据存储格式; 可在 CPU 休眠和空闲模式下工作。
采样完成后,应启动 A/D 转换。PIC24F 提供有 4 种启动 A/D 转换的方式,由位域 SSRC<2:0>的赋值确定。对于自动转换方式(SSRC<2:0>=“111”),采样时间由寄存器 AD1CON3 中的设置值(1~31 个 A/D 的时钟周期 TAD)所确定,采样完毕硬件自动启动 A/D 转换。另 外 3 种结束采样且启动 A/D 转换的方式为:定时器 Timer3 发生匹配时、INT0 引脚产生有 效电平和清零 SAMP 位。对于它们的编程将在下面的应用例程中给予进一步说明 。
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端口的各引脚 均可单独配置成输入或输出 。复位后,所有端口引脚都被定义为输入 。
I2C24LC02C读写例程(PIC单片机)
I2C24LC02C读写例程(PIC单片机)I2C 24LC02 C读写例程(PIC单片机)[单片机]发布时间:2008-04-22 10:11:001 I2C总线特点I2C总线最主要的优点是其简单性和有效性。
由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。
总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。
I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。
一个主控能够控制信号的传输和时钟频率。
当然,在任何时间点上只能有一个主控。
2 I2C总线工作原理I2C总线上的数据稳定规则,SCL为高电平时SDA上的数据保持稳定,SCL为低电平时允许SDA变化。
如果SCL处于高电平时,SDA 上产生下降沿,则认为是起始位,SDA上的上升沿认为是停止位。
通信速率分为常规模式(时钟频率100kHz)和快速模式(时钟频率400kHz)。
同一总线上可以连接多个带有I2C接口的器件,每个器件都有一个唯一的地址,既可以是单接收的器件,也可以是能够接收发送的器件。
每次数据传输都是以一个起始位开始,而以停止位结束。
传输的字节数没有限制。
最高有效位将首先被传输,接收方收到第8位数据后会发出应答位。
数据传输通常分为两种:主设备发送从设备接收和从设备发送主设备接收。
这两种模式都需要主机发送起始位和停止位,应答位由接收方产生。
从设备地址一般是1或2个字节,用于区分连接在同一I2C上的不同器件。
I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC 发出特定的低电平脉冲,表示已收到数据。
PIC24系列单片机原理与开发第6章AD转换器及编程
PIC24系列单片机原理与开发第6章AD转换器及编程AD转换器是一种用于将模拟信号转换为数字量的设备,它的主要用途是将模拟量转换为可用于数字控制系统的数字信号。
PIC24系列单片机内置了多路/低速模拟输入AD转换器,可以实现对模拟量的采集、处理和控制。
AD转换器的编程十分复杂,需要明确程序对模拟量的要求,包括采样率、量程、精度等,还需要根据PIC24系列单片机的资源情况,合理配置AD转换器的参数,以便实现模拟量的有效读取。
1)可以多路采样:多路采样可以提高采样精度,在故障时可以减少恢复时间,还可以提高采样率。
2)采样率:根据实际应用需要,调整单片机的时钟频率,来达到最佳的采样率。
3)精度范围:根据实际应用需要,调整AD转换器的精度范围,以保证采集到的数据和处理能力的均衡使用。
4)通道选择:根据实际应用,选择多路采样中的其中一路,来使用最佳的采样精度。
PIC24系列单片机原理与开发 第3章 时钟和系统管理
设所需的配置为: 禁双速启动,使用主振荡器和 PLL 四倍频, OSC1 与 OSC2 引脚接 8MHz 的 XT 晶振,禁时钟切换和保护监视。 在程序中加入下面的芯片配置字 2 的宏便可实现所需配 置。 _CONFIG2(IESO_OFF & FNOSC_PRIPLL & FCKSM_CSDCMD & POSCMOD_ XT) 若配置改为使用片内快速RC振荡器(8MHz,不分频) 和PLL四倍频, 禁止主振荡器, 其余不 变,则芯片配置字2的宏为: _CONFIG2(IESO_OFF & POSCMOD_NONE & FCKSM_CSDCMD & FNOSC_FRCPLL) 因为没有启用主振荡器,因此 OSC1 与 OSC2 引脚可作 I/O 用。 说明:1. 当配置为禁止主振荡器时(POSCMD<1:0> = 11,宏定义为POSCMOD_NONE) ,引脚 OSC1 和 OSC2自动配置成数字I/O功能(RC12和RC15)。 2. 当主振荡器配置为 外部时钟 的EC 模式时 (POSCMD<1:0> = 00,宏定义为 POSCMOD_EC),外部时钟接OSC1引脚,若将 OSCIOFCN位(配置字2<5>)编程为0或引用 宏定义OSCIOFNC_ON,OSC2引脚仍可以为数字I/O,否则OSC2引脚上为Fosc/2 时钟输出, 可用于系统时钟测试或同步。
PIC24 系列单片机原理与开发
by
Zeng
2012-6-9
如下: (1)在 OSCCON 寄存器解锁和写序列期间禁止中断 。 (2)用两条字节传送指令将 78h 和 9Ah 写入 OSCCON<15:8>, 以执行 OSCCON 高字节的 解锁序列。 (3)紧接上面解锁序列之后将新的振荡器源写入 NOSC<2:0>。。 (4)用两条字节传送指令将 46h 和 57h 写入 OSCCON<7:0>,以执行 OSCCON 低字节的 解锁序列。 (5)紧接着将 OSWEN 位置 1。 (6)调用软件延时,使选中的振荡器和/或 PLL 启动并稳定。 (7)检查 OSWEN 位是否为 0,如果为 0,则说明切换成功。 下面是解锁 OSCCON 寄存器和启动时钟切换的核心序列 。 例 3-1:时钟切换的基本代码序列 .global _Exam3_1 _Exam3_1: ;W0<2:0>为新的振荡器选择 PUSH SR ;状态寄存器入栈 MOV #0x0e0,w1 ;准备使 IPL<2:0>=0b111, MOV w1,SR ;CPU 中断优先级 7,禁止所有可屏蔽中断 MOV #OSCCONH,w1 ;OSCCONH (OSCCON 寄存器的高字节) 解锁序列 MOV #0x78, w2 MOV #0x9A, w3 MOV.b w2, [w1] MOV.b w3, [w1] MOV.b WREG, OSCCONH ;设置新的振荡器选择 MOV #OSCCONL,w1 ;OSCCONL(OSCCON 寄存器的低字节) 解锁序列 MOV #0x46, w2 MOV #0x57, w3 MOV.b w2, [w1] MOV.b w3, [w1] BSET OSCCON,#0 ; 启动时钟切换 POP SR ; 恢复状态寄存器 RETURN 上面的汇编子程序作为 C 函数调用的格式为: void Exam3_1(int X)。参数 X 的 bit2:0= 新振荡器选择位 NOSC<2:0>。例如将系统时钟切换成带分频的 FRC 为: Exam3_1(0b 111); 在基本序列完成后,系统时钟硬件按以下方式自动响应 : (1)若 COSC<2:0>位与 NOSC<2:0>位的值相同,则不进行切换操作,OSWEN 位自动清零, 时钟切换终止。 (2)如果启动了有效的时钟切换,则 LOCK 位(OSCCON<5>)和 CF 位(OSCCON<3>)清零。 (3)如果新的振荡器当前未运行 ,硬件会自动启动它。如果启动晶体振荡器,则硬件将等 待到振荡器起振定时器( OST)计时期满。如果新的振荡器源使用 PLL,则硬件将等待 到 PLL 锁定(位 LOCK = 1)。 (4)硬件等待新的时钟源达到稳定 ,然后执行时钟切换。 (5)硬件清零 OSWEN 位,指示时钟切换成功,并且 COSC<2:0>更新成 NOSC<2:0>位的值。 (6 ) 关闭旧时钟源。但是若旧时钟源是下面两种情况时例外 :若闪存配置字 1 中使能 WDT
pic24各个模块数据手册(中文)2章cpu
© 2007 Microchip Technology Inc.
超前信息
DS39703A_CN 第 2-1 页
PIC24F 系列参考手册
2.1
简介
PIC24F CPU 模块采用 16 位(数据)改良的哈佛架构,并带有增强型指令集。CPU 具有 24 位指令 字,指令字带有长度可变的操作码字段。程序计数器(Program Counter,PC)为 24 位宽,可以寻 址高达 4M x 24 位的用户程序存储空间。单周期指令预取机制用来帮助维持吞吐量并提供可预测 的指令执行过程。除了改变程序流的指令、双字移动 (MOV.D)指令和表指令以外,所有指令都 在单个周期内执行。模块使用 REPEAT 指令支持无开销的程序循环结构,该指令在任何时候都可 被中断。
指令集架构 (Instruction Set Architecture, ISA)在 PIC18F 指令集架构的基础上有显著增强, 但仍在可接受程度上保持了向后兼容性。所有 PIC18F 指令和寻址模式都能直接得到支持或通过 简单的宏得到支持。许多 ISA 增强功能都是为了提高编译器效率而做出的。
内核支持固有(无操作数)、相对、立即数和存储器直接寻址模式,以及 3 组寻址模式(MODE1、 MODE2 和 MODE3)。所有模式都支持寄存器直接和各种寄存器间接寻址模式。每组都提供最多 7 种寻址模式。指令根据其功能要求,与预定义的寻址模式相关联。
PIC24F 指令集可被分成两种指令类型:寄存器和文件寄存器指令。寄存器指令可以把每个 W 寄 存器用作数据值或地址偏移值。例如:
例 2-1:
寄存器指令
MOV
W0, W1
; move contents of W0 to W1
MOV
pic24各个模块数据手册(中文)14章timer
未实现:读为 0
TSIDL: 空闲模式停止位
1 = 当器件进入空闲模式时,定时器停止工作 0 = 在空闲模式下定时器继续工作
未实现:读为 0
TGATE:Timerx 门控时间累加使能位
当 TCS = 1 时: 该位为无关位。
当 TCS = 0 时: 1 = 使能门控时间累加 0 = 禁止门控时间累加
C 类型定时器框图
TxCK(1)
同步
TON 1x
01
TCKPS1:TCKPS0 2
预分频器 1, 8, 64, 256
TxIF 事件标志
TGATE
1 0
复位
TCY QD Q CK
TMR3(TMR5)
ADC 事件触发信号 *
相等
比较器
00
TCS TGATE
PR3(PR5)
* ADC 事件触发信号仅在 Timer4/5 上可用。
TCS:Timerx 时钟源选择位
1 = 来自 TxCK 引脚的外部时钟 0 = 内部时钟 (FOSC/2)
未实现:读为 0
U-0 —
bit 8
U-0 —
bit 0
DS39704A_CN 第 14-6 页
超前信息
© 2007 Microchip Technology Inc.
图 14-2:
14.2.2 B 类型定时器
在大多数 PIC24F 器件上,如果存在 Timer2 和 Timer4,它们是 B 类型定时器。与其他类型的定 时器相比, B 类型定时器有下列独特的功能: • B类型定时器可以和C类型定时器相连形成32位定时器。B类型定时器的TxCON寄存器具有
T32 控制位,用来使能 32 位定时器功能。 • B 类型定时器的时钟同步在预分频逻辑后执行。关于将时钟同步放在预分频逻辑后执行的益
PIC24系列单片机原理与开发
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ PIC 24 FJ 64 GA0 06 T -I/PT
Microchip 商标 16 位改进哈佛架构 Flash 存储器系列 程序存储器容量 (64KB) 产品类:通用单片机 引脚数(64pin) 盘带装标志 温度范围 (工业级) 封装形式(TQFP) 图 1- 2 PI C24F 系列单片机的命名 规则 命名的第 2 部分为 CPU 架构,“24”为不带 DSP 功能的 16 位改进型哈佛架构。第 4 部分数 字为 Flash 存储器容量,单位为 k 字节,有 16/32/64/128/256 等供选择。第 6 部分表示引脚数: 02-28 引脚, 04-44 引脚, 06-64 引脚,08-80 引脚,10-100 引脚。 温度范围-40°C 至 85°C。 例如上图所示的 PIC24FJ64GA006 单片机,Flash 程序存储器的容量为 64k 字节, 芯片引脚数 为 64。型号为 PIC24FV16KA301 芯片,是工作电压为 2.0V 至 5.5V 的超低功耗单片机,Flash 程 序存储器的容量为 16k 字节,芯片引脚数为 20。型号为 PIC24FJ256GB110 芯片,是带 USB On-The-Go(OTG)模块的通用单片机。Flash 程序存储器的容量为 256k 字节,芯片引脚数为 100。 型号为 PIC24FJ128DA210 芯片,是具有图形控制器和 USB On-The-Go 模块的通用单片机,Flash 程序存储器的容量为 128k 字节,芯片引脚数为 100/121。 本书将以 PIC24FJ64GA006 单片机为例,介绍 PIC24F 系列单片机的结构、工作原理、各功能 模块(外设)的编程。PIC24FJ64GA006 属于 PIC24FJ128GA(子)系列,该系列共有 9 款型号,它 们的外设功能和 RAM 容量相同,区别在于芯片的引脚数和 Flash 存储器容量,如表 1-1 所示。
pic24各个模块数据手册(中文)23章spi
23
串行外设 接口 (SPI)
© 2007 Microchip Technology Inc.
超前信息
DS39699A_CN 第 23-1 页
PIC24F 系列参考手册
23.1 简介
串行外设接口(Serial Peripheral Interface,SPI)模块是用于同其他外设或单片机器件进行通信 的同步串行接口。这些外设器件可以是串行 EEPROM、移位寄存器、显示驱动器和 A/D 转换器 等。 SPI 模块与 Motorola 的 SPI 和 SIOP 接口兼容。 根据型号的不同, PIC24F 系列在单个器件中提供一个或两个 SPI 模块。两个模块 (分别称为 SPI1 和 SPI2)具有同等的功能。 SPI2 模块在许多高引脚数封装中提供,而 SPI1 模块在所有器 件中都提供。 注: 在本章中, SPI 模块统称为 SPIx,或分别称为 SPI1 和 SPI2。特殊功能寄存器也采 用相似的表示法。例如, SPIxCON 指 SPI1 或 SPI2 模块的控制寄存器。
第 23 章 串行外设接口 (SPI)
目录
本章包括下列主题: 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 简介 ............................................................................................................................. 23-2 状态和控制寄存器 ....................................................................................................... 23-3 工作模式 ...................................................................................................................... 23-7 主模式时钟频率 ......................................................................................................... 23-18 在省电模式下的操作 .................................................................................................. 23-19 寄存器映射 ................................................................................................................ 23-20 电气规范 .................................................................................................................... 23-21 相关应用笔记 ............................................................................................................ 23-25 版本历史 .................................................................................................................... 23-26
PIC24系列单片机原理与开发 第十章
第10 章输入捕捉、输出比较和PWM 控制10.1 概述PIC24F 系列芯片集成了输入捕捉(Input Capture,IC)功能模块和输出比较(OutputComPare,OC)功能模块以及属于输出比较的脉宽调制器(Pulse Width Modulator,PWM)。
这些功能模块是嵌入式测控应用中常用的外设,它们的共同点是都要使用定时器。
输入捕捉像一个“跑表”一样监测输入引脚,捕获输入引脚上事件的发生时刻,可精确地测量事件之间的时间。
常用于脉冲宽度、占空比、周期等参数的测量。
输出比较是将预先设定的值与定时器的计数器进行比较,一旦两者相等便在输出引脚上产生指定的逻辑电平,以实现对外部的控制。
PWM 是输出比较的一种工作模式,用其可方便地实现脉冲宽度调制,可用于D/A 变换等对外部模拟电路进行控制。
10.2 输入捕捉10.2.1 输入捕捉的基本功能输入捕捉属于定时器的应用功能,该功能用来检测外部输入信号发生事件的时刻。
当施加在具有输入捕捉功能引脚上的信号发生边沿跳变(一般可编程指定跳变是上升沿还是下降沿)时,用定时器捕捉到该特定的跳变沿时刻(定时器的计数值),并记录到相应的缓冲器中,同时可产生输入捕捉中断。
通过记录输入信号的的各跳变沿时刻,就可以用软件算出输入信号的周期和脉宽。
例如,对于图10-1 所示的信号,利用单片机的输入捕捉功能,记录了信号 4 个跳变沿的时刻:T1,T2,T3,T4。
显然,对于脉冲宽度测量,只要记录相邻两个不同极性跳变沿的时刻便可获得。
如T2-T1 或T4-T3 为正脉冲宽度,T3-T2 为负脉冲宽度。
若要测量周期,利用捕捉的两个相邻两个同极性跳变沿的时刻便可获得信号的周期,如T3-T1 或T4-T2。
输入捕捉的另一个用途是配合输出比较来延时。
例如,当需要在一个外部事件发生并延时一定时间后,产生一个输出信号来控制某种操作。
这时可利用输入捕捉来记录外部事件的发生时间,将此时间加上所需的延时值送输出比较寄存器,并允许输出比较功能,便可实现这种延时动作功能。
PIC24系列单片机原理与开发 第5章 定时计数器及编程
周期寄存器
图 5-1 定时器模块基本功能结构图 PIC24 系列的定时器分成 A、B 和 C 三种类型,尽管各类定时器有其自己的特有功能 ,
PIC24 系列单片机原理与开发
by Zeng
2012-6-9
但它们的基本功能结构是相同的。图 5-1 为定时器模块基本功能结构图。 定时器模块的寄存器均是 16 位、可读/写。图中 TMRx 是定时/计数工作寄存器,它是 一个增量型计数器,计数脉冲来源取决于控制寄存器 TxCON 中的 TCS 位,见表 5-1“定 时器控制寄存器 TxCON 各位功能定义” 。若将 TCS 位置“1”,则该定时器模块作计数器使 用,计数脉冲来源于引脚 TxCK,在引脚 TxCK 上信号的上沿使 TMRx 寄存器加 1(设分频 系数=1) 。反之,若 TCS 位=“0” ,则计数脉冲来源于片内的系统时钟 fosc/2, 即指令周期 Tcy 信号,这时作为定时器功能使用。控制寄存器 TxCON 中的 TON 位控制定时器的运行 / 停止。将 TON 位置“1” ,启动定时器工作;若将 TON 位清“0”则定时器停止工作,TMRx 寄存器保持其原计数值。分频系数由控制寄存器 TxCON 中的 TCKPS<1:0> 位设置。 PRx 是周期寄存器,当 TMRx 寄存器中的计数值与 PRx 寄存器中值相同时(称为“周 期匹配” ) ,中断标志位 TxIF 置“1” ,若允许该定时器中断,则向 CPU 申请中断。需要注意 的是,在产生周期匹配时 TMRx 寄存器不会清零,而是在产生周期匹配后的下一时钟脉冲 TMRx 寄存器才清零。因此,TMRx 寄存器的计数周期为 PRx 寄存器的值加 1。对于周期匹 配来说,第一次产生周期匹配的时间或计数值等于 PRx 寄存器中的设置值,之后产生的周 期匹配才为 PRx 寄存器的值加 1。 注意,当周期寄存器 PRx 的值为 0 时,定时器不能工作,周期匹配也不会产生定时器 中断。 工作在定时器方式时 (TCS 位= “0”), 若将控制寄存器 TxCON 中门控位 TGATE 置为 “1” , 则定时器工作需同时满足 TON 位为“1”和引脚 TxCK 为“1” (高电平)两个条件,并且当 引脚 TxCK 由高电平变低电平( “1”→“0” )时,即引脚 TxCK 的下跳沿,置中断标志位 TxIF 为“1” ,向 CPU 申请中断。这种工作方式称为门控定时器模式 。注意,这种方式的周 期匹配不产生中断。门控定时方式很适合测量脉冲的宽度 。 注意,PIC24FJ128GA 系列芯片只有 100pin 封装的有 T1CK~T5CK 引脚;80pin 封装 的有 T1CK~T4CK 引脚;64pin 封装的只有 T1CK 引脚,无 T2CK~T5CK 引脚。
PIC单片机原理及应用.pptx
1.2 I/O端口控制
1. I/O端口分组管理
7
1.2 I/O端口控制
2. I/O端口的控制寄存器
① TRISx寄存器:I/O端口方向控制寄存器。
– TRISx的位为“1”时,其对应的I/O 端口为输入。 – TRISx的位为“0”时,其对应的I/O 端口为输出。 – 复位以后,所有端口引脚被定义为输入。
//RE0=1输出高电平+5V,亮
delay();
//延时
TE0 =0; //RE0=0输出低电平0V,灭灯
delay();
//延时
}
}
12
1.3 I/O端口应用举例
例2、实现6个发光二极管流水灯功能。 硬件分析:6个发光二极管D1-D6分别连接着33-38引脚,即
RE0-RE5端口;每个引脚输出高电平时(=1)灯亮;输出 低电平时(=0)灯不亮。
② 控制步骤: – 将TRISE寄存器的TRISE0位置0,设置RE0为数据输出端 口; – 给LATE寄存器的LATE0位赋值为1/0, RE0输出高低电平;
软件设计为:
int main()
{
TRISEbits.TRISE0 = 0; //设置RE0为输出(1输入,0输出);
while(1)
{
TE0 =1; 灯
例1:实现发光二极管D1闪烁功能。 硬件分析:发光二极管D1连接着38引脚,即RE0端口;
RE0输出高电平时(=1),D1亮; RE0输出低电平时(=0),D1不亮;
高电低平电(平=1()=0)
软件分析:
① RE0管脚对应的寄存器及对应位 – 方向控制寄存器TRISE的 TRISE0位; – LATE寄存器的 LATE0位; – PORTE寄存器的 RE0位;
PIC24F系列仿真开发环境MPLAB简介2
• C编译器,烧写器,仿真器等等
工程(项目)管理
• 工程管理:记录管理开发信息
– – – – – MCU的型号和工作方式 相关文件来源与链接 产生的可执行文件 工作窗口、观察窗口的相关信息设置等 配置字的内容
支持的语言工具
• PC 机上
– Visual Basic 或 C 编译器……
• 在嵌入式系统中
Source Level Debugger
Third Party Tools Compilers IAR, HI-TECH, CCS, ME Labs
Real-Time Operating Systems CMX, Vector, Realogy
MPASM Assembler
MPLAB SIM Sofware Simulator
MPLAB IDE 集成开发环境概述
MPLAB IDE概述
• 基于Windows的集成开发环境应用软件包,是 为PIC系列MCU专门设计的 • 用于PIC单片机代码的编辑、汇编和链接。 • 可从Microchip网站免费下载 • Microchip提供支持和维护 • MPLAB IDE可用于从8位、16位到32位 MCU和 DSC全部产品
程序结构
• • • • • • • • • • • • • • • • • • • • // ××××实验 // 实验功能:…… // 文件名: ××××.c // 处理器型号: PIC24FJ64GA006 // 编译器: MPLAB C30 V3.0 // // 作者 日期 修改内容 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // yongjun 2008.09.15 使用外部16MHz晶振;低电平输出 // /////////////////////////////////////////////////////////////////////////// #include <p24FJ64GA006.h> unsigned char RESERED[100]; //预留区,供ICD2调试使用 // 定义常数、变量、数组等全局变量 #define xxx yyy // 中断服务函数 void _ISR _XXX XXXInterrupt(void) XXX { // Code goes here }
PIC24系列单片机原理与开发 第12章 实时时钟日历
PIC24 系列单片机原理与开发 by Zeng
2012-6-13
第 12 章 实时时钟日历
12.1 概述
PIC24F 系列芯片内集成有一个实时时钟日历(Real-Time Clock and Calendar, RTCC) 模块外设,它能够向 CPU 提供秒、分、时、日、月、年和星期等实时时间信息。这为那些需 要实时时钟的的嵌入式应用提供了方便 ,可省去外接 DS1310、PCF8563 等专用日历时钟芯片 的硬件开销。PIC24F 系列芯片的 RTCC 模块具有如下特性:
12.2 RTCC 模块的寄存器
RTCC 模块的寄存器分为三类:控制寄存器(RCFGCAL,PADCFG1,ALCFGRPT);实时时 间日历的值寄存器字 RTCVAL,通过 RTCVAL 访问模块的 YEAR(年)、MTHDY(月日)、WKDYHR (星期时)和 MINSEC(分秒)单元;报警值寄存器 ALRMVAL,通过 ALRMVAL 访问模块的报 警设定单元 ALMTHDY(月日)、ALWDHR(日时)和 ALMINSEC(分秒)。
3. 引脚配置控制寄存器 PADCFG1
表 12-3 所列为引脚配置寄存器 PADCFG1 各位的功能定义。
表12-3:引脚配置控制寄存器PADCFG1各位功能定义
U-0 未用
bit 15 bit 7
PIC单片机原理及应用
◙
Main
Return
2013-7-11
◆ 匈牙利籍数学家冯·诺依曼在方案的 设计上做出了重要的贡献。1946年6月, 他又提出了“程序存储”和“二进制运 算”的思想; ◆ 进一步构建了计算机由运算器、控制 器、存储器、输入设备和输出设备组成 这一计算机的经典结构。
◄ Up
► Down
◙
Main
Return
◄ Up ► Down ◙ Main Retu机 ◆ Intel的8051单片机 ◆ Microchip的PIC单片机
◆ Atmel的AVR单片机
◄ Up ► Down ◙ Main Return
2013-7-11
1.5 单片机的应用领域
(1)智能仪器仪表 ◆单片机用于各种仪器仪表,一方面提 高了仪器仪表的使用功能和精度,使 仪器仪表智能化,同时还简化了仪器 仪表的硬件结构,从而可以方便地完 成仪器仪表产品的升级换代。 ◆如各种智能电气测量仪表、智能传感 器等。
◄ Up ► Down ◙ Main Return
2013-7-11
(4)数据采集系统 ◆在实时控制系统中,要求数据采集具有 较好的同步性和实时性,若采用单个计 算机顺序采集,存在不能同时采集、实 时性不强等缺点,会造成计算、处理上 的误差而引起分析统计困难。
◄ Up
► Down
◙
Main
Return
◄ Up
► Down
◙
Main
Return
2013-7-11
◆ ENIAC是电子管计算机,时钟频率仅有 100KHz,但能在1秒钟的时间内完成5000次 加法运算。与现代的计算机相比,有许多不 足,但它的问世开创了计算机科学技术的新 纪元,对人类的生产和生活方式产生了巨大 的影响。
PIC单片机原理及应用(第十一章)
比较功能
CCP 模块第 2 个功能是比较方式输出,用于 从引脚上输出不同宽度的矩形脉冲信号、不同 的周期频率脉冲以及非周期频率信号等。 根据预置的特定值(CCPR1)与TMR1计数器 的计数值进行比较,当两者数值一致时给出比 配信号,触发 CCP 中断标志位置位。由 RC2 引脚 可以输出3种逻辑状态。
第11章
CCP捕捉/比较/脉宽调制
配置了 2 个捕捉/比较/脉宽调制模块 CCP1 、 CCP2(Capture/Compare/PWM)。 它们各自都有独立的16位寄存器CCPR1和CCPR2, 两个模块结构、功能、操作方法基本一样,它 们的区别仅在于各自有独立的外部引脚,以及 各自的特殊事件触发器。 它们的功能实现,往往与定时器TMR1、TMR2复 合使用。
TMR2控制寄存器:T2CON
CCP控制寄存器CCP1CON
Bit3-Bit0/CCP1M3-CCP1M0 :脉宽调制功能设置, 主动参数。
11XX:脉宽调制方式,低2位不起作用。
Bit5~Bit4/CCP1X~CCP1Y:CCP1脉宽寄存器的低2 位,高8位在CCPR1L中,数据参数。
PWM操作设置
Bit5-Bit4/CCP1X-CCP1Y: PWM工作循环周期的最低2位,数据参数。作为其输出信号 脉宽的低2位,高8位在CCPR1L中。 捕捉方式:未用。 比较方式: 单片机的输入捕捉功能,就是对外部 从引脚 CCP 上输入的脉冲上升沿或下降沿进行 实时捕捉检测。 容易实现对信号周期及脉冲占空比的检测。
CCP1控制寄存器 :CCP1CON
Bit7 Bit6 Bit5 CCP1X Bit4 CCP1Y Bit3 Bit2 Bit1 Bit0
CCP1M3 CCP1M2 CCP1M1 CCP1M0
PIC24F系列十六位单片机原理与实验(注意事项、实验一)
下篇 第 3 章 单元接口实验
(1)、外部主晶振与 RC12/RC15 管脚复用,使用主晶振时,RC12/RC15 管脚不能用作 I/O 端口。当单片机不使用主晶振时,将 JP3A 和 JP3B 跳线的 2-3 短路,RC12/RC15 可以 用作 I/O 端口。
(2)、外部辅助晶振与 RC13/RC14 管脚复用,使用辅助晶振时,RC13/RC14 管脚不能 用作 I/O 端口。当单片机不使用辅助晶振时,将 JP4A 和 JP4B 跳线的 2-3 短路,RC13/RC14 可以用作 I/O 端口。
对比上边两幅图可看出,需要修改的字段如下:
1、 Primary Oscillator Select (主振荡器选择位) 此处选择 HS Oscillator Enabled
厦门大学信息科学与技术学院——单片机原理与接口技术实验室——海韵园实验楼 305#
第 230 页
PIC24F 系列十六位单片机原理与实验(试用版)
3、操作顺序 为保证 ICD2 能正常工作,调试目标板时按如下步骤进行: (1)、电脑开机; (2)、MPLAB ICD2 的 USB 端口连接到电脑 PC 机的 USB 口(如果已经连接则可跳过此
步); (3)、MPLAB ICD2 的 6 芯水晶头接入用户目标板(如果已经连接则可跳过此步),之
后目标板接通电源。 (4)、启动 MPLAB IDE 工作环境; (5)、MPLAB IDE 中建立项目,编写程序并进行硬件调试。 其中,(2)与(4)步骤不能颠倒。
PIC24系列单片机原理与开发
PIC24系列单片机原理与开发
一、单片机原理
单片机是一种集成电路芯片,它集中了CPU、存储器、输入输出接口以及各种外设接口等部分。
PIC24系列单片机采用16位的CPU架构,具有较高的运算速度和较强的处理能力。
它可以运行多种操作系统并支持多种编程语言,如C语言、汇编语言等。
PIC24系列单片机的外设包括通用输入输出口、定时器、串口、模拟转换器等。
通用输入输出口可以用来连接各种外部设备,如传感器、按钮等。
定时器可以用来生成各种定时信号,实现各种定时功能。
串口可以用于与其他设备进行通信,如与电脑进行数据传输。
模拟转换器可以将模拟信号转换为数字信号,用于处理各种模拟数据。
二、单片机开发
硬件设计方面,需要根据具体的应用需求设计电路板。
电路板通常包括单片机芯片、外设接口、电源电路、输入输出端口等。
在设计电路板时需要注意电路的稳定性、耐干扰性和可靠性等因素。
软件编程方面,需要编写程序代码来控制单片机的运行。
程序通常使用C语言或汇编语言编写。
编写程序的主要目的是实现特定的功能,如控制外设、处理输入输出数据等。
软件编程需要具备一定的编程基础和单片机相关知识。
总结:
PIC24系列单片机是一种高性能、低功耗的16位微控制器系列,具有高速运行、丰富的外设和低功耗特点。
单片机开发包括硬件设计和软件
编程两个方面,需要根据具体的应用需求设计电路板,并编写程序代码来实现特定的功能。
单片机开发还需要使用一些开发工具,如开发板和编程器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
端口 RB 的基本功能为可编程的输入输出双向口,此外也可工作在它的第 2,3 等功能 PGD1/EMUD1/PMA6/VREF+/AN0/CN2/RB0 PGC1/EMUC1/VREF-/AN1/CN3/RB1 C2IN-/AN2/SS1/CN4/RB2 C2IN+/AN3/CN5/RB3 C1IN-/AN4/CN6/RB4 C1IN+/AN5/CN7/RB5 PGC2/EMUC2/AN6/OCFA/RB6 PGD2/EMUD2/AN7/RB7 U2CTS/C1OUT/AN8/RB8 PMA7/C2OUT/AN9/RB9 TMS/PMA13/CVREF/AN10/RB10 TDO/PMA12/AN11/RB11 TCK/PMA11/AN12/RB12 TDI/PMA10/AN13/RB13 PMA1/U2RTS/BCLK2/AN14/RB14 PMA0/AN15/OCFB/CN12/RB15 16 15 14 13 12 11 17 18 21 22 23 24 27 28 29 30 I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O
有 有 有 有 有 有 有 有 有
PIC24FJ128GA010 100 128K
JTAG
PIC24 系列单片机原理与开发 by Zeng
2012-6-8
1.3
PIC24FJ64GA006 引脚图和引脚功能说明
在单片机应用系统中,需通过单片机引脚与系统中的信息进行交换,即输入输出,来实现系 统硬件的所需的各种功能。因此作为设计者需要详细了解单片机的每个引脚的功能 ,这样才能正 确、灵活地设计单片机应用系统的硬件和软件 。PIC24F 系列单片机所集成的外设功能很多 ,大部 分引脚复合了多种功能。PIC24FJ64GA006 单片机是 64 引脚薄型正方扁平封装 (12x12x1 mm), 其引脚排列如图 1-3 所示。
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ PIC 24 FJ 64 GA0 06 T -I/PT
Microchip 商标 16 位改进哈佛架构 Flash 存储器系列 程序存储器容量 (64KB) 产品类:通用单片机 引脚数(64pin) 盘带装标志 温度范围 (工业级) 封装形式(TQFP) 图 1- 2 PI C24F 系列单片机的命名 规则 命名的第 2 部分为 CPU 架构,“24”为不带 DSP 功能的 16 位改进型哈佛架构。第 4 部分数 字为 Flash 存储器容量,单位为 k 字节,有 16/32/64/128/256 等供选择。第 6 部分表示引脚数: 02-28 引脚, 04-44 引脚, 06-64 引脚,08-80 引脚,10-100 引脚。 温度范围-40°C 至 85°C。 例如上图所示的 PIC24FJ64GA006 单片机,Flash 程序存储器的容量为 64k 字节, 芯片引脚数 为 64。型号为 PIC24FV16KA301 芯片,是工作电压为 2.0V 至 5.5V 的超低功耗单片机,Flash 程 序存储器的容量为 16k 字节,芯片引脚数为 20。型号为 PIC24FJ256GB110 芯片,是带 USB On-The-Go(OTG)模块的通用单片机。Flash 程序存储器的容量为 256k 字节,芯片引脚数为 100。 型号为 PIC24FJ128DA210 芯片,是具有图形控制器和 USB On-The-Go 模块的通用单片机,Flash 程序存储器的容量为 128k 字节,芯片引脚数为 100/121。 本书将以 PIC24FJ64GA006 单片机为例,介绍 PIC24F 系列单片机的结构、工作原理、各功能 模块(外设)的编程。PIC24FJ64GA006 属于 PIC24FJ128GA(子)系列,该系列共有 9 款型号,它 们的外设功能和 RAM 容量相同,区别在于芯片的引脚数和 Flash 存储器容量,如表 1-1 所示。
64 64 64 80 80 80 100 100
5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5
2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2
16 16 16 16 16 16 16 16 16
2 2 2 2 2 2 2 2 2
定时器 1
定时器 2/3
定时器 4/5
输入捕捉 IC1-5
输出比较 OC1-5/PWM
电平变化通 知 CN0-23
图 1-1 PIC24F 系列单片机的结构框图
PIC24 系列单片机原理与开发 by Zeng
2012-6-8
1.2
PIC24F 产品系列
PIC24F 系列单片机的命名规则如图 1-2 所示.
MCLR
OSC1/CLKI/RC12 OSC2/CLK0/RC15
PIC24 系列单片机原理与开发 by Zeng
2012-6-8
引脚名称 VCAP/ VDDCORE
引脚号 56
类型 P
功能 接外部滤波电容(片内稳压器已使 能) /单片机内核逻辑的正电源 (片 内稳压器禁止)
ENVREG
57
I
片内稳压器使能端。 通常接高电平, 单片机内核使用片内稳压器。
OSC2/CLKO OSC1/CLKI FRC/LPRC 振荡器 高精度带 隙参考源 ENVREG 稳压器 上电延迟 定时器 振荡器延 迟定时器 上电复位 看门狗 定时器 欠压复位 指令寄存器 指令译码器 控制逻辑 支持除法 17x17 乘法器 工作寄存器 W0~W16 16 地址 MUX
端口 G
16 位 ALU VDDCORE/VCAP VDD,VSS MCLR 实时时钟 日历 16 16 路 10 位 AD 模拟比较 器 PMP/PSP IIC1 IIC2 UART1 UART2 SPI1 SPI2
PIC24 系列单片机原理与开发 by Zeng
2012-6-8
外设特性: 2 个 3 线/4 线 SPI 模块,利用 4 级 FIFO 缓冲器支持 4 种帧模式; 2 个 IIC 模块,支持多主 /从动模式和 7 位/10 位寻址; 2 个串行通信 (UART) 模块, FO 缓冲器;利 用片上硬件编码解码器支持 IrDA。 并行主/从端口(PMP/PSP):支持 8 位或 16 位数据,支持 16 条地址线 硬件实时时钟 /日历(Real-Time Clock/Calendar ,RTCC):提供时钟、日历和闹钟功能; 5 个带可编程预分频器的 16 位定时器 /计数器,并可组合成 32 位的定时器/计数器; 5 个 16 位捕捉输入,5 个 16 位比较/PWM 输出; I/O 口的驱动能力可达 18mA,可配置为漏极开路输出; 5 个外部中断源。 可以选择多达 24 个输入引脚来产生电平变化中断(CN )中断。
表1-1 PIC24FJ128GA 系列芯片 器 件 引 脚 程 16 SRAM 序 位定 存 (字节) 时器 储 器 (字 节) 64K 96K 128K 64K 96K 128K 64K 96K 8K 8K 8K 8K 8K 8K 8K 8K 8K 5 5 5 5 5 5 5 5 5 比较 / PWM 输出 SPI UART I2C™ 10 位 A/D (通道数)
PIC24 系列单片机原理与开发 by Zeng
2012-6-8
第 1 章 PIC24 系列单片机 概述
1.1 PIC24 系列单片机的功能和特点
PIC24 系列单片机是美国微芯科技公司 (Microchip Technology Inc. )近年来推出的 16 位 精简指令集(RISC)微控制器(MCU), 其具有高速度、低工作电压、低功耗、较大的输出驱动能力 和丰富的外设功能以及增强的计算性能 ,并且继承了 PIC16/18 系列 MCU 的高抗干扰性能和较低 的价位等特点。对于嵌入式产品的升级换代和那些用 8 位单片机难以满足性能要求,且性价比上 又不宜采用数字信号处理器的高性能 嵌入式应用,PIC24 系列单片机无疑是设计者的首选 。 PIC24 系列又分为 PIC24F 系列和与 PIC24H 系列。 PIC24F 和与 PIC24H 系列在硬件(包括对应 型号的引脚)和软件上完全兼容, 使用的开发工具也可完全相同,但 PIC24H 的工作速度比 PIC24F 更快,且其 AD 转换可 12 位,其外围设备有 DMA 传输方式,当然价格也较 PIC24F 高。 PIC24F 系列单片机有多达几十种型号供选择 ,引脚从 14pin 到 100pin,Flash 程序存储器从 4kB 到 256kB,RAM 从 512 字节到 16kB, 可以满足不同的嵌入式产品设计需求 。 PIC24F 的功能框图 如图 1-1 所示,归纳起来 PIC24F 系列单片机有如下主要特点(PIC24FJ128GA 系列): CPU 特性 系统时钟可达 32MHz,指令执行速度可达 16MIPS(百万条指令 /秒); 8MHz 内部振荡器,可 PLL(锁相环)4 倍频,并具有多个倍频选项; 17 位 x17 位单周期硬件乘法器; 32 位/16 位硬件除法器; 16 个 16 位的工作寄存器阵列; 优化的 C 编译器指令集架构:76 条基本指令,灵活的寻址模式; 程序存储器寻址空间可达 12MB; 数据存储器寻址空间可达 64KB; 两个地址发生单元可分别对数据存储器执行 读和写寻址。 模拟特性: 16 通道,10 位模数转换器,转换速率 500ksps,在休眠和空闲模式下也可进行转换; 具有可编程输入 /输出配置的模拟比较器。 单片机的特殊性能: 工作电压范围为 2.0V 到 3.6V; Flash 程序存储器的擦 /写次数达 1000 次(PIC24FJ128GA 系列典型值),用户软件可自 行编程擦 /写; 具有低功耗管理模式:休眠模式、空闲模式和备用时钟模式; 故障保护时钟监视器工作:当检测到时钟故障时, 可将时钟源切换到片内低功耗 RC 振荡 器; 可使用片内低压差线性稳压器(LDO)给单片机内核供电; 支持 JTAG 边界扫描和编程; 上电复位(Power-on Reset,POR)、上电延时定时器(Power-up Timer,PWRT)和振荡 器起振定时器(Oscillator Start-up Timer,OST); 灵活的可编程看门狗定时器(Watchdog Timer ,WDT)和片上低功耗 RC 振荡器可保证 器件可靠工作; 通过 2 个引脚可实现在线串行编程 (In-Circuit Serial Programming ,ICSP)和在线仿真 (In-Circuit Emulation ,ICE)。