• 本次实验内容来自于顾晖老师《微机原理与接口技术 基于8086和Proteus仿真 第3版》的【例7-1】和51CTO课程的讲解内容第七章输入输出接口0704程序查询方式 https://edu.51cto.com/course/24864.html 原理图和代码与书上相比略有改动
  • 无条件传输方式CPU不需要了解外设状态而直接与外设通信,一般用于开关和二极管等简单外设。使用74LS373作为接口和CPU通信,控制8个LED同时亮或者熄灭,亮灭时间为毫秒级。
assume cs:codesg
codesg segment 'code'
start:mov dx, 400hmov al, 0ffh
again:out dx, alcall delaynot aljmp againdelay procpush cxpush bxmov bx, 50
wait0:mov cx, 2801
wait1:loop wait1dec bxjnz wait0pop bxpop cxret
delay endp
codesg ends
end start

  • 当开关K0闭合的时候,点亮LED0、LED1、LED2、LED3;当开关K1闭合时,点亮LED2、LED4、LED6、LED8;其余状态所有LED灯熄灭。在程序中体现为用test指令判断该位是否为0。

  • 查询开关状态判断是否亮灯,比较坑的一点是读取开关数据选用了单向缓冲器74LS244,当片选信号有效时A可以传输到Y,因此A端应该接开关,Y端接数据总线D0~D7。74LS245就是双向的,除了片选信号CS还有一个数据传输方向控制引脚AB\BA。

  • 开关状态的端口地址为200H,LED灯的端口地址为400H

  • 简化电路可以去掉最后一个273因为IO端口的地址总线只使用了低16位

assume cs:codesg
codesg segment 'code'
start:mov dx, 200hin al, dxtest al, 01h ; 开关闭合为低电平,断开高电平jz L1    ; 查询开关0是否闭合 闭合为0test al, 02hjz L2jmp L3
L1:mov al, 55hjmp light
L2:mov al, 0AAhjmp light
L3:mov al, 0hjmp light
light:mov dx, 400hout dx, aljmp startcodesg ends
end start

【Proteus仿真8086】简单IO接口实验——无条件传输和查询方式相关推荐

  1. 【Proteus仿真8086】简单IO接口实验——读取开关状态控制灯的亮灭

    本次实验内容来自于何宏老师<微机原理与接口技术 基于Proteus仿真的8086微机系统设计及应用>的12.1节基本I/O口应用,略有改动 用245读取开关状态,然后用373控制开关的亮灭 ...

  2. 【Proteus仿真8086实验一】RAM存储器62256

    建议把存储器设计和简单IO接口放在第一次实验,重点了解锁存器273和缓冲器373是怎样将数据和地址线进行分离的,具体Proteus的实验操作比如设置内存大小和快速命名接口(属性赋值工具)可以参考这个老 ...

  3. 【Proteus仿真8086】并行接口芯片8255

    这次实验内容根据B站一个老师录制的讲解视频,老师通过导入emu8086编译好的EXE文件到8086中进行仿真,实际上可以在Proteus中直接通过构建工程编译源程序.接口芯片的内容比较复杂,建议先学习 ...

  4. 【Proteus仿真8086】将IO接口电路封装成子电路CCT001

    本次实验内容来自于顾晖老师<微机原理与接口技术 基于8086和Proteus仿真 第3版>的[例7-2],但老师使用的方法是将IO接口电路封装成子电路CCT001,这部分在章节没有讲述,于 ...

  5. Proteus仿真-数码管显示温度(实验三)

    文章参考资料 http://www.51hei.com/bbs/dpj-91394-1.html (基于DS18B20温度传感器温控系统的Proteus仿真) https://wenku.baidu. ...

  6. Arduino与Proteus仿真实例-简单信号频率计数仿真

    简单信号频率计数仿真 Arduino 可用于测量电量(如电压.电流.功率等)或物理量(如温度.湿度.光强.湿度等)或电子元件值等. 本文将演示演示了如何使用 Arduino 测量脉冲的频率和占空比. ...

  7. ATtiny13与Proteus仿真-TM1637简单时钟仿真

    TM1637简单时钟仿真 在前面的文章中,我们使用ATtiny13成功驱动了TM1637,在本次实例中,将实现一个简单的时钟. 在前面的文章中,对TM1637的驱动及应用做了详细的介绍,请参考: AT ...

  8. TI CC2530基础实验(定时器1查询方式——自由运行模式)

    本实验实现通过CC2530的定时器1(16位)查询方式控制LED1以1S的周期性闪烁,此实验使用的三个寄存器T1CTL(定时器1控制寄存器),T1STAT(定时器1状态寄存器),IRCON. 有关CC ...

  9. 【Proteus仿真8086】往8086 内存中写入数据

    这部分内容参考这个博主 https://blog.csdn.net/TTTSEP9TH2244/article/details/122584312 微机原理与接口技术--Proteus仿真软件的使用方 ...

最新文章

  1. dockerfile php-fpm,1、使用dockerfile制作nginx+php-fpm镜像,实现lnmp。
  2. 倒车辅助Park Assist
  3. cdh5.12.1 service monitor监控状态_来,我们在重新说下,线程状态?
  4. 算法与数据结构 -- 栈与队列(四)
  5. PHP常用正则:手机 邮箱 网址
  6. android壁纸选择器,Android 图片选择器
  7. HDU2191 多重背包或者01背包 xingxing在努力
  8. 利用opencv中的级联分类器进行人脸检測-opencv学习(1)
  9. 【作业报告】作业5 四则运算 测试与封装 5.2(已更新)
  10. 比例电磁阀(二)阀门开度与速度的关系
  11. 如何进行航拍全景摄影(下)
  12. 2017杭州云栖大会100位大咖视频+讲义全分享
  13. 【原创】EXCEL数组公式(1)----数组公式和普通公式计算具体比较
  14. 关于为什么RAID5往往掉一个盘后第二个盘也立刻挂掉的原因分析
  15. 身为程序员就算月薪再高,想找女朋友的话这些你千万别做!
  16. 人工智能实验二——prolog语言求解渡河问题(传教士和野人渡河,农夫渡河问题)实现详解
  17. 拼多多登录一直连接服务器,拼多多有自己的服务器吗
  18. 输入年,月,输出这一年的这个月有多少天
  19. HCNP路由交换学习指南(第一章)学习笔记
  20. 数据库实验二之数据查询

热门文章

  1. vue中使用element-ui的表单验证功能prop属性
  2. python递归函数入门教程_Python递归函数
  3. python中堆排序_Python实现堆排序的方法详解
  4. 中国近代史自考必备简答题(一)
  5. linux 扫描开放的端口命令,在Linux系统中检查(扫描)开放端口的方法
  6. 【动态规划】线性dp P1043 数字游戏
  7. x264源代码简单分析:x264命令行工具(x264.exe)
  8. ffmpeg 从内存中读取数据(或将数据输出到内存)
  9. python幂运算的符号有哪些及画法_SymPy 符号计算基本教程
  10. AcWing提高算法课Level-3 第六章 基础算法