4K 4位单片机 MC20P14XX
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 2-1 程序存贮结构图
10
MC20P14XX
2.2
地址寄存器
以下寄存器用来寻址 ROM · 模块寻址寄存器(BA): 保存寻址模块的序数(0~1h) · 模块缓冲寄存器(BB): 寻址一个新模块时, LBBY 指令赋值给模块缓冲器。 然后在执行跳转指令(BR)和调用指令(CAL)时转 到 BA. · 页码地址寄存器(PA): 保持 ROM 寻址的页码序号(0~Fh)。 · 页码缓冲寄存器(PB): 新寻址一页时,LPBI 指令赋值给 PB.,然后在执行跳转指令时(BR)和调用子程序指令(CAL)时, 转到 PA. · 程序计数器(PC): 在寻址每页的字时可用 · 堆栈寄存器(SR): 在子程序调用模式下,存贮返回的地址。
PMR 0 1 2 3 4 5 6 7 *默认值是“0” 表 2-2 PMR 选择表 15 T=1/fpul=[96/fosc] T=1/fpul=[96/fosc] T=1/fpul=[64/fosc] T=1/fpul=[64/fosc] T=1/fpul=[88/fosc]
REMOUT 信号 T1/T=1/2 T1/T=1/3 T1/T=1/2 T1/T=1/4 T1/T=4/11
图 2-4 看门狗计时器的模块框图
17
MC20P14XX
2.13
停机操作
停机模式可由停机指令来实现 停机模式下: 1. 振荡器停止,工作电流低。 2. 看门狗计时器复位,且 REMOUT 输出高阻。 3. 在进入停机模式之前,把除了 WDT 和 REMOUT 的输出值分开。 4. D0~D3 在停机模式下输出为低。 5. D4~D9 在停机模式下的输出状态可通过标志位选项来决定。 (为低或是保持停机前状态) 当 K,R 输入变低时,停机模式唤醒。 当停机模式唤醒时: 1. 2. 3. D4~D9 的输出状态和 REMOUT 的输出状态变回停机模式之前的状态。 在 8×6×210/fosc 振荡稳定周期之后,开始执行第一条指令。 返回正常工作模式,WDT 计数器从零开始计数。
4K 4 位单片机 MC20P14XX
MC20P1420 MC20P1420s MC20P1416 MC20P1408
概述 MC20P14XX 采用 CMOS 技术。 MC20P14XX 适用于 TV,VCR,风扇,空调, 音频设备, 玩具, 游戏等等的遥控。 MC20P14XX 是 MTP 版本。
输入 输出
功能
复位
停机
K0~K3 R0~R1
输入
-4 位只有输入功能的端口 -CMOS 输入带上拉电阻 -每位引脚都有停机唤醒功能 停机模式是通过输入电平变低来唤醒的。
输入(带上拉)
输入(带上拉)
R2~R3
I/O
-2 位 I/O 口 (只有每个输出口为高才可设 为输入模式) -每个引脚均都有停机唤醒功能 -每个引脚为低,设为输出模式 -用作输出口时, 每个引脚可分别置位和复 位
工作电路(ALU)
加法器和比较器用于基本的全加和数据比较。它通过取反,即把 ACC(ACC+1) 正在处理的输出,取相反的数,来实现减法。
2.7.2
逻辑状态:
它是携带 ST 或是一个标志来控制程序的流程。它仅在指出的指令执行后,发生的三种情况下 才产生,例如溢出,工作中下溢和两个输入不等。
14
MC20P14XX
没有脉冲(D0~D9)也相同 T=1/fpul=[96/fosc] T=1/fpul=[92/fosc] T1/T=1/4 T1/T=1/2
MC20P14XX
2.10
工作复位
MC20P14XX 有两种复位源。其中一个是内置的低压 VDD 检测电路,另一个是看门狗(WDT) 溢出。 所有的复位工作都是在 MC20P14XX 内部发生的。
MC20P1408 4096×8 32×4 2 2 3 8SOP(150mil)
表 1.1 MC20P14XX 系列号
1
MC20P14XX
1.2
模块框图
2
MC20P14XX
1.3
引脚分布图(俯视图)
3
MC20P14XX
1.4
封装尺寸
4
MC20P14XX
5
MC20P14XX
1.5
引脚功能
引脚名称
参量 供电压 振荡频率 工作温度
1.7.3 直流特性(Ta=25℃, VDD=3V)
参量
符号
限制 最小值 类型 120 0.15 250 0.7 8 最大值 1 300 0.9 0.4 1 1 1 1.5
单位
条件
输入高电流 输入上拉电阻 输入高电压 输入低电压 D 输出低电压 REMOUT 输出低电流 REMOUT 漏电流 D 输出漏电流 停机模式下电流 工作时供电流
系列 程序存贮 数据存贮 输入端口 I/O 输出端口 封装
MC20P1420 4096×8 32×4 6 2 10 20SOP(300mil)
MC20P1420S 4096×8 32×4 6 2 10 20SOP(209mil)
MC20P1416 4096×8 32×4 4 2 8 16SOP(150mil)
2.2.4
堆栈寄存器:
这个堆栈寄存器可让 6 位程序计数器分三段指示,页码地址寄存器(4 位)和模块地址(2 位) ,所 子程序嵌套可以是两级的。
12
MC20P14XX
2.3
数据存贮(RAM)
32nibbles(16 字×2 页×4 位)空间存贮数据。 全部数据存贮空间是由数据指针(X,Y)间接指出的。页码序号由 0 位 X 寄存器指出,及字在页码 内的位置由 4 位 Y 寄存器指出。数据存贮由每页 16 nibbles/页组成。图 2-2 显示以下结构。
2.8
时钟发生器
MC20P14XX 有内部时钟振荡器。振荡器电路是设计来与外部陶瓷振荡器一起工作的。 连接在外部的陶瓷振荡器也可用来组织振荡器。 *为了更改陶瓷振荡器,连接一个电容是十分必要的。但是必需参照振荡器生产商的指示,与其 指示相匹配。
2.9
脉冲发生器
以下 REMOUT 端口的载波输出信号的频率和占空比,是由程序(PMR)设置脉冲模式寄存器的 值来决定。
MC20P14XX
信号输出方式。在程序中也可以把它看成通用目的寄存器。
2.6
累加器(ACC)
累加器是 4 位寄存器,用来存放数据和计算结果。
2.7
算术和逻辑单元(ALU)
在这个单元内,4 位加法器和比较器是并连的,且作为它的主要部分,它们主要是根据门锁状态 和逻辑状态相符(标志)来决定。
2.7.1
1.7
电流特性
1.7.1 最大绝对值范围(Ta=25℃) 参量 供电压 电源消散 输入电压 输出电压 保存温度 符号 VDD PD VIN VOUT TSTG 最大值范围 -0.3~5.0 700* -0.3~VDD+0.3 -0.3~VDD+0.3 -65~150 单位 V mW V V ℃
*热量降低在 25℃以上:温度每升高一度加多 6mW. 1.7.2 建议工作条件 符号 VDD FOSC Topr 条件 FOSC=2.4~4MHz VDD=1.8~3.6V Temp=-20~+70 最小 1.8 3.567 -20% -20 3.640 常值 最大 3.6 3.713 +2% 70 单位 V MHz ℃
IIH RPU VIH1 VIL1 VOL1 IOL IOLK1 IOLK2 ISTP IDD
70 2.1 -
μA KΩ V V V mA μA μA μA mA
VI=VDD VI=GND IOL=3mA VOL=0.3V VOUT=VDD,输出关 VOUT=VDD,输出关 在停机模式 fosc=4MHz
2.11
内置低压复位电路
MC20P14XX 有一个低压检测电路。 如果 VDD 开始复位,低压检测电路处于激活状态,系统开始复位及 WDT 清零。 当 VDD 增加时,再次超过了复位电压,WDT 就会重新计数直到 WDT 溢出,WDT 溢出后系统 复位就被唤醒。
图 2-3 低压检测周期图
16
MC20P14XX
11
MC20P14XX 2.2.2 页码地址寄存器和页码缓冲寄存器:
4 位二进制计数器在 ROM 的寻址页码从 0~15。与程序计数器不同的是,页码地址寄存器通常不 会更改,所以程序在同页内重复执行而不会更改页码,除非建立了更改页码指令。为了更改页码地 址,采取两步(1)写入页码寄存器将要跳转的页码(执行 LPBI)和(2)执行 BR 或是 CAL,因为 指令码是 8 位的,所以页码和字不能同时指出。 如果子程序被调用在另一页,也执行了返回指令(RTN) ,那么页码地址就会同时更改。
2.12
看门狗计时器(WDT)
看门狗计时器由 14 位二进制组成。它的信号 fosc/48 周期是来自 WDT 复位后 WDT 的第一位。如 果这个计数器溢出,就会自动出现复位信号,所以内部电路也跟着初使化。 溢出时间是 8×6×213/fosc(108.026 毫秒当 fosc=3.64MHz) 正常情况下, 二进制计数器通过复位指令 (WDTR),或是开电源复位脉冲, 又或是低压检测脉冲, 在溢出前必需复位。 *在停机模式下常为复位状态。当停机唤醒,计数就重新开始。 (参照 2.14 停机操作)
MC20P14XX
9
MC20P14XX
2
结构
2.1
程序存贮
MC20P14XX 最大可存贮程序 4096 字(4 模块×16 页×64 字×8 位) 。程序计数器 PC (A0~A5) ,页码地址寄存器 PA(A6~A9)及模块地址寄存器 BA(A10~A11)用来寻址全部的程序存 贮,指引下条指令要执行的地址。 程序存贮每页有 64 字,每页可保存 64 条指令。 程序存贮组成如下图所示:
MC20P14XX
1.
概述
1.1 特性
■程序存贮(MTP) ●4096 字节(4096×8 位) [1K,2K,或是 4K 多级编程] ■数据存贮(RAM) ●32 个单元格(32×4 位) ■3 级子程序嵌套 ■8 位读表指令 ■振荡器类型(工作频率) ●内部 RC 振荡器(精典 3.64MHz ±2%) ■指令周期 ●Fosc/48 ■停机模式 ■停机模式的唤醒要通过按键按下有输入 ■内置开电源复位电路 ■内置 I.R LED 驱动晶体管 ●IOL=250mA 在 VDD=3V 和 V0=0.3V ■内置低压复位电路 ■内置一个看门狗计时器(WDT) ■工作电压低 ●1.8~3.6V ■ 8/16/20 SOP 封装。
2.2.3
程序计数器:
6 位二进制增量计数器取当寻址的字的页码, 指示下一指令的执行。 为了便于编程, 在打开电源时, 程序计数器复位到 0 位置。PA 同样被置 0。然后程序计数器就会指出下一随机部分的地址。 当 BR,CAL,RTN 指令被译码,每一步的开关均被关上,不再更新地址。然后,BR,CAL 的地址数据 从指令操作数(a0 到 a5)中取出,或是 RTN 地址从第一堆栈寄存器中取出。
输入(带上拉)
输入(带上拉)
D0~D3 D4~D8 REMOUT VDD VSS
输出
-N-CH 开漏输出 -每个引脚可分别置位和复位
低
低 低或保持停机前 状态
输出 电源 电源
-高电流脉冲输出 -供正电源 -地
‘HI-Z’输出 -
‘HI-Z’输出 -
6
MC20P14XX
1.6
引脚电路
7
MC20P14XX
图 2-2 数据存贮组成
2.4
X 寄存器(X)
X 寄存器为 2 位, X0 是 RAM 页码的数据指针, X1 是与 Y 寄存器一起, 只用来选择 D8~D9 的值。 X1=0 Y=0 Y=ຫໍສະໝຸດ Baidu 表 2-1 X,Y 寄存器寻址图 D0 D1 X1=1 D8 D9
2.5
Y 寄存器(Y)
Y 寄存器有 4 位。它作为一个数据指针或是通用目的寄存器。Y 寄存器指出数据存贮的在页码的 地址(A0~A3),它同样也可以用来指出输出端口。并且可以用来指出载波信号的 REMOUT 口的 13
2.2.1
模块地址寄存器和模块缓冲寄存器:
通过一个 2 位的寄存器,寻址 ROM 模块 0 到 3。与程序计数器不同,模块地址寄存器不可以自动更 改。更改模块地址,要采取以下两步:
(1) (2)
写入模块缓冲寄存器决定要跳到哪一个模块(执行 LBBY) 执行 BR 和 CAL,因为指令码是 8 位的,所以模块不可同时指出。 如果子程序在另一页被调用,就可以执行返回指令(RTN) ,页码地址也就会同时相应地更改了。