1、MC30P6030UMANMC30P6030用户手册(原产品名MC30P011)SinoMCU 8位单片机2014/02/17上海晟矽微电子股份有限公司Shanghai SinoMCU Microelectronics Co., Ltd.MC30P6030用户手册1 产品简介MC30P6030是一款高性能8位OTP型MCU,内置高精度RC振荡器。产品的高抗干扰性能为小家电产品提供良好的解决方案。1.1 产品特性 8位RISC CPU内核,2T 存储器 1K*14位程序存储器空间,5级深度硬件堆栈 49字节通用数据寄存器空间 2组IO口(最多可支持11个通用IO口和1个输入口) 低功耗模式,ST
2、OP模式功耗小于1uA,RTC模式功耗小于10uA 定时器 内部自振式看门狗计数器(WDT) 1个带有RTC功能8位定时器,可设置溢出中断 1个带有PWM/BUZ、自动加载功能8位定时器,可设置溢出中断 中断 定时器0中断 定时器1中断 1个外部中断口(可软件设置为上升沿、下降沿触发) 8路键盘中断功能 振荡器 内部28K RC振荡器,用于看门狗计数 内部8M RC振荡器,用于系统时钟 外部32768低频晶体振荡器,用于系统时钟或RTC 外部高频晶体振荡器432KHz-8MHz 低电压复位LVR(多级复位电压可选) 工作电压 1.6-5.5V(振荡频率432K-1MHz) 2.0-5.5V(振
3、荡频率432K-2MHz) 2.2-5.5V(振荡频率432K-4MHz) 2.7-5.5V(振荡频率432K-8MHz) 封装形式:DIP14、SOP14、DIP8、SOP8、SOT23-61.2 系统框图1.3 引脚排列1.4 引脚说明引脚名I/O描述P00-P03IOIO,下拉P10/INT0IO/IIO,上下拉,开漏/外部中断输入,TIMER1时钟输入P11IOIO,上下拉,开漏P12/BUZZ/PWM/TCCIO/O/O/IIO,上下拉,开漏/蜂鸣器输出/PWM输出/TIMER0时钟输入P13/RESETBI/I/P输入端口/外部复位端口P14/OSCOIO/OIO,上拉,开漏/振荡
4、器输出P15/OSCIIO/IIO,上拉,开漏/振荡器输入P16-P17IOIO,上拉,开漏VDDPVDDGNDPGND1.5 引脚结构示意图P00-P03:P10:P11:P12:P13:P14、P15:P16、P17:2 中央处理器2.1 指令集MC30P6030的指令是精简指令集。下表是指令汇总表。助记符说明操作周期数影响ADDAR R寄存器R内容和ACC相加,结果存到ACCR+ACCACC1C,DC,ZADDRA R寄存器R内容和ACC相加,结果存到RR+ACCR1C,DC,ZADCAR R带C标志的加法,结果存到ACCR+ACC+CACC1C,DC,ZADCRA R带C标志的加法,结
5、果存到RR+ACC+CR1C,DC,ZRSUBAR R寄存器R内容和ACC相减,结果存到ACCR-ACCACC1C,DC,ZRSUBRA R寄存器R内容和ACC相减,结果存到RR-ACCR1C,DC,ZRSBCAR R寄存器R内容和ACC相减(带C标志),结果存到ACCR-ACC-/CACC1C,DC,ZRSBCRA R寄存器R内容和ACC相减(带C标志),结果存到RR-ACC-/CR1C,DC,ZANDAR R寄存器R内容和ACC与操作,结果存到ACCR and ACCACC1ZANDRA R寄存器R内容和ACC与操作,结果存到RR and ACCR1ZORAR R寄存器R内容和ACC或操作
6、,结果存到ACCR or ACCACC1ZORRA R寄存器R内容和ACC或操作,结果存到RR or ACCR1ZXORAR R寄存器R内容和ACC异或操作,结果存到ACCR xor ACCACC1ZXORRA R寄存器R内容和ACC异或操作,结果存到RR xor ACCR1ZCOMAR R对R取反,结果存到ACCR取反ACC1ZCOMR R对R取反,结果存到RR取反R1ZCLRA对ACC清零0ACC1ZCLRR R对R清零0R1ZRLAR R寄存器R循环左移(带C标志),结果存到ACCR7CR6:0ACC7:1CACC01CRLR R寄存器R循环左移(带C标志),结果存到RR7CR6:0R7
7、:1CR01CRRAR R寄存器R循环右移(带C标志),结果存到ACCCACC7R7:1ACC6:0R0C1CRRR R寄存器R循环右移(带C标志),结果存到RCR7R7:1R6:0R0C1CSWAPAR R交换R的高低字节,结果存到ACCR7:4ACC3:0R3:0ACC7:41-SWAPR R交换R的高低字节,结果存到RR7:4R3:0R3:0R7:41-MOVAR R将R存到ACCRACC1ZMOVR R将R存到RRR1ZMOVRA R将ACC存到RACCR1-INCAR RR加1,结果存到ACCR+1ACC1ZINCR RR加1,结果存到RR+1R1ZDECAR RR减1,结果存到AC
8、CR-1ACC1ZDECR RR减1,结果存到RR-1R1ZJZAR RR加1,结果存到ACC;结果为0,则跳过下一条指令R+1ACC,结果为0,则PC+2PC1或2-JZR RR加1,结果存到R;结果为0,则跳过下一条指令R+1R,结果为0,则PC+2PC1或2-DJZAR RR减1,结果存到ACC;结果为0,则跳过下一条指令R-1ACC,结果为0,则PC+2PC1或2-DJZR RR减1,结果存到R;结果为0,则跳过下一条指令R-1R,结果为0,则PC+2PC1或2-BCLR R,b对R的第b位清零0Rb1-BSET R,b对R的第b位置11Rb1-JBCLR R,b如R的第b位为0,则跳
9、过下一条指令如Rb=0,则PC+2PC1或2-JBSET R,b如R的第b位为1,则跳过下一条指令如Rb=1,则PC+2PC1或2-ADDAI K立即数K和ACC相加,结果存到ACCK+ACCACC1C,DC,ZISUBAI K立即数和ACC相减,结果存到ACCK-ACCACC1C,DC,ZANDAI K立即数K和ACC与操作,结果存到ACCK and ACCACC1ZORAI K立即数K和ACC或操作,结果存到ACCK or ACCACC1ZXORAI K立即数和ACC异或,结果存到ACCK xor ACCACC1ZMOVAI K将立即数存到ACCKACC1-RETAI K从子程序返回,并将
10、立即数存到ACCTOSPCKACC2-RETURN从子程序返回TOSPC2-RETIE从中断返回TOSPC1GIE2-CALL K子程序调用PC+1TOSKPC2-GOTO K无条件跳转KPC2-NOP空操作空操作1-DAA加法后,将ACC的值调整到十进制ACC(十六进制)ACC(十进制)1CDSA减法后,将ACC的值调整到十进制ACC(十六进制)ACC(十进制)1-CLRWDT清看门狗定时器0WDT1TO,PDSTOP进入休眠模式0WDT进入休眠模式1TO,PD2.2 程序存储器ROMMC30P6030的程序存储器是1K*14 bits的OTP ROM,可用于存放用户程序。地址范围:0x00
11、000x03ff。2.3 用户数据存储器RAMMC30P6030的用户数据存储器有49字节(8 bits)。地址列表如下:地址Bank0(可直接寻址或间接寻址)地址Bank1(仅直接寻址)00INDF40保留01T0CNT41T0CR02PCL42保留03STATUS43保留04FSR44保留05P045DDR006P146DDR107GPR(通用寄存器)47保留08MCR48保留09KBIM49保留0APCLATH4A保留0BPDCON4BTMCR0CODCON4CT1CR0DPUCON4DT1CNT0EINTECON4ET1LOAD0FINTFLAG4FT1DATA103FGPR(通用寄存
12、器)直接寻址:以指令的低7位作为数据存储器地址,例:MOVAI 0x55MOVRA 0x20 ;把数据0x55的内容写入0x20地址的数据存储器中间接寻址:当寄存器访问INDF(0x00地址)时,FSR作为数据存储器地址,例: MOVAI 0x20 MOVRA FSR MOVAI 0x55 MOVRA INDF ;把数据0x55的内容写入0x20地址的数据存储器中注:间接寻址不可以寻址0x40以上地址空间2.4 堆栈MC30P6030有5级堆栈深度,当程序响应中断或执行子程序调用指令时CPU会将PC自动压栈;当运行子程序返回指令时,栈顶数据赋予PC2.5 用户配置字OPBIT用户配置字简称OP
13、BIT是OTP中的一个特殊字节,用于对系统功能进行配置。OPBIT在烧写用户程序时通过专用烧写器来设置。MC30P6030的OPBIT定义如下。地址BIT13BIT12BIT11BIT10BIT9BIT8BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0OPBIT011WDTENTWDTFCPUFINTOSCMCLREVBORSOPBIT1CPOSCM1SMTENRDPORTINTOSCCAL配置字说明VBORS低电压复位点选择000:1.5V 001:1.8V 010:2.0V 011:2.2V100:2.4V 101:2.6V 010:3.0V 111:3.6VMCLRE外部
14、复位使能 1:使能外部复位功能0:屏蔽外部复位功能,管脚复用为输入脚FINTOSC内部RC振荡器频率选择111:8M 110:4M 101:2M 100:1M010:444KFCPU (默认为0)1- 4T 0- 2TTWDT看门狗溢出时间及上电复位时间选择111:PWRT = TWDT(no Prescaler)=18ms110:PWRT = TWDT(no Prescaler)= 4.5ms101:PWRT = TWDT(no Prescaler)=288ms100:PWRT = TWDT(no Prescaler)=72ms011:PWRT =140us; TWDT(no Prescal
15、er)=18ms010:PWRT =140us; TWDT(no Prescaler)= 4.5ms001:PWRT = 140us;TWDT(no Prescaler)=288ms000:PWRT = 140us;TWDT(no Prescaler)=72mWDTEWDT使能1: 使能WDT 0: 关闭WDTRDPORT(默认为0)1:Output Port Read From Pin 0:Output Port Read From RegisterSMTEN (默认为1)1:Input Port SMT功能0: Input Port SMT功能屏蔽OSCM振荡器模式选择11:内部高频RC振
16、荡器&RTC模式 10:内部高频RC振荡器01:高频晶体振荡器模式 00:低频晶体振荡器模式 CP代码保护使能1:屏蔽代码保护功能 0:使能代码保护功能2.6 控制寄存器MC30P6030的全部控制寄存器列在下表中,具体功能详见各功能模块的说明。地址助记符R/WBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0初始值00hINDFR/WINDF0INDF0INDF0INDF0INDF0INDF0INDF0INDF0xxxx xxxx01hT0CNTR/WT0C7T0C6T0C5T0C4T0C3T0C2T0C1T0C0xxxx xxxx02hPCLR/WPC7PC6
17、PC5PC4PC3PC2PC1PC0-00 000003hSTATUSR/WRST-TOPDZDCC01 1xxx04hFSRR/W-FSR5FSR4FSR3FSR2FSR1FSR0-00 000005hP0R/W-P03DP02DR01DP00D- 000006hP1R/WP17DP16DR15DP14D-P12DR11DP10D0000 -00007hGPRR/Wxxxx xxxx08hMCRR/WWDTENEIS-0000 000009hKBIMR/WKBIM7KBIM6KBIM5KBIM4KBIM3KBIM2KBIM1KBIM00000 00000AhPCLATHR/W-PCH1PCH
18、0- -000BhPDCONR/W-P12PDP11PDP10PDP03PDP02PDP01PDP00PD-111 11110ChODCONR/WP17ODP16ODP15ODP14OD-P12ODP11ODP10OD- 00000DhPUCONR/WP17PUP16PUP15PUP14PU-P12PUP11PUP10PU1111 -1110EhINTECONR/WGIE-INT0IEKBIET0IE0- -0000FhINTFLAGR/W-INT0IFKBIFT0IF- -00041hT0CRR/W-INT0MT0PTST0SET0PTAT0PR2T0PR1T0PR0-000 000045h
19、DDR0R/W-DDR03DDR02DDR01DDR00- 111146hDDR1R/WDDR17DDR16DDR15DDR14-DDR12DDR11DDR101111 -1114BhTMCRR/WTBS-T1IET1IF0- -004ChT1CRR/WTMR1ENPWMOUTBUZOUTT1PTS1T1PTS0T1PR2T1PR1T1PR00000 00004DhT1CNTR/WT1C7T1C6T1C5T1C4T1C3T1C2T1C1T1C00000 00004EhT1LOADR/WT1LOAD7T1LOAD6T1LOAD5T1LOAD4T1LOAD3T1LOAD2T1LOAD1T1LOAD
20、01111 11114FhT1DATAR/WT1DATA7T1DATA6T1DATA5T1DATA4T1DATA3T1DATA2T1DATA1T1DATA00000 0000注:1.07H为用户通用寄存器。 2.“-”表示保留BITBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0INDFINDF7INDF6INDF5INDF4INDF3INDF2INDF1INDF0R/WR/WR/WR/WR/WR/WR/WR/WR/W初始值XXXXXXXXBIT7:0 INDFn 间接寻址寄存器INDF: INDF不是物理寄存器,对INDF的寻址时间上是对FSR指向的地址进行访
21、问,从而实现间接寻址模式,Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0PCLPC7PC6PC5PC4PC3PC2PC1PC0R/WR/WR/WR/WR/WR/WR/WR/WR/W初始值11111111BIT7:0 PCn 程序指针计数器低8位Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0PCLATH-PCH1PCH0R/W-R/WR/W初始值-00BIT7:0 PCHn 程序指针高2位缓冲器n=1-0程序指针计数器(PC)有以下几种操作模式顺序运行指令:PC=PC+1分支指令GOTO/CALL:PC=INST9:0(指令码低
22、10位)子程序返回指令RETIE/RETURN/RETAI:PC=TOS(堆栈栈顶)对PCL操作指令:PC = PCLATH1:0,ALU7:0(ALU运算结果)Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0STATUSRST-TOPDZDCCR/WR/W-RRR/WR/WR/W初始值0-11XXXBIT7 RST 唤醒源标志 1:芯片通过P1变化唤醒0:芯片通过其它唤醒源唤醒BIT6:5 未用BIT4 TO 看门狗溢出标志 1:上电复位,执行CLRWDT或STOP指令0:发生WDT溢出BIT3 PD 进入低功耗休眠模式标志 1:上电复位,执行CLRWDT0:
23、执行STOP指令BIT2 Z零标志 1:算术或逻辑运算的结果为零0:算术或逻辑运算的结果不为零BIT1 DC半进位标志 1:加法运算时低四位有进位/减法运算时没有向高四位借位0:加法运算时低四位没有进位/减法运算时有向高四位借位BIT0 C进位标志 1:加法运算时有进位/减法运算时没有借位发生/移位后移出逻辑10:加法运算时没有进位/减法运算时有借位发生/移位后移出逻辑0Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0FSR-FSR5FSR4FSR3FSR2FSR1FSR0R/WRRR/WR/WR/WR/WR/WR/W初始值11XXXXXXBIT7:6 无效BI
24、T5:0 FSRn 间接选址数据指针3 系统时钟由外接晶体振荡器或内置高精度RC电路(由OPBIT的OSCS2:0配置)产生的振荡时钟信号Fosc经2分频后产生系统主时钟Fsys。另有一个低速RC振荡器专供WDT(看门狗)电路使用。当选择内部高频振荡器&RTC模式时,系统使能内部高频RC振荡器作为主时钟,外部32768晶体振荡器可用作定时器0的计数时钟源3.1 外接晶振外部晶体有外接高频和外接低频两种振荡工作模式,连接方式见下图。高频晶体可选用432KHz8MHz,低频一般是接32768时钟晶体,通常Cx是必须的。在实际使用中,用户应使晶体离OSCI、OSCO引脚的距离尽可能短,这样有助于振荡器的起振和振荡的稳定性。下表列出几种典型频率晶振选用电容Cx的推荐值。晶体频率电容Cx8MHz15p4MHz15p/30p3.64MHz15p/3
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1