FM8PC712A
规格书C05 September1,2013
目录
1.1产品描述 (6)
1.2特性 (6)
1.3系统框图 (7)
1.4引脚图 (7)
1.5引脚描述 (8)
1.6程序存储器 (9)
1.7数据寄存器 (9)
1.8数据寄存器位制定 (10)
1.9操作配置图 (12)
【2】微处理器单元 (13)
2.1间接寻址定义 (13)
地址00H:间接寻址寄存器(INDF) (13)
地址04H:间接寻址指针寄存器(FSR) (13)
2.28位程序计数器 (14)
地址02H:程序计数器低字节(PCL) (14)
2.3状态寄存器 (15)
地址03H:状态寄存器(STATUS) (15)
2.4General Purpose I/O ports (16)
2.4.1PortA,PortB口数据寄存器 (16)
地址05H:Port A(PORTA) (16)
地址06H:Port B(PORTB) (16)
2.4.2PortA,PortB模式 (17)
地址08H:Port A输入输出控制寄存器0(PAMODE0) (17)
地址09H:Port A输入输出控制寄存器1(PAMODE1) (17)
地址0AH:Port b输入输出控制寄存器0(PBMODE0) (17)
地址0BH:Port B输入输出控制寄存器1(PBMODE1) (18)
2.5看门狗定时器(WDT) (19)
地址11h看门狗定时器(WDT) (19)
2.6定时器0(Timer0) (21)
地址0FH:TM0控制寄存器(TM0CON) (21)
地址0EH:Timer0计数寄存器字节(TM0) (22)
地址10H:Timer0比较或重置值寄存器字节(TM0RLD) (22)
【3】电源和复位管理 (23)
地址12H:电源控制寄存器(PCON) (24)
【4】时钟控制 (25)
地址13H:时钟配置寄存器(CLKCFG) (25)
【5】系统工作模式 (28)
5.1总览 (28)
【6】PWM描述 (31)
6.0PWM/蜂鸣器(Buzzer)总览 (31)
6.1PWM0寄存器 (33)
地址14H:PWM0配置寄存器(PWM0CON) (33)
地址15H:PWM0控制寄存器(PWM0CR) (34)
地址16H:PWM0计数寄存器低字节(P0TMLB) (35)
地址17H:PWM0比较或重置值寄存器低字节(P0TMRLDLB) (35)
6.2PWM1寄存器 (36)
地址20H:PWM1配置寄存器(PWM1CON) (36)
地址21H:PWM1控制寄存器(PWM1CR) (37)
地址22H:PWM1计数寄存器低字节(P1TM) (38)
地址23H:PWM1比较或重置值寄存器低字节(P1TMRLD) (38)
6.3Buzzer寄存器 (38)
地址24H:Buzzer输出选择寄存器(BZS) (38)
6.4PWM范例程序 (39)
【7】7+1通道模数转换器(ADC) (41)
7.1ADC寄存器 (41)
地址28H:ADC控制寄存器1(ADCON_1) (41)
地址29H:ADC控制寄存器2(ADCON_2) (42)
地址30H:ADC结果寄存器高字节(ADCHB) (43)
地址31H:ADC结果寄存器低字节(ADCLB) (43)
地址29H:ADC控制寄存器3(ADCON_3) (43)
【8】电压比较器 (45)
8.1CMP寄存器 (45)
地址35H:比较器控制暨存器1(CMPCON1) (45)
地址36H:DACR1高字节寄存器(DACR1HB) (47)
地址37H:DACR1低字节寄存器(DACR1LB) (48)
地址38H:比较器控制寄存器2(CMPCON2) (48)
地址39H:DACR2高字节寄存器(DACR2HB) (49)
地址3AH:DACR2低字节寄存器(DACR2LB) (49)
8.2比较器迟滞应用 (50)
【9】中断 (51)
9.1中断寄存器 (52)
地址0BH:中断使能寄存器(INTEN) (52)
地址0CH:中断旗标寄存器(INTFLAG) (52)
地址0DH:中断控制寄存器(INTCON) (53)
【10】指令集 (54)
【11】最大绝对额定值 (56)
【12】DC特性 (56)
12.1概要(工作温度=0to70℃) (56)
12.2GPIO接口 (57)
12.3ADC规格 (58)
12.4CMP规格 (58)
【13】封包框图 (59)
(59)
13.110-PIN MSOP (60)
8-PIN SOP (62)
8-PIN TSSOP (63)
1.1产品描述
◆FM8PC712A為專對8/10PIN封裝的ADC單片機其架構延續FM8PC71A,並調整至完善,增加比較器/Buzzer out等諸多功能,更降低目前使用的成本,為一8/10Pin專用ADC單片機.
1.2特性
8位RISC微处理器
每ㄧ个指令周期为一个时钟(1T)
4.0K x14位的OTP程序存储器
6级堆栈缓存器
64x8位的数据存储器
内部Firc/(2,4,8,16)的时钟模式
ㄧ个8位计数器,一个16位(PWM0)及ㄧ个8位(PWM1)PWM定时器输出
看门狗定时器
系统时钟
内部振荡器
内部RC16MHz振荡器
低频/绿色模式下内部RC振荡器32KHz
8个输入/输出口
每个GPIO具有较高的电流驱动能力:15mA/脚出力和入力电流
每个GPIO支持高阻抗输入、内置上拉、开源漏极输出或CMOS输出
8个中断来源
两个外部中断来源INT0,INT1
六个内部中断来源WDT,Timer0,PWM0,PWM1,CMP,ADC
7+1通道12位模数转换器
可选择连续模式或触发模式取得模数转换结果
支持7个外部仿真输入通道及1个内部VDD/4仿真输入通道(ADC)
内建模数转换器参考电压(VDD,4V,3V,2V)
电源管理
上电复位2.4V(POR)
掉电复位2.0V(PDR)
三级低电压检测:LVDH(3.6V),LVDM(3.0V),LVDL(2.4V)
PWM蜂鸣器(Buzzer)功能
支持2个脉宽调制通道(PWM)
可编程输出脚位的PWM0(Buzzer0)/PWM1(Buzzer1)
电压比较器功能
输入电压低偏移量(offset)
内建内部12位DAC比较电压
1.3系统框图
1.4引脚图
FM8PC712A-SOP8
FM8PC712A-TSSOP8
FM8PC712A-MSOP10
引脚名称类
型
10-pin--说明
P--
CMPOP AIN2O
I
入口
比较器输出口
ADC通道2输入口
VSS G9--电源地
PB[1] AIN1 VREFH0IO
I
I
10--输入/输出口,可编程上拉电阻或高阻抗输入,入力电流(Sink current)/出力
电流(Drive current)
均可软件设定,入力电流最高可达15mA/脚,外部中断输
入口
ADC通道1输入口
ADC外部参考0
电压输入口
1.6
程序存储器
.(地址0FF0~0FFF保留给配置使用)
1.7数据寄存器
图1.7-1I/O数据寄存器
地址
描述(F-plane)地址R-Plane
00h INDF
01h--
02h PCL
03h STATUS
04h FSR
05h PORTA
06h PORTB
07h--(Revered)
08h--(Revered)08h*PAMODE0 09h--(Revered)09h*PAMODE1 0Ah--(Revered)0Ah*PBMODE0 0Bh INTEN0Bh*PBMODE1 0Ch INTFLAG
0Dh INTCON
0Eh TM0
0Fh TM0CON
10h T0RLD
11h WDT
地址
描述(F-plane)地址R-Plane
12h PCON
13h CLKCFG
14h PWM0CON
15h PWM0CR
16h P0TMLB
17h P0TMRLDLB
18h P0TMHB
19h P0RDHB
20h PWM1CON
21h PWM1CR
22h P1TM
23h P1TMRLD
24h Buzzer
25h~27h Revered
28h ADCON_1
29h ADCON_2
30h ADCHB
31h ADCLB
32h ADCON_3
33~34Revered
35h CMPCON1
36h DACR1HB
37h DACR1LB
38h CMPCON2
39h DACR2HB
3Ah DACR2LB
3B~3F(Revered)
40h | 7Fh
SRAM 64bytes
*执行IOST/IOSTR指令作存取
*IOST指令用来将ACC内容写入R-plane寄存器,IOSTR指令用来读取R-plane寄存器内容到ACC
1.8数据寄存器位制定
TABLE1.7-2:特殊功能寄存器列表
Address Name B7B6B5B4B3B2B1B0
00h(R/W)INDF间接寻址寄存器(不是实际存在的物理寄存器)
01h(R/W)Revered--
02h(R/W)PCL程序计数器(PC)低字节
03h(R/W)STATUS--ROMBK FRP/TO/PD Z DC C
04h(R/W)FSR间接寻址地址指针
05h(R/W)PORTA--------PORTA[3]PORTA[2]PORTA[1]PORTA[0] 06h(R/W)PORTB--------PORTB[3]PORTB[2]PORTB[2]PORTB[0] 07h Revered----------------
Address Name B7B6B5B4B3B2B1B0
08h Revered----------------
09h Revered------------
0Ah Revered
0BH(R/W)INTEN GIE--------INT1IE INT0IE TM0IE 0Ch(R/W)INTFLAG----------INT1IF INT0IF TM0IF 0Dh(R/W)INTCON SELINT1[2:0]----INT1CON INT0CON--
0Eh(R/W)TM0TM0[7:0]8-bit real time clock/counter
0Fh(R/W)TM0CON TM0EN--TM0PS[2:0]TM0CKS[2:0]
10h(R/W)TM0RLD TM0RLD[7:0]
11h(R/W)WDT WDTE WDTSL WDTPS2WDTPS1WDTPS0LVRSL SPSEL--
12h(R/W)PCON GRN_MD LVDIS RSTSL1RSTSL0LVDT36LVDT24LVDT30 13h(R/W)CLKCFG SELCLK2SELCLK1SELCLK0CLKSW ATSW INCODS EXOSEN IRCEN 14h(R/W)PWM0CON P0INTSL P0DT2P0DT1P0DT0P0CKS1P0CKS0P0OSEL[1:0]
15h(R/W)PWM0CR PWM0E P0OUTS P0TPS2P0TPS1P0TPS0P0TMEN P0TMIE P0TMIF 16h(R)P0TMLB P0TM[7:0]
17h(R/W)P0TMRLDLB P0TMRLD[7:0]
18h(R)P0TMHB P0TM[15:8]
19h(R/W)P0TMRLDHB P0TMRLD[15:8]
20h(R/W)PWM1CON P1INTSL P1DT2P1DT1P1DT0P1CKS1P1CKS0P1OSEL[1:0]
21h(R/W)PWM1CR PWM1E P1OUTS P1TPS2P1TPS1P1TPS0P1TMEN P1TMIE P1TMIF 22h(R/W)P1TM P1TM[7:0]
23h(R/W)P1TMRLD P1TMRLD[7:0]
24h(R/W)Buzzer BZS1BZS0Revered Revered Revered Revered Revered Revered 25~27h Revered Revered Revered Revered Revered Revered Revered Revered Revered 28h(R/W)ADCON_1ADCEN ADCST CHSEL[2:0]--ADCSR[1:0]
29h(R/W)ADCON_2ADCIE ADCIF SVERFH ADCNT SELH ADCTMS SELVER1SELVER0 30h(R)ADCHB ADCB[11]ADCB[10]ADCB[9]ADCB[8]ADCB[7]ADCB[6]ADCB[5]ADCB[4] 31h(R)ADCLB--------ADCB[3]ADCB[2]ADCB[1]ADCB[0] 32h(R/W)ADCOM_3INEN[7]--INEN[5]INEN[4]INEN[3]INEN[2]INEN[1]INEN[0] 35h(R/W)CMPCON1CMPEN COP1CMPIE1CMPRIF1CMPFIF1CMPMD[2:0]
36h(R/W)DACR1HB DACR1[11:4]
37(R/W)DACR1LB--------DACR1[3:0]
38h(R/W)CMPCON2CMPINT1COP2CMPIE2CMPRIF2CMPFIF2CMPINT2TOGSEL--
39h(R/W)DACR2HB DACR2[11:4]
3Ah(R/W)DACR2LB--------DACR2[3:0]
注:-=未实现,读取为‘0’,
1.9操作配置图
配置名称描述复位初值SELXOUT[1:0]选择IRC输出时钟
2b11
SLEXOUT[1:0]频率
2’b11Firc=16Mhz
2’b10Firc/2=8Mhz
2’b01Firc/4=4Mhz
2’b00Firc/8=2Mhz
SelCpuClk[2:0]选择Fcpu时钟
3’b111
SelCpuClk[2:0]Fcpu
3’b1xx1MHz
3’b0112MHz
3’b0104MHz
----
----
1’b1 INSWDY内部时钟切换到外部时钟延迟时间
1=128us延迟
0=4ms延迟
2’b11 WDTSEL看门狗定时器溢出选择
WDTSEL[1:0]:2’b00=128ms
2’b01=512ms
2’b10=8ms
2’b11=32ms
11
selPor上电复位延展时间
SelPor[1:0]:2’b00=8ms
2’b01=16ms
2’b10=32ms
2’b11=64ms
PROTECT1:无保护ROM程序码
1?无保护0:保护ROM程序码
【2】微处理器单元
2.1间接寻址定义
INDF不是ㄧ个实体的寄存器,它是根据FSR间接寻址指针寄存器来选定所处理的实体寄存器,当FSR=00h时读取INDF则会读取到INDF寄存器的数据内容0x00。
FSR寄存器的0~6位可选择128个寄存器(address00~7fh)。
地址00H:间接寻址寄存器(INDF)
位76543210
名称FSR间接寻址指针所指向的内容
读/写R/W R/W R/W R/W R/W R/W R/W R/W
复位初值00000000
地址04H:间接寻址指针寄存器(FSR)
位76543210
名称在间接寻址模式下用作定义地址用,只7bit有效
读/写R/W R/W R/W R/W R/W R/W R/W R/W
复位初值00000000
例:如何使用间接寻址指令
(1)写入0xAA数据到地址7Fh寄存器
MOVIA7Fh
MOVAR FSR;指针寄存器地址=7Fh
MOVIA AAh
MOVAR INDF;写入数据AAh到地址=7Fh寄存器
(2)读取地址7Fh寄存器到ACC
MOVIA7Fh
MOVAR FSR;指针寄存器地址=7Fh
MOVR INDF,A;读取地址7Fh寄存器到ACC
2.28位程序计数器
可透过(ADDAR PCL,R)指令的方式来建立列表,但是PCL寄存器最大为FFh,因此须注意(ADDAR PCL,R)指令的执行结果大于FFh的情况发生。
地址02H:程序计数器低字节(PCL)
位76543210
名称程序计数器低字节
读/写R/W R/W R/W R/W R/W R/W R/W R/W
复位初值00000000
例:建立列表
MOVR TABLECNT,A
CALL TABLE1
.
.
TABLE1:ADDAR PCL,R;PCL=PCL+TABLECNT
RETIA00h;TABLECNT=0
RETIA01H;TABLECNT=1
RETIA02H;TABLECNT=2
RETIA02H;TABLECNT=3
2.3状态寄存器
此寄存器内容为ALU算数的状态及复位状态
Z,DC或C位可写0来作清除,根据指令逻辑运算的结果设置为0或1,TO,PD位不可写。
地址03H:状态寄存器(STATUS)
位76543210
名称保留ROMBK FRP/TO/PD Z DC C
读/写R R/W R/W R R R/W R/W R/W 复位初值00000000
位[6]:ROMBK
1:选择程序存储器为Bank1.(PC=0x800h~0xFEFh)
0:选择程序存储器为Bank0.(PC=0x000h~0x7FFh)
位[5]:FRP
1:当执行BSR/BCR指令更新GPIO(PA/PB)的其它位依据外部引脚的状态(from PIN).
0:当执行BSR/BCR指令更新GPIO(PA/PB)的其它位依据PA/PB寄存器(from register).位[4]:/TO
WDT溢出标示位
1=复位后、CLRWDT或SLEEP指令
0=看门狗定时器溢出
位[3]:/PD
电源关闭标示位
1=复位后或CLRWDT指令
0=SLEEP指令
位[2]:Z
零标示位
1=逻辑运算结果为零
0=逻辑运算结果不为零
位[1]:DC
辅助进位/借位标示位
ADDAR,ADDIA
1=运算结果低4位有进位
0=运算结果低4位没有进位
SUBAR,SUBIA
1=运算结果低4位没有借位
0=运算结果低4位有借位
位[0]:C
进位/借位标示
ADDAR,ADDIA,RLR
1=有进位
0=没有进位
SUBAR,ADDIA,RRR
1=没有借位
0=有借位
2.4General Purpose I/O ports
Ports A是4位的数据输入/输出寄存器,Ports B是4位的数据输入/输出寄存器,在微处理器上每一位都可选择为外部中断输入口。
图2-4.1显示GPIO引脚
图2.4.3-1,每一引脚可独立配置为高阻抗输入口,内置上拉电阻输入口,开源极流输出或可选择出力电流强度输出口或入力电流输出口。
复位之后,GPIO数据内容及控制寄存器被清除,GPIO为输入模式。
2.4.1PortA,PortB口数据寄存器
地址05H:Port A(PORTA)
位76543210
名称--------PORTA[3]PORTA[2]PORTA[1]PORTA[0]读/写--------R/W R/W R/W R/W
复位初值00000000
位[7:0]:PORTA[3:0]数据输入/输出
1=引脚逻辑高电平
0=引脚逻辑低电平
地址06H:Port B(PORTB)
位76543210
名称--------PORTB[3]PORTB[2]PORTB[1]PORTB[0]读/写--------R/W R/W R/W R/W
复位初值00000000
位[7:0]:PORTB[3:0]数据输入/输出
1=引脚逻辑高电平
0=引脚逻辑低电平
图2.4-1Block diagram of GPIO Port
2.4.2PortA,PortB模式
地址08H:Port A输入输出控制寄存器0(PAMODE0)
位76543210
名称--------PAMD0[3:0]
读/写R/W R/W R/W R/W R/W R/W R/W R/W 复位初值00001100
执行IOST/IOSTR指令存取
位[7:0]:PAMD0[3:0]
1=引脚Mode0高电平
0=引脚Mode0低电平
地址09H:Port A输入输出控制寄存器1(PAMODE1)
位76543210
名称--------PAMD1[3:0]
读/写R/W R/W R/W R/W R/W R/W R/W R/W 复位初值00000000
执行IOST/IOSTR指令存取
位[7:0]:PAMD1[3:0]
1=引脚Mode1高电平
0=引脚Mode1低电平
Note:PA[2](VPP):预设为100K奥姆上拉;PA[3]:预设为100K奥姆上拉
地址0AH:Port b输入输出控制寄存器0(PBMODE0)
位76543210
名称--------PBMD0[3:0]
读/写--------R/W R/W R/W R/W 复位初值00000000
执行IOST/IOSTR指令存取
位[7:0]:PBMD0[3:0]
1=引脚Mode0高电平
0=引脚Mode0低电平
地址0BH:Port B输入输出控制寄存器1(PBMODE1)
位76543210
名称--------PBMD1[3:0]
读/写--------R/W R/W R/W R/W 复位初值00000000
执行IOST/IOSTR指令存取
位[7:0]:PBMD1[3:0]
1=引脚Mode1高电平
0=引脚Mode1低电平
端口A和B模式定义见表2.4.3-1:
表2.4.3-1Port A and B输出控制真值表
资料寄存器模式1模式0输出驱动强度
1
00高阻抗输入(Input mode)
1
01上拉(input mode)
1
10上拉(100K?)
0入力(15mA)
1
11正常出力(15mA)
0入力(15mA)
Mode1=0and Mode0=1上拉(输入模式)
Mode1=1and Mode0=0开源漏极模式
2.5看门狗定时器(WDT)
看门狗定时器(WDT)是ㄧ个不需要任何外部组成部分独立运行的内建RC震荡器,所以WDT将仍可以运行在SLEEP(休眠)模式中,在正常工作或是SLEEP(休眠)模式的时候,一个WDT溢出将会导致设备复位。
Configuration WDTSEL[1:0]VDD=5V~2.4vV
SIRC=32Khz,WDT Time out
2’b1132ms
2’b108ms
2’b01512ms
2’b00128ms
CLRWDT指令可以清除WDT,使定时器重新配置,以避免定时器溢出产生复位。
可设置WDTE(08h-7)位使看门狗定时器关闭,WDT的正常溢出周期为18ms(无分频下),当执行SLEEP指令时,WDT 溢出时MCU将会被复位重置或执行下一个指令。
看门狗定时器的预分频见表2.5-1.
看门狗定时器方框图见图 2.5-2.
地址11h看门狗定时器(WDT)
位76543210
名称WDTE WDTSL WDTPS[2:0]LVRSL SPSEL--
读/写R/W R/W R/W R/W R/W--
复位初值11000010
位[7]:WDTE
看门狗定时器使能位1=使能0=关闭
位[6]:WDTSL
看门狗溢出选择
1=如果看门狗溢出,设备被复位(PC =0x000h)
0=如果看门狗溢出,设备被唤醒且PC =PC+1,在绿色模式下有效位[5:3]:WDTPS[2:0]
WDT 预分频表2.5-1.
WDTPS[2:0]WDT 溢出(config =32ms)3’b00032ms *1=32ms 3’b00132ms *2=64ms 3’b01032ms *4=128ms 3’b01132ms *8=256ms 3’b10032ms *16=512ms 3’b10132ms *32=1024ms 3’b11032ms *64=2048ms 3’b111
32ms *128=4096ms 表2.5-1WDT 预分频
位[2]:LVRSL
LVR 选择.
1=当MCU 在绿色(Green)模式,LVR 讯号能唤醒MCU 至正常模式(PC=PC+1)。0=当MCU
在绿色(Green)模式,LVR 讯号能重置MCU(PC=0x000)。位[1]:SPSEL
Slow IRC 时钟选择
1:Slow IRC Clock 不随VDD 变化0:Slow IRC Clock 随VDD 变化
WDTPS[2:0]
图 2.5-2WDT 方框图