MC30P6030UMAN.docx

上传人:b****8 文档编号:30619447 上传时间:2023-08-18 格式:DOCX 页数:57 大小:531.84KB
下载 相关 举报
MC30P6030UMAN.docx_第1页
第1页 / 共57页
MC30P6030UMAN.docx_第2页
第2页 / 共57页
MC30P6030UMAN.docx_第3页
第3页 / 共57页
MC30P6030UMAN.docx_第4页
第4页 / 共57页
MC30P6030UMAN.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

MC30P6030UMAN.docx

《MC30P6030UMAN.docx》由会员分享,可在线阅读,更多相关《MC30P6030UMAN.docx(57页珍藏版)》请在冰豆网上搜索。

MC30P6030UMAN.docx

MC30P6030UMAN

 

MC30P6030用户手册

(原产品名MC30P011)

SinoMCU8位单片机

2014/02/17

 

上海晟矽微电子股份有限公司

ShanghaiSinoMCUMicroelectronicsCo.,Ltd.

MC30P6030用户手册

1产品简介

MC30P6030是一款高性能8位OTP型MCU,内置高精度RC振荡器。

产品的高抗干扰性能为小家电产品提供良好的解决方案。

1.1产品特性

✧8位RISCCPU内核,2T

✧存储器

✓1K*14位程序存储器空间,5级深度硬件堆栈

✓49字节通用数据寄存器空间

✧2组IO口(最多可支持11个通用IO口和1个输入口)

✧低功耗模式,STOP模式功耗小于1uA,RTC模式功耗小于10uA

✧定时器

✓内部自振式看门狗计数器(WDT)

✓1个带有RTC功能8位定时器,可设置溢出中断

✓1个带有PWM/BUZ、自动加载功能8位定时器,可设置溢出中断

✧中断

✓定时器0中断

✓定时器1中断

✓1个外部中断口(可软件设置为上升沿、下降沿触发)

✓8路键盘中断功能

✧振荡器

✓内部28KRC振荡器,用于看门狗计数

✓内部8MRC振荡器,用于系统时钟

✓外部32768低频晶体振荡器,用于系统时钟或RTC

✓外部高频晶体振荡器432KHz-8MHz

✧低电压复位LVR(多级复位电压可选)

✧工作电压

✓1.6-5.5V@(振荡频率432K-1MHz)

✓2.0-5.5V@(振荡频率432K-2MHz)

✓2.2-5.5V@(振荡频率432K-4MHz)

✓2.7-5.5V@(振荡频率432K-8MHz)

✧封装形式:

DIP14、SOP14、DIP8、SOP8、SOT23-6

1.2系统框图

1.3引脚排列

 

1.4引脚说明

引脚名

I/O

描述

P00-P03

IO

IO,下拉

P10/INT0

IO/I

IO,上下拉,开漏/外部中断输入,TIMER1时钟输入

P11

IO

IO,上下拉,开漏

P12/BUZZ/PWM/TCC

IO/O/O/I

IO,上下拉,开漏/蜂鸣器输出/PWM输出/TIMER0时钟输入

P13/RESETB

I/I/P

输入端口/外部复位端口

P14/OSCO

IO/O

IO,上拉,开漏/振荡器输出

P15/OSCI

IO/I

IO,上拉,开漏/振荡器输入

P16-P17

IO

IO,上拉,开漏

VDD

P

VDD

GND

P

GND

1.5引脚结构示意图

P00-P03:

P10:

P11:

P12:

P13:

P14、P15:

P16、P17:

2中央处理器

2.1指令集

MC30P6030的指令是精简指令集。

下表是指令汇总表。

助记符

说明

操作

周期数

影响

ADDARR

寄存器R内容和ACC相加,结果存到ACC

R+ACC→ACC

1

C,DC,Z

ADDRAR

寄存器R内容和ACC相加,结果存到R

R+ACC→R

1

C,DC,Z

ADCARR

带C标志的加法,结果存到ACC

R+ACC+C→ACC

1

C,DC,Z

ADCRAR

带C标志的加法,结果存到R

R+ACC+C→R

