苏州华芯微电子有限公司
HuaXin Micro-electronics Co., Ltd
phone: 0512-68256888
email:h-sun@h-sun.com
url: www.china-chip.com
HS2330C
说明书
HS2330C
是我公司开发的一款
8
½
MCU,具有高速度、½工½电压、½功耗、较大的输
入输出直接驱动½力、½积小等特点,全面兼容 PIC16C54,且可通过掩膜在外部晶½振荡器
频率不变的情况下½内部工½频率提高 4 倍,性价比高,是½档 8 ½ MCU 家族中的精品.
★性½特点简介:
A.
高性½类-RISC
CPU
■ 一共只有 33 条指令
■ 除了程序分支指令外其他所有的指令½是单周期指令
■ 工½速度:DC½20MHz 的时钟输入; DC½200ns 的指令周期
■ 12 ½字长的指令
■ 8 ½字长的数据
■ 8 个硬件专用寄存器
■ 两级硬件堆栈
■ 对数据和指令½有直接、间接和相对寻址方式
B. 外围部件特性
■ 带有 8 ½可编程预定标器的 8 ½实时时钟/计数器(TMR0)
■ 有上电复½功½ POR
■ 有芯片复½定时器
■ 带有片内 RC 振荡器的监视定时器 WDT,以保证可靠工½
■ 有省电的休眠方式
■ 可对以下 4 种不同振荡器方式进行选择:RC 型、XT 型、HS 型和 LP 型
C. CMOS 工艺技术
■ 采用½功耗高速 CMOS ROM 技术
■ 全静态设计
■ ½范围的工½电压:2.1V½6.25V
■½功耗:在 4MHz 时钟下,电源电压为 5V 时,典型的电流值小于 2mA
★引脚说明
HS2330C
引脚说明表
第
1
页 共
7
页
Ver. 040831
苏州华芯微电子有限公司
HuaXin Micro-electronics Co., Ltd
phone: 0512-68256888
email:h-sun@h-sun.com
url: www.china-chip.com
引脚名
RA0
RA1
RA2
RA3
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
T0CKI
引 脚 号
PDIP SSOP
17
18
1
2
6
7
8
9
10
11
12
13
3
19
20
1
2
7
8
9
10
11
12
13
14
3
I/O/P
类型
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I
缓冲器
类型
TTL
TTL
TTL
TTL
TTL
TTL
TTL
TTL
TTL
TTL
TTL
TTL
ST
说明
这是一个可½控的
4
½双向
I/O
口
A,即寄存器 F5
这是一个可½控的
8
½双向
I/O
口
B,
即寄存器
F6
TMR0
定时器/计数器的输入
脚,如不用,为减少功耗应接
地或接
VDD
总清除(复½)输入脚。
MCLR
为½电平时对芯片复
½
振荡器晶½/外部时钟源输入
线
振荡器晶½输出线;在晶½
振荡器方式接晶½或谐振
器,在
RC
方式输出
OSC1
频率的
1/4
信号
CLKOUT,
并表示指令周期率
电源电压,一般为
5V(在
2.2½6.25V
范围可选)
地线
MCLR
4
4
I
ST
OSC1/CLKIN
16
18
I
─
OSC2/CLKOUT
15
17
O
─
VDD
VSS
14
5
15,16
5,6
P
P
─
─
★ 存储器组织结构
■程序存储器的组织结构
片内程序存储器(ROM)采用的是“页”结构,每页为
512
个字(字长为
12
½)
,它
可直接寻址的程序存储空间为一页,即
512
个字,如需要更大的程序存储器时,可以通过选
择
1½4
页面来寻址。页面地址由状态寄存器 F3 的 D6 和 D5(PA1 和 PA0)决定。指令执行
的顺序由自动增量的程序计数器 PC 控制。程序控制操½支持直接、间接和相对寻址方式,
½需要非顺序执行跳½时,可以通过½测试和跳½指令、子程序调用指令、½移指令或把通
过计算获得的地址送入程序计数器 PC 实现。HS2330C 片内有一页程序存储器,大小为 512
第
2
页 共
7
页
Ver. 040831
苏州华芯微电子有限公司
HuaXin Micro-electronics Co., Ltd
phone: 0512-68256888
email:h-sun@h-sun.com
url: www.china-chip.com
个字。
另外片内有 2 级硬件堆栈,
可以实现 2 级子程序嵌套。
½用中需要注意不½超过 2 级嵌
套调用,否则就要出错。
系统复½后,
程序计数器 PC 指向程序存储器最后一个单元, 1FFh,状态寄存器 STATUS
即
的 PA1、PA0 指向第零页,所以通常需要在程序存储器的最后一个单元安排一条½移指令。
■数据存储器的组织结构
寄存器组可以分成两大类:通用寄存器和专用寄存器。
通用寄存器用于指令执行中存放数据或控制信息;
专用寄存器包括定时器寄存器、
程序
计数器 PC、状态寄存器 STATUS、I/O 寄存器和组选择寄存器 FSR 等。
HS2330C 专用寄存器一览表
地址
00h
01h
02h
03h
04h
05h
06h
寄存器名
INDF
TMRO
PCL
STATUS
FSR
PORTA
PORTB
D7 D6 D5 D4 D3 D2 D1 D0
用
FSR
的内容寻址数据存储器
8
½实时时钟/计数器
程序计数器
PC
的½
8
½
PA2 PA2 PA0 TO PD Z
间接数据存储器地址指针
— — — —
RA3 RA2 RA1 RA0
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
DC C
上电复½值
---- ----
0000 0000
1111 1111
0001 1000
1000 0000
---- xxxx
xxxx xxxx
MCLR & WDT
复½值
---- ----
uuuu uuuu
1111 1111
000? ?uuu
uuuu uuuu
----
uuuu
uuuu uuuu
其中:x=不确定;
u=未改变;
“-”=未用,读出该½时为“0”
。
注:●程序计数器 PC 的高½字节不½直接进行访问,PC 地址的高½可以通过写入状态寄存器 STATUS
中的 PA1 和 PA0 来选择页面地址。
●STATUS 中的 PA2(D7)未用,不受½响。
■ 状态寄存器
STATUS(F3)
PA2
PA1
PA0
TO
PD
Z
DC
C
D7
6
5
4
3
2
1
D0
◆C(D0)━进½/借½标志½
对加法指令
ADDWF
和
ADDLW,加法运算结果的最高有效½产生进½时,该½被½ 1,无
进½时清零。½对减法指令
SUBWF,减法运算结果产生借½时,该½被清零,而无借½时
被½
1。对循环移½指令 RRF
和
RLF,该½将与源寄存器的数据一起循环移½。
◆ DC(D1)━半进½/借½标志½
对加法指令
ADDWF
和
ADDLW,运算结果中的½ 4
½向高
4
½有进½,该½被½
1,无进
½清零。对减法指令的借½极性则刚½相反。
◆ Z(D2)━全零标志½
½算术运算或逻辑运算的结果为 0 时,该½被½ 1,否则为 0。
◆ PD(D3)━½功耗标志½
芯片上电后或执行 CLRWDT 指令后,该½被½ 1;½执行 SLEEP 指令后,该½被清零。
◆ TO(D4)━定时时间到标志½
芯片上电后或执行 CLRWDT 和 SLEEP 指令后,该½被½ 1;½监视定时器 WDT 定时时间到时,
第
3
页 共
7
页
Ver. 040831
苏州华芯微电子有限公司
HuaXin Micro-electronics Co., Ltd
phone: 0512-68256888
email:h-sun@h-sun.com
url: www.china-chip.com
该½被清零。
◆ PA1 PA0(D6 D5)━程序存储器页面地址预选½
对 HS2330C,片内只有一页程序存储器,不需要页面地址预选,故这两½½可以½为通用读/
写½。
◆ PA2(D7)━保留½未用
■选择寄存器 OPTION
选择寄存器 OPTION 不属数据存储器,是一个用来设½ TMR0/WDT 预分频值、外部 INT
中断和 TMR0 存放各种控制½的只写寄存器。
━
━
T0CS
T0SE
PSA
PS2
2
PS1
1
PS0
D0
D7
6
5
4
3
◆PS2、PS1、PS0(D2、D1、D0)━预分频½
预分频½定义
PS2 PS1 PS0 TMR0
分频率
WDT
分频率
0
0
0
0
0
0
1
1
0
1
0
1
1:2
1:4
1:8
1:16
1:1
1:2
1:4
1:8
1
1
1
1
PS2 PS1 PS0
0
0
1
1
0
1
0
1
TMR0
分频率
WDT
分频率
1:32
1:64
1:128
1:256
1:16
1:32
1:64
1:128
◆ PSA(D3)━预分频器分配½
PSA=0 预分频器指定分配为 TMR0 用
PSA=1 预分频器指定分配为 WDT 用
◆T0SE(D4)━TMR0 源触发沿选择½
T0SE=0
½
T0CKI
引脚上出现上升沿时计数器加
1
T0SE=1
½
T0CKI
引脚上出现下降沿时计数器加
1
◆T0CS(D5)━TMR0 时钟信号源选择½
T0CS=0
用内部指令周期时钟(CLKOUT)
T0CS=1
用
T0CKI
引脚上外部输入的脉冲
◆ D7、D6 ½━保留未用
这两½未用,读出时为“0”
■间接寻址 INDF(00h)和 FSR(04h)寄存器
INDF
间址寄存器不是一个物理寄存器,它是用来协同“寄存器选择”寄存器 FSR 实现
间接寻址操½,实际有效地址是 FSR 的内容。FSR 的½ 5 ½用来存储选择 32 个数据存储单
元的地址 00h½1Fh。½不用间接寻址方式时,FSR 寄存器可以½为 5 ½的通用寄存器½用。
FSR 的高两½ D6、D5 未用,读出时为‘1’
。
■程序计数器 PC
芯片复½后,程序计数器
PC
的所有½½被½成“1”
。在指令执行期间,除了以下几种
情况指令执行的结果会改变
PC
本身的地址值外,其他情况½随着指令的执行会自动加
1。
①“GOTO”无条件½移指令可以直接改变
PC
的½
9
½地址(D8½D0)值。½程序计
数器的计数值大于 512 个字时,PC 的高 2 ½ D10 和 D9 将用状态寄存器 STATUS 中的页面选
择½ PA1 和 PA0(D6 和 D5)来加½½½为高½地址。由此“GOTO”可以跳½到任意页的任意
第
4
页 共
7
页
Ver. 040831
苏州华芯微电子有限公司
HuaXin Micro-electronics Co., Ltd
phone: 0512-68256888
email:h-sun@h-sun.com
url: www.china-chip.com
单元。
②“CALL”调用指令可直接把½ 8 ½地址装入 PC,同时对第 9 ½清零。PC 的值加 1 后
指向返回的断点地址,再把断点地址压栈保护。½程序计数器大于 512 个字时,PC 的高 2
½ D10 和 D9 将用状态寄存器 STATUS 中的页面选择½ PA1 和 PA0(D6 和 D5)来加½½½为高
½地址。
③“RETLW”返回指令的功½是把堆栈栈顶的数据(即断口地址)送入程序计数器 PC,
以确保正确返回调用的主程序。
④如果在任½一条指令中 PC 被½为目标操½数(如 MOVWF PC)
,那么计算的 8 ½结果
将被送入 PC 的½ 8 ½, 的第 9 ½将被清零。 的高 2 ½ D10 和 D9 将用状态寄存器 STATUS
PC
PC
的页面选择½ PA1 和 PA0 来加½½½为高½地址。
■配½寄存器 CONFIG
━ …………………━ ━
WDTE
FOSC1
FOSC0
0
11
……………………………4
3
2
1
FOSC1
和
FOSC0
是振荡器选择½
FOSC1
FOSC0
0
0
LP
型(½功耗振荡器)
0
1
XT
型(晶½振荡器)
1
0
HS
型(高速石英晶½振荡器)
1
1
RC
型(阻容振荡器)
WDTE
是监视定时器允许½:
WDTE = 1
允许
WDT
工½
WDTE=0
关闭
WDT
工½
■ 晶½振荡器/陶瓷谐振器
陶瓷谐振器所需电容器的值
谐振器所需电容器的值
第
5
页 共
7
页
Ver. 040831