精华内容
下载资源
问答
  • 并行接口8255a实验
    千次阅读
    2021-06-17 08:07:45

    微机原理8255A实验

    5.2 并行输入输出接口

    5.2.1 8255A的主要功能

    5.2.2 8255A的端口及其地址

    5.2.35.2.3 8255A8255A的引脚特性的引脚特性

    5.2.4 8255A控制端口的使用

    55.22.55 8255A8255A的初始化编程的初始化编程

    5.2.6 8255A的工作方式

    1

    5.2.5 8255A的初始化编程

    ① 确定四个端口地址:端口A 、B、C和控制口

    ②② 分配端分配端口任务任务

    用到几个数据端口

    确定确定每个个数据端口的工作方作方式和数据传输方输方向

    ③ 写控制字

    ④ 写初始化程序

    2

    8255A实验说明

    一、实验内容

    二、实验准备

    三三、、实验过程实验过程

    四、实验报告(P.21)

    3

    一、8255A实验内容

    实验二 8255可编程并行接口方式0 (P.7)

    开关K0~K7控制发光二极管L0~L7的状态。

    实验四实验四(1)(1) 七段数码管静态显示七段数码管静态显示

    键盘输入一位十进制数字(0~9),用七段数码管

    显示显示。

    选做实验(A或B选做一个):

    AA. 实验四实验四(2)(2) 七段数码管动态显示七段数码管动态显示

    B. 实验五 竞赛抢答器

    4

    二、8255A实验准备

    1. 系统功能描述

    2. 解题思路分析解题思路分析

    3. 关键问题与关键代码

    4. 程序程序清单与注释释

    5. 实验现象估计

    6. 问题与讨论

    5

    二、8255A实验准备

    实验二 8255可编程并行接口方式0 (P.7)

    开关K0~K7控制发光二极管L0~L7的状态。

    关键问题

    8255A的使用

    按键判断

    程序结束判断

    6

    二、8255A实验准备

    实验二 8255可编程并行接口方式0 (P.7)

    开关K0~K7控制发光二极管L0~L7的状态。

    实验现象估计

    无任何实验现象且死机

    死循环无法返回DOS

    发光二极管状态与预计结果不符

    7

    二、8255A实验准备

    实验二 8255可编程并行接口方式0 (P.7)

    开关K0~K7控制发光二极管L0~L7的状态。

    问题与讨论

    Kx=1时使Lx灭和Kx=1时使Lx亮,分别应如何实现?

    按任意键和按特定键(如“Y”)返回DOS,分别如何处理?

    按特定键(如“N”)切换Kx和Lx状态的对应关系怎么处理?

    加入屏幕提加入屏幕提示显显示程序功能并提程序功能并提示如何退出怎么处如何退出怎么处理?

    不同的DOS功能调用的区别,如01H和06H ?

    8

    二、8255A实验准备

    实验四 七段数码管静态显示

    键盘输入一位十进制数字(0~9),用七段数码管显示。

    关键问题

    8255A的使用

    按键判断和程序结束判断

    七段码显示

    数字键ASCII码与数值间的转换

    更多相关内容
  • Word可编辑 微机接口技术 实 验 报 告 实验名称 实验三可编程并行接口8255A 姓 名 学 号 班 级 教 师 提交日期 2014年12月1日 目录 TOC \o "1-3" \h \z \u 一实验目的和要求 3 二实验原理与背景 3 ? 2-18255A简介 3 ...
  • 8255A可编程并行接口实验 二、实验目的 1.掌握并行接口芯片8255A和微机接口的连接方法; 2.掌握并行接口芯片8255A的工作方式及其编程方法; 3.掌握小键盘的工作原理及接口技术; 利用8255A并行接口芯片与小...
  • 实验要求 通过8255AA口输入开关的状态,再通过其B口输出,由发光二极管显示出开关的状态,前4个开关向下则灯亮,后4个开关向上则灯亮。 实验电路 (1)电路原理图: (2)连线方法: 译码单元......
  • 北交大 北京交通大学 汇编与接口 并行接口实验报告

    题目要求

    本实验要实现:用按键并通过8255并行接口来控制数码管的显示。具体如下:
    (1)用8255的PA口控制数码管的段码。
    (2)用8255的PC口控制数码管的位码。
    (3)初始状态时,在最右侧数码管上显示0,自此,可用按键控制数码管的后续显示,具体为:

    • 按一下‘l’键,显示数字的数码管向左移一位。若已到了最左端,则跳到最右端继续显示。
    • 按一下‘r’键,显示数字的数码管向右移一位。若已到了最右端,则跳到最左端继续显示。
    • 按一下‘u’键,显示数字的数码管不动,但其中显示的数字加1。若加到10,则设为0。
    • 按一下‘d’键,显示数字的数码管不动,但其中显示的数字减1。若减到-1,则设为9。
    • 按一下‘e’键,显示数字的数码管灭掉,演示结束。
    • 按任何其他的键,数码管无反应。

    连线图

    连线图

    流程图

    流程图

    代码及注释

    DATA SEGMENT
    	IO8255_A EQU 288H
    	IO8255_C EQU 28AH
    	IO8255_K EQU 28BH
    	LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH			;保存各个数字的数码管亮的十六进制数
    	BUFFER DB 0		;BUFFER存储当前输出的数字
    	BZ DW ?			;BZ存储位码
    	CHAR DB ?		;CHAR存储当前输入的字母L/R/U/D/E
    DATA ENDS
    CODE SEGMENT
    	ASSUME CS:CODE,DS:DATA
    START:MOV AX,DATA
    	MOV DS,AX
    	MOV DX,IO8255_K		;K命令口
    	MOV AL,80H			;命令口写入80H,即10000000B,意味方式0,PA,PB,PC口均为输出口
    	OUT DX,AL
    	MOV SI,OFFSET LED	;SI指向LED,方便找到要显示的数字
    	MOV BL,BUFFER
    	MOV BH,01
    	MOV BYTE PTR BZ,BH
    	MOV BH,0
    	ADD SI,BX
    	MOV AL,BYTE PTR [SI]	;AL中存入0,也即将从PA口输出数字0的段码
    	MOV DX,IO8255_A		;从PA口输出数字0段码,显示数字为0
    	OUT DX,AL
    	MOV AL,BYTE PTR BZ
    	MOV DX,IO8255_C		;从PC口输出位码,最后一位将用于显示
    	OUT DX,AL
    LOOPALL:
    MOV SI,OFFSET LED
    MOV AH,01
    	INT 21H
    	MOV CHAR,AL			;从键盘输入一个字母,将其存入CHAR
    	MOV BL,108
    	CMP CHAR,BL			;与L的ASCII码比较,查看是否为L
    	JNZ NEXT1
    	CALL LEFT			;是L则调用LEFT子程序,否则进行下一个比较
    NEXT1:MOV BL,114
    	CMP CHAR,BL			;与R的ASCII码比较,查看是否为R
    	JNZ NEXT2
    	CALL RIGHT			;是R则调用RIGHT子程序,否则进行下一个比较
    NEXT2:MOV BL,117
    	CMP CHAR,BL			;与U的ASCII码比较,查看是否为U
    	JNZ NEXT3
    	CALL UP				;是U则调用UP子程序,否则进行下一个比较
    NEXT3:MOV BL,100
    	CMP CHAR,BL			;与D的ASCII码比较,查看是否为D
    	JNZ NEXT4
    	CALL DOWN			;是D则调用DOWN子程序,否则进行下一个比较
    NEXT4:MOV BL,101
    	CMP CHAR,BL			;与E的ASCII码比较,查看是否为E
    	JNZ LOOPALL
    	JMP EXIT				;是E则跳转到EXIT退出,否则回到循环开头
    LEFT:MOV BL,BYTE PTR BZ
    	ROL BL,1				;位码循环左移一位,使用ROL保证到最左端可以回到最右端
    	MOV BYTE PTR BZ,BL
    	MOV SI,OFFSET LED
    	MOV BL,BUFFER		;BUFFER中数字直接使用
    	MOV BH,0
    	ADD SI,BX
    	MOV AL,BYTE PTR [SI]
    	MOV DX,IO8255_A		;PA口输出段码
    	OUT DX,AL
    	MOV AL,BYTE PTR BZ
    	MOV DX,IO8255_C		;PC口输出位码
    	OUT DX,AL
    	RET
    
    RIGHT:MOV BL,BYTE PTR BZ
    	ROR BL,1				;位码循环右移一位,使用ROR保证到最右端可以回到最左端
    	MOV BYTE PTR BZ,BL
    	MOV SI,OFFSET LED
    	MOV BL,BUFFER
    	MOV BH,0
    	ADD SI,BX
    	MOV AL,BYTE PTR [SI]
    	MOV DX,IO8255_A
    	OUT DX,AL
    	MOV AL,BYTE PTR BZ
    	MOV DX,IO8255_C
    	OUT DX,AL
    	RET
    
    UP:MOV BL,BUFFER
    	INC BL				;当前数字自增1
    	MOV BH,0
    	MOV DL,9
    	CMP BL,DL			;如果数字加一后大于9,则将数字置零
    	JNA NU				;否则跳到NU
    	MOV BL,0
    NU:MOV BUFFER,BL		;将新的数字存入BUFFER
    	MOV SI,OFFSET LED
    	ADD SI,BX
    	MOV AL,BYTE PTR [SI]	
    	MOV DX,IO8255_A
    	OUT DX,AL
    	MOV AL,BYTE PTR BZ
    	MOV DX,IO8255_C
    	OUT DX,AL
    	RET
    
    DOWN:MOV BL,BUFFER
    	SUB BL,1				;当前数字自减1
    	MOV BH,0			;若自减后小于0则将数字置9
    	JNC ND				;否则跳到ND
    	MOV BL,9
    ND:MOV BUFFER,BL		;将新的数字存入BUFFER
    	MOV SI,OFFSET LED
    	ADD SI,BX
    	MOV AL,BYTE PTR [SI]
    	MOV DX,IO8255_A
    	OUT DX,AL
    	MOV AL,BYTE PTR BZ
    	MOV DX,IO8255_C
    	OUT DX,AL
    	RET
    
    EXIT:MOV DX,IO8255_A		;数码管熄灭
    	MOV AL,0
    	OUT DX,AL
    	MOV AX,4C00H		;程序中断
    	INT 21H
    CODE ENDS
    	END START
    
    展开全文
  • 可编程并行接口8255 实验,不错的计算机接口与汇编实验报告,详细的实验步骤,实验原理,汇编程序,还有心得体会!分享给大家
  • 8255并行I/O扩展实验

    2020-07-11 16:07:43
    要求:利用8255可编程并行口芯片,实现输入、输出,实验中用A口读取开关状态输入,用B口控制发光二极管输出。
  • 实验4 8255并行接口实验 题目:将8255的C口接逻辑电平开关K1-K8,A口接LED显示电路D1-D8,注意CS0所接74LS138译码器的管脚,以及A0, A1的接法,确定端口地址。将8255A口和C口都设置为方式0,编程完成查询方式,...
  • 实验内容实验5-1 8255并行输入/输出实验实验5-2 并行接口键盘反转扫描实验 一. 实验目的 了解8255芯片结构及编程方法。 了解8255输入/输出实验方法。 掌握8255控制键盘及显示电路的基本功能及编程方法。 掌握一般...

    一. 实验目的

    1. 了解8255芯片结构及编程方法。
    2. 了解8255输入/输出实验方法。
    3. 掌握8255控制键盘及显示电路的基本功能及编程方法。
    4. 掌握一般键盘和显示电路的工作原理。

    二. 实验内容

    实验5-1 8255并行输入/输出实验

    将实验的线路连接好后,编程,将8255的C口作为输入。输入信号由8个逻辑电平开关提供,A口作为输出,其内容由发光二极管来显示。编程从8255C口输入数据,再从A口输出。

    电路图:
    在这里插入图片描述
    接线:
    在这里插入图片描述
    汇编代码:

    P8255A    EQU  288H
    P8255B    EQU  0602H
    P8255C    EQU  28AH
    P8255MODE EQU  28BH
    
    code segment
        assume cs:code
    
    start:    
            mov dx,P8255MODE
            mov al,10001001b
            out dx,al
     
    next:    
            mov dx,P8255C
            in al,dx
            mov dx,P8255A
            out dx,al
    
            mov dl,0ffh
            mov ah,06h
            int 21h
            jz next
            mov ax, 4ch
            int 21h
    
    code ends
    end start
    

    运行结果:

    运行程序,拨动开关,相应的二极管被点亮。效果如下图所示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    实验5-2 并行接口键盘反转扫描实验

    编程,设置8255C口键盘输入、A口为数码管段码输出。使得在4×4小键盘上每按一个键,8位数码管上显示出相应字符。
    在这里插入图片描述
    电路图:
    在这里插入图片描述
    接线:
    在这里插入图片描述
    汇编代码:

    a8255 equ 288H    ;8255 A口    
    c8255 equ 28aH    ;8255 C口
    k8255 equ 28bH    ;8255 控制口
    
    ;========================数据定义段data开始=======================;
    
    data segment
    
    table1 dw 0770h,0B70h,0D70h,0E70h,07B0h,0BB0h,0DB0h,0EB0h        ;键盘行列码表,对应着si寄存器,用于确定按下按键的位置及按键信息
           dw 07D0h,0BD0h,0DD0h,0ED0h,07E0h,0BE0h,0DE0h,0EE0h
    
    LED    DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH        ;LED段码表,分别代表0~F
           DB 39h,5EH,79h,71h,0ffh
    
    char  db '0123456789ABCDEF'                                      ;字符表,对应着di寄存器,用于最后在屏幕上输出内容
    
    mes   db 0ah,0dh,'PLAY ANY KEY IN THE SMALL KEYBOARD! ',0ah,0dh  ;提示信息,用于开始时在屏幕上提示输入
          db 'IT WILL BE ON THE SCREEN! END WITH E ',0ah,0dh,'$'
    
    key_in db 0h
    
    data ends
    
    ;========================数据定义段data结束=======================;
    
    ;=======================堆栈定义段stacks开始======================;
    
    stacks segment stack
         db 100 dup (?)
    stacks ends
    
    ;=======================堆栈定义段stacks结束======================;
    
    code segment
            assume cs:code,ds:data,ss:stacks,es:data
    
    start:
            cli                       ;禁止中断发生
            mov ax,data               ;将data放入通用寄存器ax中,data是伪指令,起到过渡作用
            mov ds,ax                 ;将ax中的data转到ds数据段寄存器中,让数据段指向正确的位置,但内存数不能放入段地址
            mov es,ax                 ;将ax中的data放入通用寄存器es中
            mov ax,stacks             ;将stack堆栈放入通用寄存器ax中,起到过渡作用
            mov ss,ax                 ;将ax中的stack转到数据段寄存器ss中
    
            mov dx,offset mes         ;显示提示信息mes
            mov ah,09                 ;将功能号09H送入ah
            int 21h                   ;返回DOS,输出需要显示的信息
    
            mov dx,k8255              ;设置8255 (工作方式0;A口输出;C口高四位输出,低四位输入),初始化控制字,将控制字k8255送入端口dx
            mov al,81h                ;将控制字10000001(81h)送入al中,特征位D7默认置1,A组方式0,D6D5=00,端口A输出,D4=0,PC7~PC4输出,D3=0,B组方式0,D2=0,B端口输出,D1=0,PC3~PC0输入,D0=1
            out dx,al                 ;将al中的控制字送入端口dx中
    
    main_key:
            call key                  ;获取一个输入的字符并显示
            call display              ;调用显示子程序,显示得到的字符
    
            cmp byte ptr key_in,'E'   ;将输入的字符key_in与'E'进行比较,计算key_in-'E'的值,判断是否执行退出操作,按'E'退出程序
            jnz main_key              ;如果key_in-'E'的值不为0,则跳转至main_key,继续循环
            mov ax,4c00h              ;如果key_in-'E'的值等于0,则退出
            int 21h                   ;返回DOS,退出
    
    ;==========================子程序key开始=========================;
    
    key proc near                     ;开始定义子程序key的伪指令,NEAR属性为段内近调用,调用程序和子程序在同一代码段中,只能被相同代码段的其他程序调用
    
    key_loop:                         ;开始定义key_loop循环,等待键盘按键按下
            mov ah,1                  ;调用DOS的1号功能,没有入口参数,只有出口al
            int 16h                   ;读取键盘缓冲区输入
            jnz exit                  ;若pc键盘有键按下则退出
    
            mov dx,c8255              ;设置端口C,准备读取行3~0
            in al,dx                  ;进行读行扫描值
            and al,0fh                ;将al寄存器中的高四位内容清零
            cmp al,0fh                ;将al中高四位清零后的内容与0fh进行比较,判断是否有键被按下
            jz key_loop               ;如若未发现有键按下则继续转至key_loop进行循环                           
            call delay                ;调用延迟子程序delay
    
            mov ah,al                 ;设置8255 (工作方式0;A口输出;C口高四位输入,低四位输出),将al内容送入ah暂存
            mov dx,k8255              ;初始化控制字,将控制字k8255送入端口dx
            mov al,88h                ;将控制字10001000(88h)送入al中,特征位D7默认置1,A组方式0,D6D5=00,端口A输出,D4=0,PC7~PC4输出,D3=1,B组方式0,D2=0,B端口输出,D1=0,PC3~PC0输入,D0=0
            out dx,al                 ;将al中的控制字送入端口dx中 
            mov al,ah                 ;将ah中的暂存值还给al
            
            mov dx,c8255              ;设置端口C,准备读取列3~0
            in al,dx                  ;读列扫描值 
            and al,0f0h               ;将al低四位清零
            cmp al,0f0h               ;将al中低四位清零后的内容与0f0h进行比较,判断是否有键被按下
            jz key_loop               ;如若未发现有键按下则继续转至key_loop进行循环 
    
            mov si,offset table1      ;si为键盘扫描码表table1的首地址
            mov di,offset char        ;di为字符表char的首地址
            mov cx,16                 ;cx为待查表的表大小为16,0~F
    
    key_tonext:                       ;开始定义key_tonext操作,用于查找扫描码,确定按下按键的位置
            cmp ax,[si]               ;逐个比较键盘扫描码表table1的首地址的值,计算行列差值,进而确定按下的键在键盘上的位置
            jz key_findkey            ;如果计算结果等于0,则跳转到key_findkey操作
            dec cx                    ;把cx中的值减一
            jz key_loop               ;未找到对应扫描码,则跳转到key_loop循环中,等待再次按下按键
            add si,2                  ;源变址寄存器si加2
            inc di                    ;字符表首地址di自增1,di指向字符表char中的下一个字符内容
            jmp key_tonext            ;跳转至key_tonext操作
    
    key_findkey:                      ;开始定义key_findkey操作,用于查找键盘码,并在屏幕上显示
            mov dl,[di]               ;将di中的字符内容送入dl中
            mov ah,02                 ;调用DOS的2号功能,将功能号02H送入ah
            int 21h                   ;显示查找到的键盘码,进行单字符输出,入口是dl,在屏幕上输出di中的键盘码字符内容
            mov byte ptr key_in,dl    ;将dl中的键盘码送入key_in中
    
    key_waitup:                       ;开始定义key_waitup操作,用于进行按键抬起的操作,用于防止抖动
            mov dx,k8255              ;初始化控制字,将控制字k8255送入端口dx
            mov al,81h                ;将控制字10000001(81h)送入al中,特征位D7默认置1,A组方式0,D6D5=00,端口A输出,D4=0,PC7~PC4输出,D3=0,B组方式0,D2=0,B端口输出,D1=0,PC3~PC0输入,D0=1
            out dx,al                 ;将al中的控制字送入端口dx中
    
            mov dx,c8255              ;设置端口C
            mov al,0fh                ;00001111(0fh)送入al中,端口C特殊控制方式:特征位D7置0,D6D5D4不使用,位选择为端口C的7位,D3D2D1均为1,置位D0=1
            out dx,al                 ;将al中的控制字送入端口dx中
    
            in al,dx                  ;进行读行扫描值
            and al,0fh                ;将al寄存器中的高四位内容清零
            cmp al,0fh                ;将al中高四位清零后的内容与控制字0fh进行比较,判断是否有键被按下
            jnz key_waitup            ;若按键未抬起,则继续跳转至key_waitup循环
    
            call delay                ;调用延时子程序
            ret                       ;用栈中的数据,修改IP的内容,从而实现近转移
    
    exit:                             ;子程序key退出
            mov byte ptr key_in,'E'   ;'E'字符送入key_in中
            ret                       ;用栈中的数据,修改IP的内容,从而实现近转移
    
    key endp                          ;结束子程序key伪指令
    
    ;==========================子程序key结束=========================;
    
    ;=========================子程序delay开始========================;
    
    delay proc near                   ;开始定义子程序delay的伪指令,NEAR属性为段内近调用,调用程序和子程序在同一代码段中,只能被相同代码段的其他程序调用
    
            push ax                   ;延迟50ms~100ms
            mov ah,0                  ;调用DOS0号指令
            int 1ah                   ;返回DOS
            mov bx,dx                 ;将dx中内容送入bx
    
    delay1:                           ;定义delay1操作
            mov ah,0                  ;调用DOS0号指令
            int 1ah                   ;返回DOS
            cmp bx,dx                 ;比较bx和dx中值的值是否相等,计算bx-dx的值是否为0
            jz delay1                 ;若bx-dx的值为0,则继续跳转至delay1
            mov bx,dx                 ;将dx中内容送入bx
    
    delay2:                           ;定义delay2操作
            mov ah,0                  ;调用DOS0号指令
            int 1ah                   ;返回DOS
            cmp bx,dx                 ;比较bx和dx中值的值是否相等,计算bx-dx的值是否为0
            jz delay2                 ;若bx-dx的值为0,则继续跳转至delay2
            pop ax                    ;从栈顶取出数据送入ax
            ret                       ;用栈中的数据,修改IP的内容,从而实现近转移
    
    delay endp                        ;结束子程序delay伪指令
    
    ;=========================子程序delay结束========================;
    
    ;========================子程序display开始=======================;
    
    display proc near                 ;开始定义子程序diaplay的伪指令,NEAR属性为段内近调用,调用程序和子程序在同一代码段中,只能被相同代码段的其他程序调用
    
            push ax                   ;将寄存器ax中的数据送入栈中
            mov bx,offset led         ;bx为LED灯段码表led的首地址
            mov al,byte ptr key_in    ;将key_in中的内容送入al中
            sub al,30h                ;字符'0-9'所对应的ASCII码值为'30H-39H',故欲得到0~9的数值,只需用其ASCII码值减30H
            cmp al,09h                ;将al中的值与9进行比较,若等于9时则进行换码跳转dis2
            jng dis2                  ;跳转至dis2操作进行换码
            sub al,07h                ;字符'a-f'所对应的ASCII码值为'97H-102H',故欲得到a~f的数值,只需用其ASCII码值减07H
    
    dis2:
            xlat                      ;换码指令,用于改变al中的数据
            mov dx,a8255              ;设置端口A,准备输出段码内容显示
            out dx,al                 ;输出显示数据,段码
            pop ax                    ;从栈顶取出数据送入ax
            ret                       ;用栈中的数据,修改IP的内容,从而实现近转移
    
    display endp                      ;结束子程序display伪指令
    
    ;========================子程序display结束=======================;
    
    code ends
    end start
    

    运行结果:

    运行程序,按下薄膜键盘上的按键,数码管显示按键的值。效果如下图所示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 实验8255可编程并行接口实验 6.1实验目的 掌握8255A的结构工作方式以及应用编程进一步了解可编程并行接口的概念 6.2实验条件 1. 北京达盛科技有限公司缔造者电子电气技术综合实验台CPU挂箱8086CPU模块 2. PC机1台...
  • 可编程并行接口8255实验一)

    千次阅读 2020-11-19 23:52:05
    实验目的 通过实验,掌握8255工作于方式0以及设置C口为输入口,B口为输出口的方法。 实验原理 略 io8255a equ 288h ;A端口地址

    实验目的

    通过实验,掌握8255工作于方式0以及设置C口为输入口,B口为输出口的方法。

    实验原理

    待添加

    实验步骤

    待添加

    求控制字

    A端口无关可任选 ⇒ D 4 D_4 D4 = 0
    B端口作为输出 ⇒ D 1 D_1 D1 = 0
    C端口作为输入 ⇒ D 0 D_0 D0 = 1; D 3 D_3 D3 = 1
    A组方式选择,B组方式选择 ⇒ 选择默认为方式0(基本的输入/输出方式) ⇒ D 6 D 5 D_6D_5 D6D5 = 00; D 2 D_2 D2 = 0
    即控制字为:10001001 = 89h

    ASM 汇编代码

    io8255a		equ	288h	;A端口地址
    io8255b		equ	289h	;B端口地址
    io8225c		equ	28ah	;C端口地址
    io8225ctrl	equ	28bh	;D端口地址
    code	segment
    		assume	cs:code
    start:	mov dx,io8255ctrl	;将控制字写入控制端口
    		mov al,89h
    		out dx,al
    inout:	mov dx,io8255c	;C端口作为输入
    		in	al,dx		;从C端口输入一个数据
    		mov	dx,io8255b	;B端口作为输出
    		out	dx,al		;将从C端口输入的数据从A端口输出
    		mov	dl,offh		;判断是否有按键
    		mov	ah,06h
    		int	21h
    		jz	inout		;若无按键,则继续到inout运行
    		mov	ah,4ch		;否则返回
    		int	21h
    code	ends
    		end	start		
    
    展开全文
  • 8255 并行接口实验

    2022-07-09 10:39:46
    1、掌握8255A的工作方式使用以及编程。 2、利用8255A完成将数码开关的输入送给发光二极管并显示
  • 8255A可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告.docx8255A可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告.docx8255A可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告.docx8255A...
  • 可编程并行接口8255输入输出实验让你对于8255有更加深刻的理解和认识
  • 编写程序以8255为输出口,控制四个双色LED灯(可发红,黄,绿光),模拟十字路口交通灯管理。注:红灯和绿灯同时发光时显示黄灯
  • 汇编语言——8255并行接口实验

    千次阅读 2019-01-16 17:10:17
    编写程序,使8255A口和B口均为输出,实现 16 位数据灯的相对循环显示。 线路连接: P8255A EQU 0600H P8255B EQU 0602H P8255C EQU 0604H P8255MODE EQU 0606H DATA SEGMENT LA DB ? LB DB ? DATA ENDS CODE...
  • 实用文档 标准 本科实验报告 实验名称 8255A可编程并行接口实验 课程名称 计算机原理与应用实验 实验时间 任课教师 实验地点 10号楼102 实验教师 实验类型 原理验证 综合设计 自主创新 学生姓名 学号/班级 组 号 学 ...
  • 8255可编程并行接口实验实验报告

    千次阅读 2021-07-30 11:34:34
    8255可编程并行接口实验实验报告》由会员分享,可在线阅读,更多相关《8255可编程并行接口实验实验报告(6页珍藏版)》请在人人文库网上搜索。1、微机原理实验报告实验名称8255可编程并行接口实验一、实验目的1、...
  • 如图8-11所示, 8255AA端口和B端口分别连接两个7段数码管,编程实现两数码管分别静态显示“0”和“1”。 代码如下: #include <reg51.h> #include <absacc.h> #define PORT_A XBYTE[0x1FFF] //...
  • 实验6 8255并行接口实验【微机原理】【实验
  • 微原硬件实验二:8255A并行接口应用.docx微原硬件实验二:8255A并行接口应用.docx微原硬件实验二:8255A并行接口应用.docx微原硬件实验二:8255A并行接口应用.docx微原硬件实验二:8255A并行接口应用.docx微原硬件...
  • 微原硬件实验二:8255A并行接口应用.pdf微原硬件实验二:8255A并行接口应用.pdf微原硬件实验二:8255A并行接口应用.pdf微原硬件实验二:8255A并行接口应用.pdf微原硬件实验二:8255A并行接口应用.pdf微原硬件实验二...
  • 1)掌握8255方式0的工作原理以及设置C口输入,A口输出的编程方法。 2)掌握I/O接口地址译码电路的工作原理及端口地址的计算方法。 3)掌握I/O端口的读写操作及编程方法。 4)掌握微机接口集成开发环境HQFC软件的使用...
  • 实验8255 可编程并行接口实验 6.1 实验目的 掌握 8255A 的结构工作方式以及应用编程进一步了解可编程并行接口的概念 6.2 实验条件 1. 北京达盛科技有限公司缔造者电子电气技术综合实验台CPU 挂箱8086CPU 模 块 2....
  • 8255并行接口实验

    2018-12-27 15:54:52
    1、打开8255.ASM文件,结合程序注释提示填写控制字及端口号。可看到现象:第i个开关Ki开关闭合,Di发光二极管亮。 2、在1完成后,通过手动调节开关,使得7段码依次显示字形:0、1、2、3、4、5、6、7、8、9、A、B、C...
  • 目录实验内容:1.8255输入、输出2.利用8255设计跑马灯(软延时) 实验内容: 1.8255输入、输出实验 2.利用8255设计跑马灯(软延时) 1.8255输入、输出 CODE SEGMENT ASSUME CS:CODE START: MOV DX,283H ;...
  • 目录 一、实验目的和要求 ... 2-1、8255A简介 2-2、8255A编程 三、实验具体的内容 3-1、8255方式0实验1 3-2、8255方式0实验2 3-3、8255方式1输出实验 3-4、8255方式1输入实验 四、实验的代码说明 ...
  • 8255A芯片相关知识
  • 利用可编程并行接口芯片8255A,重复交通灯控制实验的内容,拥有Keil代码+proteus仿真

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,319
精华内容 8,927
关键字:

并行接口8255a实验