DaisCMX16+微控制器编程手册.docx

上传人:b****7 文档编号:11156775 上传时间:2023-02-25 格式:DOCX 页数:31 大小:52.52KB
下载 相关 举报
DaisCMX16+微控制器编程手册.docx_第1页
第1页 / 共31页
DaisCMX16+微控制器编程手册.docx_第2页
第2页 / 共31页
DaisCMX16+微控制器编程手册.docx_第3页
第3页 / 共31页
DaisCMX16+微控制器编程手册.docx_第4页
第4页 / 共31页
DaisCMX16+微控制器编程手册.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

DaisCMX16+微控制器编程手册.docx

《DaisCMX16+微控制器编程手册.docx》由会员分享,可在线阅读,更多相关《DaisCMX16+微控制器编程手册.docx(31页珍藏版)》请在冰豆网上搜索。

DaisCMX16+微控制器编程手册.docx

DaisCMX16+微控制器编程手册

Dais-CMX16+

十六位体系结构

计算机组成原理

微控制器编程手册

2012年6月,第一版

无锡华文默克仪器有限公司

目  录

1 微程序控制器组成结构与寻址范围1

1.1 微控制定义1

1.2 下址定义1

2 微控制位M23~M0的定义2

3 节拍操作定义6

3.1 T1节拍6

3.2 T2节拍6

3.3 T3节拍6

3.4 T4节拍6

4 总线规则7

4.1 内部总线7

4.2 外设总线7

5 寻址方法8

5.1 指令寄存器(字)8

5.2 特殊寄存器8

5.3 通用寄存器9

5.4 I/O口及PC、AR指针11

5.5 存储器组织12

5.6 标志控制13

5.7 中断控制13

5.8 微地址控制14

1 微程序控制器组成结构与寻址范围

Dais-CMX16+的微程序控制器由微控制与下址两个部分组成,提供0~7FFh寻址空间,按字节取指,可定义256条机器指令的微操作。

1.1 微控制定义

微控制部分字长24位,由下表所列的直控字段、目的字段、运算字段、源字段和识别字段组成。

1.2 下址定义

下址部分字长16位,下表中高五位视为保留位,实际有效字长ud10~ud0共11位。

 

说明:

在编制下址时表中的保留位必须置“1”,例如下址“0001h”在微控制存储器中的真实值为“F801h”,利用实验箱自带键盘编程时应注意;在PC端的集成开发环境中,已由软件自动对保留位置“1”。

2 微控制位M23~M0的定义

控位

名称

微控制位含义

M23

E/M

存储器地址赋值定义。

当E/M=0时AR为数据区地址;当E/M=1时PC为程序区地址。

M22

IP

PC程序计数器控制位。

当IP=0、E/M=0时装载PC;当IP=0、E/M=1时PC+1。

M21

MWR

主存储器与指令寄存器写信号。

当MWR=0、IR=1时执行主存储器写操作;当MWR=0、IR=0时执行指令寄存器写操作。

M20

R/M

通用寄存器与内部数据区选择位。

1.源操作

1)当X2X1X0=001、R/M=1时,定义寄存器CX~DX(R0~R3)为源部件;

2)当X2X1X0=001、R/M=0时,定义内部数据区00~FFh为源部件。

2.目的操作

1)当O2O1O0=000、R/M=1时,定义寄存器CX~DX(R0~R3)为目标部件;

2)当O2O1O0=000、R/M=0时,定义内部数据区00~FFh为目标部件。

3.内部数据区IMA说明

内部数据区IMA位于实验系统LCD160液晶显示器右上方,由两片6116静态RAM组成16位内部数据区:

它们的数据总线与系统数据总线D15~D0相连;它们的地址总线高三位A10~A8接地、低八位中的A7~A1由IR15~IR9控制;它们在寻址中的奇偶特性由IR8定义;它们的A0端由主控台定义,面向用户实验时该端为高电平,因此它们字长16位的可寻址范围为128个单元,字长8位的可寻址范围为256个单元,适用于不同类型体系结构CPU内部寄存器或内部存储器的扩展。

M19

o2

o2o1o0为目标部件选择编码:

111=禁止;110=AR;101=BX;100=AX;

011=SP;010=I/O;001=XWR;000=REG

M18

o1

M17

o0

M16

OP

目标操作中的辅助控制位。

