首页 > 编程知识 正文

微处理器,8086微处理器有哪几部分组成

时间:2023-05-03 12:54:42 阅读:173278 作者:1054

基于8086CPU微处理器的分分秒秒电子表设计思路采用关键部件介绍和8086CPU进行74LS373锁存器介绍和8255可编程并行接口介绍及总体设计和仿真实现操作说明

本方案以8086CPU为主要器件,外置74HC373为地址锁存器,8255为并行接口。

完整的Protues电路设计和汇编程序3359 download.csdn.net/download/weixin _ 43786907/16526403

设计的想法

利用可视暂停循环显示,每秒计数4位数字码,检测有无键按下。 响应于按不同的键,将秒计数加1,并将分钟计数加1。 已经达到周期1s,秒计数加1,秒计数减去60,秒计数减去60,计数加1,计数减去60。 设计思路如下。

关键组件介绍和8086CPU使用英特尔8086有4个16位通用寄存器,也可以作为8个8位寄存器进行访问,还有4个16位索引寄存器,包括堆栈指标。 数据寄存器通常由指令隐含使用,相对于临时值需要复杂的寄存器配置。 提供64K 8位输入输出(或32K 16位)和固定矢量中断。 大多数指令只能访问一个存储器地址,因此其中一个操作数必须是寄存器。 运算结果保存在操作数内的寄存器中。

Intel 8086有四个内存段寄存器,可通过变址寄存器进行设置。 扇区寄存器允许CPU以特殊方式访问1 MB的内存。 将8086段地址向左移位4位,然后加上偏移地址。 大多数人认为这是个不好的设计。 这是因为其结果是各段重叠。 这样,尽管组合语言中大部分都被接受了,但可以完全控制程序段,在编程中使用C编程语言等指针变得困难。 结果,指针很难有效地显示,指向同一位置的两个指针可能具有不同的地址。 更糟糕的是,这种方式很难将存储器扩展到1 MB以上。 8086地址方式的变更,使内存的扩展变得高效了。

886处理器的时钟频率在4.77MHz (原始IBM PC频率)到10 MHz之间。 8086不包括浮点指令单元(FPU ),但外置数学辅助处理器可以提高浮点计算能力。 Intel 8087是标准版本。

74LS373锁存器的介绍和使用74LS373是一个三态输出8d锁存器,共有54ls 373和74LS373两种线路。 373的输出端Q0~Q7可以直接连接到总线上。 在锁存使能端子LE为高电平的情况下,q与数据d相应地变化。 当LE为低电平时,d被锁定在建立的数据电平。

74LS373真值表如下。

x表示任意。

连接8086CPU和锁存器的电路图:

8255可编程并行接口介绍和8255芯片的使用是英特尔公司生产的可编程并行接口芯片,有3个8位并行I/O端口。 具有三通道三种工作方式的可编程并行接口芯片(40针)。 各端口功能可通过软件选择,使用灵活,通用性强。

x表示任意。

总体设计和仿真实现了以86CPU为主体的分分秒秒电子表的设计。

Proteus的模拟结果如图所示:

汇编编程:

datas segment SMG段db 3fh、06H、5bH、4fH、66H、6dH、7dH、07H、7fH、6fH; 段选smgwei DB 0FEH、0FDH、0FBH、0F7H; 位选择PA EQU 0; PB EQU 4; PC EQU 8; min DW 0; sec DW 0; fori1 DW 6500; datasendscodessegmentassumecs : codes,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,ax while 13360 for 1: mov 160 smgwei 0 mov AH、PB OUT 00、AX LEA BX、smgduan MOV AH、0 MOV AL、CL ADD BX、AX MOV AL、[BX] mov AH、PA OUT 00 aout00、AX MOV AL和sm gwei AX LEA BX、smgduan MOV AH、0 MOV AL、CH ADD BX、AX MOV AL、[BX] mov AH、PA OUT 00、ax PA OUT 00、AX MOV AX、sec MOV BL、10 DIV BL MOV CX smgwei 2 mov AH、PB OUT 00、AX LEA BX、smgduan MOV AH、0 MOV AL、CL ADD BX、ax PA OUT 00、ax mov ah、PA OUT 00、AX MOV AL、sm gwel AX LEA BX、smgduan MOV AH、0 MOV AL、CH ADD BX、AX MOV AL DEC CX; NZ next2mov fori 1,6500 movax,sec INC AX CMP AX,60 JGE NEXT3 mov sec,AX JMP while1 NEXT2: 循环MOV fori1、CX JMP for1 NEXT3: 秒满60 SUB AX,60 MOV sec,AX MOV AX,min INC AX CMP AX,60 JGE NEXT4 MOV min,AX JMP while1 NEXT4: 分为满60 SUB AX、60 MOV min、AX JMP while1 CODES ENDS END START的操作说明首先接通电源,用8086CPU运行程序,开始计数,每秒加1。 按,按上面的按钮,秒数递增1,按,按下面的按钮,分钟数递增1。

完整的Protues电路设计和汇编程序3359 download.csdn.net/download/weixin _ 43786907/16526403

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。