MK7A11P是RISC高性能的8位微控制器。它内部包含一个1K×14bits的一次性可编程只读存储器、32字节数据存储器、定时器/计数器、中断、LVR(低电压复位)和I/O口。
1. 基本特性
●ROM:1K×14 bits
●RAM:32×8 bits
●椎栈:2级
●一个指令周期由四个系统时钟组成
●复位模式:
- 上电复位
- 低电压复位
- RESETB/PB3(如果设置为复位脚位)输入一个负脉冲
- 看门狗定时器计数溢出复位
●5种振荡模式可供选择
- 外部RC,LS(低速)晶振,NS(标准速度)晶振和HS(高速)晶振
- 内部4MHz RC振荡器
●定时器/计数器
- TMR0:8位倒计时定时器/计数器带自动重复加载功能
●看门狗定时器:芯片内WTD是基于一个内部RC振荡器(仅WDT使用)。有8个周期可供选择。使用
者可通过使用预分频器来延长WDT溢出周期。
●中断结果:
- TM0内部定时器/结果计数器中断
- 外部INT脚位
● I/O口:12脚位
- PA0~3:4个标准I/O脚位
- PB0~7:8个上拉I/O脚位带脚位唤醒功能
●唤醒模式:B口(PB0~7)脚位变化唤醒
●不同封装类型:
MK7A11PD14C:14脚 DIP
MK7A11PS14C:14脚 SOP
8Bit Microcontroller 2. 图表
3. 脚位分配
PA1
PA2
14
13
12
8Bit Microcontroller 4. 脚位描述
名称I/O 描述
PA0~3 I/O
1. 一般I/O口
2. 带下拉电阻器
PB0/INT I/O
1. 一般I/O口
2. 通过选择实现上拉/下拉/漏级开路功能
3. 脚位改变使芯片从睡眠模式中唤醒
4. 通过上升沿触发中断产生(选择)
PB1 I/O
1. 一般I/O口
2. 通过选择实现上拉/下拉/漏级开路功能
3. 脚位改变使芯片从睡眠模式中唤醒
PB2/RTCC I/O
1. 一般I/O口
2. 通过选择实现上拉/下拉/漏级开路功能
3. 脚位改变使芯片从睡眠模式中唤醒
4. 定时器输入(选择)
PB3/RESETB I
1. 输入脚位
2. 系统复位信号(低电平有效)带上拉电阻器
3. 脚位改变使芯片从睡眠模式中唤醒
PB4/OSCO I/O
1. 一般I/O口
2. 通过选择实现上拉/漏级开路功能
3. 脚位改变使芯片从睡眠模式中唤醒
4. 振荡器输出脚位(晶振模式不能设置为上拉)
PB5/OSCI I/O
1. 一般I/O口
2. 通过选择实现上拉/漏级开路功能
3. 脚位改变使芯片从睡眠模式中唤醒
4. 振荡器输入脚位(晶振模式不能设置为上拉)
PB7~6 I/O
1. 一般I/O口
2. 通过选择实现上拉/漏级开路功能
3. 脚位改变使芯片从睡眠模式中唤醒
VDD P
系统电源输入
VSS P
系统接地输入
8Bit Microcontroller
5. 存储器映象
MK7A11P 芯片带有两种存储器,分别是程序存储器(ROM )和数据存储器(RAM )。程序存储器用于存储程序、数据表及中断向量,它是连续的1024×14bits ,不需要转换到bank 。数据存储器是48(16+32)×8bits ,它包括特殊功能寄存器和一般的数据存储器。
5.1 程序存储器(ROM )
指令和数据表存储在程序存储器内。程序存储器只能有一个中断向量存在,那意味着所有发生的中断都将跳到相同的向量。烧录器会通过中断标记来判断是哪一种中断发生。程序计数器(PC )有10 bit ,它能直接寻找所有1024×16bits 位置地址。查询数据表可以置于程序存储器的任何地方。 RESET 向量位于3FFH ,中断向量位于3FEH 。映象图如下所示:
000H
3FEH 3FFH
< 注 > LCALL 和LGOTO 允许直接在1K 字节的地址内选址。
5.2 数据存储器(RAM )
全部的数据存储器集都是48×8bits ,它们包含两种寄存器组。一种是32×8bits 的一般数据存储器,另一种是16×8bits 的特殊寄存器。特殊寄存器的每一字节都用来存储控制数据和操作数据。 数据存储器映象如下所示:
8Bit Microcontroller
000
3FE 3FF
< 注 > LCALL 和LGOTO 允许直接在1K 字节的地址内选址
5.2.1
特殊寄存器
Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 CONFIG ADJ0 RESETE LV WDTE
CPT INRC
FOSC1 FOSC0
Bit15 Bit14 Bit13
Bit12 Bit11Bit10Bit9 Bit8 -- -- ADJ6ADJ5 ADJ4
ADJ3
ADJ2 ADJ1
< 注 > CONFIG 是16位特殊寄存器
< 注 > “—”:表示未使用
8Bit Microcontroller 5.2.2 结构寄存器
Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 CONFIG ADJ0 RESETE LV WDTE CPT INRC FOSC1 FOSC0 Bit15 Bit14 Bit13Bit12 Bit11Bit10Bit9 Bit8
ADJ1
ADJ4ADJ3ADJ2
ADJ6ADJ5
-- --
● Bit13~7(ADJ6~0):用于校准内部RC振荡器
●Bit6(RST_DEF):RESETB脚位定义
0:RESETB是普通输入脚位
1:RESETB是系统复位脚位
●Bit5(LV):设置低电压复位(LVR)的复位电压级别
0:低电压复位开
1:低电压复位关
●Bit4(WDTE):看门狗定时器使能/禁止
0:WDT禁止
1:WDT使能
●Bit3(CPT):ROM密码保护位
0:开
1:关
●Bit2~0(INRC,FOSC1~0):OSC类型及系统时钟选择
Bit2 Bit1 Bit0
OSC类型共振频率INRC FOSC1 FOSC0
0 0 0 LS (low speed) System clock=32~200KHz
0 0 1 NS (Normal speed) System clock=200K~10MHz
0 1 0 HS (high speed) System clock=10~20MHz
0 1 1 External RC System clock=32K ~ 10MHz
Reserved Reserved
1 0 0
Reserved Reserved
1 0 1
1 1 0
Reserved Reserved
1 1 1 Internal RC System clock=4MHz
8Bit Microcontroller
5.2.3 SELECT 寄存器
Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 SELECT TMR0_EN WRT_CNT SUR0EDGE0
PSA PS2
PS1
PS0
选择寄存器用于控制WDT 和TM0,它没有特殊数据存储器,是只能通过SELECT 指令设置的只读寄存器。通过执行SELECT 指令,累加器的内容将会被发送到SELECT 寄存器。如果SELECT 寄存器未经过编程设置,它的默认值是40H 。以下数据表将会对选择寄存器的每一脚位进行说明。
Bit
符号
描 述 PS2 PS1PS0TMR0 rate
WDT rate 2~0 PS2~PS0
0 0 0
0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1:2 1:4 1:8 1:16 1:32 1: 1:128 1:256
1:1 1:2 1:4 1:8 1:16 1:32 1: 1:128
3 PSA PSA :预分频器分配脚位
1:预分频器分配到WDT
0:预分频器分配到TMR0 4 EDGE0 EDGE0:TMR0源信号边沿控制脚位
1:外部时钟信号从高电平到低电平时,定时器加1
0:外部时钟信号从低电平到高电平时,定时器加1 5 SUR0 SUR0:TMR0时钟源脚位
1:外部时钟输入
0:(内部时钟)/ 4
6 WRT_CNT
WRT_CNT :自动预加载TMR0数据
1:使能 0:禁止
7 TMR0_EN
TMR0_EN :TMR0使能/禁止
0:禁止 1:使能
8Bit Microcontroller
6. 功能描述
此芯片提供许多功能,包括I/O口,定时器,WDT,中断,数据表位置,复位,程序计数器及STATUS寄存器。我们将会在下面详细描述。
6.1 I/O口
该芯片有两个I/O口(A & B)用于数据输入及输出,每一个I/O口有不同的功能。A口是一般I/O口带下拉电阻器。B口带多功能,它除了可以用做一般I/O口带上拉电阻器外,还具备脚位唤醒功能。它们还可以通过选择实现其他的功能。
6.1.1 Port A
A. PA($05H):
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
------PA3PA2PA1PA0 PA
●Bit3~0(IOA3~0):I/O口A的数据
B. PA_PDM($0BH):
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PA_PDM -- ------DA3DA2DA1DA0
●Bit3~0(DA3~0):下拉电阻器使能/禁止
0:下拉电阻器禁止
1:下拉电阻器使能
6.1.2 Port B
A. PB($06H):
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PB PB7 PB6 PB5 PB4 PB3PB2PB1PB0
●Bit7~0(PB7~0):I/O口B的数据
B. PB_PUP($0CH):
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
UB5
UB4 --UB2UB1UB0
UB6
PB_PUP UB7
●Bit7~0(UB7~0):上拉电阻器使能/禁止
0:上拉电阻器禁止
1:上拉电阻器使能
< 注> 1. PB3与RESETB共亨则只能做为输入脚位使用。如果只做为PB3使用则无上拉电阻器,如果只做为RESETB使用则为上拉电阻器。
2. UB4及UB5只能在RC振荡模式下使用。如果使用者使用晶振模式,则这两个脚位是无用的,不能设置
为上拉,否则将会引起故障。
8Bit Microcontroller
C. PB_PDM($0DH):
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
DB0
DB1
INTE -- -- -- DB2 PB_PDM RTCCE
●Bit7:此脚位有两个功能,一个是选择PB2/RTCC功能,另一个是使能TMR0外部时钟源。
0:PB2脚位是PB2
1:PB2脚位是RTCC输入,从RTCC中TMR0外部时钟源使能。
< 注 > 计算RTCC的方法如下:
1. 使用SELECT指令将SUR0设置为1
2. 设置RTCCE脚位为1以使PB2脚位做为RTCC时钟使能
●Bit6:选择PB0/INT功能
0:PB0脚位是PB0
1:PB0脚位是INT
●Bit2~0(PB2~0):下拉电阻器使能/禁止
0:下拉电阻器使能
1:下拉电阻器禁止
D. PB_POD($0EH):
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
PB_POD OB7 OB6 OB5 OB4 -- OB2 OB1 OB0
●Bit7~0(OD7~0):漏级开路使能/禁止
0:漏极开路禁止
1:漏极开路使能
< 注 > PA_PDM($0B),PB_PUP($0C),PB_PDM($0D),PB_POD($0E)是只写寄存器,它们只能用以下指
令写数据:
MOVLA REG_Value
MOVAM PB_PDM
E. WAKEUP($0FH):
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
WAKEUP EN7 EN6 EN5 EN4 -- EN2 EN1 EN0
●Bit7~0(EN7~0):B口唤醒功能使能/禁止
0:B口唤醒功能禁止
1:B口唤醒功能使能
8Bit Microcontroller
6.2 定时器/计数器(TMR0)
MK7A11P 提供1个倒计时定时器/计数器和1个看门狗定时器。通过设置每一个定时器控制寄存器,计数器的时钟源可以是系统时钟,也可以是外部时钟。寄存器详细设置及图表如下所示:
IRQ
SUR0
(Bit 5 of SELECT register)
RTCC
System Clock/4
* Read/Write is the same register $01
TMR0 ($01)
A.TMR0($01H): Register Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TMR0
D7 D6 D5 D4 D3 D2 D1 D0
● Bit7~0(TMR0):定时器0(TMR0)数据
6.3 间接寻址
寄存器IAR ($00)及BSR ($04)用于间接寻址。BSR (Bank 选择寄存器)允许5-bit 宽的操作数直接访问整个数据存储器。方法如下图:
8Bit Microcontroller
Indirect Addressing Mode
(BSR)(opcode)
Direct Addressing Mode
Data Memory
(BSR)
6.4 WDT(看门狗定时器)
WDT是防止软体故障及跳过含有不可预知结果的未知页面的定时器。WDT时钟源是一个的内部RC振荡器。此定时器会受温度、电压及不同产品批号的影响。定时最短时间大约20ms,程式中可以使用SELECT指令设置预分频器然后获得不同的持续时间。
6.5 复位
以下列出了4种会引起复位的情况。掉电将会引起MK7A11P复位,这样能在供电不足的环境下保护芯片,最后两种情况我们称之为热复位。不同的复位都会影响寄存器和数据存储器。TO和PD位用来决定复位的类型。
(1) 上电复位
(2) 低电压复位(LVR)
(3) RESETB脚位复位(输入一个负脉冲)
(4) WDT定时器溢出复位
8Bit Microcontroller
系统复位图表
< 注 > 看门狗设置时间为大约20ms,由于电源电压,进程及温度差异,在时间设置上会有一些偏差。
Address Name Cold Reset Warm Reset
N/A Accumulator xxxx xxxx pppp pppp
PB 1111 1111 1111 1111
N/A IODIR
PA 1111 1111 N/A SELECT 0100 0000 0100 0000
00h IAR ---- ---- ---- ----
01h TMR0 xxxx xxxx pppp pppp
02h PCL 11 1111 1111 11 1111 1111
03h STATUS 0001 1xxx #00# #ppp
04h BSR 1xxx xxxx 1ppp pppp
09h IRQM 0000 0000 0000 0000
0Ah IRQF 0000 0000 0000 0000
0Bh PA_PDM xxxx 0000 xxxx 0000
0Ch PB_PUP 0000 x000 0000 x000
0Dh PB_PDM 00xx x000 00xx x000
0Eh PB_POD 0000 x000 0000 x000
0Fh WAKEUP 0000 x000 0000 x000
20h~3Fh General Purpose
RAM
xxxx xxxx pppp pppp
8Bit Microcontroller
< 注 > x:未知的;p:保存为原来的数值;#:依据不同复位条件的数值
-:不执行,清“0”
6.5.1 STATUS寄存器的复位条件
< 注 > 1. 如果执行CLRWDT指令,则4.5项的内容将与以上提到的不同。
2. U:未改变
3. 只有当复位及PSA脚位(SELECT寄存器)被设置为“1”时,TO和PD数据与数据表相同。如果PSA未设置为“1”,则复位后的数据与数据表不同。
6.6 中断
MK7A11P提供两种中断,分别是TMR0和内部INT。IRQM和IRQF寄存器用来控制或判断所有中断的请求状态。IRQM用来使能/禁止中断,IRQF用来指出是哪一种中断发生。如果特殊IRQM不能使能则硬体中断将不会发生。但不管IRQM使能或禁止,IRQF都会有状态反应。例如,使用者使能TMR0来开始计数,如果IRQM的bit 0使能,当定时器溢出,硬体中断将会发生,IRQF的bit 1将被设置,与此同时,程序将跳到中断向量。使用者应清除中断服务程序中的IRQF,否则中断将完全不工作。另一种情况是如果IRQM的bit 0禁止,当定时器溢出时,中断将不会产生,但IRQF的bit 1仍被设置,程序将会跳到中断向量。
A. IRQM ($09H)
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
TM0M IRQM INTM-- -- -- -- -- PB0M
●Bit7(INTM):球形使能脚位
0:禁止,所有中断屏蔽
1:使能,所有中断不屏蔽
当中断正在进行时,INTM将会被设置为“0”以防止其他中断的发生。当中断完成后,IRETI指令将
会设置INTM为“1”。
●Bit1(PB0M):外部INT脚位中断使能/禁止
8Bit Microcontroller
0:禁止中断
1:使能中断
●Bit0(TM0M):TMR0中断使能/禁止
0:禁止中断
1:使能中断
B. IRQF ($0AH)
Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IRQF -- -- -- -- -- -- PB0F TM0F
●Bit1(PB0F):外部INT管脚中断标记
0:中断信号不发生
1:中断信号发生
●Bit0(TM0F):TMR0中断标记
0:定时器溢出不发生
1:定时器溢出发生
6.7 STATUS寄存器
STATUS寄存器是一个包含零标记(Z),进位标记(C),四位进位标记(DC),掉电标记(PD),看门狗定时器溢出标记(TO)的8位寄存器,它用于记录状态信息。
A. STATUS($03H)
●Bit4(TO):定时器溢出标记位
●Bit3(PD):掉电标记位
●Bit2(Z):零标记位
0:逻辑操作结果不是0
1:逻辑操作结果是0
●Bit1(DC):四位进位与四位借位标记位
8Bit Microcontroller
加指令:
0:无低四位进位
1:从低四位进位
减指令:
0:从低四位借位
1:无低四位借位
●Bit0(C):进位与借位标记位
加指令:
0:无进位
1:从MSB进位
减指令:
0:从MSB借位
1:无借位
6.8 唤醒功能
此芯片提供脚位信号触发唤醒功能,当输入口有信号触发,芯片将会从睡眠模式中返回。为了从睡眠模式中安全唤醒,我们建议在进入睡眠模式前将输入脚位读为储备数据。编程举例如下所示:
MOVLA FFh
IODIR PORTB ;//设置B口的0~7脚位为输入,只有输入脚位会被唤醒
………. ……….
MOVM PORTB,a ;//睡眠前存储输入脚位数据
SLEEP ;//如果不能执行读取指令,则不能进入SLEEP模式
NOP ;//当芯片唤醒时增加NOP指令来延迟一会儿
8Bit Microcontroller 7. 指令集
< 注 > 指令循环是系统时钟/4
Mnemonic Operands
Instruction
Code (Advance)
Cycles
Status
Affected
OP-code
ADD M, m (M)+(acc) → (M) 1 C, DC, Z01 0101 1MMM MMMM ADD M, a (M)+(acc) → (acc) 1 C, DC, Z01 0101 0MMM MMMM AND M, m (M).(acc) → (M) 1 Z 01 0100 1MMM MMMM AND M, a (M).(acc) → (acc) 1 Z 01 0100 0MMM MMMM ANDLA I Literal .(acc) → (acc) 1 Z 11 1001 iiii iiii
BC M, b0 Clear bit0 of (M) 1 None 00 1100 0MMM MMMM BC M, b1 Clear bit1 of (M) 1 None 00 1100 1MMM MMMM BC M, b2 Clear bit2 of (M) 1 None 00 1101 0MMM MMMM BC M, b3 Clear bit3 of (M) 1 None 00 1101 1MMM MMMM BC M, b4 Clear bit4 of (M) 1 None 00 1110 0MMM MMMM BC M, b5 Clear bit5 of (M) 1 None 00 1110 1MMM MMMM BC M, b6 Clear bit6 of (M) 1 None 00 1111 0MMM MMMM BC M, b7 Clear bit7 of (M) 1 None 00 1111 1MMM MMMM BS M, b0 Set bit0 of (M) 1 None 00 1000 0MMM MMMM BS M, b1 Set bit1 of (M) 1 None 00 1000 1MMM MMMM BS M, b2 Set bit2 of (M) 1 None 00 1001 0MMM MMMM BS M, b3 Set bit3 of (M) 1 None 00 1001 1MMM MMMM BS M, b4 Set bit4 of (M) 1 None 00 1010 0MMM MMMM BS M, b5 Set bit5 of (M) 1 None 00 1010 1MMM MMMM BS M, b6 Set bit6 of (M) 1 None 00 1011 0MMM MMMM BS M, b7 Set bit7 of (M) 1 None 00 1011 1MMM MMMM BTSC M, b0 If bit0 of (M) = 0, skip next instruction 1 + (skip)None 00 0100 0MMM MMMM BTSC M, b1 If bit1 of (M) = 0, skip next instruction 1 + (skip)None 00 0100 1MMM MMMM BTSC M, b2 If bit2 of (M) = 0, skip next instruction 1 + (skip)None 00 0101 0MMM MMMM BTSC M, b3 If bit3 of (M) = 0, skip next instruction 1 + (skip)None 00 0101 1MMM MMMM
8Bit Microcontroller
BTSC M, b4 If bit4 of (M) = 0, skip next instruction 1 + (skip)None 00 0110 0MMM MMMM BTSC M, b5 If bit5 of (M) = 0, skip next instruction 1 + (skip)None 00 0110 1MMM MMMM BTSC M, b6 If bit6 of (M) = 0, skip next instruction 1 + (skip)None 00 0111 0MMM MMMM BTSC M, b7 If bit7 of (M) = 0, skip next instruction 1 + (skip)None 00 0111 1MMM MMMM BTSS M, b0 If bit0 of (M) = 1, skip next instruction 1 + (skip)None 00 0000 0MMM MMMM BTSS M, b1 If bit1 of (M) = 1, skip next instruction 1 + (skip)None 00 0000 1MMM MMMM BTSS M, b2 If bit2 of (M) = 1, skip next instruction 1 + (skip)None 00 0001 0MMM MMMM BTSS M, b3 If bit3 of (M) = 1, skip next instruction 1 + (skip)None 00 0001 1MMM MMMM BTSS M, b4 If bit4 of (M) = 1, skip next instruction 1 + (skip)None 00 0010 0MMM MMMM BTSS M, b5 If bit5 of (M) = 1, skip next instruction 1 + (skip)None 00 0010 1MMM MMMM BTSS M, b6 If bit6 of (M) = 1, skip next instruction 1 + (skip)None 00 0011 0MMM MMMM BTSS M, b7 If bit7 of (M) = 1, skip next instruction 1 + (skip)None 00 0011 1MMM MMMM CLRA Clear accumulator 1 Z 01 0001 0000 0000 CLR M Clear memory M 1 Z 01 0001 1MMM MMMM CLRWDT Clear watch-dog register 1 TO, PO01 0000 0000 0001 COM M, m ~(M) → (M) 1 Z 01 0010 1MMM MMMM COM M, a ~(M) → (acc) 1 Z 01 0010 0MMM MMMM DEC M, m Decrement M to M 1 Z 01 0110 1MMM MMMM DEC M, a (M) - 1 → (acc) 1 Z 01 0110 0MMM MMMM DECSZ M, m (M) - 1 →(M), skip if (M) = 0 1 + (skip)None 01 0111 1MMM MMMM DECSZ M, a (M) - 1 →(acc), skip if (M) = 0 1 + (skip)None 01 0111 0MMM MMMM INC M, m (M) + 1 → (M) 1 Z 01 1000 1MMM MMMM INC M, a (M) + 1 → (acc) 1 Z 01 1000 0MMM MMMM INCSZ M, m (M) + 1 →(M), skip if (M) = 0 1 + (skip)None 01 1001 1MMM MMMM INCSZ M, a (M) + 1 →(acc), skip if (M) = 0 1 + (skip)None 01 1001 0MMM MMMM IODIR M Set i/o direction 1 None 01 0000 0000 0MMM IOR M, m (M) ior (acc) → (M) 1 Z 01 1111 1MMM MMMM IOR M, a (M) ior (acc) → (acc) 1 Z 01 1111 0MMM MMMM
8Bit Microcontroller IORLA l Literal ior (acc) → (acc) 1 Z 11 0011 iiii iiii
LCALL I Call subroutine. However, LCALL can
addressing 1K address
2 None
10 0iii iiii iiii
LGOTO I Go branch to any address 2 None 10 1iii iiii iiii
MOVAM m Move data form acc to memory 1 None 01 0000 1MMM MMMM MOVLA l Move literal to accumulator 1 None 11 0001 iiii iiii
MOV M, m (M) → (M) 1 Z 01 0011 1MMM MMMM MOV M, a (M) → (acc) 1 Z 01 0011 0MMM MMMM NOP No
operation 1
None
01 0000 0000 0000
RET Return 2 None 11 1111 0111 1111
RETI Return and enable INTM 2 None 11 1111 1111 1111 RETLA l Return and move literal to accumulator 2 None 11 1100 iiii iiii
RL M, m Rotate left from m to itself 1 C 01 1100 1MMM MMMM RL M, a Rotate left from m to acc 1 C 01 1100 0MMM MMMM RR M, m Rotate right from m to itself 1 C 01 1110 1MMM MMMM RR M, a Rotate right from m to acc 1 C 01 1110 0MMM MMMM SELECT Set select register 1 None 01 0000 0000 0010 SLEEP Enter sleep (saving) mode 1 TO, PO01 0000 0000 0011 SUB M, m (M)–(acc) → (M) 1 C, DC, Z01 1010 1MMM MMMM SUB M, a (M) –(acc) → (acc) 1 C, DC, Z01 1010 0MMM MMMM SWAP M, m Swap data from m to itself 1 None 01 1101 1MMM MMMM SWAP M, a Swap data from m to acc 1 None 01 1101 0MMM MMMM XOR M, m (M) xor (acc) → (M) 1 Z 01 1011 1MMM MMMM XOR M, a (M) xor (acc) → (acc) 1 Z 01 1011 0MMM MMMM XORLA l Literal xor (acc) → (acc) 1 Z 11 1000 iiii iiii
< 注 > 进入睡眠指令后,请增加一个NOP指令来进行延时。
8Bit Microcontroller
8. 电气特性
8.1 绝对最大额定值
电源电压 …… Vss-0.3V to Vss+5.5V 存储温度 …… –50℃ to 125℃ 输入电压 …… Vss-0.3V to VDD+0.3V 工作温度 …… 0℃ to 70℃
8.2 直流电特性
Test Conditions
Symbol Parameter
VDD
Conditions
Min. Typ. Max.Unit
VDD Operating Voltage --- 2.2 5.5 V V IH Input HighVoltage 5V I/O Port 2 Vdd
V
V IL
Input Low Voltage
5V I/O Port 0.8 V WDT disable 1 5V
WDT enable 9 WDT disable 1 I DD1
Standby Current
3V
WDT enable
2
μA
I IL Input Leakage Current 5V Vin=VDD, VSS 1 μA Voh=5V 9.9 Voh=4.5V 17.6I OH
I/O Port Driving
Current
5.5V Voh=4V 24.8mA Vol=0.5V 24.5Vol=0.75V 35.3I OL
I/O Port Sink Current
5.5V
Vol=1V 43.8
mA
8Bit Microcontroller
8.3 交流电特性
Test Conditions
Symbol Parameter
Conditions VDD
Min Typ Max
Unit
5V 32 200
f sys1
System Clock
LP Crystal mode
3V 32 200 Khz
5V 0.2 10 f sys2System Clock NT Crystal mode
3V 0.2 10 Mhz
5V 10 20 f sys3System Clock HS Crystal mode 3V 10 20
Mhz
5V 4MHZ 4.5
f sys4System Clock RC mode
3V 4MHZ 4.5 Mhz
5V T wdt Watchdog Timer
3V 20 mS
5V
T rht
Reset Hold Time
3V
20 mS
8.4 EXT_RC 振荡器频率
8Bit Microcontroller
下表为典型的外部RC 振荡频率数据表 当Cext = 0.01uf (103)
Rext 5V 3V 300K 500 KHZ
470 KHZ 120K 1.1 MHZ 1.1 MHZ 65K 2.1 MHZ 2 MHZ 32K 4.3 MHZ
4.1 MHZ 17K 8.3 MHZ 8 MHZ 14K
10.3 MHZ
10 MHZ
9. 封装尺寸
(a) 14 Pin DIP
8Bit Microcontroller (b) 14 Pin SOP