[电子电路]应广单片机PMS153 datasheet V0.02(CN)
[电子电路]应广单片机PMS153 datasheet
V0.02(CN)
篇一 : 应广单片机PMS153 datasheet V0.02
PMC153,PMS153系列
数据手册
IO类型单片机
第0.02版
2013年12月27日
Copyright ? 2013 by PADAUK Technology Co., Ltd., all rights
reserved
PMC153, PMS153系列
IO类型单片机
重要声明
应广科技保留权利在任何时候变更或终止产品,建议客户在使
用或下单前与应广科技或代理商联系以取得最新、最正确的产品信
息。 ........................................................................................ 27
5.8.2 掉电模
式 ........................................................................................ 28
5.8.3 唤
醒 ................................................................................................................... 29
5.9. IO引
脚 ......................................................................................................................... 30
5.10. 复位和
LVR .................................................................................................................. 31
5.10.1 复
位 ................................................................................................................ 31
5.10.2 LVR复
位 ........................................................................................................ 31
5.10.3 LVR复位注意事
項 .......................................................................................... 31
Page 3 of 53 PDK-DS-PMX153-CN-V0.02 – Dec. 27, 20132. 3. 4.
5. ?Copyright 2013, PADAUK Technology Co. Ltd
PMC153, PMS153系列
IO类型单片机
6. IO 寄存
器 ................................................................................................................
............. 33
6.1. 标志寄存器,IO 地址 =
0x00 ......................................................................... 33
6.2. 堆栈指针寄存器,IO地址 =
0x02 ..................................................................... 33
6.3. 时钟控制寄存器,IO地址 =
0x03 ............................................................... 33
6.4. 中断允许寄存器,IO地址 =
0x04 ................................................................... 34
6.5. 中断请求寄存器,IO地址 =
0x05 ................................................................... 34
6.6. Timer16控制寄存器,IO地址 =
0x06 ............................................................ 34
6.7. 外部晶体振荡器控制寄存器,IO地址 =
0x0a ..................................... 35
6.8. 内部高频RC振荡器控制寄存器,IO地址 =
0x0b ................................ 35
6.9. 中断缘选择寄存器 , IO地址 =
0x0c ................................................................ 35
6.10. 端口A数字输入启用寄存器, IO 地址 =
0x0d .................................................. 36
6.11. 端口B数字输入启用寄存器, IO地址 =
0x0e .................................................. 37
6.12. 端口A数据寄存器,IO地址 =
0x10 .................................................................. 38
6.13. 端口A控制寄存器,IO地址 =
0x11 ................................................................. 38
6.14. 端口A上拉控制寄存器,IO地址 =
0x12 ....................................................... 38
6.15. 端口B数据寄存器,IO地址 =
0x14 .................................................................. 38
6.16. 端口B控制寄存器,IO地址 =
0x15 ................................................................ 38
6.17. 端口B上拉控制寄存器,IO地址 =
0x16 ....................................................... 38
6.18. 杂项寄存器, IO 地址 =
0x3b .............................................................................. 39
7. 指
令 ................................................................................................................
...................... 40
7.1. 数据传输类指
令............................................................................................................ 41
7.2. 算术运算类指
令............................................................................................................ 44
7.3. 移位运算类指
令............................................................................................................ 46
7.4. 逻辑运算类指
令............................................................................................................ 47
7.5. 位运算类指
令 ............................................................................................................... 49
7.6. 条件运算类指
令............................................................................................................ 49
7.7. 系统控制类指
令............................................................................................................ 50
7.8. 指令执行周期综
述 ........................................................................................................ 52
7.9. 指令影响标志的综
述 .................................................................................................... 53
?Copyright 2013, PADAUK Technology Co. LtdPage 4 of 53
PDK-DS-PMX153-CN-V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
修订历史:
修 订 日 期 描 述 初版
增加5.10.3 LVR复位注意事項
?Copyright 2013, PADAUK Technology Co. LtdPage 5 of 53
PDK-DS-PMX153-CN-V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
1. 单片机特点
1.1. 系列特点
? PMC153系列:
?
?
?
?
? 高抗干扰系列 工作温度范围:-40?C ~ 85?C 通用系列 请勿使用于AC阻容降压供电,强电源纹波,或高EFT
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
之应用 工作温度范围:0?C ~ 70?C ? PMS153系列:
1.2. 系统功能
? 时钟模式:内部高频振荡器、内部低频振荡器
? 内置高频RC振荡器
? 内置Band-gap硬件模块输出1.20V参考电压
? 硬件16位定时器
? 快速唤醒功能
? 8段LVR复位设定~ 4.1V, 3.6V, 3.1V, 2.8V, 2.5V, 2.2V, 2.0V,
1.8V ? 12 个IO引脚具有10mA电流驱动能力 ? 2个外部中断输入引脚
? 每个引脚都可设定唤醒功能
? 工作频率
0 ~ 8MHz@VDD?3.3V; 0 ~ 4MHz@VDD?2.5V;
? 工作电压:2.2V ~ 5.5V
? 功耗特性:
Ioperating ~ 1.7mA@1MIPS, VDD=5.0V; Ioperating ~
8uA@12kHz, VDD=3.3V Ipowerdown ~ 1uA@VDD=5.0V;
Ipowerdown ~ 0.5uA@VDD=3.3V ? 购买信息: SOP14 / DIP14封装 0 ~ 2MHz@VDD?2.2V;
1.3. CPU特点
? 工作模式:单一处理单元的工作模式
? 1KW OTP程序存储器
? 64字节数据存储器
? 提供79条指令
? 绝大部分指令都是单周期指令
? 可程序设定的堆栈深度
? 所有的数据存储器都可当数据指针
? 独立的IO地址以及存储地址方便程序开发
?Copyright 2013, PADAUK Technology Co. LtdPage 6 of 53
PDK-DS-PMX153-CN-V0.02 – Dec. 27, 2013
IO 端口
64字节数据存储器
上电复位& LVR
看门狗计数器
电源管理
?Copyright 2013, PADAUK Technology Co. Ltd
Page 7 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
3. 引脚功能说明
PB5PB6PB7VDDPA7PA6
PA5/PRST#
PB2PB1PB0/INT1GNDPA0/INT0PA4PA3
PMC153 PMC153
?Copyright 2013, PADAUK Technology Co. Ltd
Page 8 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
类型 功能描述
此引脚可当端口A位7,并可编程设定为输入或输出,弱上拉电阻模式。 省电模式消耗电流 输入低电压 输入高电压 IO 引脚输出灌电流 IO 引脚输出驱动电流
下列所有数据除特别列明外,皆于Ta = -40 oC ~ 85 oC,
VDD=5.0V, fSYS=2MHz之条件下获得。[]
特 性
最小值
典型值
最大值
单位
条 件
Under_20ms_Vdd_ok**= Y/N
VDD?2.5V / VDD?3.1V
8M 0
VDD?2.2V / VDD?2.5V
0 4M Hz
VDD?2.2V / VDD?2.2V
0 2M
VDD = 5.0V 35K
1 7 1
0.5
mA uA uA uA
fSYS=1MIPS@5.0V
fSYS=ILRC=21kHz@3.3V fSYS= 0Hz,VDD=5.0V f= 0Hz,VDD=3.3V
IOP IPD
IPS VIL VIH IOL IOH VIN
VDD=5.0V;
Band-gap, LVR, IHRC, ILRC,
Timer16 硬件模块开启.
0.3VDD0.7 VDD
VDD
VDD=5.0V, VOL=0.5V VDD=5.0V, VOH=4.5V mA 3.86 3.35 2.84 2.61 2.372.04 1.86 62 100 210 4.15 3.60 3.05 2.80 2.55 2.20 2.00
1.80
4.44 3.85 3.26 3.00 2.73 2.35 2.14 1.93
K?
VDD+0.3?VIN? -0.3 VDD=5.0V VDD=3.3V V=2.2V
输入电压VDD+0.3I 脚位的引入电流 RPH
上拉电阻
VLVR
低电压侦测电压 *
?Copyright 2013, PADAUK Technology Co. Ltd
Page 11 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
符 号
特 性
最小值 15.20*15.28* 15.20*15.28*29.7* 22.7* 24.5*
典型值 16* 16* 16* 16* 35* 35* 35*
最大值 16.80*16.72 16.80*16.7239.6*47.3*45.5*
单位
条 件
VDD=2.2V~5.5V, -40oC VDD=5.0V, 0oC fIHRC
IHRC输出频率 * MHz
fILRC
ILRC输出频率 *
19.8*11.3* 11.9*
17* 17*
23.6*22.1*
tINT VDR
中断脉冲宽度
数据存储器数据保存电压*
VDD5V 掉电模式下
ILRC
misc[1:0]=01
时钟
16384misc[1:0]=10
周期
misc[1:0]=11
4096
28
48 2048
misc[1:0]=00
tWDT 看门狗超时溢出时间
tSBP 系统开机时间 系统唤醒时间 :
STOPEXE省电模式下,切换IO引脚的快速唤醒
@VDD=5V, ILRC~35kHz
@VDD=3.3V, ILRC~21kHz
TSYS
128 TSYS
+
TSYS是系统时钟周期
TSIHRC是IHRC从上电后的稳
定时间
TSYS是ILRC时钟周期
tWUP STOPSYS掉电模式下,切换IO引脚
的快速唤醒; IHRC 是系统时钟
STOPEXE省电模式和STOPSYS掉电模式下,切换IO引脚的普通唤醒
TSIHRC
TILRC
tRST
外部复位脉冲宽度 @VDD=5V
*这些参数是
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
参考值,并不是每个芯片测试。
** Under_20ms_Vdd_Ok 为对Vdd能否于20ms内从0V上升到指定电压的一个检查条件。
?Copyright 2013, PADAUK Technology Co. Ltd
Page 12 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
4.2. 绝对最大值
?
?
?
?
?
电源电压 ………………………………...... 2.2V ~ 5.5V 输入电压 ………………………………….. -0.3V ~ VDD + 0.3V 工作温度 ………………..………………… -40?C ~ 85?C 工作温度 ………………..………………… 0?C ~ 70?C 储藏温度 ……………………………..…… -50?C ~ 125?C
?Copyright 2013, PADAUK Technology Co. Ltd Page 13 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
4.3. IHRC频率与VDD关系曲线图
4.4. ILRC频率与VDD关系曲线图
?Copyright 2013, PADAUK Technology Co. Ltd Page 14 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
4.5. IHRC频率与温度关系曲线图
*PMS153的工作温度范围为0C到70C
4.6. ILRC频率与温度关系曲线图
*PMS153的工作温度范围为0C到70C
?Copyright 2013, PADAUK Technology Co. Ltd
Page 15 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
4.7. 工作电流与VDD、系统时钟CLK=IHRC/n曲线图
条件: 开启的硬件模块:Band-gap, LVR, IHRC, T16; 关闭的硬件模块:ILRC ; IO引脚:PA0以0.5Hz频率高低电压交换输出,无负载;其它引脚:设为输入且无空接
4.8. 工作电流与VDD、系统时钟CLK=ILRC/n曲线图
条件: 开启的硬件模块:Band-gap, LVR, ILRC, T16; 关闭的硬件模块:IHRC ;
IO引脚:PA0以0.5Hz频率高低电压交换输出,无负载;其它引脚:设为输入且无空接
?Copyright 2013, PADAUK Technology Co. Ltd
Page 16 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
4.9. 最低工作电流与VDD、系统时钟CLK=ILRC/n曲线图
条件: 开启的硬件模块:ILRC, T16; 关闭的硬件模块:IHRC, Band-gap, LVR ; IO引脚:PA0以0.5Hz频率高低电压交换输出,无负载;其它引脚:设为输入且无空
4.10. 引脚拉高电阻曲线图
Page 17 of 53 ?Copyright 2013, PADAUK Technology Co. Ltd
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
4.11. 引脚输出驱电流与灌电流 曲线图
4.12. 引脚输出输入高电压与低电压 曲线图
?Copyright 2013, PADAUK Technology Co. Ltd Page 18 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
5. 功能概述
5.1. OTP程序存储器
OTP程序存储器用来存放要执行的程序指令。,)OTP程序存储器可以储存数据,包含:数 据,
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
格和中断入口。复位之后,FPP0的初始地址为0x000。中断入口是0X010;OTP程序存储器最后8个地址空间是被保留给系统使用,如:校验,序列号等。PMC153,PMS153的OTP程序存储器容量为1KW,如表1所示。 OTP存储器从地址“0x3F8 to 0x3FF”供系统使用,从“0x001 ~ 0x00F”和“0x011~0x3F7”地址空间是用户的程序空间。
地址 功能 0x000 FPP0起始地址 – goto指令 0x001 用户程序区 ? ? ? ? 0x00F 用户程序区 0x010 中断入口地址
0x011 用户程序区 ? ? 0x3F7 用户程序区 0x3F8 系统使用 ? ? 0x3FF 系统使用
表1:PMC153,PMS153 程序存储器结构
5.2. 开机流程
开机时,POR是用于复位PMC153,PMS153;但是,上电后电源电压可能不太稳定,为确保单片机是工作在电压稳定的状态,在执行第一条指令之前,PMC153,PMS153会延迟1024个ILRC时钟周期,这时间就是tSBP,如图1所示。
图1:上电复位时序
?Copyright 2013, PADAUK Technology Co. Ltd
Page 19 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
5.3. 数据存储器 – SRAM
数据存取可以是字节或位的操作。与内部低频振荡器。这二个振荡器可以分别用寄存器clkmd.4与clkmd.2启用或禁用,使用者可以选择这二个振荡器之一作为系统时钟源,并透过clkmd寄存器来改变系统时钟频率,以满足不同的系统应用。 振荡器硬件
IHRC
ILRC
启用或禁用选择 clkmd.4 clkmd.2 开机后默识值 启用 启用 表2 : PMC153,PMS153提供2个振荡器电路
5.4.1 内部高频振荡器和内部低频振荡
开机后,IHRC和ILRC振荡器都是被启用的,PMC153,PMS153烧录工具提供IHRC频率校准,透过ihrcr寄存器来消除工厂生产引起的频率漂移,IHRC振荡器通常被校准到16MHz,通常校准后的频率偏差都在2,以内;且校准后IHRC的频率仍然会因电源电压和工作温度而略有漂移;在VDD =2.2V?5.5V,40??85?的条件下,总漂移率约为?5,,请参阅IHRC频率和VDD、温度的测量图表。
ILRC的频率是35 kHz左右,但是,其频率会因工厂生产、电源电压和温度而变化,请参阅DC规格表。需要精确定时的应用时请不要使用ILRC的时钟当作参考时间。
5.4.2 芯片校准
IHRC的输出频率可能因工厂制造变化而有所差异,PMC153,PMS153提供IHRC输出频率校准,来消除工厂生产时引起的变化。这个功能是在编译用户的程序时序做选择,校准命令以及选项将自动插入到用用户的程序,校准命令如下所示:
.ADJUST_IC SYSCLK=IHRC/, IHRC=MHz, VDD=V;
p1 =2,4,8,16,32;以提供不同的系统时钟。
p2 =14?18; 校准芯片到不同的频率,通常选择16MHz。
p3 =2.2?5.5; 根据不同的电源电压校准芯片。
?Copyright 2013, PADAUK Technology Co. Ltd Page 20 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
5.4.3 IHRC频率校准与系统时钟
用户在程序编译期间,IHRC频率校准以及系统时钟的选项,如表3所示:
SYSCLK
? Set IHRC / 2
? Set IHRC / 4
? Set IHRC / 8
? Set IHRC / 16
? Set IHRC / 32
? Set ILRC ? Disable CLKMD = 34h = 14h = 3Ch = 1Ch
= 7Ch = E4h No change IHRCR Calibrated Calibrated Calibrated
Calibrated Calibrated Calibrated No Change 描述 IHRC校准到16MHz, CLK=8MHz IHRC校准到16MHz, CLK=4MHz IHRC校准到16MHz, CLK=2MHz IHRC校准到16MHz, CLK=1MHz IHRC校准到16MHz, CLK=0.5MHz IHRC校准到16MHz, CLK=ILRC IHRC不校准, CLK没改变
表3:IHRC频率校准选项
通常情况下,ADJUST_IC将是开机后的第一个命令,以设定系统的工作频率。
图2:系统时钟源选择
?Copyright 2013, PADAUK Technology Co. Ltd Page 22 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
使用者可以在不同的需求下选择不同的系统时钟,选定的系统时钟应与电源电压和LVR的水平结合,才能使系统稳定。,] LVR的
水平是在在编译过程中选择,下面是工作频率和LVR水平设定的建议:
? 系统时钟为8MHz时,LVR=3.1V ? 系统时钟为4MHz时,LVR=2.5V ? 系统时钟为2MHz时,LVR=2.2V
IO类型单片机
5.5. 16位计数器
PMC153,PMS153内置一个16位硬件计数器,计数器时钟可来自于系统时钟、内部高频振荡时钟、内部低频振荡时钟或PA0和PA4,在送到时钟的16位计数器之前,1个可软件编程的预分频器提供?1、?4、?16、?64选择,让计数范围更大。16位计数器只能向上计数,计数器初始值可以使用stt16指令来设定,而计数器的数值也可以利用ldt16指令存储到SRAM数据存储器。可软件编程的选择器用于选择Timer16的中断条件,当计数器溢出时, Timer16可以触发中断。中断源是来自16位计数器的位8到位15,中断类型可以上升沿触发或下降沿触发,是经由寄存器integs.4选择。Timer16模块框图如图3。
图3:Timer16模块框图
使用Timer16时,Timer16的语法定义在.inc文件中。共有三个参数来定义Timer16的使用,第一个参数是用来定义Timer16的时钟源,第二个参数是用来定义预分频器,第三个参数是确定中断源。
T16M IO_RW 0x06
$ 7~5: STOP, SYSCLK, X, X, IHRC, X, ILRC, PA0_F // 第一个
参数 $ 4~3: /1, /4, /16, /64 // 第二个参数 $ 2~0: BIT8, BIT9, BIT10,
BIT11, BIT12, BIT13, BIT14, BIT15 // 第三个参数
?Copyright 2013, PADAUK Technology Co. Ltd
Page 23 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
使用者可以依照系统的要求来定义T16M参数,例子如下:
$ T16M SYSCLK, /64, BIT15;
// 选择 当Timer16时钟源,每2 个时钟周期产生一次
INTRQ.2=1
// 系统时钟System Clock = IHRC / 2 = 8 MHz
// SYSCLK/64 = 8 MHz/64 = 8 uS,约每524 mS产生一次INTRQ.2=1
$ T16M PA0, /1, BIT8;
// 选择PA0当Timer16时钟源, 每2 个时钟周期产生一次 INTRQ.2=1
// 每接收512 个PA0个时钟周期产生一次INTRQ.2=1
$ T16M STOP;
// 停止Timer16计数 IO类型单片机
5.6. 看门狗
看门狗是一个计数器,其时钟源来自内部低频振荡器,频率大约是35kHz。使中断运行,以及使用disgint指令停用它。中断堆栈是
共享数据存储器,其地址由堆栈寄存器sp指定。由于程序计数器是16位宽度,堆栈寄存器sp位0应保持0。此外,用户可以使用pushaf指令存储ACC和标志寄存器的值到堆栈,以及使用popaf指令将值从堆栈恢复到ACC和标志寄存器中。
由于堆栈是共享数据存储器,使用者应仔细使用,通过软件编程调整栈点在存储器的位置,每个堆栈指针的深度可以完全由用户指定,以实现最大的系统弹性。
图5:中断硬件框图
一旦发生中断,其具体工作流程将是:
? 程序计数器将自动存储到sp寄存器指定的堆栈存储器。
? 新的sp将被更新为sp+2。
? 全局中断将自动被禁用。
? 将从地址 0x010获取下一条指令。
在中断服务程序中,可以通过读寄存器intrq知道中断发生源。
中断服务程序完成后,发出reti指令返回既有的程序,其具体工作流程将是:
? 从sp寄存器指定的堆栈存储器自动恢复程序计数器。
? 新的sp将被更新为sp-2。
? 全局中断将自动启用。
? 下一条指令将是中断前原来的指令。
?Copyright 2013, PADAUK Technology Co. Ltd Page 25 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
使用者必须预留足够的堆栈存储器以存中断向量,一级中断需要两个字节,两级中断需要4个字节。是在降低工作电流而且CPU保持在随时可以继续工作的状态,掉电模式是用来深度的节省电力。因此,省电模式适合在偶尔需要唤醒的系统工作,掉电模式是在非常低消耗功率且很少需要唤醒的系统中使用。图6显示省电模式和掉电模式之间在振荡器模块的差异,没改变就是维持原状态。
STOPSYS和STOPEXE模式下在振荡器的差异
STOPSYS 停止 停止
STOPEXE 没改变 没改变
图6 :省电模式和掉电模式在振荡器模块的差异
5.8.1 省电模式
使用stopexe指令进入省电模式,只有系统时钟被禁用,其余所有的振荡器模块都仍继续工作。所以只有CPU是停止执行指令,然而, 对Timer16计数器而言,如果它的时钟源不是系统时钟,那Timer16仍然会保持计数。stopexe的省电模式下,唤醒源可以是IO的切换,或者Timer16计数到设定值时。假如系统唤醒是因输入引脚切换,那可以视为单片机继续正常的运行,在stopexe指令之后最好加个nop指令,省电模式的详细信息如下所示:
? IHRC和ILRC振荡器模块:没有变化。如果它被启用,它仍
然继续保持活跃。
? 系统时钟禁用。因此,CPU停止执行。
? OTP存储器被关闭。
? Timer16:停止计数,如果选择系统时钟或相应的振荡器模块被禁止,否则,仍然保持计数。 ? 唤醒请注意在下“stopexe”命令前,必须先关闭看门狗时钟以避免发生复位,例子如下:
另一个例子是利用Timer16来唤醒系统因stopexe的省电模式:
$ T16M
…
IHRC, /1, BIT8 // Timer16 setting PDK-DS-PMX153-CN_V0.02
– Dec. 27, 2013 CLKMD.En_WatchDog = stopexe; nop; …. Wdreset;
CLKMD.En_WatchDog = 0; // 关闭看门狗时钟 // 省电中 // 开启看门狗时钟 1; ?Copyright 2013, PADAUK Technology Co. Ltd Page 27 of
53
PMC153, PMS153系列
WORD count = 0; STT16 count; stopexe; nop; … IO类型单片机
Timer16的初始值为0,在Timer16计数了256个IHRC时钟后,系统将被唤醒。[].
5.8.2 掉电模式
掉电模式是深度省电的状态,所有的振荡器模块都会被关闭。使用stopsys指令就可以使PMC153,PMS153芯片直接进入掉电模式。
在进入掉电模式之前,必须启用内部低频振荡器以便唤醒系统时使用,也就是说在发出stopsys命令之前,clkmd寄存器的位2必须设置为1。下面显示发出stopsys命令后,PMC153,PMS153内部详细的状态:
? 所有的振荡器模块被关闭。
? 启用内部低频振荡器。
? OTP存储器被关闭。
? SRAM和寄存器
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
保持不变。
? 唤醒源:任何IO切换。
? 如果PA或PB是输入模式,并由padier寄存器设置为模拟输入,那该引脚是不能被用来唤醒系统。
输入引脚的唤醒可以被视为正常运行的延续,为了降低功耗,进入掉电模式之前,所有的I/O引脚应仔细检查,避免悬空而漏电。断电参考示例程序如下所示:
CMKMD = 0xF4; // 系统时钟从IHRC变为ILRC,关闭看门狗时钟
CLKMD.4 = 0; // IHRC禁用
…
while
{
STOPSYS; // 进入断电模式
if break; // 假如发生唤醒而且检查OK, 就返回正常工作
// 否则,停留在断电模式。
}
CLKMD =
?Copyright 2013, PADAUK Technology Co. Ltd 0x34; // 系统时钟从ILRC变为IHRC/2 Page 28 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
5.8.3 唤醒 IO类型单片机
进入掉电或省电模式后,PMC153,PMS153可以通过切换IO引脚恢复正常工作;而Timer16中断的唤醒只适用于省电模式。[)图7显示stopsysy掉电模式和stopexe省电模式在唤醒源的差异。
掉电模式和省电模式在唤醒源的差异
stopsys
stopexe 切换IO引脚中断 是 是
图7:掉电模式和省电模式在唤醒源的差异 否 是
当使用IO引脚来唤醒PMC153,PMS153,寄存器padier应正确设置,使每一个相应的引脚可以有唤醒功能。从唤醒事件发生后开始计数,正常的唤醒时间大约是1024 ILRC钟表;另外,PMC153,PMS153提供快速唤醒功能,透过misc寄存器选择快速唤醒可以降低唤醒时间。对快速开机而言,假如是在stopexe省电模式下,切换IO引脚的快速唤醒时间为128个系统时钟周期;假如是在stopsysy掉电模式下,
切换IO引脚的快速唤醒时间为128个系统时钟周期加上上电后IHRC振荡器的稳定时间。
模式
STOPEXE省电模式
STOPSYS掉电模式
STOPEXE省电模式
STOPSYS掉电模式 唤醒模式 快速唤醒 系统时钟源 切换IO引脚的唤醒时间 任一* TSYS,;这里TSYS是系统时钟周期 128 TSYS + TSIHRC; 快速唤醒这里TSIHRC是IHRC从上电到稳定的时间 普通唤醒 普通唤醒 任一* TILRC;这里TILRC是ILRC时钟周期 任一* TILRC;这里TILRC是ILRC时钟周期
表 4 : 切换IO引脚的唤醒时间
?Copyright 2013, PADAUK Technology Co. Ltd Page 29 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
5.9. IO引脚
除了PA5,PMC153,PMS153所有IO引脚都可以设定成输入或输出,透过数据寄存器,控制寄存器和弱上拉电阻设定,每一IO引脚都可以独立配置成不同的功能;所有这些引脚设置有施密特触发输入缓冲器和CMOS输出驱动电位水平。,)当这些引脚为输出低电位
时,弱上拉电阻会自动关闭。如果要读取端口上的电位状态,一定要先设置成输入模式;在输出模式下,读取到的数据是数据寄存器的值。图8显示了IO缓冲区硬件图, 表5为端口PA0位的设定配置表。
pa.0 pac.0 描述 输入,没有弱上拉电阻 输入,有弱上拉电阻 输出低电位,没有弱上拉电阻 输出高电位,没有弱上拉电阻 输出高电位,有弱上拉电阻
表5 : PA0设定配置表
图8:引脚缓冲区硬件图
?Copyright 2013, PADAUK Technology Co. Ltd Page 30 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
除了PA5外,所有的IO引脚具有相同的结构;PA5的输出只能是漏极开路模式。,而且恰巧电源VDD在下降至低于LVD电位但高于1.0V时,被重新拉升超过LVD电位,此时单片机有一定机率发生工作异常或停止工作的情况。
VDD LVR值 1.0V 输出
单片机在LVR复位状态
假如正常,IO脚输出信号 假如异常,IO脚停止输出信号
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013 ?Copyright 2013,
PADAUK Technology Co. Ltd Page 31 of 53
PMC153, PMS153系列
要避免在上述问题,请跟从以下步骤:
步驟1. 在 .ADJUST_IC指令的下面必须加入以下两行语句
SET1 inten.7
注:IDE 0.57 或以上版本会自动加入这行。,)
Intrq = 0;
注:IDE 0.59 或以上版本会自动加入这两行。
步驟2. 于整个程序中不要把inten.7清零。特别要注意避免因对整个inten寄存器进行写入操作时把 inten.7意外清零。
请使用set1/set0指令修改个别中断允许标志。
注:IDE 0.57 或以上版本,对inten.7的清零操作会被自动禁止。
步驟3. wdreset 的用法:
把程序里的wdreset指令改写为下列写法
C语言: If reset; else {wdreset;}
汇编语言: t1sn inten.7;
reset
wdreset
或使用如下写法:
.wdreset
步驟4. clkmd 的用法:
程序中有设置clkmd并且设置后clkmd.1 = 0, 则需要在后面增加下面语句:
C语言: If reset;
汇编语言: t1sn inten.7;
或使用如下写法设置clkmd:
.clkmd = 0x hh;
reset IO类型单片机
?Copyright 2013, PADAUK Technology Co. Ltd Page 32 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
6. IO 寄存器
6.1. 标志寄存器,IO 地址 = 0x00
位 7 – 4
初始值 读/写 -
-
描 述
保留。。当数学运算溢出时,这一位会设置为1。
读/写 AC。两个条件下,此位设置为1:是进行低半字节加法运算产生进位
减法运算时,低半字节向高半字节借位。 读/写 C。有两个条件下,此位设置为1:加法运算产生进位减法运算有借
位。进位标志还受带进位标志的shift指令影响。 读/写 Z。此位将被设置为1,当算术或逻辑运算的结果是0;否则将被清零。
6.2. 堆栈指针寄存器,IO地址 = 0x02
位 7 – 0
初始值 读/写 -
读/写
描 述
堆栈指针寄存器。读出当前堆栈指针,或写入以改变堆栈指针。请注意0位必须维持为0 因程序计数器是16位。
6.3. 时钟控制寄存器,IO地址 = 0x03
位
初始值 读/写
描 述 系统时钟选择
类型0, clkmd[3]=0
000: IHRC?4
7 – 5
111
读/写
001: IHRC?2 01x: 保留 10x: 保留 110: ILRC?4 111: ILRC
读/写 内部高频RC振荡器功能。 0/1:禁用/启用 读/写
时钟类型选择。这个位是用来选择位7~位5的时钟类型。 0 / 1: 类型0 /类型1
内部低频RC振荡器功能。0/1:禁用/启用
当内部低频RC振荡器功能禁用时,看门狗功能同时被关闭。
类型1, clkmd[3]=1
000: IHRC?16 001: IHRC?8 010: 保留 011: IHRC?32 100: 保留 1xx: 保留
读/写
读/写 看门狗功能。 0/1:禁用/启用
读/写 引脚PA5/PRSTB 功能. 0 / 1: PA5 / PRSTB.
?Copyright 2013, PADAUK Technology Co. Ltd
Page 33 of 53 PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
6.4. 中断允许寄存器,IO地址 = 0x04
位
7 – 3 初始值 读/写 - 读/写 保留。,] 描 述
读/写 启用从Timer16的溢出中断。0/1:禁用/启用
读/写 启用从PB0的溢出中断。0/1:禁用/启用
读/写 启用从pa0的中断。 0/1:禁用/启用
6.5. 中断请求寄存器,IO地址 = 0x05
位
7 – 3 初始值 读/写 - 读/写 保留。 描 述
读/写 Timer16的中断请求,此位是由硬件置位并由软件清零。 0/1:不要求/请求 读/写 PB0的中断请求,此位是由硬件置位并由软件清零。 0/1:不要求/请求 读/写 PA0的中断请求,此位是由硬件置位并由软件清零。 0/1:不要求/请求 6.6. Timer16控制寄存器,IO地址 = 0x06
位 初始值 读/写
Timer16 时钟选择:
000: Timer16禁用
001:CLK系统时钟
7 – 5 000 读/写 01X: 保留 100:IHRC
101:保留
110:ILRC
111:PA0
4 – 3 00 读/写 Timer16内部的时钟分频器 00: ?1 , 01: ?4 , 10: ?16 , 11: ?64
中断源选择。当选择位由低变高或高变低时,发生中断事件。
0 :Timer16位8
1 :Timer16位9
2 :Timer16位10
2 – 0 000 读/写 3 :Timer16位11
4 :Timer16位12
5 :Timer16位13
6 :Timer16位14
7 :Timer16位15 描 述
?Copyright 2013, PADAUK Technology Co. Ltd Page 34 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
6.7. 外部晶体振荡器控制寄存器,IO地址 = 0x0a 位
7 – 1 初始值 - 读/写 - 保留. 请设为0。[, 描 述
只写 将Band-gap和LVR硬件模块断电。 0 / 1:正常/ 断电
6.8. 内部高频RC振荡器控制寄存器,IO地址 = 0x0b 位
5 – 0 初始值 -- 读/写 只写 描 述 内部高频RC振荡器的速度校准的位[5:0]。
这个寄存器是给系统频率校准使用,使用者请勿自行填入值。
6.9. 中断缘选择寄存器 , IO地址 = 0x0c
位
7 – 5 初始值 - 读/写 - 保留。请设为0。
Timer16中断缘选择。
只写 0 : 上升缘请求中断。
1 : 下降缘请求中断。
PB0中断缘选择.
00 : 上升缘和下降缘都请求中断
3 – 2 00 只写 01 : 上升缘请求中断。
10 : 下降缘请求中断。
11 : 保留.
PA0中断缘选择。
00 : 上升缘和下降缘都请求中断。
1 – 0 00 只写 01 : 上升缘请求中断。
10 : 下降缘请求中断。
11 : 保留。 描 述
?Copyright 2013, PADAUK Technology Co. Ltd Page 35 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
6.10. 端口A数字输入启用寄存器, IO 地址 = 0x0d
位 初始值 读/写 描 述
启用PA7~PA3系统唤醒。 1 / 0 : 启用 / 禁用
只写 当这个位设为0时,PB7无法用来唤醒系统。
注意:使用仿真器时,当此位为1时,功能是被禁用的;0才是启用
启用PB6系统唤醒。 1 / 0 : 启用 / 禁用
只写 当这个位设为0时,PB6无法用来唤醒系统。
注意:使用仿真器时,当此位为1时,功能是被禁用的;0才是启用
启用PB5系统唤醒。 1 / 0 : 启用 / 禁用
只写 当这个位设为0时,PB5无法用来唤醒系统。
注意:使用仿真器时,当此位为1时,功能是被禁用的;0才是启用
4 – 3 - - 保留。
启用PB2系统唤醒。 1 / 0 : 启用 / 禁用
只写 当这个位设为0时,PB2无法用来唤醒系统。
注意:使用仿真器时,当此位为1时,功能是被禁用的;0才是启用
启用PB1系统唤醒。 1 / 0 : 启用 / 禁用
只写 当这个位设为0时,PB1无法用来唤醒系统。
注意:使用仿真器时,当此位为1时,功能是被禁用的;0才是启用
启用PB0系统唤醒和中断请求。 1 / 0 : 启用 / 禁用
只写 当这个位设为0时,PB0无法用来唤醒系统和中断请求。
注意:使用仿真器时,当此位为1时,功能是被禁用的;0才是启用
请注意:在仿真器模拟时和实际芯片,这个寄存器的控制正好相反,为了在仿真器模拟和实际芯片能是相同的一个程序,请使用下
面的命令来写入这个寄存器:
“$ PBDIER
例如: $ PBDIER 0xhh” ; 0xF0;
上面命令用来在仿真器模拟和实际芯片时,都能自动且正确开启端口A数字输入启用寄存器位[7:4]的数字输入和唤醒功能。
?Copyright 2013, PADAUK Technology Co. Ltd Page 37 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
6.12. 端口A数据寄存器,IO地址 = 0x10 位
7 – 0 初始值 0x00 读/写 读/写 数据寄存器的端口A。[) 描 述 6.13. 端口A控制寄存器,IO地址 = 0x11 位
7 - 0 初始值 0x00 读/写 读/写 式。0/1:输入/输出 描 述 端口A控制寄存器。这些寄存器是用来定义端口A每个相应的引脚的输入模式或输出模 6.14. 端口A上拉控制寄存器,IO地址 = 0x12 位
7 - 0 初始值 0x00 读/写 读/写 0/1:禁用/启用
请注意:端口A位5没有上拉电阻。 描 述 端口A上拉控制寄存器。这些寄存器是用来控制上拉高端口A每个相应的引脚。
6.15. 端口B数据寄存器,IO地址 = 0x14 位
7 – 0 初始值 0x00 读/写 读/写 数据寄存器的端口B。 描 述
6.16. 端口B控制寄存器,IO地址 = 0x15 位
7 - 0 初始值 0x00 读/写 读/写 式。0/1:输入/输出 描 述 端口B控制寄存器。这些寄存器是用来定义端口B每个相应的引脚的输入模式或输出模
6.17. 端口B上拉控制寄存器,IO地址 = 0x16 位
7 - 0 初始值 0x00 读/写 读/写 0/1:禁用/启用 描 述 端口B上拉控制寄存器。这些寄存器是用来控制上拉高端口B每个相应的引脚。
?Copyright 2013, PADAUK Technology Co. Ltd Page 38 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
6.18. 杂项寄存器, IO 地址 = 0x3b
位
7 – 6 初始值 - 读/写 - 保留。[]
快唤醒功能。
0: 正常唤醒。唤醒时间为1024 ILRC时钟。
1: 快唤醒。 唤醒时间为128个系统时钟加震荡稳定时间。
如果从STOPEXE唤醒,震荡稳定时间为0
如果从STOPSYS唤醒,震荡稳定时间为IHRC或者ILRC的上电震荡稳定时间
保留。
从LVR复位后,单片机开机时间:
0:正常。从LVR复位后,单片机开机时间约为1024个ILRC。
1:快速。从LVR复位后,单片机开机时间约为64个ILRC。
禁用LVR功能: 0 / 1 : 启用 / 禁用
看门狗时钟超时时间设定:
00: 2048 个ILRC时钟周期
1 – 0 00 WO 01: 4096个ILRC时钟周期
10: 16384个ILRC时钟周期
11: 256个ILRC时钟周期 描 述辑OR 移动 异或OR 加 减 NOT 2补数 溢出 零 进位 辅助进位标志。
clear hb@T16val ; // 清零T16val
stt16 T16val ; // 设定Timer16的起始值为0
…
set1 t16m.5 ; // 启用 Timer16
…
set0 t16m.5 ; // 禁用Timer16
ldt16 T16val ; // 将Timer16的16位计算值复制到RAM T16val ….
-----------------------------------------------------------------------------------------
-------------------------------
?Copyright 2013, PADAUK Technology Co. Ltd Page 41 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
stt16 word 将放在word的16位RAM复制到Timer16。[]
例如: stt16 word;
结果: 16-bit timer ? word
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
应用范例:
-----------------------------------------------------------------------------------------
-------------------------------
word T16val ; // 定义一个RAM word
…
mov a, 0x34 ;
mov lb@T16val, a ; // 将0x34搬到T16val
mov a, 0x12 ;
mov hb@T16val, a ; // 将0x12搬到T16val
stt16 T16val ; // Timer16初始化 0x1234
…
-----------------------------------------------------------------------------------------
-----------------------------
idxm a, 使用索引作为RAM的地址并将RAM的数据读取并载入到累加器。它需要2T时间执行这一指令。
例如: idxm a, index;
结果: a ? [index], index是用word定义。
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
应用范例:
word RAMIndex ; // 定义一个RAM指针
…
mov a, 0x5B ; // 指定指针地址
mov lb@RAMIndex, a ; // 将指针存到RAM
mov a, 0x00 ; // 指定指针地址为0x00,在PMC153,PMS153要为0
mov hb@RAMIndex, a ; // 将指针存到RAM
…
idxm a, RAMIndex ; // 将RAM地址为0x5B 的数据读取并载入累加器
-----------------------------------------------------------------------------------------
------------------------------- IO类型单片机
?Copyright 2013, PADAUK Technology Co. Ltd Page 42 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
Idxm index, 使用索引作为RAM的地址并将累加器的数据读取并载入到RAM。,)它需要2T时间执行这一指令。
例如:idxm index, a;
结果: [index] ? a; index是以word定义.
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
应用范例:
word RAMIndex ; // 定义一个RAM指针
…
mov a, 0x5B ; // 指定指针地址
mov lb@RAMIndex, a ; // 将指针存到RAM
mov a, 0x00 ; //指定指针地址为0x00,在PMC153,PMS153要为0
mov hb@RAMIndex, a ; // 将指针存到RAM
…
mov a, 0Xa5 ;
idxm RAMIndex, a ; // 将累加器数据读取并载入地址为0x5B的RAM
-----------------------------------------------------------------------------------------
-------------------------------
xch M 累加器与RAM之间交换数据
例如: xch MEM ;
结果: MEM ? a , a ? MEM
pushaf 受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』 将累加器和算术逻辑状态寄存器的数据存到堆栈指针指定的堆栈存储器
例如:pushaf;
结果: [sp] ? {flag, ACC};
sp ? sp + 2 ;
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
应用范例:
-----------------------------------------------------------------------------------------
-------------------------------
.romadr 0x10 ; // 中断服务程序入口地址
popaf pushaf ; // 将累加器和算术逻辑状态寄存器的资料存到堆栈存储器 … // 中断服务程序 … // 中断服务程序 popaf ; // 将堆栈存储器的资料回存到累加器和算术逻辑状态寄存器 reti ;
-----------------------------------------------------------------------------------------
------------------------------- 将堆栈指针指定的堆栈存储器的数据回传到累加器和算术逻辑状态寄存器
例如:popaf;
结果: sp ? sp - 2 ;
{Flag, ACC} ? [sp] ;
受影响的标志位:Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』
?Copyright 2013, PADAUK Technology Co. Ltd Page 43 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
7.2. 算术运算类指令
add a, I 将立即数据与累加器相加,然后把结果放入累加器
例如: add a, 0x0f ;
结果: a ? a + 0fh
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 add a, M 将RAM与累加器相加,然后把结果放入累加器
例如: add a, MEM ;
结果: a ? a + MEM
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 add M, a 将RAM与累加器相加,然后把结果放入RAM
例如: add MEM, a;
结果: MEM ? a + MEM
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 addc a, M 将RAM、累加器以及进位相加,然后把结果放入累加器
例如: addc a, MEM ;
结果: a ? a + MEM + C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 addc M, a 将RAM、累加器以及进位相加,然后把结果放入RAM
例如: addc MEM, a ;
结果: MEM ? a + MEM + C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 addc a 将累加器与进位相加,然后把结果放入累加器
例如: addc a ;
结果: a ? a + C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 addc M 将RAM与进位相加,然后把结果
放入RAM
例如: addc MEM ;
结果: MEM ? MEM + C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 sub a, I 累加器减立即数据,然后把结果放入累加器
例如: sub a, 0x0f;
结果: a ? a - 0fh
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 sub a, M 累加器减RAM,然后把结果放入累加器
例如: sub a, MEM ;
结果: a ? a - MEM
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』
?Copyright 2013, PADAUK Technology Co. Ltd Page 44 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
sub M, a RAM减累加器,然后把结果放入RAM
例如: sub MEM, a;
结果: MEM ? MEM - a
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 subc a, M 累加器减RAM,再减进位,然后把结果放入累加器
例如: subc a, MEM;
结果: a ? a – MEM - C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 subc M, a RAM减累加器,再减进位,然后把结果放入RAM
例如: subc MEM, a ;
结果: MEM ? MEM – a - C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 subc a 累加器减进位,然后把结果放入累加器
例如: subc a;
结果: a ? a - C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 subc M RAM减进位,然后把结果放入RAM
例如: subc MEM;
结果: MEM ? MEM - C
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 inc M RAM加1
例如: inc MEM ;
结果: MEM ? MEM + 1
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 dec M RAM减1
例如: dec MEM;
结果: MEM ? MEM - 1
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 clear M 清除RAM为0
例如: clear MEM ;
结果: MEM ? 0
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
?Copyright 2013, PADAUK Technology Co. Ltd Page 45 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
7.3. 移位运算类指令
sr a 累加器的位右移,位7移入值为0
例如: sr a ;
结果: a ? a , C ? a 受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 src a 累加器的位右移,
位7移入进位标志位
例如: src a ;
结果: a ? a , C ? a 受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 sr M RAM的位右移,位7移入值为0
例如: sr MEM ;
结果: MEM ? MEM, C ? MEM受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 src M RAM的位右移,位7移入进位标志位
例如: src MEM ;
结果: MEM ? MEM , C ? MEM受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 sl a 累加器的位左移,位0移入值为0
例如: sl a ;
结果: a ? a , C ? a 受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 slc a 累加器的位左移,位0移入进位标志位
例如: slc a ;
结果: a ? a , C ? a 受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 sl M RAM的位左移,位0移入值为0
例如: sl MEM ;
结果: MEM ? MEM , C ? MEM受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 slc M RAM的位左移,位0移入进位标志位
Example: slc MEM ;
结果: MEM ? MEM , C ? MEM
受影响的标志位: Z:『不变』, C:『受影响』, AC:『不变』, OV:『不变』 swap a 累加器的高4位与低4位互换
例如:swap a ;
结果: a ? a 受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
?Copyright 2013, PADAUK Technology Co. Ltd Page 46 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』, OV:『不变』 and a, M 累加器和RAM执行逻辑AND,然后把结果保存到累加器
例如:and a, RAM10 ;
结果: a ? a & RAM10
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』, OV:『不变』 and M, a 累加器和RAM执行逻辑AND,然后把结果保存到RAM
例如: and MEM, a ;
结果: MEM ? a & MEM
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』, OV:『不变』 or a, I 累加器和立即数据执行逻辑OR,然后把结果保存到累加器
例如: or a, 0x0f ;
结果: a ? a | 0fh
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』, OV:『不变』 or a, M 累加器和RAM执行逻辑OR,然后把结果保存到累加器
例如:or a, MEM ;
结果: a ? a | MEM
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』, OV:『不变』 or M, a 累加器和RAM执行逻辑OR,然后把结果保存到RAM
例如: or MEM, a ;
结果: MEM ? a | MEM
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』, OV:『: a ? ?a
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』, OV:『不变』 应用范例:
-----------------------------------------------------------------------------------------
------------------------------- mov a, 0x38 ; // ACC=0X38
not a ; // ACC=0XC7
-----------------------------------------------------------------------------------------
-------------------------------not M RAM执行1补码运算,结果放在RAM
例如: not MEM ;
结果: MEM ? ?MEM
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』,
OV:『不变』 应用范例:
-----------------------------------------------------------------------------------------
------------------------------- mov a, 0x38 ;
mov mem, a ; // mem = 0x38
not mem ; // mem = 0xC7
-----------------------------------------------------------------------------------------
-------------------------------neg a 累加器执行2补码运算,结果放在累加
器
例如: neg a;
结果: a ?a的2补码
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』,
OV:『不变』 应用范例:
------------------------------------------------------------------------------------------------------------------------ mov a, 0x38 ; // ACC=0X38
neg a ; // ACC=0XC8
------------------------------------------------------------------------------------------------------------------------neg M RAM执行2补码运算,结果放在RAM
例如: neg MEM;
结果: MEM ? MEM的2补码
受影响的标志位: Z:『受影响』, C:『不变』, AC:『不变』,
OV:『不变』 应用范例:
------------------------------------------------------------------------------------------------------------------------ mov a, 0x38 ;
mov mem, a ; // mem = 0x38
not mem ; // mem = 0xC8
------------------------------------------------------------------------------------------------------------------------IO类型单片机
?Copyright 2013, PADAUK Technology Co. Ltd Page 48 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
IO类型单片机
7.5. 位运算类指令
set0 IO.n IO口的位N拉低电位
例如: set0 pa.5 ;
结果: PA5=0
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
set1 IO.n IO口的位N拉高电位
例如:set1 pb.5 ;
结果: PB5=1
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
set0 M.n RAM的位N设为0
例如:set0 MEM.5 ;
结果: MEM位5为0
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
set1 M.n RAM的位N设为1
例如: set1 MEM.5 ;
结果: MEM位5为1
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
7.6. 条件运算类指令
ceqsn a, I 比较累加器与立即数据,如果是相同的,即跳过下一指令。[)标志位的改变与 相同
例如: ceqsn a, 0x55 ;
inc MEM ;
goto error ;
结果: 假如a=0x55, then “goto error”; 否则, “inc MEM”.
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』
ceqsn a, M 比较累加器与RAM,如果是相同的,即跳过下一指令。标志位改变与 相同
例如:ceqsn a, MEM;
结果: 假如a=MEM,跳过下一个指令
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』
t0sn IO.n 如果IO的指定位是0,跳过下一个指令。
例如:t0sn pa.5;
结果: 如果PA5是0,跳过下一个指令。
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
t1sn IO.n 如果IO的指定位是1,跳过下一个指令。
Example: t1sn pa.5 ;
结果:如果PA5是1,跳过下一个指令。
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
?Copyright 2013, PADAUK Technology Co. Ltd Page 49 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
t0sn M.n 如果RAM的指定位是0,跳过下一个指令。,)
例如: t0sn MEM.5 ;
结果: 如果MEM的位5是0,跳过下一个指令。
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』 t1sn M.n 如果RAM的指定位是1,跳过下一个指令。
例如: t1sn MEM.5 ;
结果: 如果MEM的位5是1,跳过下一个指令。
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』 izsn a 累加器加1,若累加器新值是0,跳过下一个指令。
例如: izsn a;
结果: a ? a + 1,若a=0,跳过下一个指令。
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 dzsn a 累加器减1,若累加器新值是0,跳过下一个指令。
例如: dzsn a;
结果: a ? a – 1,若a=0,跳过下一个指令。
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 izsn M RAM加1,若RAM新值是0,跳过下一个指令。
例如: izsn MEM;
结果: MEM ? MEM + 1,若MEM=0,跳过下一个指令。
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 dzsn M RAM减1,若RAM新值是0,跳过下一个指令。
例如: dzsn MEM;
结果: MEM ? MEM - 1,若MEM=0,跳过下一个指令。
受影响的标志位: Z:『受影响』, C:『受影响』, AC:『受影响』, OV:『受影响』 IO类型单片机
7.7. 系统控制类指令
call label 函数调用,地址可以是全部空间的任一地址
例如: call function1;
结果: [sp] ? pc + 1
pc ? function1
sp ? sp + 2
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』 goto label 转到指定的地址,地址可以是全部空间的任
一地址
例如: goto error;
结果: 跳到error并继续执行程序
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』
?Copyright 2013, PADAUK Technology Co. Ltd Page 50 of 53
PDK-DS-PMX153-CN_V0.02 – Dec. 27, 2013
PMC153, PMS153系列
ret I 将立即数据复制到累加器,然后返回
例如: ret 0x55;
结果: A ? 55h
ret ;
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』 ret 从函数调用中返回原程序
例如: ret;
结果: sp ? sp - 2
pc ? [sp]
受影响的标志位: Z:『不变』, C:『不变』, AC:『不变』, OV:『不变』 reti 从中断服务程序返回到原程序。 Address Name Value
8 0x55 RW Description P0:0x8f
GC0310DataSheet 27 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 28 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 29 / 38
GC0310 CMOS Image Sensor
AEC
GC0310DataSheet 30 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 31 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 32 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 33 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 34 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 35 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 36 / 38
扩展:gc0310 datasheet / gc0310 / gc0310是多少万像素
GC0310 CMOS Image Sensor
SPI GC0310DataSheet 37 / 38
GC0310 CMOS Image Sensor
GC0310DataSheet 38 / 38
扩展:gc0310 datasheet / gc0310 / gc0310是多少万像素
篇三 : SIC9553
深圳深爱半导体股份有限公司
ShenzhenSISemiconductorsCo.,LTD.产品规格书
ProductSpecification
高精度非隔离降压型LED恒流驱动芯片
553SIC9SIC95
概述:
SIC9553是一款高精度的非隔离降压型LED控制器,适用于85V,265V全电压范围的小功率非隔离
降压型LED照明应用。,)
SIC9553内置了高精度的采样、补偿电路,使得电路能够达到?3%以内的恒流精度,并且能够实
现输出电流对电感与输出电压的自适应,从而取得优异的线型调整率和负载调整率。
SIC9553内部集成了500V功率MOSFET,无需次级反馈电路,也无需补偿电路,加之精准稳定的自
适应技术,使得系统外围结构十分简单,可在外围器件数量少,参数范围宽松的条件下实现高精度恒流控制,极大地节约了系统成本和体积,并且能够确保在批量生产时LED灯具参数的一致性。
SIC9553具有丰富的保护功能:输出开短路保护、采样电阻开短路保护、欠压保护、输出过压保
护、过温自适应调节等。
特性:
??????
内部集成500V功率管?3%以内的系统恒流精度芯片超低工作电流无需辅助供电电路
电感电流临界连续模式宽输入电压
??????
输出短路保护
采样电阻开短路保护
输出过压保护欠压保护
过温自适应调节功能
简洁的系统拓补,外围器件极少
典型应用图
1
Sisemiconductors
深圳深爱半导体股份有限公司
ShenzhenSISemiconductorsCo.,LTD.产品规格书
ProductSpecification
高精度非隔离降压型LED恒流驱动芯片
553SIC9SIC95
推荐工作范围
订购信息
引脚图
“SI”深爱公司产品标记“9XXXV”
9XXX:产品型号V:产品版本号“YMxxx”
YM:产品生产年月XXXX:产品批码
引脚说明:
2
Sisemiconductors
深圳深爱半导体股份有限公司
ShenzhenSISemiconductorsCo.,LTD.产品规格书
ProductSpecification
高精度非隔离降压型LED恒流驱动芯片
553SIC9SIC95
电气特性
3
Sisemiconductors
深圳深爱半导体股份有限公司
ShenzhenSISemiconductorsCo.,LTD.产品规格书ProductSpecification高精度非隔离降压型LED恒流驱动芯片553SIC9SIC95功能框图
应用说明
功能说明:
SIC9553是一款专用于LED照明的恒流驱动芯片,芯片内部集成500V高压MOSFET,工作在CRM模式,适合全电压范围工作,具有良好的线性调整率、负载调整率以及优异的恒流特性,只需很少的外围元器件就能实现低成本高效率的LED恒流控制器。[,
启动:
SIC9553启动电流很低,当系统上电后,启动电阻对VDD电容进行充电,当VDD达到开启阈值时,电路即开始工作。SIC9553
正常工作时,内部电路的工作电流可以低至135μA以下,并且内部具有独特的供电机制,因此无需辅助绕组供电。
采样电阻与恒流控制:
SIC9553是工作在CRM模式中,其内部具有一个400mV的基准电压,这个基准电压与系统中电感原边峰值电流进行比较计算,通过采样电阻的调节来实现LED驱动电流的大小:
4
Sisemiconductors
深圳深爱半导体股份有限公司
ShenzhenSISemiconductorsCo.,LTD.产品规格书ProductSpecification高精度非隔离降压型LED恒流驱动芯片553SIC9SIC95
ILED=400mA2RISEN
其中:ILED是LED的驱动电流,
RISEN是采样电阻
电感设计计算:
SIC9553工作在CRM模式,当电路上电后输出控制脉冲,内部MOSFET将不断工作在导通/关闭状态,内部MOS管打开时,电感也将导通,开始蓄能,直到达到电流峰值时内部MOS管关闭,此间的电感的导通时间为:IP=400L×IPmA;TON=RISENVIN?VLED
其中:IP为电感电流峰值;
L为电感值;
VIN为交流输入整流后的直流值;
VLED为LED负载的正向压降。,,
当内部MOS管关闭后,电感电流将从峰值逐渐降低,直到降低为0时,内部MOS管将再次开启,此间的电感关闭时间为:
TOFF=L×IP
VLED
VLED×
VIN×IP×F由上可知,电感可计算为:L=
其中F为系统工作频率,在设计系统时,首先确定ILED,ILED确定后RISEN、IP等也就相应确定了,此时由上式可知,系统频率与输入电压成正比、与选择之电感L成反比:当输入电压最低电感取值较大时,系统频率较低,当输入电压最高电感取值较小时,系统频率较高,因此,在系统输入电压范围确定时,电感的取值直接影响到系统频率的范围以及恒流特性。考虑到系统频率不可过低,也不宜过高,同时SIC9553设定了最小/大退磁时间以及最小/大励磁时间,因此在设计时,建议系统频率设定在50KHZ,100KHz之间。
开路过压保护电阻设置
在系统中,当LED开路时,由于无负载连接,输出电压会逐渐上升,进而导致退磁时间也会逐渐变短,因此通过RADJ外接电阻来控制相应的退磁时间,就能得到需要的开路保护电压。根据内部电路计算,可得出RADJ与VOVP的关系公式: 扩展:sic9553 /
sicang8 / sicang8.com
5
Sisemiconductors
深圳深爱半导体股份有限公司
ShenzhenSISemiconductorsCo.,LTD.产品规格书ProductSpecification高精度非隔离降压型LED恒流驱动芯片553SIC9SIC95
RADJ?VISEN×L×15×106RISEN×VOVP
其中,VISEN是ISEN关断阈值;
L是电感量;
RISEN是采样电阻;
VOVP是需要设定的过压保护点
保护功能:
SIC9553设定了多种保护功能,如LED开短路保护、ISEN电阻开短路保护、VDD过压/欠压、电路过温自适应调节等。[,
SIC9553在工作时,自动监测着各种工作状态,如果负载开路时,则电路将立刻进入过压保护状态,关断内部MOS管,同时进入间隔检测状态,当故障恢复后,电路也将自动回复到正常工作状态;若负载短路,系统将工作在5KHz左右的低频状态,功耗很低,同时不断监测系统,若负载恢复正常,则电路也将恢复正常工作;若当ISEN电阻短路,或者电感饱和等其他故障发生,电路内部快速保护
机制也将立即停止MOS的开关动作,停止运行,此时,电路工作电源也将下降,当触发UVLO电路时,系统将会重启,如此,可以实现保护功能的触发、重启工作机制。
若工作过程中,SIC9553监测到电路结温度超过过温调节阈值时,电路将进入过温调节控制状态,减小输出电流,以控制输出功率和温升,使得系统能够保持一个稳定的工作温度范围。PCB设计注意事项:
VDD的旁路电容十分关键,PCB板layout时需要尽量靠近VDD及GND引脚。
电感的充放电回路要尽量短,母线电容、续流二极管、输出电容等功率环路面积要尽量小,芯片距离功率器件也尽量远,从而减小EMI以及保证电路安全稳定工作。
电路地线及其他小信号的地线须与采样电阻地线分开布线,尽量缩短与电容的距离。
RADJ外接电阻需要尽量靠近RADJ引脚,并且就近接地。
NC引脚建议连接到芯片地,有条件时可用地线将RADJ电阻环绕。
DRN引脚的敷铜面积尽量大,以提高芯片散热。
6
Sisemiconductors
深圳深爱半导体股份有限公司
ShenzhenSISemiconductorsCo.,LTD.产品规格书
ProductSpecification
高精度非隔离降压型LED恒流驱动芯片
553SIC9SIC95
SOP8封装机械尺寸
SOP8MECHANICALDATA
单位:毫米/UNIT:mm
符号
SYMBOL
AA1A2A3BB1B2CC1C2
最小值min4.800.37
1.27TYP0.41TYP
5.803.80
5.0TYP
1.300.550.55
1.500.650.656.204.00
典型值nom
最大值max5.000.47
符号SYMBOLC3C4DD1R1R2Θ1Θ2Θ3Θ4
最小值min0.05
0.20TYP1.05TYP
0.40
0.2TYP0.2TYP17?TYP13?TYP4?TYP8?TYP
0.60
典型值nom
最大值max0.20
7
Sisemiconductors
扩展:sic9553 / sicang8 / sicang8.com