8086 8088 CPU与外部打交道的对象主要是两个,一个是内存,一个是端口。例如板子上的8253、8255等芯片,都是以端口访问的形式出现的。

8088单板机的外部端口是通过这个74LS138译码器构成的,利用8088的地址总线A10,A9,A8 三位地址线进行译码获得,译出信号,一般接到了结构芯片的片选信号CS上。

代号

地址线

A19…..A12

地址线

A11 A10 A9 A8

地址线

A7 A6 A5 A4 A3 A2 A1 A0

端口地址

CS_LED

X………X

X   0   0  0

X X X X X X X X

0X000

CS_232

X………X

X   0   0  1

X X X X X X X X

(A2 A1 A0用于片内寻址)

0X100-0X107

CS_8255

X………X

X   0   1  0

X X X X X X X X

(A1 A0用于片内寻址)

0X200-0X203

CS_8253

X………X

X   0   1  1

X X X X X X X X

(A1 A0用于片内寻址)

0X300-0X303

CS_IC4

X………X

X   1   0  0

X X X X X X X X

0X400

CS_IC5

X………X

X   1   0  1

X X X X X X X X

0X500

CS_IC6

X………X

X   1   1  0

X X X X X X X X

0X600

CS_IC7

X………X

X   1   1  1

X X X X X X X X

0X700

下面是端口访问的一个简单例子,LED_8X端口,指向芯片74LS373,控制8个板上的LED。

找到8088开发板的示例程序

汇编程序如下,编译下载后,就可以看到板上的LED闪烁显示了。

;---------------------------------------------------------------------------------------------

;led_port   equ   800h

led_port   equ   00h

;---------------------------------------------------------------------------------------------

org  2000h      ;程序将由监控bios下载到内存RAM的地址(0000:2000)

start:

;------------------------------------------------------

;init part

;------------------------------------------------------

mov ax,0

mov ds,ax

mov ss,ax

mov sp,1fffh

st001:

nop

;-----------------------------------------------------

;点亮系统板上的LED

;-----------------------------------------------------

;MOV DX,800H   ;800H是板子上8个LED的端口地址号

mov dx,led_port

MOV AL,0f0H   ;一亮一灭间隔点亮

OUT DX,AL

call DELAY

;MOV DX,800H   ;800H是板子上8个LED的端口地址号

mov dx,led_port

MOV AL,00H   ;一亮一灭间隔点亮

OUT DX,AL

call DELAY

;mov al,01010101b

;mov al,0f0h;

;out 25H,al

;hlt

jmp st001

jmp start

;------------------------------------------------------------

;          DELAY  PROC NEAR

;------------------------------------------------------------

;push

DELAY:

PUSH CX

PUSH BX

NOP

NOP

mov bx,10

del1:

mov cx,5882

del2:

loop del2

dec bx

jnz del1

;pop cx

;pop bx

POP BX

POP CX

RET

db 55h,55h,55h,55h,55h,55h  ;程序结束标志,监控bios程序,收到后自动跳转到内存0000:2000处执行

;----------------------------------------------------------------------------------------------

