8086 8255A proteus仿真实验
实验内容
数码管循环显示0123456789abcdef-
电路图

电路分析
端口地址和控制字地址主要看电路图,片选信号由译码器的\(\overline{IO1}\)引脚给出,即\(A_{12}-A_9\)为0001B时,片选信号有效。

地址线\(A_2A_1\)送给8255,选择芯片上的寄存器。8255A上有4个寄存器,其中,\(A_2A_1\)为00时选择端口A,\(A_2A_1\)为01时选择端口B,\(A_2A_1\)为10时选择端口C,\(A_2A_1\)为11时选择控制寄存器。
针对这题,为讨论方便,设其他地址线都为0。

端口A地址:\(A_{19}-A_0:0000 0000 0001 0000 0000B = 200H\)
端口B地址:\(A_{19}-A_0:0000 0000 0001 0000 0010B = 202H\)
端口C地址:\(A_{19}-A_0:0000 0000 0001 0000 0100B = 204H\)
控制字地址:\(A_{19}-A_0:0000 0000 0001 0000 0110B = 206H\)
代码
DATA SEGMENT
PORTD EQU 0206H
PORTA EQU 0200H
REGIS EQU 10000000B ;A OUT A工作方式0
LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH
DATA ENDS
STACK SEGMENT
DW 128 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
;设置8255工作方式
MOV DX,PORTD
MOV AL,REGIS
OUT DX,AL
;设置输出端口为端口A
MOV DX,PORTA
G1:
;取LED数组的首地址
MOV SI,OFFSET LED
G2:
MOV AL,[SI]
OUT DX,AL;输出显示
;延时操作
CALL DELAY
;如果当前值等于数组最后一个数的值则从头开始
CMP AL,0BFH
JE G1
;地址加一
INC SI
;跳转到G2
JMP G2
MOV AH,4CH
INT 21H
;延时函数
DELAY PROC NEAR
PUSH BX
PUSH CX
MOV BX,200H
FOR1:MOV CX,200H
FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
POP BX
RET
DELAY ENDP
CODE ENDS
END START
8086 8255A proteus仿真实验的更多相关文章
- 8086 8253 proteus仿真实验
目录 实验内容 电路图 计数初值 关于8523的地址 关于灯的地址 代码内容 实验内容 电路图 计数初值 已知\(f_{clk0}=100khz\),所以\(T_{clk0}=\frac{1}{f_{ ...
- Proteus 仿真运算放大器出现 GMIN 问题
Proteus 仿真运算放大器出现 GMIN 问题 为了仿真一个反相运算放大器,在仿真时出现 GMIN 问题,将 后面的 4.7UF 去掉就可以正常仿真. 初步检查是因为输入频率太低,输入时我用的是 ...
- proteus仿真 引脚显示电平变化但不能显示波形
proteus仿真 引脚显示电平变化但不能显示波形 原来是没有选择通道问题,proteus默认优先使用A通道才会显示波形,如果优先使用B,C,D通道,需要选择...
- MATLAB基本使用及SIMULINK建模仿真实验
MATLAB基本使用及SIMULINK建模仿真实验 这是我总结的操作方法: 1 ) M脚本文件的编写 1.新建M-file: 2.输入指令: 3.保存(注意:保存路径需要与工作路径一致) 2 )在S ...
- Proteus仿真_01、 8086 IO译码仿真
最近在学习一些微机原理与接口技术方面的知识. 参考书籍<微机原理与接口技术---基于8086Proteus仿真> 顾晖 梁惺彦 编著 实验一.利用8086 芯片来实现对I/O设备的读取和控 ...
- 共享式以太网与交换式以太网的性能比较(OPNET网络仿真实验)
一.实验目的 比较共享式以太网和交换式以太网在不同网络规模下的性能. 二.实验方法 使用opnet来创建和模拟网络拓扑,并运行分析其性能. 三.实验内容 3.1 实验设置(网络拓扑.参数设置. ...
- 【iCore1S 双核心板_FPGA】例程十一:Modelsim仿真实验
实验现象: 通过仿真波形,分析输入与输出的关系,可以清晰的看到所添加信号波形的变化与程序所写的一致. 核心代码: module modelsim( input CLK_12M, output FPGA ...
- Multisim-74LS08\74LS02\74LS86逻辑功能仿真实验
一. 实验目的 了解TTL门电路的外观封装.引脚分布和使用方法. 掌握数字电路试验台.万用表和示波器的使用方法. 掌握TTL与门.或非门和异或门的逻辑功能. 认识门电路对信号的控制作用. 二.实验内容 ...
- 【iCore3 双核心板_FPGA】例程十二:Modelsim仿真实验
实验指导书及代码包下载: http://pan.baidu.com/s/1bnQEldl iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
随机推荐
- 0day学习笔记(3)--修改函数返回地址
环境: devc++(编译改为32位),windows10 源码(来自书中) #include <stdio.h> #define PASSWORD "1234567" ...
- 2019-2020-1 20199329《Linux内核原理与分析》第九周作业
<Linux内核原理与分析>第九周作业 一.本周内容概述: 阐释linux操作系统的整体构架 理解linux系统的一般执行过程和进程调度的时机 理解linux系统的中断和进程上下文切换 二 ...
- Openstack Swift 创建用户和 container
openstack user create --domain default --password-prompt [用户名];openstack role add --project admin - ...
- css之单位
css之单位 角度<angle> 用于<gradient>s和某些transform功能中 deg表示以度为单位的角度.一整圈就是360deg. 例如:0deg,90deg,1 ...
- Spring Boot 整合 Spring Security,用户登录慢
场景 Spring Boot + Spring Security搭建一个Web项目. 临时用了inMemoryAuthentication. @EnableWebSecurity public cla ...
- 百度Openrasp开源的应用运行时自我保护产品,安装教程。
第一步: 下载最新版本的安装包 https://packages.baidu.com/app/openrasp/release/latest/rasp-php-linux.tar.bz2 解压到目录: ...
- CodeForces - 1102B Array K-Coloring
B. Array K-Coloring time limit per test2 seconds memory limit per test256 megabytes inputstandard in ...
- 图论--SCC缩点--Tarjan
// Tarjan算法求有向图强连通分量并缩点 /*强连通缩点与双连通缩点大同小异,也就是说将强连通分支缩成一个点之后,没有强连通,成为有向无环图,在对图进行题目的操作.*/ #include< ...
- win10 安装Maven
1.将apache-maven-3.0.5-bin.zip解压到指定目录(最好不要有中文字符) 2.配MAVEN_HOME 3.验证是否安装成功 代开cmd窗口 mvn -v 4.修改本地仓库位置 ...
- 「从零单排HBase 09」Hbase的那些数据结构和算法
在之前学习MySQL的时候,我们知道存储引擎常用的索引结构有B+树索引和哈希索引. 而对HBase的学习,也离不开索引结构的学习,它使用了一种LSM树((Log-Structured Merge-Tr ...