资源描述
新一代八位单片机M68HC08简介
前言
新一代八位单片机M68HC08采用了0.35μ工艺,具有价格低﹑速度快(8MHz总线速度)﹑功能强和功耗低等优点。特别是带有闪速FLASH存储器的单片机具有更高的性能价格比,将会成为MOTOROLA最主要的八位单片机。为了配合“第三届MOTOROLA杯单片机设计应用大奖赛”的进行,由MOTOROLA半导体亚太区策划,MOTOROLA单片机应用开发研究中心(清华大学﹑复旦大学﹑广东工业大学等)编写了这份资料,简单介绍了M68HC08单片机的系统结构﹑I/O功能及指令系统,并较系统的描述了MC68HC908JL3和MC68HC908GP32单片机。从而使对M68HC08单片机有一个初步了解,而详细资料则可参阅有关的手册。
编者
1999.5.
目录:
一.新一代八位单片机M68HC08简介
1.1 M68HC08单片机概述
1.2 M68HC08单片机功能简介
1.2.1 时钟发生器模块CGM
1.2.2 系统集成模块SIM
1.2.3 串行通信接口SCI
1.2.4 串行外围接口SPI
1.2.5 定时器接口模块TIM
1.2.6 直接存储器存取模块DMA
1.2.7 系统操作正常监视模块COP
1.2.8 低电压禁止模块LVI
1.2.9 外中断请求模块IRQ
1.2.10 断点模块BREAK
1.2.11 监控ROM模块MON
1.2.12 I/O端口
1.3 M68HC08单片机指令系统
1.3.1 数据传送指令
1.3.2 算术类指令
1.3.3 逻辑类指令
1.3.4 位操作类指令
1.3.5 移位类指令
1.3.6 程序控制类指令
1.3.7 二——十进制编码指令
1.3.8 特殊指令
24
一、 新一代八位单片机M68HC08简介
1.1 M68HC08 单片机概述
MOTOROLA公司的八位单片机一直占世界第一位、约占整个国际市场的1/3左右。新近推出的新一代八位单片机M68HC08 单片机;具有速度快、功能强及价格低等优点,特别是带有闪速(FLASH)存储器的单片机具有更高的性能价格比。图1.1是MOTOROLA单片机产品发展图。
图1.1MOTOROLA单片机产品发展图。
从图1.1可以看出M68HC08单片机正不断推出新品,有通用性的GP、JL和XL型,汽车控制的AZ型,模糊控制的KX、KJ型,马达控制的MR型,电话用的W型等各种单片机,以后还将推出DSP型、电话控制型、家用消费型、智能IC卡型、LCD驱动及VFD驱动型单片机,不断会覆盖M68HC05单片机的应用。M68HC08单片机虽然性能比M68HC05单片机性能高得多,而价格却不会比原有的八位单片机M68HC05来的高。是MOTOROLA公司今后主要发展的八位单片机。
图1.2是通用型产品MC68HC708XL36的系统结构图。
图1.2 MC68HC708XL36的系统结构图。
主要特性:
l 8MHz总线速度、125ns指令周期
l 片内EPROM:36K字节
l 片内RAM:1K字节
l 16位变址器(原M68HC05单片机为8位变址器)
l 新增8种寻址方式和78条指令
l 3通道DMA
l 定时器接口模块TIM(4通道)
——输入捕获
——输出比较
——脉冲调宽PWM
l 串行通讯接口SCI
l 串行外设接口SPI
l 时钟发生器模块CGM(具有PLL功能)
l 系统集成模块SIM
l 低电压禁止模块LVI
l 系统操作正常监视模块COP
l 外中断模块IRQ
l 断点模块BREAK
l 240字节监控ROM(MON)
l 并行I/O端口:56根I/O
l 外总线接口EB,寻址可达1M字节,寻址扩展可达16M字节(通过 DMA及变址器)
l 省电工作方式:STOP和WAIT工作方式
对于M68HC08其他型号单片机,还有以下模块可选:
l CAW模块MSCAN
l 8位A/D转换ADC模块
l LCD驱动模块
l FLASH闪速存储器
l SAE J1850的字节数据链路控制器BDLC
新一代八位单片机的主要特点:
l 采用模块设计,各种不同型号单片机可由不同模块组成,首创7天就可以设计出用户所需的单片机。
l 片内240字节的监控ROM,为用户提供了在线编程ICP及在线调试等功能。
l 具有特色的FLASH闪速存储器(取代片内EPRO/ROM),而价格却能低于相同容量的OTP型单片机。
l 与M68HC05单片机向上兼容
——变址器8位变为16位
——堆栈指针SP也变为16位
——程序计数器PC也为16位
——增加8种寻址方式和78条指令
图1.3是M68HC08与M68HC05单片机的CPU比较。
图1.3 M68HC08与M68HC05单片机的CPU比较。
表1.1 68HC08与M68HC05寻址方式比较。
寻址方式
HC05
HC08
固有寻址:(无操作数)
╳
╳
立即数寻址
╳
╳
直接寻址
╳
╳
扩展寻址
╳
╳
变址,无偏移
╳
╳
变址,8位偏移
╳
╳
变址,16位偏移
╳
╳
相对寻址
╳
╳
堆栈寻址,8位偏移
╳
堆栈寻址,16位偏移
╳
存储器至存储器寻址(4种)
╳
立即数、直接寻址
╳
直接、直接寻址
╳
变址、直接寻址
╳
直接、变址寻址
╳
变址预加1
╳
变址8位偏移、预加1
╳
1.2 M68HC08单片机功能介绍
M68HC08单片机与M68HC05单片机的功能向上兼容。其I/O有时钟发生器模块CGM、系统集成模块SIM、定时器接口模块TIM、串行通讯接口SCI、串行外设接口SPI、DMA模块、系统操作正常监视模块COP、低电压禁止模块LVI、断点模块BREAK、监控ROM模块MON以及多个I/O端口等。
1.2.1 时钟发生器模块CGM
时钟发生器模块CGM(Clock Generation Module)的系统结构图如图1.4所示。它主要有以下二个功能:
l 4倍内部总线的晶振频率
l 锁相环PLL电路
——可编程带宽的VCO(Voltage Controlled Oscillator)
——可编程模数的VCO频率除法器
——相位检测器
——环滤波器
——采集或跟踪操作模式
——PLL模块输出CGMVCLK
图1.4时钟发生器CGM系统结构图
1.2.2 系统集成模块SIM
系统集成模块SIM(System Integration Module)的系统结构如图1-5所示。它主要有以下功能:
l 由CGM来驱动总线时钟
l 为CPU和外围产生和控制总线时钟
——STOP/WAIT/复位/断点的进入几恢复
——内部时钟控制
l 主要的复位控制包括上电复位POR及COP的超时
l 中断控制
——确认时序
——裁决控制时序
——向量地址产生
l CPU的许可/禁止时序
l 模块化结构,可以扩充至128个中断源
图1-5 系统集成模块SIM系统结构图
1.2.3 串行通信接口SCI
串行通信接口SCI有以下功能:
l 全双工高速异步通讯
l 独立式发送与接受操作
l 32种可编程波特率
l 可编程的8位或9位的字符长度
l 二种接受唤醒
l 分离式接收和发送DMA服务请求
l 分离式接收和发送CPU服务请求
l 允许分离式的发送和接收
l 可编程发送输出极性
l 8个中断标志的中断驱动操作
l 低电压操作模式
l 接收帧出错检测
l 硬件奇偶校验
1.2.4 串行外围接口SPI
串行外围接口SPI的传输速率可达1MHz,它有以下功能:
l 全双工操作
l 主和从工作模式
l 分离式发送和接收寄存器
l 减少射频RF干扰的分离式时钟地
l 可编程的串行时钟的极性几相位
l 总线争用出错标志
l 超时运行出错标志
l 二个独立可允许中断,DMA或CPU服务
l 可编程的线或模式
l 与I²C相兼容
1.2.5 定时器接口模块TIM
定时器接口模块TIM(Timer Interface Module)的系统结构图如图1-6所示。主要功能如下:
l 4通道定时/计数器
l 输入捕获:上升沿、下降沿或任何跳变沿
l 输出比较:设计、清除或触发
l 脉冲调宽PWM
l 可编程时钟输入:系统时钟预分器,外时钟(最高4MHz)输入
l 可产生DMA中断
l 模块结构,可以扩充至8通道
图1-6 定时器接口模块TIM系统结构图
1.2.6 直接存储器存储模块DMA
直接存储器存储模块系统结构图如图1-7所示。主要功能如下:
l 3个独立通道
l 支持字节或字传输
l 具有块(256字节)传送和循环产送,块传送结束或循环再启动可产生CPU中断
l 可编程的DMA总线带宽(25%、50%、67%、或100%总线带宽)
l 可编程DMA服务请求/中断请求的优先级
l 在WAIT模式的可编程DMA许可
l 系统可扩充至7个通道和8个传送源输入
图1-7 直接存储器存储模块DMA系统结构图
1.2.7系统操作正常监视模块COP
系统操作正常监视模块COP(Computer Operating Properly Module)系统结构图如图1-8所示。主要功能如下:
l 在非正常时产生一个异步复位
l 晶振4.9152时,COP的超时周期为53.3ms
l COP的6位计数器时钟为CGMXCLK/8192Hz
图1-8 系统操作正常监视模块COP系统结构图
1.2.8 低电压禁止模块LVI
低电压禁止模块LVI(Lov Voltage Inhibit Module)系统结构图如图1-9所示。其主要功能是监视VDD电压,它具有:
l 可编程LVI复位
l 可编程电源功耗
l 写保护的状态与控制寄存器
图1-9 低电压禁止模块LVI系统结构图
1.2.9 外中断请求模块IRQ
外中断请求模块IRQ有IRQ1/VPP和IRQ2处中断。它们的结构图如图1-10所示。同时,也允许把I/O端口构置为外中断。
IRQ1的中断向量地址为$FFFA、$FFFB,IRQ2的中断向量地址为$FFF0、$FFF1。
图1-10 IRQ1的系统结构图
1.2.10 断点模块BREAK
除了外中断请求模块外,整个系统还有处理中断的断点模块BREAK。主要功能如下:
l CPU和DMA产生断点中断
l 可由软件产生断点中断
l 在断点中断时,I/O寄存器可进行存取,而COP禁止工作
1.2.11 监控ROM模块(MON)
监控ROM模块MON(Monitor ROM Module)是已固化在单片机,它为用户提供了可通过单线与单片机联系,可以在线调试和编程(如图1-13所示)。
l 下载代码至RAM或FLASH中,并可执行
l FLASH的加密、写入、擦除和校验
l 与PC机进行标准不归零NRZ串行通讯,波特率为4800至28K
l 可在线编程ICP(In – Circuit Programing)
l 用户方式FLASH编程UMFP(User Moche FLASH Progamming)
l 监控命令:
——READ:读存储器
——WRITE:写存储器
——IREDA:变址方式读
——IWRITE:变址方式写
——READSP:读SP
——RUN:运行用户程序
图1-11 进入监控方式的电路
1.2.12 I/O端口
M68HC08单片机的I/O端口与M68HC05单片机的I/O端口结构一样、如图1-14所示。M68HC08单片机有以下I/O端口:
l 端口A:8位,常作键盘中断KBD7~KBD0
l 端口A:8位,常作A/D转换AD7~AD0
l 端口C:8位,双向I/O
l 端口D:8位,有的常用作其他I/O引脚
l 端口E:8位,常作TIM和SCI的引脚
l 端口F:8位,有的常用作SPI引脚
l 端口G:4位,
l 端口H:4位,
图1-12 I/O端口结构
1.3 M68HC08单片机指令系统
M68HC08单片机比M68HC05单片机增加了8种寻址方式和78条指令。
1.3.1数据传送类指令
数据传送类指令可分为存、取、堆栈、寄存器以及存储器间数据传送等5种类型。
1、 CPU寄存器取数指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
LDA #opr
LDA opr
LDA opr
LDA opr,X
LDA opr,X
LDA ,X
LDA opr,SP
LDA opr,SP
Load
Accumulator
From Memory
A ß (M)
0
─
─
↨
↨
─
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
LDX #opr
LDX opr
LDX opr
LDX opr,X
LDX opr,X
LDX ,X
LDX opr,SP
LDX opr,SP
Load Index
Register X
From Memory
X ß (M)
0
─
─
↨
↨
─
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
LDHX #opr
LDHX opr
Load Index
Register H:X
From Memory
H:X ß (M:M+1)
0
─
─
↨
↨
─
IMM
DIR
2
3
2、 CPU寄存器存数指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
STA opr
STA opr
STA opr,X
STA opr,X
STA ,X
STA opr,SP
LDA opr,SP
Store
Accumulator
In Memory
(M) ß A
0
─
─
↨
↨
─
DIR
EXT
IX2
IX1
IX
SP1
SP2
3
4
4
3
2
4
5
STX opr
STX opr
STX opr,X
STX opr,X
STX ,X
STX opr,SP
STX opr,SP
Store Index
Register X
In Memory
M ß (X)
0
─
─
↨
↨
─
DIR
EXT
IX2
IX1
IX
SP1
SP2
3
4
4
3
2
4
5
STHX opr
Store Index
Register H:X
From Memory
M:M+1 ß (H:X)
0
─
─
↨
↨
─
DIR
4
3、 堆栈操作指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
PSHA
Push Accumulator onto Stack
Push (A) ;
SP ß (SP—$01)
─
─
─
─
─
─
INH
2
PSHH
Push Index Register
H onto Stack
Push (H) ;
SP ß (SP—$01)
─
─
─
─
─
─
INH
2
PSHX
Push Index Register
H onto Stack
Push (X) ;
SP ß (SP—$01)
─
─
─
─
─
─
INH
2
PULA
Pull Accumulator from Stack
SP ß (SP+$01);
Pull (A)
─
─
─
─
─
─
INH
2
PULH
Pull Index Register
H onto Stack
SP ß (SP+$01);
Pull (H)
─
─
─
─
─
─
INH
2
PULX
Pull Index Register
X onto Stack
SP ß (SP+$01);
Pull (X)
─
─
─
─
─
─
INH
2
4、 寄存器间数据传送指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
TAP
Transfer Accumulator to CCR
CCR ß (A)
↨
↨
↨
↨
↨
↨
INH
2
TPA
Transfer CCR to Accumulator
A ß (CCR)
─
─
─
─
─
─
INH
1
TAX
Transfer Accumulator to Index Register X
X ß (A)
─
─
─
─
─
─
INH
1
TXA
Transfer
IndexRegister X
to Accumulator
A ß (X)
─
─
─
─
─
─
INH
1
TXS
Transfer
Index Register X to SP
SPH:SP ß (H:X)—$0001
─
─
─
─
─
─
INH
2
TSX
Transfer SP to Index Register
H: X ß (SPH:SP) + $0001
─
─
─
─
─
─
INH
2
5、 存储器间数据传送指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
MOV opr,opr
MOV opr,X+
MOV #opr,opr
MOV X+,opr
Move
(M)Destinationß(M)Source
H:Xß(H:X)+1 in X+modes
0
─
─
↨
↨
─
DD
DIX+
IMD
IX+D
5
4
4
4
1.3.2 算术类指令
算术类指令有加、减、乘/除、加I/减I、求补/求反、比较及综合等7种类型。
1、 加法指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
ADD #opr
ADD opr
ADD opr
ADD opr,X
ADD opr,X
ADD ,X
ADD opr,SP
ADD opr,SP
Add Memory
to Accumulator
without Carry
A ß (A) + (M)
↨
↨
─
↨
↨
↨
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
ADC #opr
ADC opr
ADC opr
ADC opr,X
ADC opr,X
ADC ,X
ADC opr,SP
ADC opr,SP
Add Memory
to Accumulator
with Carry
A ß(A) +(M)+ (C)
↨
↨
─
↨
↨
↨
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
2、 减法指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
SUB #opr
SUB opr
SUB opr
SUB opr,X
SUB opr,X
SUB ,X
SUB opr,SP
SUB opr,SP
Subtract
Memory from
Accumulator
without Carry
A ß (A) — (M)
↨
─
─
↨
↨
↨
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
SBC #opr
SBC opr
SBC opr
SBC opr,X
SBC opr,X
SBC ,X
SBC opr,SP
SBC opr,SP
Subtract
Memory from
Accumulator
with Carry
Aß(A)—(M)—(C)
↨
─
─
↨
↨
↨
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
3、 乘/除法指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
MUL
Unsigned 8-bit x 8-bit Multiply
X:A ß (X) x (A)
─
0
─
─
─
0
INH
5
DIV
Unsigned 16-bit x 8-bit Divide
Aß(H:A)+(X)
HßRemainder
─
─
─
─
◇
◇
INH
7
4、 加1/减1指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
INC opr
INCA
INCX
INC opr,X
INC ,X
INC opr,SP
Increment
M ß (M)+1
A ß (A)+1
X ß (X)+1
M ß (M)+1
M ß (M)+1
M ß (M)+1
↨
─
─
↨
↨
─
DIR
INH
INH
IX1
IX
SP1
4
1
1
4
3
5
DEC opr
DECA
DECX
DEC opr,X
DEC ,X
DEC opr,SP
Decrement
M ß (M) —1
A ß (A) —1
X ß (X) —1
M ß (M) —1
M ß (M) —1
M ß (M) —1
↨
─
─
↨
↨
─
DIR
INH
INH
IX1
IX
SP1
4
1
1
4
3
5
5、 求补/求反指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
COM opr
COMA
COMX
INC opr,X
INC ,X
INC opr,SP
Complement
(One’s
Complement)
M ß $FF—(M)
A ß $FF—(A)
X ß $FF —(X)
M ß $FF —(M)
M ß $FF —(M)
M ß $FF—(M)
↨
─
─
↨
↨
1
DIR
INH
INH
IX1
IX
SP1
4
1
1
4
3
5
NEG opr
NEGA
NEGX
NEG opr,X
NEG ,X
NEG opr,SP
Negate
(Two’s
Complement)
M ß $00—(M)
A ß $00—(A)
X ß $00 —(X)
M ß $00 —(M)
M ß $00 —(M)
M ß $00 —(M)
↨
─
─
↨
↨
↨
DIR
INH
INH
IX1
IX
SP1
4
1
1
4
3
5
6、 比较指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
CMP #opr
CMP opr
CMP opr
CMP opr,X
CMP opr,X
CMP ,X
CMP opr,SP
CMP opr,SP
Compare
Accumulator
with Memory
A — (M)
↕
─
─
↕↕
↕
↕
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
CPX #opr
CPX opr
CPX opr
CPX opr,X
CPX opr,X
CPX ,X
CPX opr,SP
CPX opr,SP
Compare Index
Register X
with Memory
X — (M)
↨
─
─
↨
↨
↨
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
CPHX #opr
CPHX opr
Compare Index
Register H:X
with Memory
H:X— (M:M+1)
↨
─
─
↨
↨
↨
IMM
DIR
3
4
7、 综合杂类指令
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
CLR opr
CLRA
CLRX
CLRH
CLR opr,X
CLR ,X
CLR opr,SP
Clear
M ß $00
A ß $00
X ß $00
H ß $00
M ß $00
M ß $00
M ß $00
0
─
─
0
1
─
DIR
INH
INH
INH
IX1
IX
SP1
3
1
1
1
3
2
4
TST opr
TSTA
TSTX
TST opr,X
TST ,X
TST opr,SP
Test for
Negative or
Zero
(M) ß $00
(A) ß $00
(X) ß $00
(M) ß $00
(M) ß $00
(M) ß $00
0
─
─
↨
↨
─
DIR
INH
INH
IX1
IX
SP1
3
1
1
3
2
4
AIS #opr
Add Immediate
Value (Signed)
to Stack Pointer
SPH:SPß(SPH:SP) + (16<<M)
─
─
─
─
─
─
IMM
2
AIX #opr
Add Immediate Value (Signed) to Index Register H:X
H:Xß (H:X) + (16<<M)
─
─
─
─
─
─
IMM
2
1.3.3逻辑类指令
逻辑类指令主要是与、或和异或操作指令。
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
AND #opr
AND opr
AND opr
AND opr,X
AND opr,X
AND ,X
AND opr,SP
AND opr,SP
Logical AND
Accumulator
and Memory
A ß (A) ^ (M)
0
─
─
↨
↨
─
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
ORA #opr
ORA opr
ORA opr
ORA opr,X
ORA opr,X
ORA ,X
ORA opr,SP
ORA opr,SP
Inclusive OR
Accumulator
and Memory
A ß (A) + (M)
0
─
─
↨
↨
─
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
EOR #opr
EOR opr
EOR opr
EOR opr,X
EOR opr,X
EOR ,X
EOR opr,SP
EOR opr,SP
Exclusive OR
Accumulator
and Memory
A ß (A) ⊕ (M)
0
─
─
↨
↨
─
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
1.3.4位操作类指令
位操作类指令主要是位测试、清除、位置及标志位操作等。
指 令
描 述
操 作
CCR
寻址方式
总线周期
V
H
I
N
Z
C
BIT #opr
BIT opr
BIT opr
BIT opr,X
BIT opr,X
BIT ,X
BIT opr,SP
BIT op
展开阅读全文