1.目标部件的奇偶控制

当OP=0时当前目标为偶寻址;当OP=1表示当前目标为奇寻址。

(适用于AX、BX、SP及I/O为目标部件时的奇偶操作。

2.目标部件的置位与清零控制

当OP=0时对当前目标清零;当OP=1表示对当前目标置位。

(适用于涉及中断允许、中断响应及中断服务的微操作。

3.目标寄存器的寻址控制

1)当OP=0、R/M=1时,将IR3、IR2作为目标寄存器地址;

2)当OP=0、R/M=0时,将IR9、IR8作为目标寄存器地址;

3)当OP=1时,将IR1、IR0作为目标寄存器地址。

(适用于定长格式指令中目标寄存器的寻址操作。

M15

M

运算模式控制位。

当M=0时为算术运算;当M=1时为逻辑运算(详见本表M13~M11控位)。

M14

CN

进位标志CY的位操作控制及AX、BX写控制

1.进位标志CY的位操作控制

1)当M=1、CN=0时,且W=1、XP=1,执行CY置位操作;

2)当M=1、CN=0时,且W=1、XP=0,执行CY淸零操作;

3)当M=1、CN=0时,且W=0,执行CY取反操作。

2.AX与BX的写操作控制

1)当ALU=0、CN=0时,且O2O1O0=100,执行AX与累加器的写操作;

2)当ALU=0、CN=0时,且O2O1O0=101,执行BX与暂存器的写操作。

M13

S2

M、S2、S1、S0算术运算

0000=A+B+C带进位加法

0001=A-B-C带减位减法

0010=RLC带进位左移

0011=RRC带进位右移

0100=A+B加法

0101=A-B减法

0110=RL左移

0111=RR右移

M、S2、S1、S0逻辑运算

1000=BB寄存器直送

1001=NOTAA寄存器取反

1010=A-1A寄存器减1

1011=0清零

1100=AORB逻辑或

1101=AANDB逻辑与

1110=A+1A寄存器加1

1111=AA寄存器直送

M12

S1

M11

S0

M10

X2

X2X1X0为源部件选择编码:

111=禁止;110=ALU;101=SP;100=I/O;

011=EM;010=XRD;001=REG;000=PC

M9

X1

M8

X0

M7

XP

源操作中的辅助控制位。

1.源部件的奇偶控制

当XP=0时当前源为偶寻址;当XP=1时当前源为奇寻址。

(适用于AX、BX、SP及I/O为源部件时的奇偶操作。

2.源寄存器的寻址控制

1)当XP=0、R/M=1时,将IR3、IR2作为源寄存器地址;

2)当XP=0、R/M=0时,将IR9、IR8作为源寄存器地址;

3)当XP=1时,将IR1、IR0作为源寄存器地址。

(适用于定长格式指令中源寄存器的寻址操作。

3.在标志位操作中与W控位组合定义当前执行的功能(详见本表M14控位)

M6

W

数据总线字长与标志控制位。

1.数据总线字长控制

当W=0时为16位数据总线;当W=1时为8位数据总线。

2.在标志位操作中与XP控位组合定义当前执行的功能(详见本表M14控位)

M5

ALU

运算器源与目标控制位。

1.源控制

1)当ALU=1时,运算源来自通用寄存器AX、BX;

2)当ALU=0时,运算源来自累加器与运算暂存器。

2.目标控制

1)当ALU=1时,O2~O0所定义的“AX”、“BX”为通用寄存器AX、BX;

2)当ALU=0、CN=1时,O2~O0所定义的“AX”、“BX”为累加器与运算暂存器;

3)当ALU=0、CN=0时,O2~O0所定义的“AX”、“BX”同时为通用寄存器AX、BX和累加器、运算暂存器。

M4

Iu

微地址变迁控制位。

1.微址变迁类型

1)当Iu=0、Ids=1、Icz=1时为扩充变址;

2)当Iu=0、Ids=1、Icz=0时为结束变址;

3)当Iu=0、Ids=0时为指令变址。

2.微址变迁约定

1)扩充变址:

由当前微指令的下址段定义后续微地址,可指向0~7FFh范围内尚未定义的仼一单元。

2)结束变址:

由当前微指令的下址段指定返回微地址,主控台提供两种固定的指令结束返回微地址:

