概述
微程序控制
这是一个组合逻辑电路,具有简单的功能,
这是他的结构
存储器
这是他的存储器结构, 有计数器,存储器,存储器控制器
计数器连接到存储器的地址,每来一个脉冲计数器就加1, 具有寻址的作用,计数器有输入端 还可以改变地址,让存储器
任意输出存储器里的数据
存储器是存储数据的地方, 可读可写, 类似于电脑中的硬盘
可存储数据也可写入数据,
存储器控制器是为了控制存储器的读写, 方便控制
寄存器
这是寄存器,可以存储一个字节的数据,用来零时存放数据
A B C 是普通寄存器
CS 是地址寄存器, 用来存放地址, conger可以进行多种控制
程序存储器
这是程序存储器组织
有:
计数器
存储器ROM
这是连接点
连接在ROM上, 以ROM的输出来控制
程序编写
连接好了就可以开始程序的编写
下面是输出点的定义, 为了更方便的编写代码
import os
filename = os.path.join(os.path.dirname(__file__), 'text.bin')
W_A = 2 ** 0 这是A寄存器的 W 端 连接在第一个点, 所以是2的0次方 就是 0000 0001
R_A = 2 ** 1 这是 在第二个点 所以是2的1次方 二进制就是 0000 0010
W_B = 2 ** 2
R_B = 2 ** 3
W_C = 2 ** 4
R_C = 2 ** 5
MC_W = 2 ** 6
MC_R = 2 ** 7
CS_W = 2 ** 8
CS_R = 2 ** 9
MC_EN = 2 ** 10
PC_EN = 2 ** 11
LED = 2 ** 12
这是RAM存储器里的数据
现在我们要把它,分别放到A-B-C寄存器里
在把寄存器分别清零, 在把地址寄存器,放入计数器里 来进行程序的循环
每循环一个,就点亮一次灯泡
这是他的程序
Program = [
MC_R | W_A, 这是 数据 放入 寄存器
MC_R | W_B,
MC_R | W_C,
LED, 这是LED灯
CS_R | W_A, 这是 寄存器清零 因为cs寄存器一直为0
CS_R | W_B,
CS_R | W_C,
CS_R | PC_EN | MC_EN, 这是计数器请0,为了让程序循环,在回到存储器的第一个地址
]
创建文件, 写入数据
with open(filename, 'wb') as file:
for value in Program:
file.write(value.to_bytes(2,byteorder="little"))
最后再把文件放入程序寄存器里
开始运行
运行效果
2022-10-30 15-49-16
最后
以上就是开朗白昼为你收集整理的微程序控制(逻辑门)的全部内容,希望文章能够帮你解决微程序控制(逻辑门)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复