我是靠谱客的博主 开朗白昼,最近开发中收集的这篇文章主要介绍微程序控制(逻辑门),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

微程序控制

在这里插入图片描述
这是一个组合逻辑电路,具有简单的功能,
在这里插入图片描述
这是他的结构

存储器

在这里插入图片描述
这是他的存储器结构, 有计数器,存储器,存储器控制器

			计数器连接到存储器的地址,每来一个脉冲计数器就加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 端  连接在第一个点, 所以是20次方  就是 0000 0001 
R_A = 2 ** 1		这是 在第二个点  所以是21次方  二进制就是  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

最后

以上就是开朗白昼为你收集整理的微程序控制(逻辑门)的全部内容,希望文章能够帮你解决微程序控制(逻辑门)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部