接口实验报告

时间:2024.3.19

 

计算机接口技术

实验报告

                                                                                                                                               

东北大学秦皇岛分校

实验一:可编程计数器/定时器(8253

1、计数器

一、实验目的

    掌握8253的基本工作原理和编程方法。

二、实验内容

    按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

三、编程提示

                                                                   8253控制寄存器地址           283H

                                                                      计数器0地址          280H

                                                                      计数器1地址           281H

                                                                      CLK0连接时钟        1MHZ

四、实验原理图

五、源程序代码

ioport      equ 0d400h-0280h

io8253a     equ ioport+283h

io8253b     equ ioport+280h

code segment

    assume  cs:code

start: mov al,14h       ;设置8253通道0为工作方式2,二进制计数

     mov dx,io8253a

     out dx,al

     mov dx,io8253b      ;送计数初值为0FH

     mov al,0fh

     out dx,al

lll:     in al,dx         ;读计数初值

     call disp        ;调显示子程序

     push dx 

     mov ah,06h

     mov dl,0ffh

     int 21h

     pop dx

     jz lll

     mov ah,4ch       ;退出

     int 21h

disp   proc near        ;显示子程序

     push dx

 and al,0fh       ;首先取低四位

     mov dl,al

     cmp dl,9         ;判断是否<=9

     jle  num         ;若是则为'0'-'9',ASCII码加30H

     add dl,7         ;否则为'A'-'F',ASCII码加37H

num:     add dl,30h

     mov ah,02h       ;显示

     int 21h

     mov dl,0dh       ;加回车符

     int 21h

     mov dl,0ah       ;加换行符

     int 21h

     pop dx

     ret              ;子程序返回

    disp endp

    code ends

end start

六、实验运行结果

2、定时器

一、实验目的

    掌握8253的基本工作原理和编程方法。

二、实验内容

    按图17连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ

三、编程提示

                                                                    8253控制寄存器地址    283H

                                                                      计数器0地址          280H

                                                                      计数器1地址           281H

                                                                      CLK0连接时钟        1MHZ

四、实验原理图

五、实验运行结果

实验二:七段数码管

1、静态显示

一、实验目的

    掌握数码管显示数字的原理

二、实验内容

    静态显示:按图22连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

三、编程提示

实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

四、实验原理图

五、源程序代码

ata  segment

ioport      equ 0d400h-0280h

io8255a     equ ioport+288h

io8255b     equ ioport+28bh

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

六、实验运行结果

2、动态显示

一、实验目的

    掌握数码管显示数字的原理

二、实验内容

    动态显示:按图23连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0。编程在两个数码管上显示“56

三、编程提示

实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

四、实验原理图

五、实验运行结果

实验三:模/数转换器

1、电压转十六进制数据

一、实验目的

了解模/数转换的基本原理,掌握ADC0809的使用方法。

二、实验内容

1、实验电路原理图如图38。通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。

启动IN0开始转换:                       Out 0298 0

读取转换结果:                                In 0298

2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。

三、实验提示

    1、ADC0809的IN0口地址为298H,IN1口地址为299H

2、IN0单极性输入电压与转换后数字的关系为:

                                                                      N=Ui/(Uref/256)          

其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。

3、一次A/D转换的程序可以为

                  MOV     DX,口地址

                  OUT     DX,AL       ;启动转换

                  ;延时

                  IN      AL,DX       ;读取转换结果放在AL

四、实验原理图

五、源程序代码

ioport      equ 0d400h-0280h

io0809a     equ ioport+298h

code  segment

    assume cs:code

start:mov  dx,io0809a       ;启动A/D转换器

    out  dx,al

    mov  cx,0ffh       ;延时

delay:loop delay

    in   al,dx         ;从A/D转换器输入数据

    mov  bl,al         ;将AL保存到BL

    mov  cl,4

    shr  al,cl         ;将AL右移四位

    call disp          ;调显示子程序显示其高四位

    mov  al,bl

    and  al,0fh

    call disp          ;调显示子程序显示其低四位

    mov  ah,02

    mov  dl,20h        ;加回车符

    int  21h

    mov  dl,20h

    int  21h

    push dx

    mov  ah,06h          ;判断是否有键按下

    mov  dl,0ffh

    int 21h

    pop dx

    je   start         ;若没有转START

    mov  ah,4ch        ;退出

    int  21h

disp  proc near          ;显示子程序

    mov  dl,al

    cmp  dl,9          ;比较DL是否>9

    jle  ddd           ;若不大于则为'0'-'9',加30h为其ASCII码

    add  dl,7          ;否则为'A'-'F',再加7

ddd:    add  dl,30h          ;显示

    mov  ah,02

    int  21h

    ret

disp endp

code ends

end start

六、实验运行结果

2、波形显示

一、实验目的

了解模/数转换的基本原理,掌握ADC0809的使用方法。

二、实验内容

    将JP3的1、2短接,使IN2处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。

三、实验提示

    1、ADC0809的IN0口地址为298H,IN1口地址为299H

    2、IN0单极性输入电压与转换后数字的关系为:

                                                                      N=Ui/(Uref/256)          

其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。

    3、一次A/D转换的程序可以为

                  MOV     DX,口地址

                  OUT     DX,AL       ;启动转换

                  ;延时

                  IN      AL,DX       ;读取转换结果放在AL

四、实验原理图

五、实验运行结果

实验四:交通灯控制实验

一、实验目的

通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。

二、实验内容

如图-29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。

三.编程提示: 十字路口交通灯的变化规律要求:

(1南北路口的绿灯、东西路口的红灯同时亮30秒左右。

(2南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。

(3南北路口的红灯、东西路口的绿灯同时亮30秒左右。

(4南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。

(5转(1)重复。

四、实验原理图

五、源程序代码

data segment

ioport      equ 0d400h-0280h

io8255a     equ ioport+28ah

io8255b     equ ioport+28bh

portc1  db  24h,44h,04h,44h,04h,44h,04h   ;六个灯可能

    db  81h,82h,80h,82h,80h,82h,80h   ;的状态数据

    db  0ffh                          ;结束标志

data ends

code  segment

      assume  cs:code,ds:data

start:

    mov   ax,data

    mov   ds,ax

    mov   dx,io8255b

    mov   al,90h

    out   dx,al           ;设置8255为C口输出

    mov   dx,io8255a

re_on:  mov   bx,0

on: mov   al,portc1[bx]

    cmp   al,0ffh

    jz    re_on

    out   dx,al           ;点亮相应的灯

    inc   bx

    mov   cx,20           ;参数赋初值

    test  al,21h          ;是否有绿灯亮

    jz    de1             ;没有,短延时

    mov   cx,2000         ;有,长延时

de1:    mov   di,9000         ;di赋初值5000

de0:    dec   di              ;减1计数

    jnz   de0             ;di不为0

    loop  de1

    push dx

    mov ah,06h

    mov dl,0ffh

    int 21h

    pop dx

    jz  on                ;没有,转到on

exit:   mov   ah,4ch          ;返回

    int   21h

code ends

    end start

六、实验运行结果(包括修改程序后的实验运行结果)


第二篇:接口技术实验一实验报告


接口技术实验(一)

程序控制方式输入输出接口电路的工作 班级:电子班 学号:0839062 姓名:李 睿

一、 实验任务

1.无条件输入输出的实现。以8个拨动开关为输入外设,在现有实验箱的条件下构建一个基本输入端口,并编程控制将8个拨动开关的状态用一根地址线读入CPU内,然后通过一个基本输出端口在发光二极管上显示相应的数码,如:8个拨动开关的状态为‘1 1 1 1 0 0 0 0’,则在八段数码管上显示‘亮、亮、亮、亮、亮、灭、灭、灭、灭 ’。输入、输出端口的口地址从实验箱上的I/O地址译码输出中自行选定。

2.查询方式输入输出的实现。以拨动开关为输入外设,以发光二极管做为输出外设,在现有实验箱的条件下构建一个查询方式输入输出接口电路。具体做法:以第一个拨动开关高电平状态为‘输入准备好’的状态信号,将第一个拨动开关拨到高电平后,表示可以读取所有8个拨动开关的状态;将拨动开关的状态读入后再送到发光二极管上进行显示。如:8个拨动开关的状态为‘1 1 1 0 0 0 1 1’,则在八段数码管上显示‘亮、亮、亮、灭、灭、灭、灭、亮、亮’。

二、 实验时间

20xx年4月14日19点—22点

三、 实验原理分析

1. 无条件输入输出的实现:CPU通过端口0x4c00读取开关的状态,再通过端口0x4c00控制LED灯。

2. 查询方式输入输出的实现:通过端口0x4c08查询开关最高位的状态。当开关最高位为高电平时,CPU通过端口0x4c00读取开关的状态来控制LED灯;当开关最高位为低电平时,LED灯不受开关的影响。

四、 实验内容

☆ 软件部分

1. 无条件输入输出的实现:

Data Segment

Data ends

Code segment

Assume cs:code,ds:data Start:

Mov dx,4c00h

In al,dx

Not al

Mov dx,4c08h

Out dx,al

mov ah,0bh

int 21h

cmp al,0ffh

jnz start

mov ax,4c00h

int 21h

code ends

end start

2.查询方式输入输出的实现: Data Segment

Data ends

Code segment

Assume cs:code,ds:data Start:

Mov ax,data Mov ds,ax

One:

Mov dx,4c00h

In al,dx

Test al,01h

Jz one

Mov dx,4c00h

In al,dx

Mov dx,4c08h

Out dx,al

mov ah,0bh

int 21h

cmp al,0ffh

jnz start

mov ax,4c00h

int 21h

code ends

end start

五、 实验结果分析

1. 无条件输入输出的实现:在DOS环境下运行程序,可以通过拨动开关,调节状态,LED发生相应的变化。如:当开关状态为“01”时,第一个LED灯亮。按任意键退出程序。

2. 查询方式输入输出的实现:在DOS环境下运行程序,首先查询开关最高位的状态。当开关最高位为高电平时,CPU通过读取开关状态控制LED灯的亮与暗;当开关最高位为低电平时,LED不受开关状态影响,继续保持原来状态。

六、 实验总结与体会

其实本来是抱着试试的心态来学习这门课的,不知道这门课是不是能够去学,不过现在既然选了也就只能努力的去学习。经过这么一次的实验,我认为我的汇编真的需要继续好好复习一下了,以前的东西得捡回来了,因为试验的程序需要。据说可以用C语言做也,但是没有尝试过呢,回去自己可以试试。再则觉得老师上课说的还是很重要的啊,上课不好好听课这实验就是不好去做啊,以后上课得好好听课了,虽然这个不是很能太懂,自己还是需要好好的去研究摸索啊!

更多相关推荐:
接口实验报告

一实验目的1掌握8255A编程原理2掌握键盘的输入和数码管的显示3提高理论与实践相结合的能力强化所学内容二实验要求用8255A实现模拟电梯用键盘输入要求电梯所到达的楼层数码管显示电梯当前所在楼层电梯在初始楼层当...

接口技术实验4报告

上海大学计算机学院计算机接口技术实验4专业计算机科学与技术班级周一13节姓名学号计算机工程与科学学院报告日期20xx年10月29日实验名称AD转换实验和电机驱动实验一实验目的1掌握ADC0809芯片的硬件电路知...

微机接口实验报告

实验一显示程序实验20xx年4月22日1实验目的及实验内容实验目的1掌握在PC机上以十六进制数形式显示数据的方法2掌握部分DOS功能调用的使用方法3熟悉Tddebug调试环境和TurboDebugger的使用实...

接口实验报告

现代微机原理与接口技术接口部分实验报告学号09008112姓名马京亚成绩学号东南大学计算机科学与工程学院二一年十二月微机原理与接口技术接口部分实验报告目录实验二可编程定时器计数器82533实验三Windows中...

接口实验报告

武汉轻工大学现代微机原理与接口技术报告学号姓名班级成绩20xx年5月15日110511313王雪瑞网工一班实验1定时与中断接口程序设计实验项目定时与中断接口程序设计实验日期4月22日实验场地东7409实验环境硬...

接口实验报告

一实验目的及要求目的通过本次综合实验使学生综合运用计算机接口与通信技术汇编语言以及电子技术等课程的内容为以后从事计算机检测与控制工作奠定一定的基础要求1主要掌握并行IO接口芯片82538255A中断控制芯片82...

接口实验报告模板

实验一8255A并行口实验一系别机械工程系专业机械电子工程班级学号1220xx330姓名田勇鹏一实验目的1掌握8255A和微机接口方法2掌握8255A的工作方式和编程原理二实验设备DICE8086K超强型实验系...

接口实验报告

接口实验报告,内容附图。

接口与实现 实验报告

XXXXXXXX实验报告XXXXXXXXXX系部计算机系班级姓名XXXX班课程Java语言程序设计XXXX学号2XXXXX日期XXXXXXXXXXX项目接口与实现评价成绩1相关知识点接口体中只有常量的声明没有变...

接口与通信实验报告

华北电力大学实验报告实验名称课程名称专业班级学号指导教师8255并行接口实验中断特性及8259应用编程实验8253定时计数应用实验模数AD转换实验接口与通信实验设计学生姓名成绩实验日期实验报告如打印纸张用A4左...

微机原理与接口技术实验指导书12级用

微机原理及接口技术实验指导书贵阳学院电子与通信工程学院20xx实验一清零程序一实验目的掌握8088汇编语言程序设计和调试方法熟悉键盘操作二实验内容把RAM区数据段内4000H40FFH单元的内容清零三实验步骤1...

微机原理与接口技术软件实验指导书

微机原理及接口技术实验指导书20xx年9月信息学院实验中心微机实验室第一章80X86微机原理及其程序设计实验一熟悉PC机的使用和调试汇编程序的方法一实验目的1掌握汇编程序由编辑编译链接到调试的全过程2通过汇编调...

接口实验报告(32篇)