1

C,DC,Z

RSUBARR

寄存器R内容和ACC相减,结果存到ACC

R-ACC→ACC

1

C,DC,Z

RSUBRAR

寄存器R内容和ACC相减,结果存到R

R-ACC→R

1

C,DC,Z

RSBCARR

寄存器R内容和ACC相减(带C标志),结果存到ACC

R-ACC-/C→ACC

1

C,DC,Z

RSBCRAR

寄存器R内容和ACC相减(带C标志),结果存到R

R-ACC-/C→R

1

C,DC,Z

ANDARR

寄存器R内容和ACC与操作,结果存到ACC

RandACC→ACC

1

Z

ANDRAR

寄存器R内容和ACC与操作,结果存到R

RandACC→R

1

Z

ORARR

寄存器R内容和ACC或操作,结果存到ACC

RorACC→ACC

1

Z

ORRAR

寄存器R内容和ACC或操作,结果存到R

RorACC→R

1

Z

XORARR

寄存器R内容和ACC异或操作,结果存到ACC

RxorACC→ACC

1

Z

XORRAR

寄存器R内容和ACC异或操作,结果存到R

RxorACC→R

1

Z

COMARR

对R取反,结果存到ACC

R取反→ACC

1

Z

COMRR

对R取反,结果存到R

R取反→R

1

Z

CLRA

对ACC清零

0→ACC

1

Z

CLRRR

对R清零

0→R

1

Z

RLARR

寄存器R循环左移(带C标志),结果存到ACC

R[7]→C

R[6:

0]→ACC[7:

1]

C→ACC[0]

1

C

RLRR

寄存器R循环左移(带C标志),结果存到R

R[7]→C

R[6:

0]→R[7:

1]

C→R[0]

1

C

RRARR

寄存器R循环右移(带C标志),结果存到ACC

C→ACC[7]

R[7:

1]→ACC[6:

0]

R[0]→C

1

C

RRRR

寄存器R循环右移(带C标志),结果存到R

C→R[7]

R[7:

1]→R[6:

0]

R[0]→C

1

C

SWAPARR

交换R的高低字节,结果存到ACC

R[7:

4]→ACC[3:

0]

R[3:

0]→ACC[7:

4]

1

-

SWAPRR

交换R的高低字节,结果存到R

R[7:

4]→R[3:

0]

R[3:

0]→R[7:

4]

1

-

MOVARR

将R存到ACC

R→ACC

1

Z

MOVRR

将R存到R

R→R

1

Z

MOVRAR

将ACC存到R

ACC→R

1

-

INCARR

R加1,结果存到ACC

R+1→ACC

1

Z

INCRR

R加1,结果存到R

R+1→R

1

Z

DECARR

R减1,结果存到ACC

R-1→ACC

1

Z

DECRR

R减1,结果存到R

R-1→R

1

Z

JZARR

R加1,结果存到ACC;结果为0,则跳过下一条指令

R+1→ACC,结果为0,则PC+2→PC

1或2

-

JZRR

R加1,结果存到R;结果为0,则跳过下一条指令

R+1→R,结果为0,则PC+2→PC

1或2

-

DJZARR

R减1,结果存到ACC;结果为0,则跳过下一条指令

R-1→ACC,结果为0,则PC+2→PC

1或2

-

DJZRR

R减1,结果存到R;结果为0,则跳过下一条指令

R-1→R,结果为0,则PC+2→PC

1或2

-

BCLRR,b

对R的第b位清零

0→R[b]

1

-

BSETR,b

对R的第b位置1

1→R[b]

1

-

JBCLRR,b

如R的第b位为0,则跳过下一条指令

如R[b]=0,则PC+2→PC

1或2

-

JBSETR,b

如R的第b位为1,则跳过下一条指令

如R[b]=1,则PC+2→PC

1或2

-

ADDAIK

立即数K和ACC相加,结果存到ACC

K+ACC→ACC

1

C,DC,Z

ISUBAIK

立即数和ACC相减,结果存到ACC

K-ACC→ACC

1

C,DC,Z

ANDAIK

