微刀理田
〔莫托洛拉 的M C 14 5 0 0 B (IC U )〕
本文介绍的是莫托洛 拉 公 司 研制的 1 位
C 一 M O S微处理器M C 14 5 0 0 B (IC U ) , 这种产
品从 1 9 7 7年 12 月开始出售 . 价值 1 8 0 0 日元 。
第 一 部 分
莫托洛 拉 的 M C 1 4 5 0 0 B 工 业 控 制 单元
(ICU )是将可编程序控制器 (P r o g r a m m a b le
L 。 g ic c 。 n t r 。 lle r ) 的主要功能用一片集成 电
路来实现 。 莫托 洛拉M C 1 4 5 0 o B 的特点如下 :
( l ) 16条指令 ;
(2 )编程容易 、 结构简单 ;
( 3 )容易掌握 . 不要特殊的技术人员 ;
( 4 )由于使用外存储器 , 系统变更容易 ;
( 5 )能满足用户的特定要求 , 具有丰富的
灵活性 ;
(6 )能够扩展 以适应所有系统的规模和复
杂程度 ;
( 7 )能够进行程序设计 ;
( 8 )B 系列 C 一 M O S符合JE D E 规格 (美国
E IA规格 ) ;
(9 )噪音容 限大 ;
(10) 不工作时漏电流小 ;
(1 1 )工作电压 3 一 lsV ;
(1 2 )静态工作 ;
(13 )时钟频率范围广 , 一般 工 作 频 率是
1 M H z (V
D 。 = S V , 一 个时钟执行一条指令) ;
(14) 信号输入和T T L互换 ;
(15 )将判断作为中心工作 , 超过微处理器
的性能 ,
(1 6 )应用范围广 , 由继电器 回路开始的逻
辑处理到中速度的串行数据处理 , 还能减轻超
负荷的微处理器系统的工作 。
莫托洛拉M C 1 4 5 0 0 B是以判断作为中心工
作 目的而研 制 的 单片式 1 位静态C 一 M O S信
息处理器 。 这个信息处理器是一个有 16 个插脚
的模块 。指令执行时 , 把 1 位双向数据总线上的
数据和IC U 内部的 1 位寄存器一一结果寄存器
(R R )的数据进行逻辑运算 , 但所有运算按位
进行 。
IC U (in d u s t r ia l e o n t r o l u n it)是使用外
部电 阻的 , 由内部振荡器产生 的 时 钟 取得同
步 , 也可使用由外部振荡器产生的时钟信号取
得同步。 无论在哪个场合 , 均可使时钟信号和
系统内其它装置的时钟信号取得 同步 。 ICU 的
每条指令在一个时钟周期内被执行。 时钟频率
能够在大范围内进行变化 , 如 : 时 钟 频 率为
1 M H z 时 , 指令执行速度是 1卜“。
IC U 的最初例子是组合成 4 个元件块 , 最
小规模的IC U 系统如第 1 图所示 , 这个系统由
以下各部分构成 :
IC U (M C 1 4 5 0 0B )是这个系统的中央控制
器。
存储器 : 是 由 固定存储器 R O M 和随机存
储器R A M构成 , 在这里存储由各条指 令 和输
入输出地址构成的程序步。
程序计数器 : 因为要顺序地正确执行一连
串指令 , 故使用程序计数器。
输入和输出 : 输入和输出根据存储器内的
信息能分别单独被选择 。
程程序计敞番番
州州州州州州州州州州州州州州州州州州 e /冷万夕夕乃乃
\\\/////////////////////////////程程序存储番番
丈丈夕 ::::: 只 ; {{{
咙咙咙乙才牛牛奎回回回 {禾禾持、、习多多
图 1 基本 的IC U 系 统
存储器的位数 虽 然 决 定了输入输出的点
数 , 但若进行更大的扩展时 , 与这个系统有关
的输入输出几乎能够无限地扩展 。
l 位微处理器对复杂的运算和并行数据处
理是很不方便的 , 而对进行多数的计算系统更
是不相称的 。 在进行计算和数据收集时 , 多位
处理器是适用的 。 在进行判 断或控制时 , 可以
说 1 位微处理器是很适用的。 在判断和计算同
时进行时可根据经济效果 、 设计者的习惯和设
计的简易等来决定 。
第 2 图所示的是M C 1 4 5 00 B 的 功 能 图 。
ICU 的中心是结果寄存器 (R R ) , 用来存放逻
辑运算结果 , 是 1 位的寄存器 。 运算是把由外
部来的信号和 R R 的内容作为输 入 , 在逻辑单
元 (L U )中进行 。 指令由 4 个指令插脚 (I。 、 1 1 、
1
2 、
1
3
)送入 , 在 x ,信号开始 下降时被存放在指
令码寄存器 (IR )中 。
卫酥t 汉
、‘下厂公e
声乞刀
C乙穴
O“亡
产气昼和户
厂 《毋只从
凡厅
户@ 厂断
R 万T
囚 犷2 . 亡已
刀口亡口
工了
工之
工‘
丁o
场
犷朋尸尺
K 犷
义 2
丁U网
尺T汀
厂么和厂荞呀厂
佰巧阵份泛“10,123呼5户6a7
图 2 MC 1 4 50 oB方框 图及插脚配置 图
第 l 表所示的指令是 在 控 制回路 (C T L )
译码后 , 将适当的控制信号送给 L U 。 在C T L
还进行其他指令的译码 , 并向插脚 g ~ 12 送出输
出标志 (J M P 、 R T N 、 FL G O 、 F L G F ) 的状
态 , 这些输入在 x L信号下降沿后保持一周期 ,
作为外部控制信号被使用 。
时钟信号 由插件内的振荡器产生 , 时钟频
率由连接到插脚 13 、 1 4 的 外部电阻来决定 。 第
3 图介绍频率和阻抗值的关系 。 插脚 1 4的方波
输出在ICU 除内部使用外 , 还可作为系统时钟
使用。 用外部时钟使IC U工作时 , 应使用插脚
1 3
。
表 1 M C i 4 5 0 0 B的指令设置
在寄存器没有变化 R ‘R F L G O 、J’’L
读入结果寄存器 D at a , R R
读反 D a ta , R R
逻辑 与 R R o D 干R R
逻辑与反 R R · D , R R
逻辑或 R R + D , R R
逻辑或反 R R + D ) R R
异或 如果 R R = D R R 、 1
写 R R‘ D a ta , 擂脚 W r ite、 1
总复位插脚(R S T )为 “ 1 ” 状态时 , 所有
的寄存器都清 “ 0 ” , ICU 内的标志符号变成
“ O ” 状态 。 同时振荡器插脚 (x , )成 “ 1 ” 状
态 。 当R S T 成 “ O ” 状态时 , 稍加延时后振荡
器开始起振 , 而R R 的状态被缓冲后 由插脚 15
输出 。
IC U的密封部分集中在一个 16 个插脚的双
列直插式组件(D IP )中。 有 塑 料 和 陶瓷的两
种 , 温度范围和模块型号有以下三种 。
MC 1 4 5 0 0 B A L
陶瓷模块 : M IL 温度范围
M C 14 50 0 B C L
陶瓷模块 : 工业温 度范围
写反 R R ‘D a ta 插脚W r ite , 1
允许输入 D , 工E N 寄存器
允许输出 D , O E N寄存器
转移 JM P标志 , 几
返回 R T N 标志、几
跳过下一条指令 , 如果 R R = O , 跳过下一条指令
寄存器不变 , R R , R R , FL G F、J’’L
MC 1 4 5 0 0 B C P
塑料模块 : 工业温度范 围
库库库爵爵巨巨巨巨巨 舞舞葬葬葬葬 目目辜辜燕燕雇雇雇雇斗斗斗开开曰曰阵阵阵阵日日田田翩翩曰曰日日曰曰千千日耳耳月月日日曰曰门门了了门丁「「厂节节门门「一一门门厂r「「朋朋广川川门门广门门厂丁节节I了TTIII门一州州门门门门工工工竣竣又又 J、....... 茸茸幽幽幽国国国幸幸理理丘丘丘丘阵阵阵牛津津沂沂沂 呀呀弃弃拜拜邢邢邢 巨巨阵阵手手幸冲冲巨巨到到到阵阵阵斜斜曰曰日日曰曰户户}王一一翩翩曰曰日日曰曰田田巨什什曰曰日日曰曰广广rrr m rrr广州州曰曰r---门门叮产产沌1111广,, 门门厂门门【门勺勺叮丁FFF下勺勺门门门门
}}}干干研研日日日日日日日日开开洲洲吕吕日日日日田田研研曰曰日日日日臻臻臻瀚瀚到到到到 阵阵葬葬茸茸茸茸 吕吕毒毒薰薰释释释 昌昌斗斗斗科科曰曰日日曰曰日日开开湘湘曰曰日日曰曰平平斤如!!!尸尸日日曰曰口口口区耳耳厂门门门门曰曰]]] 可们们一川川门门口口口口「丁门门庄序序瓜二二门门口口日日日珊珊日日日日日日日日翻翻洲洲曰曰日日日日田田研研尸尸网网日日
各个插脚的作用如第 2 图所示 。
工CU 的极限容量和 电气 特 性 如 第 2 表所
示 。 这个特性能适用 于 推 荐 使用电压范围为
5~ 一SV d
‘的 B系列 C 一 M O S装置 , 合乎JE D E C
B系列的规格 。 为了更好地使用 C 一 M O S具备
的噪声容限特性 , 把电源电压定为 1 5 v 。。 IC U
能和 1 00 种 以上的B 系列C 一 M O S装 置 一 起使
用 , 但也能和B 系列以外的 C 一 M O S 装置一起
使用 。
开关特性和波形如第 3 表和第 4 图所示 ,
所有时标均与插脚 14 的时钟 信号 x , 进 行 对
比 。
。LDc川.鄂盟黔一一.吧州叫器!黔耐叫恻
.恻四耐叫岁l!|1ieseses.eses.eses.esesJwe.es.JesJeses!⋯
与.l勺叱勺.5九与.8肠纵勺.c勺勺仰
阳雌(、!外塞言盆
叼乍中拉年阳找
图 3 一般 的时钟频率的阻抗特 性 ( R c)
表 2 电气的特性
特 性 符号 2 5 0典型值 单 位
有两个带门锁的输入允许寄存器 ( I E N )和
输出允许寄存器 ( O E N ) , 它 控 制 IC U 和其它
组件之间的数据传送 。 I E N为 “ l ” 状态时 ,
允许向L U输入数据 , O E N在 “ 1 ” 状态时允
许写出 。 这两个寄存器应注意的是通过数据插
脚 (D )设定 。
输出电压 “。”电平
V I N = V n D 或 0
“1 ” 电平
V I N 二 0 或 V D B
V o L
V o H
}等扩⋯⋯1 。
{
‘。 ⋯
续表 2
特 性 符号 V D D
V d
e
25
“
典 值型
·
T L o w = 一 5 5℃ (A L类 ) , 一 4 0 ,C (C L /C P类 )
T h ; g 、 = + 12 5℃ (A L类 ) , + 8 5℃ (C L / C P类 )
“
1
”和 “ o ”的干扰极 限 , 电平 = 2 . OV d e m ; n ,
V D o = 1 0 V d
。
输入 电压 “0" 电平
R S T
,
D
,
X Z
(V o 二 9 . 0或 1 . 0 V d 。)
“ 1 ”电平
(V o = 1
.
0或 9 . 0 V d 。)
丁一L 丁一一刁一J 一 ~七J 一匕一厂
4
。
5 0
5
。
5 0
⋯单位⋯v ‘C
j
V ‘c
vac
输入 电压 “。”电平
10
,
1 1
一 1 2 , 1 3
(V o = 9
.
0或 1 . 0 V 。C )
“ 1 ”电平
(V o = 1
.
0或 9 . OV d C )
V i L
V z壬I
V
。l。
2
。
2
日今钟欠,
只万T
I〔N寄韶
0压N . 』 ‘, ,
尺尸
四拉桔令
厂孟乃吞O
厂Z刃厅厂
州州 平生一一冲冲公公
3
。
1
输出激励 电流
其它输 出
(V o H = 9
.
S V d
。
)
(V O L = 0
.
5 V d
。
)
源 1‘
。。 一m A d ·
N O P O
,
N O PF 指令
R R
,
IE N
,
O E N 不受 影响
(a )
漏 1 0 1」
J
一 6 . 。
⋯6 一 m A d 。
J方l中X .
不拉枯令 飞
一几丁磷并- L - 丁只- J 一n目八U一.1一.1
夕
一 2 。 2 5
2
。
2 5
⋯m A d c
一
m A d
。
刀刀
I万N等存者
/ 力部J
L D
,
_ _
. ~ 卜 . 刁九片
\
L D C
,
A N D
,
A N D C
,
O R
,
O R C
nnU
1111
}
2 。
{
5 ⋯
m A d
。
X N O R
,
IE N指令
R S T = O时有效
(b )
一 2
m A d
。 时 下卜厂几 J 一飞一J 一飞一
六Un
,1一.1
15 0 林A d 德卜簇孑一尹叼
0 0 0 0 1
歹一一一了一尸份
0 0 0 0 1
卜A d e
件A d 。 只
口仁N
(内;
七“夕
七_
a51匀
d胜孟11, 1
叭 丫
FFPP
。
0 10
.
0 1 0
协A d e
林A d c
S T O
, S T O C
, O E N 指令
R ST = 0时有效
( ( )
,1
:
n八U.n甘八U
一十+一
1 0
1O
5 O
基 本 概 念
的部) , 无褚令
S K Z
,
JM P
,
R T N指令
R R
,
IE N
,
D E N不受影 响
(d )
图 4 时间波形
表 3 开关特性
特 , ’ 符号
}等: 一愉鳌育⋯单位扣
第 5 图所示的框图是将 IC U (M C z 4 5 0 0 B )
作为基础的小规模PL C系统的一例 。 和 IC U一
起使用的部件除存储器外都是标准的C 一 MO S
部件。
IC U 系统的工作原理和程序内存方式的微
处理器的原理相同 , IC U 具有 16 条基本指令 ,
所有的指令都被存储在 IC U 系 统 内 的 存储器
中 。
这个系统在执行指令时 , 先将必要的信息
从存储器中读出 , 执行其指令。 指令执行后 ,
再从存储器中读出下一条指令 。 其过程反复进
行无限地循环 。
j拉叹
据总践
拍入/ 拍出
心叭公鹜勺芝
刁字输人 刁个软止
租租租租租租租租租租声计献留留111 C UUUUU 阿 C汉5 了‘月月
网网‘I落S O D刀刀刀刀刀刀刀刀刀刀
{{{{{{{{{{{{{{{{{{{{{{{{{{{
琳琳琳琳 存储若若
划划划划划划划划划划划划划划
勺勺勺勺 乙夕夕 油入地址址
}}}}}}}}}}}}}}}}}}}}}}}}}}}
翰翰翰翰翰翰翰翰翰翰出裸持回踌踌瓤瓤选择呵路路路路路路路路路路网网C 汗5 1之之
图 5 一 般的小规模系统 的构成和数据流 向
对于 X l输入 是 T : = T E = 20 n s ;
对于 JM P、 入 IR R 、 F LA G O 、 F LA G F是 : C L = 5 0 P ;
对于 D A T A 、 W R IT E 是C ; = 13 o PF 十 IT T L负荷 ,
L D (读 ) , S T O (写)指令
作为一般的指令有L D (L O A D )指令 , 利
用这个指令将位片的数据向IC U 内的结果寄存
器读入 。 为了执行 L D 指令 , 用户首先要把 L D
指令和采样输入地址编成程序放在存储器中。
有关系统的动作如下 : 系统存 储 器把L D 指令
送给IC U , 并把应采样输入地址送给输入选择
回路 。 被选择的输入逻辑电平经过工C U 的 1 位
数据通道 , 传送给 1 位的结果寄存器 (参看第5
图) 。
另一条指令是 S T O (S T O R E )指令 。 这个
指令把结果寄存器的 1 位数据传送给输出保持
回路。 为了执行S T O指令 , 用 户 应 把指定接
收 S T O指令和数据的输 出 保持回路的地址编
成程序存入存储器中。 系统的 动 作 如 下 : 把
S T O 指令送给 IC U , 把选 择 的 输出保持回路
的地址送给输出 装 置 。 IC U的结果寄存器内
的数据经过 IC U 的 1 位数 据 通道被传送给被
选择的保持回路 (第 6 图 ) 。
以上所述 , 是在系统的数据输入输出工作
的情况 。
W 丫;亡它
程程程程程程程程程程序---计摇摇III C 廿廿廿 州C州州巧0口666川川C了45 0 0吕吕吕吕吕吕吕吕吕吕吕吕
存存捅 番番
了了丁OOO 当当俞式地址址
}}}}}
琳琳琳架架架
揪揪揪揪揪揪揪揪揪揪你持回踌踌输输脆择明明明明明明明明明明明 M‘/ 45夕明或
乏场之叼t
图 6 S T O 指令系统动作
... 灌序计敞番番
川川乙f井J j6吕吕
存存褚备备
III ‘UUU
阿阿C f4 5 00 BBB
输输输输输输输输输输输M刹奇回路路蜘蜘蜘姻伞回玲玲玲玲玲玲玲玲玲玲川川CIII阵乡了己己
图 7 基本系统
( 1 ) 存储器
第 7 图所示那样的系统存储用于存储指挥
系统动作的程序 。 程序由 4 位的操作码 (O P代
码) 和地址 码 构 成 。 它对 IC U 发 出一连串指
令 。 二进制形式的地址指定 IC U 的 1 位双向数
据总线和输入输出装置之间的数据通道。
( 2 ) IC U
IC U 是系统的中央控 制 单元 。 IC U 控制
内部寄存器和 1 位双 向数据总线的数据进行逻
辑运算 ; 为了统一系统整体的动作 , 向系统各
组件输送控制信号 。
(3 ) 程序计数器
程序计数器 (PC )是向工C U 系 统 存储器指
示应执行指令的地址 。 FC顺序 地计数到最大
值 , 当达到最大值时返回到零 , 然后再重新开
始计数 。 因而 , 存储器内的程序可反复进行 。
( 4 ) 输入选择 回路
输入选择回路在进行特定的处理时 , 从很
多的输入中选出特定的输入 以供使用 。 IC U 的
系统存储器对于输入选择回路指示应选择的输
入地址 。 其结果 , 只选择特定的数据 , 决定向
IC U 的 1 位双向数据总线发送。 因而从很多的
输入中选出一个输入 。
( 5 ) 输出保持回路
输出保持回路除数据流向相反外 , 其它很
近似于输入选择回路 。 工C U 将寄存在结果寄存
器内的数据发送给 1 位双向数据总线的同时 ,
向输出保持回路传送W R 工T E 信号 , 这时从存
储器来的地址所指定的保持回路 存 储 这 个数
据 。
A N D (与)指令
根据 A ND 指令 , 动作如下 : 系统存储器
向IC U 给出A N D 指令的O P操作代码 , 向输入
选择回路给出输入的地址 。 被指定的输入数据
被送到 IC U 双向数据总线上 , 其次 , 将总线的
数据和结果寄存器内的数据进行 A N D ( 逻辑
与 ) 运算 。 然后 , 再将结果寄存在结果寄存器
内。 结果寄存器的结果成为逻辑 “ 1 ” 时 , 指
令执行前的结果寄存器的内容必是逻辑“ 1 ” ,
输入数据也只能是逻辑 “ 1 ” 。 其 真值 表 如
下 。
A N D I 结果寄存器内容 I 结果寄存器内容
输 入 ! (指令执行前 ) 一 (指 令执行后 )
在L O A D 给出能量 (成为逻辑 “ l ” ) 。
在 IC U , 逻辑运算不仅是一次 , 程序可往
复进行。 在程序中有 1 0 0 0条指令 , 当时钟频率
是 5 0 0K H z 时 , 输入 l秒钟采样5 0 0次 (Zm s )。
其结果 , 输入变化在 Zm s 以内 , 从而也决定了
输出的变化。 并且把这个叫做回路控制结构。
第 g 图表示了进行L O A D = A · B 的 IC U 的程
序 。 无论怎样 , 解决这个 问题的 必 要 指 令是
L D B ; A N D A ; S T O L O A D
。
欠et。。。,1与蠕竺{遥二坷竺
程序设计基础和指令设置
图 8 L O A D = A o B
乙乙 夕月月
月月邓刀刀刀
丁丁TOOO
乙乙OA 刀刀
其其充指龟群群
结果寄存器的功能
在进行运算时结果寄存器的作用 , 如前面
所述的A N D 指令那样 , 在执行这个 指 令时 ,
IC U将数据总线上的数据和结果寄存器上的数
据进行 “与 ” 运算 。 而且 , 运算结果再次存入
结果寄存器中。 用 IC U执行运算指令时 , 必须
注意的是将其结果存入结果寄存器中。 这样 ,
运算结果和台式计算机经常表示的结果是相同
的 。
反码指令
一个输入是逻辑 “ 1 ” , 另一个输入是逻
辑 “ 0 ” 时 , 希望在接通时 (O N )能输出 。 这
种情况 , 在继电器回路对应于常闭接点 . 在逻
辑回路使用反相器。 第10 图所示的是这种情况
的一例。
将输入 A 口州大态向 IC U 的结 果寄存器 (R R )读入 。
将输入 B的状态 和IC U 的结果寄存器 的数据 (输
入 A 的状态 )进行 “与 “运算 , 运算结果向
结果寄存器存入
把R R 内的数据网 称为L O A D 的输出传送 , 从而
使负荷装置开始工作或停止 。
执行程序剩佘的部分 , 再 返回原来状态 。
图 , L O A D = A ·B 的程序例
}濡一
一界泰丹 蛛习兰竺
R e亡“四
图 1。 反 码信号 的例子
第 7 图所示的基本系统解决在继电器回路
和逻辑回路中的间题是极为适用的 。 第 8 图用
两种方法表示L O A D = A · B 。
这里在 : 、和B 同时闭合时 (逻辑 “ l ”时 ) ,
IC U 指令中 , 具有这种情 况 的 有 数条指
令 。 反码指令在把 IC U 双向数据总线上的数据
的逻辑电平反转后 , 才能进行数据处理 。
L D C (读反 )指令
在反码指令中的一个指令是 L D C (L O A D
CO M PL E M E N T ) 指令 。 这个指令的动作如
下 : 工C U 系统存储器向工C U 传送 L D C指令 ,
然后向输入选择回路传送应处理的输入地址。
输入选择回路将被指定的数据加在IC U 的双向
数据总线上 。 IC U 把这个 数 据 的 逻辑 电平反
相 , 然后将结果存入结果寄存器 。 若输入数据
是逻辑 “ 0 ” , 那末结果寄存器的内容就是逻
辑 “ 1 ” 。 使用L D C指令解决第 10 图的程序如
第 n 图所示 。
计算例。 第13 图表示的 是 解 决 第12 图问题的
1C U程序 。
理解每一 条指 令 . 必须弄清楚 : A 二 h
B = 0
.
C 二 1 , D = O时 , 才能确定 L O A D = 1 。
}
, 月 c
忖~
’
艺O对刀 {一卜粼不令月‘ 砂全匕。翌王 乙i拟e 月 仪昨认丫nZ I’N 亡 长忆t 以丫n
了了TO /剐1777
图 12 连续计算 例
将A 输入 的反 码存入结果寄存器 。
将 B输入 和结果寄存器的内容 (A 输入的反 码)进行
“与 ”运算 。结果 , 重新存入 结果寄存器 。
将结果寄存器 的 数据传送给称为 L O A D 的输出保
持 回路 。
A 信号是逻辑 “ O “ , B 信 号限制在逻辑 “ 1 ” ,
S T O指令向输出保持 回路传送逻辑 “ 1 ” 。
图1 1 L D C指 令 的 使用 例
语句 操作 操作改 说明
, 1 L D A 结果寄存器 * A
, 2 A N D C B 结果 寄存器、 A · B
, : A N D C 结果寄存 器、 ‘气· B · C
: 4 A N D C D 结果寄存 洛~ A · B ·C · D
, 5 ST O L O A D 结果寄存器 = A · B ·C · D 一卜 L O _、D
图 1 3 解第 1 2 图的连续计算的程序
A N D C (与反 )指令
另 一 个 反 码 指 令 是 A N D c ( A N D
C O M FL E M E N T ) 指令 。 A N D C 的 动 作如
下 : IC U 系统存储器向IC U 传送 A N D C指令 ,
向输入选择 回路传送输入地址 。 输入选择 回路
将被选择的数据加在IC U 的 1 位双向数据总线
上 。 IC U把数据总线上的数据逻辑反相后和结
果寄存器的数据进行 “与” 运算 , 将其结果再
次存入结果寄存器 。 对于被选择的输入数据是
逻辑 “ 0 ” , 运算前结果寄存器的内容 限制在
逻辑 “ 1 ” 的情况 , 运算后结果寄存器的内容
是逻辑 “ l ’, 。
把这个指令和其它指令组合时 , 在IC U就
能进行更加复杂的运算。 第 12 图所示的是连续
O R (或 ). O R C (或反 )指令
O R 指令常在很多场合中使用 。 对于其中
有一个输入是逻辑 “ 1 ” 时 , 输出就接通的场
合 , 就可以使用O R 指令 。 O R 指令 的 动作如
下 : 工C U 系统存储器向IC U 传送 O R 指令 , 向
输入选择回路传送地址。 偷入选择回路把被指
定的数据加在 ICU 的双间数据总线上 。 工C U 将
这个数据和结果寄存器的内容进行 “或” 运算
(O R )
, 将其结果再存入结果寄存器内。
IC U准备了在必要时使 用 的 反码的O R C
(O R C O M PI
*
E M E N T ) 指令 。 这个指令的
动作 , 除输 入 数 据的逻辑 电平在运算前反相
外 , 其余的和 O R 指令相 1司 。 O R 指令和O 尺C
指 令的例子如第 1 4图所示 。在O R 指令的场合 ,
A 输入和 B输入的其中一方 , 或 两 方同时是逻
辑 “ 1 ” 时 , 输出则 是 逻 辑 “ l ” 。 在 O R C
的场合 , A 输入是 逻 辑 “ l ” 或B 输入是逻辑
“ 0 ” 时 , 输出则是逻辑 “ 1 ” 。
: ;护翻扛衅三“ 嗽才橄
认 r。
场不莎州
幼 r n
LD 、 R R ~ A
O R B R R 一A + B
S T O L O A D A + B = R R
一升L O A D
O R 指令 的使用例
LD A R R 、 A
O R C B R R ~ A 十 B
S T O LO 人D A 」一 B 二 R R 一 LO A D
() R C指令的使用 例
图1 4 O R 和 O R C指令的使用例
‘ 1 L D A A R R 、A
” 2 A N D B R R ~ A
·
B 错误
“ 3 O R C R R 、A 一B + C
“ 礴 A N D D R R 专 (A 一 B + C ) D
‘ 5 S T O L O A D R R 、 L O A D
请注意 , 在最后的一式 , D 项容易在所有的项中得出错
误的结果 。例如 : A 、B 、C是 逻辑 “ 1 ” , D 为逻 辑 “ o ” 时 ,
负荷装 置就接受逻辑 “ O ” , 这就错了 。为 什么 呢 ? 因为 ,
如 果A 、B输入是逻辑 “ 1 ” 时负荷装 置必须开始工 作 。
图 1 6 错误 的程序 例
,.7‘、J尽下盆
“ r n
L一。e
暂存单元的使用
作为控制工业 中的逻辑结沟 , 存在着串联
的继电器群和其它串联的继电器群相并联的场
合。 其例如第巧图所示 。
解决这样的问题时 , 有 将 L D , Ll ) c ,
A N D
,
A N D C
,
O R
,
O R C指令直 接 连接而
不能解决的场合。 在某种场 合 , 在进行剩余的
处理前有将中问结果暂时退避 的必要 。 在这样
的场合, 使用L D , L D C , A N D , A N D C 指
令作指令群 , 然后将从这个指 令群来的中间结
果存在暂存单元巾。
然后 , 将取 自第 2 个指令群来的运算结果
和被退避后的中间结果进行 “或 ” 运算 , 最后
一把输出定为接通或断开 。 在写解决这种间题的
程序时 , 应注意的是容易犯如第 16 图所示的错
得。 使用暂存单元 , 正确的程序例子如第 1了图
所示 。
‘ 1 L D A R R 、A
‘ 2 A N D B R R 、A · B
‘ : S T O T E M P R R = A
·
B 、 T E 入IP
, 礴 IJ D C R R ~ C
‘ 5 A N D D R R 、C · D
‘ 6 O R T E M P R R 、一C D + T E 入IP = A . B + C · D
, ; S T O L O A D R R = A
·
B + C
·
D 、L O A D
在这 个程序 ,!J , A 、 B 的 “与 ” 运算结 果 暂 存 , C 、D 的
“与 ” 运算结 果和 “与” 运算以前暂存的数据进行 “或 ” 运
算 。将正确 的逻辑信号送入负荷装置 。 在这个例中 , 有准 备暂
存器 的必要 。
图1 7 问题的正确解 决方法
X N O R (异或)指令
作 为 最 后 的 逻 辑 运 算 指 令是 X N O R
(E X C L U S 工v E N O R ) 指 令 。 其 意思是完
全 “一致 ” 的指令。 就是 , 输入数据和结果寄
存器内的数据一样时 , 结果寄存器内的运算结
结果寄存器 内
的 原 来 数 据
结果寄存器内的 新 数 据入据输数
继由翩逻辑 半 导体等 价逻辑
图 15 串联 一业联的场合 图 15 X N O R 的真值表
6 5
果成逻辑 “ 1 ” 。 第18 图所示的是X N O R运算
的真值表 。 第19 图所示是 X N O R 运 算 的使用
例。 使用这个指令时能够缩短程序。
算亡汇冲律已
L ;
n e
图 2 1 复杂 问题
n
Jl门乙屯幼月SL口叮J及n,j土毋.件#莽毋朴。母件
LD A
A N D B
S T O T E M P
L D C A 等价 L D A
A N D C B X N O R B
O R T E M P S T O L O A D
S T O L O A P
图1 9 X N O R 指令 的使用 例
2314567
必.-书*吞,
S T O C (写反 )指令
传送将负荷装置接通 (O N )的信号时 , 如
果运算结果的反码能够输出的话 , 那是非常方
便的。 要想做到这点 , IC U 需有 S T O C (S T O
C O MPL E M E N T )指令 。 S T O C指令除了把
结果寄存器的内容反相后向输出保持回路传送
这一点外 , 其余都和S T O指令相同。 由于执行
这个指令时 , 结果寄存器的内容不发生变化 ,
故用这个指令控制负逻辑装置是非常方便的。
第20 图所示的是S T O C指令的使用例 。 第21 图
展示了利用继电器和 逻 辑 回 路产 生 的复 杂
问题 , 第 22 图 展 示了解决这些复杂问题的程
序 。
母 1 1
琳 1 2
# 1 3
令 J 4
莽 1 5
LD A R R , A
A N D B R R、A o B
A N D C R R 、A · B ·C
S T O T E MP A
一
B
·
C * T E M P
L D D R R 、D
A N D C E R R 、D · E
A N D F R R 、 D . E · F
O R T E M P R R 干A · B ·C + D · E ·F
A N D G R R * ( A
·
B
·
C + D
一
E
·
F )
.
G
A N D C H R R 、 ( A · E . C 十 D o E ·F卜 G . H
S T O T E M P (A
. B
o
C 十 D o E . F ) ·G
.
H * T E M P
LD 工 R R 、 I
A N D C J R R 十 I 一 J
O R T E MP R R 、 ( A 一B 一C + D 一E 一F ) 一 G . H +
I
一J
ST O L O A D (A
. B
一
C + D
一
E
·
F )
.
G
·
H + I
·
J)
L O A D
图 2 2 解决复杂问题的程序
L D A R R 、A
A N D B R R、A 一B
S TO T E M P A
一
B令T E MP
L D C R R * C
A N D D R R 斗C · D
O R T E M P R R * A
·
B + C
一
D
S T O C O U T P U T A
.
B + C
一
D 、O U T PU T
图2 0 S T O C指示的使用例
允许指令 I E N和O E N
为了控制在回路控制结构中的程序流 向 ,
I C U 增设了两条指令 。 在回路控制结构中 , 每
条指令从存储器顺序地读出和执行 , 而在某些
场合 , 要转移IC U 程序的特定部分 , 或禁止输
入数据对系统输出的影响 。
工E N (允许输入 )指令
I E N (I N PU T E N A B L E ) 指令是这样
的指令中的一个。 I E N指令的动作如下 : I C U
的系统存储器向IC U传送工E N指令 , 向输入选
择回路输送输入地址。 输入选择回路把被指定
的数据送到工C U双向数据总线。 工C U 把输入数
,土月山曰二Jq36一了毋毋#希禅尝份
5 6
据存入 IE N 寄存器 。 若 IE N寄存器的内容为逻
辑 “ O ” , 则以后的输入数据全部看成是逻辑
“
O
” , 直至 IE N 寄存器的内容为逻辑 “ 1 ”
为止。 三立个寸污令作为和继电器电路中的主触点
同样日的而使用 。 第 23 图所示的是 IE N 的使用
例。
此万T U碑丫
ABC
山“又\/IJ吸\(/
EDXFGY
书 1
L l)
, : 人N D
. 3 A N D
容 ;
S T O
诊 , }! 卜叮
二 卜 工I)
二 于 人N 下}
‘ : ST f)
I r)
贫 ] . 人 N D
‘ r r 异10 0
, 1 2 O R C
毋 1 3 IE N
. 2 4 I
J
r)
, 2 5 S T O
那末结果寄存器的内容就成了和输入数据无关
的逻辑 “ 1 ” 。 在 IE N寄存器所控制的程序段
执行终了后 , 工E N 寄存器必须返回逻辑 “ 1 ” 。
在第 23 图的例子中就是用语句 针; 2 和 共1 3进行
的 。在语句 转1 : , 把结果寄存器变成逻辑 “ 1 ” ,
在语句 甘; 3 , 把结果寄存器的内容存入 IE N寄
存器 。 结果寄存器的内容能从M C 1 4 5 o 0 B 的插
脚取出 , 在这里连接成一个系统输入信号 。 在
所有系统中几乎全是这样连接的 。
O E N (允许输出)指令
在 “回路控制结构 ” 控制程序动作的第 2
个指令是O E N (O U T PU T E N A B L E )指令 。
O E N指令的动作如下 : IC U 系统存储器向IC U
输送 O E N指令 , 并 向输入选择 回路输送地址 。
在输入选择回路 , 把被指定 的 输 入 数据送到
IC U 的双向数据总线上 , 在工C U 把这个数据向
O E N寄存器寄存。 当D E N 寄 存 器 成 为逻辑
“ O ” 时 , 工C U 是不能输出W R IT E 控制信号
W
入IC
R R
R l之
令 R R 为 “ 1 ” , 然后
再令 IE N 寄存器为 “ 1 ” 。
HZ
图邓 工E N指令的使用例
使用L D 指令和八 N D 指令仅只确定负荷装
置是否接通 。 在语句 廿 。 , 工E N 寄 存器成逻辑
“ O ” 时 , 结果寄存器仅能接受逻辑 “ O ” 的
数据。
〔注意点〕
为了正确使用IE N 指令 , IE N 寄存器的内
容为逻辑 “ 0 ” 时 , 把工C U 的所有输入数据看
成逻辑 “ O ” 。 在工E N 寄 存 器里的 内容为逻辑
产0 ” 时, 再执行L D C指令和O R C指令的话 ,
甸甸昨业乃时输获获
卫卫传迁一个脉冲冲
令 仅。 了
终了
关于 O E N 指令和和
的详细说明请参着第 6 章 、
第 7 章 。
. 1
. 2
A作业
、1llJJ||/冲脉脉冲1之Jl
之Jt
RR
2222食 3
。 4
. 5
希 6
L D A
A N D
O E N
S T O
S T O C
S T O
S TO C
R R 、A
B R R 、A 一B
O E N、 R R = A o B
O PE R A T 工O N 一 空操作) 指令 , 其它三条是
在回路控制结构以外的 大 规 模 系统使用 的指
令 。
硬 件 系 统
L D C R R
O E N R R
S T O Z
ST O C Z
O R C R R
O E N R R
S T O Q
图 2 4
作业B
在这里讲述各部件如何构成系统及如何使
用等问题 。 根据这些介绍 , 设计者就能够针对
系统进行设计 。
第 25 图是小规模的IC U基础的系统简图 。
这个系统具有 回路控制结构 。 就是不管 IC U 的
动作如何 , 程序计数的内容是不变的 。
系统的特点
第25 图所示的回路图系模拟可编程序控制
器 (PL C )系统 , 根据回路 控 制 结构的原则进
行动作而设计的 , 这 个 系 统 具备 8 个输入输
出 。 而且工C U备有 8 个供返 回 输 入 使用的输
出 , 这些输出作为暂存器被使用 。 在这个系统
中 , 能有两种不 同的程序 , 各 程序最大是 25 6
语句。
程序计数器
程序计数器 由两片M C 1 4 5 1 6 B 二进制计数
器构成 , 给出 8 位的存储地址 。 因此 , 这个系
统能够进行2 5 6字的寻址 。 计 数器在 IC U 时钟
信号上升沿时设置系统 , IC U复位时它复位成
“
O ” 。因程序计数器 的内容不受 IC U 的影响 ,
因此 , 系统能够根据回路控制结沟的原则进行
动作 。
存储器
系统存储器是用一片 M C M丁6 4 1 5 12 X 8
位的P R O 人,I( 存储器的一半 ) 。 但 是 , 可用转
移指令把存储器地 址 的 最 上位定为 “ 1 ” 或
“ 0 ” , 从而在两个不 同的程序 中选择一个 。
这样的功能 , 在必要的场合采用高速系统变更
是有用的 。 设计者由于把其它的计数器和双稳
态多谐振荡器附加在程序计数器上 , 能够扩展
存储量 , 增加程序步数。 程序语句在25 6 以下 ,
不需要高速的整个运算的场合 , 使用更小规模
的存储量是较经济的 。
八UJI,习勺碑叼
7口甘n了,11]1择舜公毋价奋毋禅
O E N 指令 的使用例
的 。 所以 , 输出保持回路不可 能 接 受 新的数
据 。 即使执行 ST O指令或 S T O C指令 , 输出保
持回路的数据也不 变 化 。 注 意 , 如 果 O E N
寄存器是逻辑 “ 0 ” 时 , 系统输出不变化 , 直
至O E N指令是逻辑 “ 1 ” 为止 。 系 统输出只
在执行 S T O指令或S T O C指 令 时 产生变化 ,
假如使用 O E N 指令 , 把 O E N 寄存器定为逻辑
“ O ” , 使系统的输出没有影响的话 , 程序能
得到和转移特定程序的同样效果 。 这时候 , 请
不要忘记把O E N 寄存器再返回到逻辑 “ 1 ” 。
第 24 图所示的是O E N 指令的使用例 。
在这个例子中 , 编程时可把结果寄存器的
输出系统作为系统输入使用 。
在第2 4图的例子中 , 如果偷入A 、 B 同时
是逻辑 “ 1 ” 时 , 用从语 句 甘4 到 科7 给输出传
送两个脉冲 , 而语句 甘l 。和 转1 1对输出Z没有
什么影响 。 若检测条件不满足 时 , 从语句 甘4
到 赫7对输出没有什么影响 , 但语句 井1 。和 井, ,
给输出传送一个脉冲 。 在语句 甘1 2 和 针, 3 , 输
出能够收到逻辑 “ 1 ” , 把 O E N 寄 存器返 回
逻辑 “ 1 ” 。 以后的程序 , 当O E N 寄 存器成
为逻辑 “ 1 ”时 , 以后的程序按通常情况处理 。
前面介绍了L D , L D C , A N D , A N D e ,
O R
,
O R C
,
X N O R
,
S T O
,
S T O C
,
I E N 和
O E N等各指令 。 M C i 4 5 0 0 B ( IC U ) 除 了这些
指令外 , 述有五条 指 令 , 两 条是N o P ( N O
约 外 乃
程加十哎霭 七 吵肠 份 价 外程序计政器乙 尸:
产了乙 I夺冬才‘多芳
夕乡 口2 户
l 健‘凌 况呱 洲‘ z干夕z‘日矛
一、 }止
勺邸介扮几冰欧才黑百岛
了石沪一一O
g 一 一 一 一一 一 ~
六厂二上
哪 在喘 、 断
c外 习 。河 7‘斗! C52
O兄 —— — — — 一 nl爪, ,
工3 工1 丁1 1 0 尸朽比
犷 工 C 口
丈: 产夕: z茶夕‘、 区
火l 夕
二淞匕l一卜一一.一功一冷
比起“与仃
丁必应o份直尸卜八取‘夕,不c‘抓习一岁夕 士 多 亡 召
拍 之饰卞从匕 H ‘/4 尸了‘ 。。一 少州r 性 一 。了
l
|
.
||
esL
条统输凡 中间变量暂存番’ 方统愉夕
每个输入端均接一个电阻到地
图 25 最小的 IC J系统
第2 6图展示了存储器字的 (数据的安排 )格
式。 高位 4 泣被用作丁CU 的操作指令代码 . 低
位 4 泣彼用沐系统的输 入选择回路和输出保持
回路的地址码 。 而且通过选择 存 储 器 , 可使
札U系统存储器构成有更多的方式 。
仁 扩展性
在第盯 口展水了扩展 I C U 系统 的 I / o地址
能力的简一单仃法 在这个方法中, 系统存储器
尸尸详详 , l姜一一... . . . . . . . . . . 口. . . ... 了乙 心 二‘‘‘‘, 尸, , l一 , 讯讯讯‘‘ 八八奋仰 }丫夕夕 4、、 存储番的字
工CU 输入选择回玲输沙像特回路
图2 6 业行 存储器 的字 的格式
分成两个部分 , 共用公共地址总线 , 把数据并
行地输出。 这个存储器的第一部分 是 N x 4 位
的指令存储器 , 存储送给 IC U 的指 令 。 M C M
7 6 4 3 IK 又 4 位的PR O M 能 存储 1 0 2 4个 IC U
指令 , 是适合中规模程序的。
第二个存储器是 N字 x M位 的 地 址 存 储
器 , 存储各工C U 指令的操作地址 。 MC M 7 6 4 1
5 12 X S 位的PR O M是适合于这个要 求 的。
用两个M C M 7 61 4 51 2 x s 位 的 存储器和一
个M C M 7 6 4 3 z K 欠 4 位的存储器构成的IC U
系统存储器能够存储 1 0 2 4个程序语句 , 能够给
出 2 5 6个输入输出地址 。
拮拮令令
矽矽地 址址
精精令令
秒秒地 址址
指指令令
卜不挂幅一
图 2 8 交错 存储器
(4 0 9 6 )的I/ 0结构 。 这一形式如第 2 9图所 示 。
刀 欠 “ 军 x 阿
拮令存储矛 ‘艺窟, i
C乙六, 0
刀‘洲愁评f
J fZ x 多尸只口网
闷
叩叩 代码码 砂推丝丝劝劝劝往 冷仪仪
zzz/0 地珐珐 汤招址址荟叱仪崎减气、叭寸劝卜芝勺芝
图2 9 交错的 8 位存储器
工C “
图2 7 1/ o地址的扩展方式
输入输 出结构
在此 , 对于前面所述 的第 25 图的系统进行
详细的解说 。 第30 图展示了完整的 1/ 0图 。
输出地址
4 位存储器的使用
使用一个存储器也能把指令的操作代码和
I/0 地址交错存储 。 如这样构成时 , C L K (时钟 )
信号当作为最低位的地址位使用 。 时钟信号是
“ 1 ” 时 , 存储器给 IC U 传送指令 , 其指令在
C L K 时钟信号下降沿时被存入 IC U 。 时 钟信
号成 “ 0 ” 时 , 存储器 向工C U 系统 的 I/0 部分
传送工/0 地址 。 第28 图就展示 了这个内 容 。 这
样 , 4 位存储器能够存储指令和 16 个输入输出
地址 。 这个 方法被使用在示范系统中 。 在这个
方法中 , 因使用时钟信号两种电平 , 可节省时
间 。
混合的扩展
使 用 8 位 的 存 储 器 , 能 够 作 成 12 位
MC 1 4 5 9 9 B
输出门锁 写 时用
M C 1 4 5 9 9 B
输出门锁
输 出地址
W R IT E
= 1
S T O
,
S T O C指 令用
写专用
1
:
MC 1 4 5 9 9 B
输出门锁 读时用
MC 1 4 5 1 2 输入
输入选择
0 /
输入地址
W R IT E
= 0
用于 L D , L D C
A N D
,
A N D C
,
O R
O R C
,
X N O R
,
IE N
和 O E N 指令
图3 0 1/ O 图
( 1 ) 输入选择回路
作为输入选择 回路 , 使用一片M C 1 4 5 1 2 8
通道数据选择器 。 在第25 图所示的系统中 , 由
于使用一片M C 1 4 5男 能 够 进行 8 个输入。 这
些输入使用如第 30 图所示的从。一 了的地址 。 输
夕、选择回路除 S T O 指令和S T O C指令外 , 其余
所仃的指令在 IC U机器周期内 , 时 钟 信 号 成
“
O ” 时 , 将被选择的数据送工C U 双向数据总
线。 输入的点数 , 根 据 地 址 线 , 地 址 译 码
器、 时标 , 能够简单地扩展 。
(2 ) 输出保持回路
输出保持回路由MC 1 4 5 9 9 B 8 位带锁门寄
存器(反向数据器 )构成 。 在第25 图的系统中 ,
写二Y , 的M C I理5 9 9 B 具有 8 个输出 , 作为输
出深持回路被使用 , 使用从 O一了的地址。 而写
成丫2 的M C 1 4 5 9 9 B 作为能够反复 读 出 的保持
回路使用 。 在第3 0图的结构中 , 这个部分可用
8 泣的R A M 替代 。 为什么呢 ? 因为这个 R A M
具育读和写的功 能 。 它使用 I/0 地址图的输入
输出两方的空间 , 给定从8一1 5的地址 。
输出保持回路接 收 经 由 IC U双 向数据总
线, 从工C U传送来的数据 。 这 个数据在 O E N
寄茅器为逻辑 “ 1 ” , 在 IC U 执 行 S