主权项 |
一种实现8051扩展指令的电路,该电路设置在8051CPU中,用于将CPU的A累加器中的数据放到DPTR寄存器指向的程序存储器中;其特征在于,该电路包括:数据读取电路U1、指令读取电路U2、二选一电路U3、计数器U4、译码电路U5~U7、比较电路U8~U11、A累加器、DPTR寄存器、加法器U15、写地址使能电路U15;数据读取电路U1的输入端连接CPU的其他电路,输出端连接A累加器的输入端,用于将待操作字节读入A累加器的输入端;A累加器的输出端连接程序存储器的数据线;指令读取电路U2的输入端连接CPU内部的指令存储器,输出端连接译码电路U5、U6和U7的指令输入端,用于将指令读入三个译码电路;二选一电路U3的第一输入端连接CPU内部的地址管理模块,从中获取DPTR的值,第二输入端连接加法器U14的输出端,输出端连接DPTR寄存器U13的输入端,DPTR寄存器U13的输出端连接程序存储器的写地址线,同时连接加法器U14的输入端;二选一电路U3具有选通端,在选通端置1时,二选一电路U3输出第二输入端的数据,在选通端置0时,输出第一输入端的数据;三个译码电路均在输入使能有效时,识别指令输入端上的数据是否为A5,如果是则输出使能信号;译码电路U5的使能信号输出端连接到A累加器的使能端;译码电路U6的使能信号输出端连接到DPRT寄存器的使能端;译码电路U7的使能信号输出端连接到计数器U4的启动端;计数器U4被启动后,从0开始加1计数到3停止,其计数值输出端连接比较电路U8、U9、U10和U11的第一比较值输入端,比较电路U8、U9、U10、U11的第二比较值输入端分别接入固定值0、1、2、3,比较电路用于当两个比较值输入端的数据相同时,输出使能信号;比较电路U8的输出端连接译码电路U5的使能端,比较电路U9的输出端连接译码电路U6的使能端,比较电路U10的输出端连接加法器U14的使能端和二选一电路U3的选通端,比较电路U11的输出端连接写地址使能电路U15 的输入端;加法器U14为加1加法器,当输入使能有效时,将输入端上的地址加1;写地址使能电路U15的输出端连接程序存储器的写使能端,在输入使能有效时,向程序存储器的写使能端输出使能信号。 |