文档详情

汇编语言及IO地址译码编程练习 汇编语言与微机接口技术实验.doc

发布:2021-01-24约3.48千字共11页下载文档
文本预览下载声明
实 验 报 告 课程名称 汇编语言与微机接口技术 实验项目 汇编语言及I/O地址译码编程练习 实验仪器 PC微机、CZ-CIU实验箱 学 院 __ _ _计算机学院_ _ _ 专 业 计算机科学与技术 班级/学号 * 学生姓名 ___ _ _ *________ 实验日期 2018/11/05 成 绩 指导教师 * 指导书中实验3,4 实验目的 通过实验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口的方法。 掌握数码管显示数字的原理。 实验原理、内容描述和硬件连接 实验电路如下图 8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7 编程从8255C口输入数据,再从A口输出 接线:PC7~PC0/8255 接 K7~K0/逻辑电平开关 PA7~PA0/8255 接 L7~L0/LED显示灯 CS/8255 接 Y1/IO地址 1、静态显示:按4-4-1连接好电路,将8255的A口 PA0~PA7分别与七段数码管的段码驱动 输入端a~dp相连,位码驱动输入端S0、S1接 PC0、PC1;S2、S3接地。编程在数码管 上循环显示“00-99” 2、接线: PA7~PA0/8255 接 dp~a /LED数码管 PC1~PC0/8255 接 S1~S0 /LED数码管 GND 接 S3~S2 /LED数码管 CS/8255 接 Y1 /IO地址 程序流程图 第一题流程图: 第二题流程图: 代码、和关键注释 第一题代码: io8255a equ 288H io8255b equ 28BH io8255c equ 28AH code segment assume cs:code start:mov dx,io8255b ;初始化,设8255为C口输入,A口输出 mov al,8Bh ;控制字 out dx,al ;写入控制字 inout:mov dx,io8255c ;指向C口 in al,dx ;从C口读入开关状态 mov dx,io8255a ;指向A口 out dx,al ;A口控制LED,指示开关状态 mov dl,0ffh ;判断是否有按键 mov ah,06H int 21h jz inout ;若无,则继续自C口输入,A口输出 mov ah,4CH ;否则返回,程序终止 int 21h code ends end start 第二题代码: data segment led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh w1 db 0 ;个位w1 w2 db 0 ;十位w2 data ends code segment assume cs:code , ds:data start:mov ax,data mov ds,ax mov dx,28BH ;初始化,设8255为A,C口输出 mov al,80H out dx,al inout1:mov cx,50 ;设置显示频率 inout: mov dx,288H ;指向A口 mov al,w2 ;将w2的值经查led表得出相应段码 mov bx,offset led xlat ;查表 out dx,al mov dx,28AH ;将位码02H送至C口 mov al out dx,al push cx ;cx入栈 call delay ;调用延时子程序 mov dx,28AH ;将位码00H送至C口,从而刷新屏幕,避免其他数码管闪亮 mov al out dx,al mov dx,288H ;将w1的值经查led表得出相应段码送至A口 mov al,w1 mov bx,offset led xlat ;查表 out dx,al mov dx,28AH ;将位码01H送至C口 mov
显示全部
相似文档