a)下址段为0001h(F801h),主控台定义微总线中ud1的电平由中断请求源IEQ状态确定,形成两个后续微地址:

●当IEQ=0时,产生后续微地址001h,执行下一条指令的取指微操作;

●当IEQ=1时,产生后续微地址003h,执行中断响应微操作。

b)下址段为0002h(F802h),由于主控台屏敝IEQ,后续微地址固定为002h,无条件执行下一条指令的取指微操作。

3)指令变址:

由当前微指令的下址段和指令代码中的相关位随机动态合成微指令的后续微地址:

●当Iu=0、Ids=0、Ie=1时,ud10~ud9由下址段定义,ud8~ud5从IR7~IR4获取,其余位强制清零;

●当Iu=0、Ids=0、Ie=0时,ud10~ud9由下址段定义,ud4~ud3从IR3~IR2获取,其余位强制清零。

3.下址段溢出位定义

下址段中ud15~ud11溢出微控制器寻址范围,填下址时必须置“1”,即下址“0001h”应填写为“F801h”(脱机操作时需注意,联机操作时由软件自动置“1”)。

M3

IE

中断控制及微变址辅助控制位。

1.中断控制

1)当Iu=0、Ids=1、IE=0、OP=1时,由W定义中断允许:

W=1开中断;W=0关中断;

2)当Iu=0、Ids=1、IE=0、OP=0时,由W定义中断服务:

W=1中断响应;W=0响应结束。

2.变址控制

当Iu=0、Ids=0时,由IE定义下址中指令段的位置及长度。

M2

IR

取指与指令寄存器写控制位。

1.当IR=0时定义的微操作

1)当IR=0、MWR=1时为取指微周期;

2)当IR=0、MWR=0时为IR写入微周期。

2.取指变址类型

1)当IR=0、MWR=1时,且Ids=1为字节变址;

2)当IR=0、MWR=1时,且Ids=0为定长变址。

3.取指变址约定

1)字节变址:

ud10~ud9由下址段定义,ud8~ud1从IR7~IR0获取,ud0强制清零;

2)定长变址:

ud10~ud9由下址段定义,ud8~ud5从IR7~IR4获取,其余位强制清零。

4.定长变址说明

1)流水标志:

以指令码中IR4为流水标志,确定下续微地址的走向;

2)下续微址:

当IR4=1时,微地址加1,进入流水微程序入口;

当IR4=0时,按定长变址约定转入指令的执行入口。

5.下址编制约定

1)在取指微周期,用户对下址段中ud10~ud9的定义权限为01、10、11,其变址范围在200~7FFh之间;

2)下址段中ud15~ud11溢出微控制器寻址范围,填下址时必须置“1”,即下址“0001h”应填写为“F801h”(脱机操作时需注意,联机时由软件自动置“1”)。

M1

Icz

条件变址控制位及微变址中的辅助控制位。

1.条件变址

当Iu=1、Icz=0时,由当前微指令的下址段定义ud10~ud1,由控制位Ids和IE指定ud0的来源(详见本表M0控位)。

2.变迁标志

当Iu=0、Ids=1时,由Icz定义微址变迁类型。

M0

Ids

微变址中的辅助控制位。

1.定义指令格式

1)当IR=0、Ids=1时,操作码字长八位(IR7~IR0);

2)当IR=0、lds=0时,操作码字长四位(IR7~IR4)。

2.定义变址方式

1)当Iu=0、Ids=1为后续变址;

2)当Iu=0、Ids=0为指令变址。

3.定义标志位

1)当Iu=1、Icz=0时,遇Ids=1或IE=0,将CY填入ud0;

2)当Iu=1、lcz=0时,遇Ids=0且IE=1,将Z填入ud0。

3 节拍操作定义

3.1 T1节拍

第一节拍,源部件读操作,打后续微地址,变更微定义。

3.2 T2节拍

第二节拍,取指操作,打操作码,预置后续微地址。

T2节拍仅在取指微周期产生。

3.3 T3节拍

第三节拍,PC操作,程序计数器装载或加1。

3.4 T4节拍

第四节拍,目标部件(内外设)写操作。

4 总线规则

4.1 内部总线

适用于非扩展寻址,其规则下表所列:

1.源操作

XP

W

总线宽度

功能说明

0

0

16位

字读

0

1

8位

偶字节读

1

X

8位

