文档详情

实验六 8255并行输入输出.doc

发布:2019-06-10约4.99千字共8页下载文档
文本预览下载声明
. . 东南大学 《微机实验及课程设计》 实验报告 实验六 8255并行输入输出 姓 名: 学 号: 专 业:测控技术与仪器 实 验 室: 516 同组人员: 评定成绩: 实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 掌握8段数码管的动态刷新显示控制; (1)实验内容(必做) 6-1、8段数码管静态显示: 编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验内容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 实验原理 实验预备知识 图 八段式LED数码管的符号和引脚 6-1流程图: 是否为0~9?设置8255控制字 是否为0~9? 设置8255控制字(A端口输出) 从键盘输入字符 开始 N 将对应段码输出到8255A端口结束 将对应段码输出到8255A端口 结束 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码 mesg1 db 0dh,0ah,Input a num (0--9h):,0dh,0ah,$;提示 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b ;使8255的A口为输出方式 mov ax,80h out dx,al sss: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 21h mov ah,01 ;从键盘接收字符 int 21h cmp al,0 ;是否小于0 jl exit ;若是则退出 cmp al,9 ;是否大于9 jg exit ;若是则退出 sub al,30h ;将所得字符的ASCII码减30H mov bx,offset led ;bx为数码表的起始地址 xlat ;求出相应的段码 mov dx,io8255a ;从8255的A口输出 out dx,al jmp sss ;转SSS exit: mov ah,4ch ;返回DOS int 21h code ends end start (3)6-2接线图: 6-2源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h io8255c equ ioport+28ah io8255k equ ioport+28bh led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码 buffer1 db 5,6 ;存放要显示的个位和十位 bz dw ? ;位码 data ends stacks segment stack db 100 dup(?) stacks ends code segment assume cs:code,ds:data,ss:stacks start: mov ax,data mov ds,ax mov ax,stacks mov
显示全部
相似文档