实验内容

数码管循环显示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仿真实验的更多相关文章

  1. 8086 8253 proteus仿真实验

    目录 实验内容 电路图 计数初值 关于8523的地址 关于灯的地址 代码内容 实验内容 电路图 计数初值 已知\(f_{clk0}=100khz\),所以\(T_{clk0}=\frac{1}{f_{ ...

  2. Proteus 仿真运算放大器出现 GMIN 问题

    Proteus 仿真运算放大器出现 GMIN 问题 为了仿真一个反相运算放大器,在仿真时出现 GMIN 问题,将 后面的 4.7UF 去掉就可以正常仿真. 初步检查是因为输入频率太低,输入时我用的是 ...

  3. proteus仿真 引脚显示电平变化但不能显示波形

    proteus仿真 引脚显示电平变化但不能显示波形 原来是没有选择通道问题,proteus默认优先使用A通道才会显示波形,如果优先使用B,C,D通道,需要选择...

  4. MATLAB基本使用及SIMULINK建模仿真实验

    MATLAB基本使用及SIMULINK建模仿真实验 这是我总结的操作方法: 1 )  M脚本文件的编写 1.新建M-file: 2.输入指令: 3.保存(注意:保存路径需要与工作路径一致) 2 )在S ...

  5. Proteus仿真_01、 8086 IO译码仿真

    最近在学习一些微机原理与接口技术方面的知识. 参考书籍<微机原理与接口技术---基于8086Proteus仿真> 顾晖 梁惺彦 编著 实验一.利用8086 芯片来实现对I/O设备的读取和控 ...

  6. 共享式以太网与交换式以太网的性能比较(OPNET网络仿真实验)

      一.实验目的 比较共享式以太网和交换式以太网在不同网络规模下的性能. 二.实验方法 使用opnet来创建和模拟网络拓扑,并运行分析其性能. 三.实验内容 3.1   实验设置(网络拓扑.参数设置. ...

  7. 【iCore1S 双核心板_FPGA】例程十一:Modelsim仿真实验

    实验现象: 通过仿真波形,分析输入与输出的关系,可以清晰的看到所添加信号波形的变化与程序所写的一致. 核心代码: module modelsim( input CLK_12M, output FPGA ...

  8. Multisim-74LS08\74LS02\74LS86逻辑功能仿真实验

    一. 实验目的 了解TTL门电路的外观封装.引脚分布和使用方法. 掌握数字电路试验台.万用表和示波器的使用方法. 掌握TTL与门.或非门和异或门的逻辑功能. 认识门电路对信号的控制作用. 二.实验内容 ...

  9. 【iCore3 双核心板_FPGA】例程十二:Modelsim仿真实验

    实验指导书及代码包下载: http://pan.baidu.com/s/1bnQEldl iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

随机推荐

  1. Python中实现按顺序遍历字典

    第一种方法: import collections d = collections.OrderedDict([('a',1),('b',2),('c',3)]) ''' 或者把上面的那一行改成: d ...

  2. git在push时候出现timeout的解决方法

    1.先对照一下公钥是否正确:linux下生成的.ssh在~/.ssh,命令行直接cd ~/.ssh即可:2.本次出现的问题如下: 出现了连接不上的情况,传输协议用的是ssh,此时需要进行如下操作: 进 ...

  3. Nmap详细用法

    探测主机存活 (1)-sP :进行ping扫描 (2) -sn: ping探测扫描主机, 不进行端口扫描 (3)-sA     发送ACK探测存活 端口扫描 (1) -sS :半开放扫描 (2) sT ...

  4. 2019-2020-1 20199326《Linux内核原理与分析》第一周作业

    开篇概述 我利用假期的时间自学了实验楼上的Linux基础入门前八个实验的课程,学习过程中遇到了一些小问题.但经过查资料等方式最终还是解决了问题.现将学到的一些知识点总结下来.方便日后复习查看. 1.零 ...

  5. vue项目中使用bpmn-基础篇

    内容概述 本系列“vue项目中使用bpmn-xxxx”分为五篇,均为自己使用过程中用到的实例,手工原创,目前属于陆续更新中.主要包括vue项目中bpmn使用实例.应用技巧.基本知识点总结和需要注意事项 ...

  6. zoj_2511 Design T-Shirt 贪心

    Design T-Shirt Time Limit: 2 Seconds      Memory Limit: 32768 KB Soon after he decided to design a T ...

  7. KMP & AC自动机

    KMP void kmp(char t[],char p[]) { int n=strlen(t),m=strlen(p); int *f=new int[m]; f[0]=f[1]=0; for(i ...

  8. element-ui 通用表单封装及VUE JSX应用

    一.存在及需要解决的问题 一般在做后台OA的时候会发现表单重复代码比较多,且逻辑基本一样,每次新加一个表单都需要拷贝基本一致的代码结构,然后只是简单地修改对应的字段进行开发 二.预期结果 提取重复的表 ...

  9. vuex vue-devtools 安装

    vue-devtools是一款基于chrome游览器的插件,用于调试vue应用,这可以极大地提高我们的调试效率.接下来我们就介绍一下vue-devtools的安装 chrome商店直接安装 谷歌访问助 ...

  10. Xapian实战(三):索引

    参考资料: Xapian:Document, Value和Term Xapian:Database Xapian机制简要介绍 1. Xapian中各类要点总结 @ Database Database ...