立即数K和ACC与操作,结果存到ACC

KandACC→ACC

1

Z

ORAIK

立即数K和ACC或操作,结果存到ACC

KorACC→ACC

1

Z

XORAIK

立即数和ACC异或,结果存到ACC

KxorACC→ACC

1

Z

MOVAIK

将立即数存到ACC

K→ACC

1

-

RETAIK

从子程序返回,并将立即数存到ACC

TOS→PC

K→ACC

2

-

RETURN

从子程序返回

TOS→PC

2

-

RETIE

从中断返回

TOS→PC

1→GIE

2

-

CALLK

子程序调用

PC+1→TOS

K→PC

2

-

GOTOK

无条件跳转

K→PC

2

-

NOP

空操作

空操作

1

-

DAA

加法后,将ACC的值调整到十进制

ACC(十六进制)→ACC(十进制)

1

C

DSA

减法后,将ACC的值调整到十进制

ACC(十六进制)→ACC(十进制)

1

-

CLRWDT

清看门狗定时器

0→WDT

1

TO,PD

STOP

进入休眠模式

0→WDT

进入休眠模式

1

TO,PD

2.2程序存储器ROM

MC30P6030的程序存储器是1K*14bits的OTPROM,可用于存放用户程序。

地址范围:

0x0000—0x03ff。

2.3用户数据存储器RAM

MC30P6030的用户数据存储器有49字节(8bits)。

地址列表如下:

地址

Bank0

(可直接寻址或间接寻址)

地址

Bank1

(仅直接寻址)

@00

INDF

@40

保留

@01

T0CNT

@41

T0CR

@02

PCL

@42

保留

@03

STATUS

@43

保留

@04

FSR

@44

保留

@05

P0

@45

DDR0

@06

P1

@46

DDR1

@07

GPR(通用寄存器)

@47

保留

@08

MCR

@48

保留

@09

KBIM

@49

保留

@0A

PCLATH

@4A

保留

@0B

PDCON

@4B

TMCR

@0C

ODCON

@4C

T1CR

@0D

PUCON

@4D

T1CNT

@0E

INTECON

@4E

T1LOAD

@0F

INTFLAG

@4F

T1DATA

@10

~

@3F

GPR(通用寄存器)

直接寻址:

以指令的低7位作为数据存储器地址,例:

MOVAI0x55

MOVRA0x20;把数据0x55的内容写入0x20地址的数据存储器中

间接寻址:

当寄存器访问INDF(0x00地址)时,FSR作为数据存储器地址,例:

MOVAI0x20

MOVRAFSR

MOVAI0x55

MOVRAINDF;把数据0x55的内容写入0x20地址的数据存储器中

注:

间接寻址不可以寻址0x40以上地址空间

2.4堆栈

MC30P6030有5级堆栈深度,当程序响应中断或执行子程序调用指令时CPU会将PC自动压栈;当运行子程序返回指令时,栈顶数据赋予PC

2.5用户配置字OPBIT

用户配置字简称OPBIT是OTP中的一个特殊字节,用于对系统功能进行配置。

OPBIT在烧写用户程序时通过专用烧写器来设置。

MC30P6030的OPBIT定义如下。

地址

BIT13

BIT12

BIT11

BIT10

BIT9

BIT8

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

OPBIT0

1

1

WDTEN

TWDT

FCPU

FINTOSC

MCLRE

VBORS

OPBIT1

CP

OSCM

1

SMTEN

RDPORT

INTOSCCAL

配置字

说明

VBORS

低电压复位点选择

000:

1.5V001:

1.8V010:

2.0V011:

2.2V

100:

2.4V101:

2.6V010:

3.0V111:

3.6V

MCLRE

外部复位使能

1:

使能外部复位功能

0:

屏蔽外部复位功能,管脚复用为输入脚

FINTOSC

内部RC振荡器频率选择

111:

8M110:

4M101:

2M100:

1M

010:

444K

FCPU(默认为0)

1-4T0-2T

TWDT

看门狗溢出时间及上电复位时间选择

111:

PWRT=TWDT(noPrescaler)=18ms