奇字节读

2.目标操作

OP

W

总线宽度

功能说明

0

0

16位

字写

0

1

8位

偶字节写

1

X

8位

奇字节写

3.传递操作

W

XP

OP

总线宽度

功能说明

0

0

0

16位

字传递(十六位传递)

1

0

0

8位

偶送偶(低位送低位)

1

0

1

8位

偶送奇(低位送高位)

X

1

0

8位

奇送偶(高位送低位)

X

1

1

8位

奇送奇(高位送高位)

4.2 外设总线

仅适用于扩展寻址,其规则所下表所示:

1.字节总线

W=1

总线宽度

有效长度

功能说明

外总线

8位

D7~D0

内总线

16位

D15~D0

遇扩展外设为源寻址

2.字总线

W=0

总线宽度

有效长度

功能说明

外总线

16位

D15~D0

按内总线寻址定义总线

内总线

16位

D15~D0

按非扩展寻址定义总线

 

5 寻址方法

5.1 指令寄存器(字)

1.IR寄存器内核

操作码寄存器IRL(字节)

操作数寄存器IRH(字节)

2.寻址方式

取指微周期按字节寻址;

写入微周期支持字、字节寻址。

3.16位指令寄存器

单向输岀指令码与操作数,只写不可读。

4.寻址编码

1)取指

IR

MWR

T2

T4

功能说明

有效长度

0

1

操作码→IRL

字节操作

0

1

操作数→IRH

字节操作

2)写入

IR

MWR

OP

W

T4上升沿打入

有效长度

0

0

0

0

数据总线→IR

字操作

0

0

0

1

数据总线→IRL

字节操作

0

0

1

X

数据总线→IRH

字节操作

5.2 特殊寄存器

1.名称定义

运算源寄存器AX、BX(字)

栈指针寄存器SP(字)

2.源编址

X2

X1

X0

M

S2

S1

S0

XP

W

功能说明

1

1

0

1

1

1

1

0

0

AX字读

1

1

0

1

1

1

1

0

1

AL偶字节读

1

1

0

1

1

1

1

1

X

AH奇字节读

1

1

0

1

0

0

0

0

0

BX字读

1

1

0

1

0

0

0

0

1

BL偶字节读

1

1

0

1

0

0

0

1

X

BH奇字节读

1

0

1

0

0

SP字读

1

0

1

0

1

SPL偶字节读

1

0

1

1

X

SPH奇字节读

3.目标编址

o2

o1

o0

OP

W

功能说明

1

0

0

0

0

AX字写

1

0

0

0

1

AL偶字节写

1

0

0

1

X

AH奇字节写

1

0

1

0

0

BX字写

1

0

1

0

1

BL偶字节写

1

0

1

1

X

BH奇字节写

0

1

1

0

0

SP字写

0

1

1

0

1

SPL偶字节写

0

1

1

1

X

SPH奇字节写

5.3 通用寄存器

1.名称定义

通用寄存器CX,含CH(R1)、CL(R0)

通用寄存器DX,含DH(R3)、DL(R2)

2.源编址

1)微控制状态

X2

X1

X0

RS1

RS0

W

功能说明

0

0

1

0

0

0

CX字读

0

0

1

0

0

1

CL(R0)偶字节读

0

0

1

0

1

X

CH(R1)奇字节读

0

0

1

1

0

0

DX字读

0

0

1

1

0

1

DL(R2)偶字节读

0

0

1

1

1

X

DH(R3)奇字节读

RS1、RS0编址

XP

R/M

功能说明

1

IR1、IR0→RS1、RS0

0

1

IR3、IR2→RS1、RS0

0

0

IR9、IR8→RS1、RS0

2)手动控制状态(在线)

X2

X1

X0

IR1

XP

W

功能说明

0

0

1

0

0

0

CX字读

0

0

1

0

0

1

CL(R0)偶字节读

0

0

1

0

1

X

CH(R1)奇字节读

0

0

1

1

0

0

DX字读

0

0

1

1

0

1

DL(R2)偶字节读

0

0

1

1

1

X

DH(R3)奇字节读

3)手动控制状态(搭接)

X2

X1

X0

SI

XP

W

功能说明

0

0

1

0

0

0

CX字读

0

0

1

0

0

1

CL(R0)偶字节读

0

0

1

0

1

X

