仿真环境: proteus

编译环境:Masm

8255A有A、B、C三个8位输入/输出端口

A口:PA7~PA0

B口:PB7~PB0

C口:PC7~PC0

接口编程第一步:确定A、B、C三个口的地址以及控制口地址.

设置工作方式控制字来实现对方式0、方式1、方式2的选择:

第一位固定为1

A组:PS0~PA7; PC4~PC7

B组:PB0~PB7; PC0~PC3

接下来就是看图,一般开关控制为输入 置1,下图中由PB0~PB7控制开关 D1 = 1,其他默认为0,即控制字为:10000010B

 8255初始化:

MOV AL,控制字
OUT 口地址,AL//方法二
MOV DX,口地址
MOV AL,控制字1
OUT DX,AL
MOV AL,控制字2
OUT DX,AL

读写控制信号:

IN   AL,口地址
OUT  口地址,AL

确定A、B、C口以及控制口地址

 

片外地址:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 0 1 0 0 1        

片内地址:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 0 1 0 0 1 ×     ×

端口A地址:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0

端口B地址:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0

端口C地址:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 0 1 0 0 1 0 1 0  

控制口地址:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0

编程实例1:

当开关合上,16个LED灯从上而下依次循环发光,每次只能点亮一个LED灯;
当开关打开,保持当前LED灯的点亮状态不变,下次开关合上时,从当前的LED灯开始点亮。

 

IOCON    EQU 02D6H     ;控制口地址
IOA     EQU 02D0H     ;A口地址
IOB     EQU 02D2H     ;B口地址
IOC     EQU 02D4H     ;C口地址
CODE    SEGMENT  ASSUME CS:CODE
START:  MOV     AL, 10000001B   ;8255初始化,端口C为输入即 控制字 最后一位为1MOV   DX, IOCON       ;初始化控制口OUT  DX, ALMOV   BX, 1
AGAIN:  MOV DX, IOC         ;置C口IN  AL, DX          ;读取PC口检测开关状态TEST    AL, 00000010B   ;检测PC1是否等于0JNZ  AGAIN           ;PC1=0MOV  AL,BL       MOV DX,IOA          ;A口输出数据OUT  DX,ALMOV    AL,BHMOV    DX, IOB         ;B口输出数据     OUT     DX, ALCALL  DELAY           ;延时ROL  BX,1            JMP     AGAIN
DELAY   PROC                    ;延时函数开始标志MOV    CX,0FFFFH
NEXT:   NOPLOOP NEXTRET                    ;返回DOS
DELAY   ENDP               ;延时函数结束标志
CODE    ENDSEND START

可编程接口芯片之-----8255A相关推荐

  1. 第八章 可编程接口芯片及应用【微机原理】

    第八章 可编程接口芯片及应用[微机原理] 前言 第8章可编程接口芯片及应用 8.1 可编程定时器/计数器芯片 8253/8254 8.1.1 8253的结构与功能 8.1.2 8253的编程 8.1. ...

  2. 第8章 可编程接口芯片及应用

    8.1 可编程定时器/计数器芯片8253/8254 定时信号的产生 1.软件定时 方法:根据所需时间常数设计一个延迟子程序. 优点:节省硬件 缺点:执行延时程序期间CPU一直被占用,降低了CPU效率, ...

  3. 典型可编程接口芯片及应用

    可编程中断控制器芯片8259 https://blog.csdn.net/longintchar/article/details/79439466?utm_medium=distribute.pc_r ...

  4. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254

    总结微机原理课学习的若干芯片 教材--<微机原理与接口技术> 文章目录 〇.思维导图 一.定时/计数 概述 二.8253/8254 内部结构及引脚信号 1. 主要功能 2. 内部结构和外部 ...

  5. 请问如何正确使用计算机的接口芯片,[计算机软件及应用]第05章接口芯片1.ppt

    [计算机软件及应用]第05章接口芯片1 第5章 可编程接口芯片 5.2 可编程定时器/计数器8254 计算机系统中经常要用到定时信号,如定时检测.定时扫描和时钟定时等,定时方法通常有以下三种: (1) ...

  6. 计算机语言里的接口,使用VHDL语言开发计算机中的接口芯片

    摘  要:讨论了 VHDL语言在 EDA中的诸多优点,结合定时/计数接口芯片的开发实例,讨论了ISP技术在电子设计自动化中的应用.同时给出了实例的具体例程和时序仿真波形. 关键词:在系统可编程:电子设 ...

  7. 【计算机原理与接口技术(UNIX)⑱】——并行 I/O 接口 [ 芯片8255A ]

    ✅ 通过对 [计算机与UNIX汇编原理 ① ~ ⑫]的学习,我们已经大致掌握了汇编程序设计的相关知识 接下来,我将其分栏名改为 [计算机原理与接口技术(UNIX) ],重点将放在 "计算机原 ...

  8. 【微机原理 实验】可编程外围接口芯片8255(4)(硬件-含汇编代码)

    实验十  可编程外围接口芯片8255(4) 更多微机实验: Github: https://github.com/Amoiensis/Assembly-language CSDN: https://b ...

  9. 基于8255A接口芯片的跑马灯程序

    目前这段时间,微机原理这门课上到了接口部分:开始接触到基于接口芯片的汇编编程,这个星期五上机实验完成后.考虑了一下老师说的跑马灯程序,感觉逻辑上实现不是很复杂 于是去实现了一下,但是没跑起来:于是最后 ...

最新文章

  1. 从0梳理1场数据挖掘赛事!
  2. (Asp.Net)转载-用Powershell 建立IIS web site
  3. 如何用 J-Link 来串口调试?
  4. Navigation Drawer介绍
  5. HDU 2012 素数判断方式
  6. 如何在 HTML5 页面中嵌入音频?如何在 HTML5 页面中嵌入视频?
  7. ubuntu终止terminal中下载任务以及继续下载
  8. js控制ctrl+p
  9. 黑金全部开发板资料(FPGA+ZYNQ)分享
  10. 计算机共享访问权限,设置电脑共享权限、电脑文件共享权限设置、设置共享文件夹访问权限的方法...
  11. vs2015中工具箱不显示DevExpress控件的解决办法
  12. Mybatis-Plus实现逻辑删除
  13. Python绘制一箭穿双心 动画代码
  14. 无人机航模电池上面有20C 30C,这是放电倍率
  15. 不让玩游戏的小娃娃随机考试系统
  16. TI毫米波雷达开发常见问题总结
  17. 如何让区块链获得人工智能的能力
  18. iphone邮箱看不到已发送_不看不知道 教你如何设置iPhone邮箱
  19. 燕十八PHP高性能架构班Oracle部分课程
  20. java中转换英语日期为常用格式,例:Jun 20, 2014 8:56:14 PM;

热门文章

  1. 18款奔驰C200L升级柏林之声音响,音质享受,驾驶乐趣
  2. HDFS 分布式文件系统架构原理
  3. 中国工业转向架炉膛市场深度研究分析报告
  4. Silverlight书籍推荐阅读排行榜【续】
  5. doom渲染_DOOM今天改变了比赛25年
  6. CANoe.DiVa操作指南-Pre-condition测试环境配置
  7. js 递归算法将扁平数据处理成树状数据
  8. DexGuard 与 ProGuard区别
  9. Android数据持久化
  10. 没基础不用怕,零基础无需任何技术学重装电脑系统