110:

PWRT=TWDT(noPrescaler)=4.5ms

101:

PWRT=TWDT(noPrescaler)=288ms

100:

PWRT=TWDT(noPrescaler)=72ms

011:

PWRT=140us;TWDT(noPrescaler)=18ms

010:

PWRT=140us;TWDT(noPrescaler)=4.5ms

001:

PWRT=140us;TWDT(noPrescaler)=288ms

000:

PWRT=140us;TWDT(noPrescaler)=72m

WDTE

WDT使能

1:

使能WDT0:

关闭WDT

RDPORT(默认为0)

1:

OutputPortReadFromPin

0:

OutputPortReadFromRegister

SMTEN(默认为1)

1:

InputPortSMT功能

0:

InputPortSMT功能屏蔽

OSCM

振荡器模式选择

11:

内部高频RC振荡器&RTC模式10:

内部高频RC振荡器

01:

高频晶体振荡器模式00:

低频晶体振荡器模式

CP

代码保护使能

1:

屏蔽代码保护功能0:

使能代码保护功能

2.6控制寄存器

MC30P6030的全部控制寄存器列在下表中,具体功能详见各功能模块的说明。

地址

助记符

R/W

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

初始值

00h

INDF

R/W

INDF0

INDF0

INDF0

INDF0

INDF0

INDF0

INDF0

INDF0

xxxxxxxx

01h

T0CNT

R/W

T0C7

T0C6

T0C5

T0C4

T0C3

T0C2

T0C1

T0C0

xxxxxxxx

02h

PCL

R/W

PC7

PC6

PC5

PC4

PC3

PC2

PC1

PC0

--000000

03h

STATUS

R/W

RST

-

-

TO

PD

Z

DC

C

0–11xxx

04h

FSR

R/W

-

-

FSR5

FSR4

FSR3

FSR2

FSR1

FSR0

--000000

05h

P0

R/W

-

-

-

-

P03D

P02D

R01D

P00D

----0000

06h

P1

R/W

P17D

P16D

R15D

P14D

-

P12D

R11D

P10D

0000-000

07h

GPR

R/W

xxxxxxxx

08h

MCR

R/W

WDTEN

EIS

-

-

-

-

-

-

00000000

09h

KBIM

R/W

KBIM7

KBIM6

KBIM5

KBIM4

KBIM3

KBIM2

KBIM1

KBIM0

00000000

0Ah

PCLATH

R/W

-

-

-

-

-

-

PCH1

PCH0

------00

0Bh

PDCON

R/W

-

P12PD

P11PD

P10PD

P03PD

P02PD

P01PD

P00PD

-1111111

0Ch

ODCON

R/W

P17OD

P16OD

P15OD

P14OD

-

P12OD

P11OD

P10OD

----0000

0Dh

PUCON

R/W

P17PU

P16PU

P15PU

P14PU

-

P12PU

P11PU

P10PU

1111-111

0Eh

INTECON

R/W

GIE

-

-

-

-

INT0IE

KBIE

T0IE

0----000

0Fh

INTFLAG

R/W

-

-

-

-

-

INT0IF

KBIF

T0IF

-----000

41h

T0CR

R/W

-

INT0M

T0PTS

T0SE

T0PTA

T0PR2

T0PR1

T0PR0

-0000000

45h

DDR0

R/W

-

-

-

-

DDR03

DDR02

DDR01

DDR00

----1111

46h

DDR1

R/W

DDR17

DDR16

DDR15

DDR14

-

DDR12

DDR11

DDR10

1111-111

4Bh

TMCR

R/W

TBS

-

-

-

-

-

T1IE

T1IF

0-----00

4Ch

T1CR

R/W

TMR1EN

PWMOUT

BUZOUT

T1PTS1

T1PTS0

T1PR2

T1PR1

T1PR0

00000000

4Dh

T1CNT

R/W

T1C7

T1C6

T1C5

T1C4

T1C3

T1C2

T1C1

T1C0

00000000

4Eh

T1LOAD

R/W

T1LOAD7

T1LOAD6