CH(R1)奇字节读

0

0

1

1

0

0

DX字读

0

0

1

1

0

1

DL(R2)偶字节读

0

0

1

1

1

X

DH(R3)奇字节读

3.目标编址

1)微控制状态

o2

o1

o0

RD1

RD0

W

功能说明

0

0

0

0

0

0

CX字写

0

0

0

0

0

1

CL(R0)偶字节写

0

0

0

0

1

X

CH(R1)奇字节写

0

0

0

1

0

0

DX字写

0

0

0

1

0

1

DL(R2)偶字节写

0

0

0

1

1

X

DH(R3)奇字节写

RD1、RD0编址

OP

R/M

功能说明

1

IR1、IR0→RD1、RD0

0

1

IR3、IR2→RD1、RD0

0

0

IR9、IR8→RD1、RD0

2)手动控制状态(在线)

o2

o1

o0

IR1

OP

W

功能说明

0

0

0

0

0

0

CX字写

0

0

0

0

0

1

CL(R0)偶字节写

0

0

0

0

1

X

CH(R1)奇字节写

0

0

0

1

0

0

DX字写

0

0

0

1

0

1

DL(R2)偶字节写

0

0

0

1

1

X

DH(R3)奇字节写

3)手动控制状态(搭接)

RXW

DI

OP

W

功能说明

0

0

0

0

CX字写

0

0

0

1

CL(R0)偶字节写

0

0

1

X

CH(R1)奇字节写

0

1

0

0

DX字写

0

1

0

1

DL(R2)偶字节写

0

1

1

X

DH(R3)奇字节写

5.4 I/O口及PC、AR指针

1.I/O输入、输出端口

16位准双向I/O,当某一位拨至高电平1时,该位可用于输出(写操作)。

2.PC程序计数器

11位程序计数器,可寻址范围为0~7FFh,双向11位,可预置、加1,按字寻址。

3.AR数据指针(不可读)

16位数据指针,可寻址范围为0~FFFFh,单向输出地址总线,只写不可读,按字寻址。

4.源编址

X2

X1

X0

XP

W

功能说明

1

0

0

0

0

IO字读

1

0

0

0

1

IOL偶字节读

1

0

0

1

X

IOH奇字节读

0

0

0

X

X

PC字读

5.目标编址

1)I/O与AR

o2

o1

o0

OP

W

功能说明

0

1

0

0

0

IO字写

0

1

0

0

1

IOL偶字节写

0

1

0

1

X

IOH奇字节写

1

1

0

X

X

AR字写

2)PC带预置全加器

E/M

IP

T3

T3上升沿打入

1

1

PC保持

1

0

PC加1

0

0

PC装载(DBUS→PC)

5.5 存储器组织

1.存储器分类

程序存储器(程序段,11位程序指针PC,寻址范围0~7FFh)

数据存储器(数据段,16位数据指针AR,寻址范围0~FFFFh)

内部存储器(内存段,8位地址指针IRH,寻址范围0~FFh)

2.源编址

1)程序段

E/M

X2

X1

X0

A0

W

功能说明

1

0

1

1

0

0

字读

1

0

1

1

0

1

偶字节读

1

0

1

1

1

X

奇字节读

2)数据段

E/M

X2

X1

X0

A0

W

功能说明

0

0

1

1

0

0

字读

0

0

1

1

0

1

偶字节读

0

0

1

1

1

X

奇字节读

3)内存段

R/M

X2

X1

X0

IR8

W

功能说明

0

0

0

1

0

0

字读

0

0

0

1

0

1

偶字节读

0

0

0

1

1

X

奇字节读

3.目标编址

1)程序段

IR

E/M

MWR

A0

W

功能说明

1

1

0

0

0

字写

1

1

0

0

1

偶字节写

1

1

0

1

X

奇字节写

2)数据段

IR

E/M

MWR

A0

W

功能说明

1

0

0

0

0

字写

1

0

0

0

1

偶字节写

1

0

0

1

X

奇字节写

3)内存段

R/M

X2

X1

X0

IR8

W

功能说明

0

0

0

0

0

0

字写

0

0

0

0

0

1

偶字节写

0

0

0

0

1

X

奇字节写

5.6 标志控制

1.进位标志CY

1)位操作

M

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

当前位置:首页 > 经管营销 > 经济市场

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

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