可编程接口芯片之-----8255A
仿真环境: 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相关推荐
- 第八章 可编程接口芯片及应用【微机原理】
第八章 可编程接口芯片及应用[微机原理] 前言 第8章可编程接口芯片及应用 8.1 可编程定时器/计数器芯片 8253/8254 8.1.1 8253的结构与功能 8.1.2 8253的编程 8.1. ...
- 第8章 可编程接口芯片及应用
8.1 可编程定时器/计数器芯片8253/8254 定时信号的产生 1.软件定时 方法:根据所需时间常数设计一个延迟子程序. 优点:节省硬件 缺点:执行延时程序期间CPU一直被占用,降低了CPU效率, ...
- 典型可编程接口芯片及应用
可编程中断控制器芯片8259 https://blog.csdn.net/longintchar/article/details/79439466?utm_medium=distribute.pc_r ...
- 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254
总结微机原理课学习的若干芯片 教材--<微机原理与接口技术> 文章目录 〇.思维导图 一.定时/计数 概述 二.8253/8254 内部结构及引脚信号 1. 主要功能 2. 内部结构和外部 ...
- 请问如何正确使用计算机的接口芯片,[计算机软件及应用]第05章接口芯片1.ppt
[计算机软件及应用]第05章接口芯片1 第5章 可编程接口芯片 5.2 可编程定时器/计数器8254 计算机系统中经常要用到定时信号,如定时检测.定时扫描和时钟定时等,定时方法通常有以下三种: (1) ...
- 计算机语言里的接口,使用VHDL语言开发计算机中的接口芯片
摘 要:讨论了 VHDL语言在 EDA中的诸多优点,结合定时/计数接口芯片的开发实例,讨论了ISP技术在电子设计自动化中的应用.同时给出了实例的具体例程和时序仿真波形. 关键词:在系统可编程:电子设 ...
- 【计算机原理与接口技术(UNIX)⑱】——并行 I/O 接口 [ 芯片8255A ]
✅ 通过对 [计算机与UNIX汇编原理 ① ~ ⑫]的学习,我们已经大致掌握了汇编程序设计的相关知识 接下来,我将其分栏名改为 [计算机原理与接口技术(UNIX) ],重点将放在 "计算机原 ...
- 【微机原理 实验】可编程外围接口芯片8255(4)(硬件-含汇编代码)
实验十 可编程外围接口芯片8255(4) 更多微机实验: Github: https://github.com/Amoiensis/Assembly-language CSDN: https://b ...
- 基于8255A接口芯片的跑马灯程序
目前这段时间,微机原理这门课上到了接口部分:开始接触到基于接口芯片的汇编编程,这个星期五上机实验完成后.考虑了一下老师说的跑马灯程序,感觉逻辑上实现不是很复杂 于是去实现了一下,但是没跑起来:于是最后 ...
最新文章
- 从0梳理1场数据挖掘赛事!
- (Asp.Net)转载-用Powershell 建立IIS web site
- 如何用 J-Link 来串口调试?
- Navigation Drawer介绍
- HDU 2012 素数判断方式
- 如何在 HTML5 页面中嵌入音频?如何在 HTML5 页面中嵌入视频?
- ubuntu终止terminal中下载任务以及继续下载
- js控制ctrl+p
- 黑金全部开发板资料(FPGA+ZYNQ)分享
- 计算机共享访问权限,设置电脑共享权限、电脑文件共享权限设置、设置共享文件夹访问权限的方法...
- vs2015中工具箱不显示DevExpress控件的解决办法
- Mybatis-Plus实现逻辑删除
- Python绘制一箭穿双心 动画代码
- 无人机航模电池上面有20C 30C,这是放电倍率
- 不让玩游戏的小娃娃随机考试系统
- TI毫米波雷达开发常见问题总结
- 如何让区块链获得人工智能的能力
- iphone邮箱看不到已发送_不看不知道 教你如何设置iPhone邮箱
- 燕十八PHP高性能架构班Oracle部分课程
- java中转换英语日期为常用格式,例:Jun 20, 2014 8:56:14 PM;