T1LOAD5

T1LOAD4

T1LOAD3

T1LOAD2

T1LOAD1

T1LOAD0

11111111

4Fh

T1DATA

R/W

T1DATA7

T1DATA6

T1DATA5

T1DATA4

T1DATA3

T1DATA2

T1DATA1

T1DATA0

00000000

注:

1.07H为用户通用寄存器。

2.“-”表示保留BIT

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

INDF

INDF7

INDF6

INDF5

INDF4

INDF3

INDF2

INDF1

INDF0

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

初始值

X

X

X

X

X

X

X

X

BIT[7:

0]INDFn–间接寻址寄存器

INDF:

INDF不是物理寄存器,对INDF的寻址时间上是对FSR指向的地址进行访问,从而实现间接寻址模式,

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

PCL

PC7

PC6

PC5

PC4

PC3

PC2

PC1

PC0

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

初始值

1

1

1

1

1

1

1

1

BIT[7:

0]PCn–程序指针计数器低8位

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

PCLATH

-

-

-

-

-

-

PCH1

PCH0

R/W

-

-

-

-

-

-

R/W

R/W

初始值

-

-

-

-

-

-

0

0

BIT[7:

0]PCHn–程序指针高2位缓冲器n=1-0

程序指针计数器(PC)有以下几种操作模式

顺序运行指令:

PC=PC+1

分支指令GOTO/CALL:

PC=INST[9:

0](指令码低10位)

子程序返回指令RETIE/RETURN/RETAI:

PC=TOS(堆栈栈顶)

对PCL操作指令:

PC={PCLATH[1:

0],ALU[7:

0](ALU运算结果)}

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

STATUS

RST

-

-

TO

PD

Z

DC

C

R/W

R/W

-

-

R

R

R/W

R/W

R/W

初始值

0

-

-

1

1

X

X

X

BIT[7]RST唤醒源标志

1:

芯片通过P1变化唤醒

0:

芯片通过其它唤醒源唤醒

BIT[6:

5]未用

BIT[4]TO看门狗溢出标志

1:

上电复位,执行CLRWDT或STOP指令

0:

发生WDT溢出

BIT[3]PD进入低功耗休眠模式标志

1:

上电复位,执行CLRWDT

0:

执行STOP指令

BIT[2]Z零标志

1:

算术或逻辑运算的结果为零

0:

算术或逻辑运算的结果不为零

BIT[1]DC半进位标志

1:

加法运算时低四位有进位/减法运算时没有向高四位借位

0:

加法运算时低四位没有进位/减法运算时有向高四位借位

BIT[0]C进位标志

1:

加法运算时有进位/减法运算时没有借位发生/移位后移出逻辑1

0:

加法运算时没有进位/减法运算时有借位发生/移位后移出逻辑0

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

FSR

-

-

FSR5

FSR4

FSR3

FSR2

FSR1

FSR0

R/W

R

R

R/W

R/W

R/W

R/W

R/W

R/W

初始值

1

1

X

X

X

X

X

X

BIT[7:

6]无效

BIT[5:

0]FSRn–间接选址数据指针

3系统时钟

由外接晶体振荡器或内置高精度RC电路(由OPBIT的OSCS[2:

0]配置)产生的振荡时钟信号Fosc经2分频后产生系统主时钟Fsys。

另有一个低速RC振荡器专供WDT(看门狗)电路使用。

当选择内部高频振荡器&RTC模式时,系统使能内部高频RC振荡器作为主时钟,外部32768晶体振荡器可用作定时器0的计数时钟源

3.1外接晶振

外部晶体有外接高频和外接低频两种振荡工作模式,连接方式见下图。

高频晶体可选用432KHz~8MHz,低频一般是接32768时钟晶体,通常Cx是必须的。

在实际使用中,用户应使晶体离OSCI、OSCO引脚的距离尽可能短,这样有助于振荡器的起振和振荡的稳定性。

下表列出几种典型频率晶振选用电容Cx的推荐值。

晶体频率

电容Cx

8MHz

15p

4MHz

15p/30p

3.64MHz

15p/3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1