8088单板机的端口地址与汇编驱动代码相关推荐

  1. 8088单板机串口驱动代码测试

    1.8088单板机的串口接口电路如下 2.驱动代码 :------------------------------------------------------------------------- ...

  2. 8088单板机升级boot的一些想法

    昨天,把8088单板机的rom boot进行了一次升级改写,实现了rom boot可以加载Dos下com类程序的加载.当时匆忙的把这个实现了,今天想把实现的构想再总结一下. 这款8088单板机板上有一 ...

  3. 给8088单板机写一个迷你Boot

    4.迷你Boot 1.为什么要给8088单板机系统,添加一个bootloader呢? 起初,能够用编程器,烧写测试程序,就已经非常开心了,毕竟自己苦苦琢磨8088系统了几年时间,一直感觉无从下手.尽管 ...

  4. 单板计算机作用上位机,SCB-1单板机的基本操作

    SCB-1单板机的基本操作 1.          键盘操作 SCB-1单板机键盘参见附录三.键盘操作参见附录五. 1)状态设置键  MON   与  USE 监控系统采用设置待命状态的方法实现一键两 ...

  5. 树莓派 linux0.12,12 个可替代树莓派的单板机

    正在寻找树莓派的替代品?这里有一些单板机可以满足你的 DIY 渴求. 树莓派是当前最流行的单板机.你可以在你的 DIY 项目中使用它,或者用它作为一个成本效益高的系统来学习编代码,或者为了你的便利,利 ...

  6. 使用Linux curl命令获取本机公网IP地址

    使用Linux curl命令获取本机公共IP地址 在本教程中,我们将学习如何使用Linux curl命令查找计算机的公共IP地址. 通常,如果我们想要找到我们使用的公共IP地址,我们会去谷歌并搜索&q ...

  7. 在工作站计算机中创建策略,禁止任何计算机访问本机 8000 端口

    在工作站计算机中创建策略,禁止任何计算机访问本机 8000 端口 记录一下学习 1.控制面板-管理工具-本地安全策略-打开IP安全策略 2.右键-管理IP筛选器列表和筛选器操作 3.在IP筛选器列表中 ...

  8. 计算机网络中的端口地址

    我们通过逻辑地址(就是IP地址,工作在网络层,在传输过程中不会变,IPv432位地址,IPv6128位地址)实现计算机之间的通信,计算机之间进程的通信实质上是不同计算机之间进程的通信,而端口号就是唯一 ...

  9. 本机电脑端口开放让区域网内其他电脑访问

    1.点击控制面板,选择系统与安全 2.点击进入防火墙 3.点击进入高级设置 4.点击入站规则 5.点击新建规则 6.选择端口,点击下一步 7.输入要开放的端口,点击下一步 8.选择允许连接,点击下一步 ...

  10. 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计数初值为4030H。试

    [微机原理]-汇编题 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计 ...

最新文章

  1. 阿里算法,浙大博士带你写项目经历!
  2. 看完这些细分领域别说小程序代理创业没有机会
  3. 手写bind_深入理解 JavaScript 之手写 call, apply, bind 方法
  4. 速达5000出现计算成本数据溢出的问题
  5. django13:Session与Cookie操作
  6. Mybatis-plus常用API全套教程
  7. 拓端tecdat|R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
  8. jquery 同胞 siblings next nextAll nextUtil pre preAll preUtil
  9. 根据mac地址查询厂商
  10. 基于开源SDN控制器的下一代金融云网络的研究与实践
  11. 安洵信息渗透工程师面试经验分享
  12. AUTOCAD——成组命令
  13. 树莓派入门:树莓派的初始设置
  14. Excel怎么在数据中间隔插入指定行
  15. 使用tvp.player_v2_zepto.js播放腾讯视频
  16. 基于android的旅游攻略应用(含源码)
  17. 【STM32系列汇总】博主的STM32实战快速进阶之路(持续更新)
  18. STC89C52的中断
  19. 美团,大众点评,58城市行政区域和商圈数据实现
  20. python调用浏览器内核实现内嵌浏览器_python实现随机调用一个浏览器打开网页

热门文章

  1. 编写你的应用程序(六)、nacl_io库
  2. nodejs+mongodb 实现增删改查(字符串拼接 初期)
  3. 再见,OI  ---GDOI2017爆零记
  4. python基本爬虫训练DIY12345有bug修改日子。
  5. MTK Android Driver :audio para
  6. 因缺思汀的绕过(CTF)
  7. 软件安利——火绒安全
  8. 中小型景区选择票务系统的优势
  9. 抽奖抽奖-乐高礼盒!!
  10. A component required a bean of type ‘com.hao.mall.service.UserService‘ that could not be found.