微机原理实验---并行接口实验
微机原理-可编程并行接口实验--利用8255A芯片设计接口电路并编程实现
![微机原理-可编程并行接口实验--利用8255A芯片设计接口电路并编程实现](https://img.taocdn.com/s3/m/219c614003768e9951e79b89680203d8ce2f6a95.png)
微机原理实验实验五可编程并行接口实验一、实验目的1. 理解可编程并行接口8255A芯片的结构和功能;2. 掌握8255A芯片初始化程序的设计方法;3. 掌握8255A芯片与CPU信号的连接方法以及并行接口设计和编程方法;4. 掌握七段数码管的静态和动态显示原理;5. 掌握利用七段数码管显示计算数机内部信息。
二、实验内容1. ※●利用8255A芯片设计接口电路并编程实现:A口输出数据,驱动四个LED,使其顺序显示‘0’~‘F’的二进制状态,每个状态保持1秒钟。
(1)电路框图(2)源程序(3)运行结果2. ※●设计接口电路并编程实现:两个七段数码管分别显示“HP”,字符保持3秒钟后两个数码管同时熄灭。
(1)电路框图(2)源程序(3)运行结果HP字符显示3秒后同时熄灭3. 通过对8255A芯片的实验,对比实验五、实验六,谈谈你对8255A的认识和体会以及输入输出接口调试的过程;8255A是可编程并行I/O接口芯片,通过对它进行编程,可实现无条件、有条件和中断方式的接口电路。
它适合于外部设备和微机之间进行近距离、大量和快速的信息交换,比如微机与并行接口打印机或者磁盘驱动器等。
输入输出接口调试过程:先搞清四个端口地址,然后根据所要实现的功能对控制端口写控制字,然后对其他端口进行数据交换,验证硬件电路的正确性。
4.简单叙述数码管接口电路设计的原则和调试方法;送入数码管的数据分为段码和位码,段码决定数码管显示什么样的字符,位码决定哪一位的数码管显示该字符。
调试时,先对连接段码的端口送入数据,然后对连接位码的端口送入数据,观察数码管的显示状态,改变位码端口数据,继续观察数码管的显示状态。
不能先送位码,再送段码,即不能先点亮再显示,因为这样可能会在段码未稳定之前显示错误的字符。
5. 叙述七段数码管动态显示延时时间长短对视觉有何影响?延时程序的作用是保持当前显示数码管足够时间,同时稳定显示效果,以形成视觉暂留。
人眼的视觉暂留时间大概在二十四分之一秒左右,所以一般电视电影至少是24帧以上,才会看起来是连续的动作,延时的时间设置小于40ms即可,延时太短会加重cpu的负担,延时太长,则看起来是不断闪烁的,不能连续显示。
微机实验 可编程并行接口8255
![微机实验 可编程并行接口8255](https://img.taocdn.com/s3/m/549b5f88bceb19e8b8f6ba59.png)
微机原理实验报告实验题目:可编程并行接口8255一、实验目的1、掌握8255的基本输入输出和PC端口位控的工作方式及应用编程。
2、掌握8255的典型应用电路接法。
二、实验知识回顾8255控制字1、控制方式2、C端口置位复位控制字三、实验内容1、 8255流水灯显示,首先用逻辑电平开关预置一个数字,从A口读入,写入01H到C端口上,左移一次在进行输出,A口读入数据作为左移次数,这样循环下去,从而实现流水灯的显示。
2、用PC端口位控制法控制LED灯,依次点亮LED灯。
四、实验器材微机原理实验箱1个电脑(带TPC-USB软件)1台插线若干五、实现过程1、8255流水灯显示(1)流程图(2)程序源代码io8255a equ 2a0h ;8255A口地址io8255b equ 2a1h ;8255B口地址io8255c equ 2a2h ;8255C口地址io8255mode equ 2a3h ;控制寄存器地址stack1 segment stackdw 256 dup(?)stack1 endsdata segmentla db ? ;定义数据变量lb db ?data endscode segmentassume cs:code,ds:datastart:mov ax,data ;程序由start处开始mov ds,axmov dx,io8255mode ;定义8255的工作方式mov al,90h ;方式0A口输入C口输出out dx,al ;mov dx,io8255a ;A口的地址存入dxin al,dx ;从dx也就是A口读入数据mov la,al ;读入的数据暂存在la变量mov dx,io8255c ;C口的地址存入dxmov al,01h ;将寄存器最低位置零out dx,al ;置位后的值输入给dx,也就是C口mov lb,al ;置位后的值暂存于变量lbloop1:call delaymov al,la ;将A口数据写入CX用以计数mov ch,00hmov cl,laloop2:call delaymov al,lbrol al,1 ;在寄存器内进行位移操作mov lb,al ;将操作后的结果重新写入变量al,为后面调用做准备mov dx,io8255c ;dx代表C口的地址out dx,al ;将al中存储的值写入dx,即C口mov ah,1 ;选择dos的模式为从键盘读取数据int 16h ;进入中断jnz quit ;ZF为0则跳到quitdec cx ;计数器减一jnz loop2 ;若cx!=0,跳到loop2quit:mov ax,4c00h ;结束程序并退出int 21hdelay proc near ;延时子程序push cxpush axmov cx,01fhd1: mov ax,0ffffhd2: dec axjnz d2loop d1pop axpop cxretdelay endpcode endsend start2、位控设置C口输出点亮LED(1)流程图(2)程序源代码io8255a equ 2a0h ;8255A口地址io8255b equ 2a1h ;8255B口地址io8255c equ 2a2h ;8255C口地址io8255mode equ 2a3h ;控制寄存器地址stack1 segment stackdw 256 dup(?)stack1 endsdata segmentla db ? ;定义数据变量lb db ?data endscode segmentassume cs:code,ds:datastart:mov ax,data ;程序由start处开始mov ds,axmov dx,io8255mode ;定义8255的工作方式mov al,00001111b ;位控设置C口最高位为1out dx,almov cx,7 ;剩余未点亮灯数为7 loop1:call delaydec aldec alout dx,aldec cxjnz loop1delay proc near ;延时子程序push cxpush axmov cx,01fhd1: mov ax,0ffffhd2: dec axjnz d2loop d1pop axpop cxretdelay endpcode endsend start(3)实验结果图六、小结通过本次试验,我进一步了解了8255的可编程性,以及如何正确的通过程序控制8255,也更加熟悉了8255 C 端口的位控输出。
微机原理实验并行IO接口设计
![微机原理实验并行IO接口设计](https://img.taocdn.com/s3/m/3a07c5fe172ded630b1cb6d3.png)
微机原理实验三并行I/O接口实验姓名:学号:班级:一、实验目的1. 掌握GPIOIP核的工作原理和使用方法2.掌握中断控制方式的IO接口设计原理3.掌握中断程序设计方法4.掌握IO接口程序控制方法:中断方式、查询方式、延时方式二、实验任务按键输入,并显示到console用中断、查询两种方式实现按键输入,将结果显示到console窗口。
三、硬件电路四、硬件实现步骤1. 创建一个最小系统,启动XPS,并打开xmp工程文件。
2.添加和配置GPIO IP核。
3. 添加和配置AXI Interrupt Controller IP核。
4. 产生外部GPIO连接。
引脚约束五、中断方式、查询方式1. 中断方式设计思路主程序开放microBlaze INTC,GPIO中断,不停地检测输出标志是否为1,是则输出数据到console,并将输出标志设置为0。
中断服务程序读取数据(或输出数据)并设立输出标志位为1。
通过中断方式读入开关的状态,由于按键仅短暂的时间维持高电平,并且还具有抖动,因此需在中断服务程序内读入按键状态,并且为消除按键回弹产生的中断,需在中断服务程序内部暂时关闭中断,并且延时一段时间再打开中断。
2. 查询方式设计思路主程序不停地读取GPIO和ISR寄存器,当对应位为1时,读取GPIO的数据寄存器并输出到console(xil_printf函数实现,头文件为”stdio.h”),并写ISR相应位。
数据寄存器的读取通过函数Xil_In实现,而ISR相应状态为的写通过函数Xil_Out实现。
六、软件实现流程1. 中断方式主程序实现对各个设备进行初始化,并且开放相应的中断,注册中断服务程序以及开关状态显示等。
然后通过读取中断标志进入相应中断服务程序处理中断,并在console打印相关信息。
2. 查询方式程序实现通过不断地读取GPIO和ISR寄存器,当状态发生变化时读取数据寄存器并输出到console,并写ISR相应位。
微机接口技术实验报告并行接口实验
![微机接口技术实验报告并行接口实验](https://img.taocdn.com/s3/m/0425c8224b35eefdc8d333fe.png)
微机接口技术实验报告并行接口实验系别: 计算机科学与技术完成时间:2012-5-15一、实验目的1.熟悉并行接口电路;2.掌握8255并行接口芯片及8253定时器的应用及其编程技术。
二、实验内容及要求通过对8255芯片的编程,使得实验台上的步进电机按顺时针或逆时方向转动,同时扬声器(模拟电子琴)做高8度和低8度循环发音:1. 控制步进电机转动和电子琴发音;2.使用K0控制步进电机顺逆时针转动和电子琴发高低音;3.使用K1控制步进电机和电子琴速度(分快和慢两种速度);4.使用K2启动和停止步进电机转动和电子琴发音。
三、实验原理1、可编程并行芯片8255A并行接口即同时在多根I/O线上,以数据字节或字为单位实现CPU通过I/O端口与I/O 设备或被控制对象之间的信息传递,如计算机与打印机,A/D和D/A转换器,开关量接口等。
8255及其改进型8255A是最广泛应用的并行I/O接口。
8255A的主要性能参数如下:(1)8255A内共有4个端口,分别为口A、口B、口C和控制端口。
前三个端口为8位并行I/O端口,常用于传送数据信息;控制端口是用于接收CPU送来的控制命令,即控制字。
(2)8255A芯片可以三种不同的工作方式与I/O设备进行数据传输,具体方式由控制字来设定。
(3)8255与CPU之间交互信息可以使用中断方式进行。
它内部有三个中断源,分别产生与方式1(1个)和方式2(2个)中。
(4)8255A所有信号与TTL信号兼容,可直接与CPU的三总线连接使用。
(5)8255A使用单一的+5V电源,单项时钟。
8255A的三种工作方式:方式0——基本的输入/输出方式,方式1——选通的输入/输出方式,方式2——双向的输入/输出方式。
本次实验采用方式0,将口A和口B作为输出,分别控制步进电机的旋转和电子琴的发音,口C作为控制输入端。
根据端口编址及寻址方式,设定端口A的地址为288H,端口B地址为289H,端口C地址为28AH,控制端口的地址为28BH。
微机原理实验报告并口实验
![微机原理实验报告并口实验](https://img.taocdn.com/s3/m/9049dc279a6648d7c1c708a1284ac850ad02048d.png)
微机原理实验报告:并口实验1. 引言微机原理实验是计算机科学与技术专业的一门重要实验课程之一。
通过该实验,学生可以了解并学习微机系统的基本原理和结构,培养对计算机硬件的基本操作和维护能力。
本报告将详细介绍我们在并口实验中所进行的实验步骤、实验结果和实验心得。
2. 实验目的本次实验的目的是通过并口实验,了解并实践如何使用并行口控制外部设备。
并口是计算机上常见的接口之一,用于与外部设备进行数据交互,例如打印机、键盘、LED灯等。
通过本次实验,我们将学会如何通过编程的方式控制并口输出信号,进而控制外部设备的工作。
3. 实验步骤(1)准备工作:首先,我们需要准备一台支持并口的计算机,并确保系统已经安装了合适的驱动程序。
然后,我们需要连接一根并口数据线,将计算机与外部设备连接起来。
(2)编程环境搭建:我们要使用的编程语言是C语言,所以需要在计算机上配置相应的编译器和开发环境。
(3)编写代码:接下来,我们需要编写一段简单的代码,来控制并口输出信号。
这段代码通常包括对并口寄存器的读写操作。
我们可以使用IO口的寄存器来设置输出状态和控制外部设备的工作。
(4)测试与调试:在编写完代码后,我们需要进行测试和调试。
通过观察外部设备的反应,可以判断代码是否正确地控制了并口输出信号。
如果出现问题,我们可以通过查看代码和调试信息来找出问题的原因。
4. 实验结果我们按照上述步骤完成了实验,并取得了如下实验结果:(1)成功控制外部设备:通过编写控制代码,我们成功地控制了与计算机连接的外部设备。
例如,我们可以在LED灯上显示相应的图案和文字。
(2)了解并口寄存器操作:通过本次实验,我们对并口寄存器的操作有了更深入的了解。
我们学会了如何设置输出状态和控制外部设备的工作模式。
(3)掌握数据传输方法:在实验过程中,我们还掌握了一些基本的数据传输方法。
例如,我们可以通过并口将数据传输给外部设备或从外部设备接收数据。
5. 实验心得通过本次并口实验,我们对微机系统的基本原理和结构有了更深入的了解。
微机原理实验报告 简单并行接口
![微机原理实验报告 简单并行接口](https://img.taocdn.com/s3/m/c53bb8d3b14e852458fb57f5.png)
实验二实验报告——简单并行接口一、实验目的掌握简单并行接口的工作原理及使用方法。
二、实验原理和内容1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。
74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。
3、按下面图4-2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。
74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。
4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。
5、接线:1)输出按图3-3-1接线(图中虚线为实验所需接线,74LS32为实验台逻辑或门)2)输入按图3-3-2接线(图中虚线为实验所需接线,74LS32为实验台逻辑或门)三、程序代码基于以上实验原理的分析,我们可得到本次试验的汇编语言程序如下:STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?) ;注意这里只有128个字节STACKS ENDSDATAS SEGMENT ;数据段;请在这里定义您的数据DATAS ENDSCODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATASSTART: MOV AL,23H ;初始化MOV DX,2A8HOUT DX,AL;请在这里添加您的代码MOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START四、程序调试与结果分析编程完成后,检查正确便可运行程序了,打开电源开关可以看到八个灯泡中对应的灯泡开启,然后如果将程序中数据稍加更改便可以看到不同灯泡组合亮。
微机原理实验 可编程并行接口 8255 实验
![微机原理实验 可编程并行接口 8255 实验](https://img.taocdn.com/s3/m/25b7701cc281e53a5802ffed.png)
2、8255A的工作方式:
方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式
3、8255A的状态字:
图1可编程并行接口8255电路
五、实验电路及连线
1、流水灯实验:
(1)实验连线
该模块的WR、RD分别连到MCU主模块的WR、RD。
该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU主模块的数据(AD0~AD7)、地址线(A0~A7)。
8255模块选通线CS连到MCU主模块的地址A15。
8255的PA0~PA7连到发光二极管的L0~L7。
(2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
(3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部
(2) I/O输入输出实验:利用8255的A口读取开关状态,8255的B口把状态送发光二极管显示
四、实验原理
1、8255A的内部结构:
(1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
并行接口实验
![并行接口实验](https://img.taocdn.com/s3/m/7860c0d4d15abe23482f4de9.png)
实验报告实验中学 电子信息技术实验教学中心专业年级 2011级测控技术与仪器 实验课程 微机原理及实验 姓 名 实验名称 实验10:并行接口实验 学 号 提交日期2013.11.28成 绩一、实验目的1.掌握8255的基本工作原理和编程方法;2.掌握8255与简单输入/输出设备的连接与控制方法。
二、实验内容利用一片8255实现以下功能:(编写成两个完整程序)1.将8255的A 口接8个LED ,L0∽L7,8255的B 口接8个开关K0∽K7,编程实现当Ki 闭合时,L0∽Li 的LED 亮。
若同时有多个开关闭合,以最高序号的开关为准,若无开关闭合,都不亮。
按任意键退出。
2.将8255的A 口接8个LED ,L0∽L7。
从键盘接收单字符,当接收字符为“0”∽“7”时,对应的L0∽L7亮,若为其它字符,LED 都灭。
按ESC 键退出。
三、实验步骤(1). 源程序:①.将8255的A 口接8个LED ,L0∽L7,8255的B 口接8个开关K0∽K7,编程实现当Ki 闭合时,L0∽Li 的LED 亮。
若同时有多个开关闭合,以最高序号的开关为准,若无开关PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA78255PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7LKCS闭合,都不亮。
按任意键退出。
data segmenttab db 1,3,7,15,31,63,127,255 ;对应开关0,1,2,3,4,5,6,7data endscode segmentassume cs:code,ds:data ;段说明go: mov ax,data ;数据段填装mov ds,axmov dx,0c003hmov al,10000010b ;设置8255A的A口工作在方式0,输出,B 口工作在方式0,输入out dx,all1: mov dx,0c001hin al,dx ;读取从PB端口输入的数据mov dx,0c000hmov cx,8 ;置循环次数l2: test al,128 ;测试al与128的大小jnz l3 ;不等时转l3shl al,1 ;左移一位loop l2 ;循环l2mov al,0;mov dx,0c000hout dx,al ;PA端口清0jmp l1l3: mov si,cxmov al,tab[si-1] ;将开关序号存放在al中mov dx,0c000hout dx,al ;PA端口输出开关序号mov ah,6 ;判断是否有按键mov dl,0ffh ;AH=06 直接控制台I/O DL=FF(输入)DL=字符(输出) AL=输入字符int 21hjz l1mov ah,4ch ;结束int 21hcode endsend go②.将8255的A口接8个LED,L0∽L7。
实验三 并行接口实验
![实验三 并行接口实验](https://img.taocdn.com/s3/m/f4c15b06bb68a98271fefa4f.png)
实验报告课程名称微机原理与接口技术实验项目_实验三可编程并行接口实验实验仪器 TPC-USB通用微机接口实验系统系别____计算机______________专业___网络工程_____________实验日期__2013/12________________成绩_______________________指导教师____________一、实验目的1. 通过实验,掌握8255工作于方式0以及设置A、B、C口为输入或输出口的方法。
2. 掌握数码管数字显示和静态、动态驱动原理及编程设计实现。
二.实验设备1.PC微机系统一套2.TPC-USB通用微机接口实验系统一套三.实验要求1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。
2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)使用方法。
在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。
3.实验前仔细阅读理解教材相关章节的相关内容,实验时必须携带教材及实验讲义。
四.实验内容及步骤(一)8255初始化设置和简单输入/输出实验1.实验电路如图1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2. 按上述要求对8255进行初始化设置,并编程从8255C口输入数据,再从A口输出。
图1 实验连接参考电路图和流程图之一(二)数码管动态显示驱动设计1. 按图2连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1,S0接8255 C口的PC1,PC0。
2. 编程从键盘连续输入两个十进制数,分别在两个数码管上显示;编程实现数码管的动态显示驱动。
3.(扩展)从键盘连续输入两个任意数:若是ESC键输入,则程序退出运行;若是十六进制数键输入,则在数码管上显示十六进制数;若是上述键之外的输入,则不对数码管显示更新。
微机原理实验报告并口实验
![微机原理实验报告并口实验](https://img.taocdn.com/s3/m/a8231445a7c30c22590102020740be1e650eccd4.png)
微机原理实验报告——并口实验一、实验目的本实验旨在通过并口实验,了解和掌握微机原理中并口的基本原理、工作方式以及编程操作方法,通过实际操作并口实验,巩固并深化对微机原理的理解。
二、实验原理并口是微机原理中的一种常见的输入输出接口,并具有较高的灵活性和通信能力。
并口的基本结构包括数据寄存器和状态寄存器,通过使能信号对并口进行控制。
在并口实验中,通过编写相应的程序,实现将数据并行输入并通过并口输出的功能。
实验中主要使用的是8255芯片实现并口的控制。
三、实验器材1. IBM PC机或兼容机2. 8255芯片3. 连接线缆四、实验步骤1. 将8255芯片连接到计算机的并口接口,确保连接正确稳固。
2. 打开计算机并进入操作系统。
3. 编写并口控制程序。
在程序中,首先需要设置8255芯片为输出模式,然后通过与8255芯片对应的数据寄存器将需要输出的数据写入,并通过使能信号控制数据传输。
4. 运行编写好的程序,观察程序运行的结果。
五、实验结果与分析通过实验发现,在编写并口控制程序的过程中,需要正确设置8255芯片的工作模式和相应的寄存器,否则无法实现正确的数据传输。
其中,使能信号的控制也是关键的一步,通过正确的控制使能信号,才能实现数据的传输与输出。
六、实验总结通过本次并口实验,我们深入学习和掌握了微机原理中并口的基本原理和工作方式。
实验中我们了解到,在编写并口控制程序时需要对8255芯片的寄存器进行正确的设置,以确保数据传输和输出的正确性。
并口具有很高的灵活性和通信能力,能够广泛应用于各种数据输入输出的需求中。
然而,本次实验仅是对并口实验的基础性操作,实际应用中还需要根据具体需求进行更复杂的编程和控制。
为了更好地应用并口,建议在掌握基本操作的基础上,进一步学习并口的高级应用和相关技术。
最后,本次实验不仅提高了我们对微机原理的理解,也加深了我们对硬件与软件配合的理解。
通过实际动手实验,我们更加深入地理解了微机原理并口实验的基本原理与操作方法。
华中科技大学HUST微机原理并行IO接口数码管实验报告
![华中科技大学HUST微机原理并行IO接口数码管实验报告](https://img.taocdn.com/s3/m/7372c9c36f1aff00bed51e7d.png)
电子信息与通信学院实验报告实验名称:微机原理实验课程名称:并行IO接口设计班级:姓名:学号:教师:一、实验目的1.掌握GPIO IP核的工作原理和使用方法2.掌握中断控制方式的IO接口设计原理3.掌握中断程序设计方法4.掌握IO接口程序控制方法-------查询方式-------延时方式二、实验任务写一个数码管滚动输出任意数字的程序,并下载到FPGA板子上,用延时、中断两种方式实现。
三、实验原理硬件实现框图如图所示:四、硬件实现步骤1.使用XPS创建一个基于AXI总线的最小计算机系统。
File –> New BSB Project,如图:2.修改时钟设置:将时钟产生器的时钟输入信号进行修改,修改为单一时钟源。
修改后的结果如图:3.添加GPIO IP核,设置seg_0配置:a.在IP Catalog标签中,双击下面图标创建GPIO IP核:b.添加GPIO IP核后,将名字改为LED_16Bits,如图:c.更改seg_0配置窗口的属性,如图:4.添加AXI Interrupt Controller IP核:a.在IP Catalog标签中,双击下面图标创建INTC IP核:b.添加axi_intc_0的中断源,如图:c.将microblaze_0实例的INTERRUPT引脚选择axi_intc_0_INTERRUPT,如图:5.产生外部GPIO连接:a.选中seg_0中的GPIO_IO_O,选择make external,生成外部连接端口;选中GPIO_IO,设置为“No connection”,取消其外部连接端口;选中seg_0中的GPIO2_IO_O,选择make external,生成外部连接端口;选中GPIO2_IO,设置为“No connection”,取消其外部连接端口。
结果如图:b.在ports标签下,展开External Ports项,可看到seg_0生成的seg_0_GPIO2_IO_pin和seg_0_GPIO_IO_pin端口,如图:6.添加timer IP核:a.选择如图的IP核并双击,添加到工程:b.中断信号的连接结果如图所示:7.配置UCF文件:在UCF文件中修改如下所示配置,配置LED连接电路约束:NET "CLK" TNM_NET = sys_clk_pin;TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 100000 kHz;NET "CLK" LOC = "E3" | IOSTANDARD = "LVCMOS33";NET "RESET" LOC = "E16" | IOSTANDARD = "LVCMOS33";NET "RsRx" LOC = "C4" | IOSTANDARD = "LVCMOS33";NET "RsTx" LOC = "D4" | IOSTANDARD = "LVCMOS33";NET "seg_0_GPIO2_IO_pin<0>" LOC = "L3" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO2_IO_pin<1>" LOC = "N1" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO2_IO_pin<2>" LOC = "L5" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO2_IO_pin<3>" LOC = "L4" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO2_IO_pin<4>" LOC = "K3" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO2_IO_pin<5>" LOC = "M2" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO2_IO_pin<6>" LOC = "L6" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO2_IO_pin<7>" LOC = "M4" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<0>" LOC = "N6" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<1>" LOC = "M6" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<2>" LOC = "M3" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<3>" LOC = "N5" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<4>" LOC = "N2" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<5>" LOC = "N4" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<6>" LOC = "L1" | IOSTANDARD = "LVCMOS33"; NET "seg_0_GPIO_IO_pin<7>" LOC = "M1" | IOSTANDARD = "LVCMOS33";8.创建工程过程完成后,a.在主界面下选择Hardware->Generate Netlist;b.在主界面下选择Hardware->Generate Bitstream;c.单击Graphical Design View,可以看到系统的连接图,如下:五、软件设计1.中断方式实现数码管滚动任意数字用户应用程序的设计包括定时器配置、启动中断系统、设计中断服务程序。
微机原理8255并行口实验
![微机原理8255并行口实验](https://img.taocdn.com/s3/m/86a053997e192279168884868762caaedd33baad.png)
微机原理与汇编语言实验报告
一、实验名称:8255并行口实验
二、实验目的:掌握8255A的编程原理。
三、实验设备:MUT—Ⅲ型实验箱、8086CPU模块。
四、实验内容
1、任务:
本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
8255A的A口作为输入口,与逻辑电平开关相连。
8255A的B口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
2、方案
(1)思路:
8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,
C端口作为辅助控制用,本实验也是如此。
实验中,8255A工作于基本输入输出方式(方
式0)。
(2)硬件原理图:
(3)程序流程图:
(4)程序清单
assume cs:code
code segment public
org 100h
start: mov dx,04a6h ;控制寄存器地址
mov ax,90h ;设置为A口输入,B口输出
out dx,ax
start1: mov dx,04a0h ;A口地址
in ax,dx ;输入
mov dx,04a2h ;B口地址
out dx,ax ;输出
jmp start1
code ends
end start
五、实验结果
1、实验结论:
程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置
于H位置,则对应的LED2应该点亮。
2、总结体会:
通过本实验掌握了8255A的编程原理,选用的是基本的输入输出方式。
微机原理实验报告 可编程并行IO接口8255
![微机原理实验报告 可编程并行IO接口8255](https://img.taocdn.com/s3/m/3f0a9d9fb8f3f90f76c66137ee06eff9aef84905.png)
《微机原理及应用技术》课程实验报告实验五可编程并行I/O接口8255【预习内容】1.怎样选中可编程I/O接口?怎样实现I/O端口的寻址?8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。
通过地址/数据总线,按照指定地址进行读写操作直接选中8255。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片。
CPU与外设交换的数据是以字节为单位进行的。
因此一个外设的数据端口含有8位。
而状态口和命令口可以只包含一位或几位信息,所以不同外设的状态口允许共用一个端口,命令口也可共用。
数据信息、状态信息和控制信息的含义各不相同,按理这些信息应分别传送。
但在微型计算机系统中,CPU通过接口和外设交换数据时,只有输入(IN)和输出(OUT)两种指令,所以只能把状态信息和命令信息也都当作数据信息来传送,且将状态信息作为输入数据,控制信息作为输出数据,于是三种信息都可以通过数据总线传送了。
但要注意,这三种信息被送入三种不同端口的寄存器,因而能实施不同的功能。
CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,也需要由译码电路来形成I/O端口地址。
I/O端口的编址方式有两种·存储器映象寻址方式·I/O指令寻址方式2.8255A接口芯片内含几个I/O端口?它们的名称分别是?这些I/O口地址有何特点?三个数据端口,三种工作方式A口可工作于方式0、方式1和方式2中的任一种B口可工作于方式0和方式1,但不能工作于方式2C口只能工作于方式08位数据端口:A口、B口、C口A口:PA7~PA0B口:PB7~PB0C口:PC7~PC0连接外部设备A口与B口为一个8位的输入口或输出口C口单独作为一个8位的输入口或输出口配合A口和B口使用,作为控制信号和状态信号3.8255A有几个控制字?怎样设置?它有两个控制字,一个是方式选择控制字,一个是对C口进行置位或复位控制字。
微机原理实验二 8255A并行接口应用
![微机原理实验二 8255A并行接口应用](https://img.taocdn.com/s3/m/98abb78583d049649b6658bf.png)
实验二8255A并行接口应用一、实验目的1.掌握8255A的功能及方式0、1的实现2.熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。
3.了解七段数码管显示数字的原理。
4.掌握同时显示多位数字的技术。
二、8255应用小结1.8255的工作方式一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在方式0、方式1,C口可以工作在方式0。
方式0是基本型输入/输出。
这种方式和外设交换数据时,8255端口与外设之间不使用联络线。
方式1为选通型输入/输出。
用这种方式和外界交换数据时,端口和外设之间要有联络信号。
方式2是双向数据传送,仅A口有这项功能。
当A口工作在方式2时,B口仍可以工作在方式0或方式1,但此时B口方式1只能用查询方式与CPU交换信息。
2. 工作方式选择字8255工作方式选择字共8位(如图),存放在8255控制寄存器中。
最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。
3.C口置/复位控制字8255的C口可进行位操作,即:可对8255C口的每一位进行置位或清零操作,该操作是通过设置C口置/复位字实现的(图8-10)。
C口置/复位字共8位,各位含义如下:3.8255A的控制信号与传输动作的对应关系4.命令字与初始化编程8255有两个命令字,即方式选择控制字和C口置0/置1控制字,初始化编程的步骤是:①向8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。
②当端口预置为方式1或方式2时,再向控制寄存器写入“C口置0/置1控制字”。
这一操作的主要目的是使相应端口的中断允许触发器置0,从而禁止中断,或者使相应端口的中断允许触发器置1,从而允许端口提出中断请求。
注意:“C口置0/置1控制字”虽然是对C口进行操作,但是该控制字是命令字,所以要写入控制寄存器,而不是写入C口控制寄存器。
微机原理接口实验报告
![微机原理接口实验报告](https://img.taocdn.com/s3/m/0ddcf282d0d233d4b14e6957.png)
既然要求A口方式1输入工作,B口方式0输出,则C口的 应作为A口的联络信号C口应工作在方式0,且高低4位都为输出,这样方式控制字应为:10111001B
其意义分别为:D7=1,表示是方式控制字,D6D5=01表示A口工作在方式1,D4=1表示A口输入,D3=1表示C口高4位输入,D2D1=00表示B口工作于方式0输入,D0=1表示C口低4位输出。
(2)编写实验程序,经编译、连接无误后装入系统;
(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。
图2-7-3 8255 基本输入输出实验接线图
五、程序流程图
本程序不会自动停止
需要说明的是80386的主频约为40MHz,因此延时子程序用最大循环CX=0FFFFH可以看到LED灯的变化过程
(当然还可以通过增0输出:
APT EQU 0640H
BPT EQU 0642H
CPT EQU 0644H
CTR EQU 0646H
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AL,10111001B
MOV DX,CTR
OUT DX,AL
L1: MOV DX,CPT
IN AL,DX
TEST AL,00100000B
JE L1
CALL DELY
MOV DX,APT
IN AL,DX
MOV DX,BPT
OUT DX,AL
JMP L1
DELY PROC
MOV CX,0FFFFH
L2:
LOOP L2
RET
DELY ENDP
CODE ENDS
四、实验步骤
1.基本输入输出实验(A口方式1输入,B口方式0输出)
微机原理可编程并行接口8255实验
![微机原理可编程并行接口8255实验](https://img.taocdn.com/s3/m/3e5f530af12d2af90242e6a3.png)
;************************************************************************** *** ; /*全灭子程序*/ ;************************************************************************** *** ALLOFF: IN AL,0FFH OUT DX,AL CALL DELAY RET
RIGHT1:
;************************************************************************** ***
3
; /*左移子程序*/ ;************************************************************************** *** LEFT: MOV MOV CLC RCL OUT CALL LOOP RET CL,08H AL,0FFH AL,1 DX,AL DELAY LEFT1
A8255 B8255 C8255 D8255
MAIN: TRAFFIC:
;状态口 ;方式 0 输出 ;PA 口地址
TRAFFIC1:
5
CALL ST2 CALL ST3 CALL ST4 JMP TRAFFIC1 ;************************************************************************* ; /*初始状态全为红灯*/ ;************************************************************************* ST0: MOV AL,1BH OUT DX,AL CALL DELAY RET ;************************************************************************** *** ; /*南北为绿灯,东西为红灯子程序*/ ;************************************************************************** *** ST1: MOV OUT CALL CALL CALL CALL CALL CALL RET AL,33H DX,AL DELAY1 DELAY1 DELAY1 DELAY1 DELAY1 DELAY1
微机原理与接口技术--实验六 并行接口8255应用实验
![微机原理与接口技术--实验六 并行接口8255应用实验](https://img.taocdn.com/s3/m/b71d50ae0029bd64783e2cde.png)
实验六并行接口8255应用实验一、任务与目的1. 实验任务:(1) 熟悉并行接口8255的结构和编程方法;(2) 掌握并行8255接口连接外设的基本方法。
2. 实验目的:(1). 掌握并行8255可编程接口的设置方法;(2) 熟悉8255连接外设完成并行输入输出的基本方法。
二、原理(条件)1.相关知识:(1) 8255接口地址与状态字的表示与设置方法;(2) 8255连接发光二极管与拨键开关的基本用法;2.实验条件:伟福Lab8000系统。
三、内容步骤1.实验方法:(1)连接实验装置;(2)连接硬件;(3)打开实验装置电源开关;(3)打开VW软件,进行仿真器设置;(3)在VM软件中输入程序、编译并执行。
2.发光二极管显示程序:(1)线路连接:实验装置上8255_CS连接到实验装置的CS0上,8255上PA0-PA7分别连接到8个发光二极管L0-L7上。
图2 8255控制发光二极管显示硬件连接图(2) 输入程序、编译并执行,观察发光二极管变化并分析结果。
MODE EQU 80HPORTA EQU 8000HPORTB EQU 8001HPORTC EQU 8002HCONTROL EQU 8003HCODE SEGMENTASSUME CS:CODESTART: MOV AL,80hMOV DX,8003hOUT DX,ALMOV AL,80HOUTA:MOV DX,PORTAOUT DX,ALCALL DELAYROR AL,1JMP OUTADELAY PROC NEAR ;振荡频率取5MHZ,计算延时要求1S。
PUSH CX ;15tMOV BX, 5000 ;4t ,第五组2.5秒延时DELAY1:MOV CX,40 ;4tDELAY2:LOOP DELAY2 ;17t(转移)/5t(不转移)DEC BX ;2tJNZ DELAY1 ;16t(转移)/4t(不转移)POP CX ;12tRET ;19tDELAY ENDPCODE ENDSEND START3.拨键开关控制发光二极管亮灭程序:(1)线路连接:实验装置上8255_CS连接到实验装置的CS0上,PB0-PB7接8个开关S0-S7、PA0-PA7连接8个发光二极管L0-L7。
微机原理,可编程并行接口、七段数码管
![微机原理,可编程并行接口、七段数码管](https://img.taocdn.com/s3/m/fe437d99dd88d0d233d46ab0.png)
可编程并行接口一、实验目的掌握8255方式0的工作原理及使用方法。
二、实验内容1.实验电路如图20,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2. 编程从8255C口输入数据,再从A口输出.三、编程提示1、8255控制寄存器端口地址28BHA口的地址288HC口的地址28AH2、参考流程图(见图21):ioport equ 0d400h-0280hio8255a equ ioport+288hio8255b equ ioport+28bhio8255c equ ioport+28ahcode segmentassume cs:codestart: mov dx,io8255b ;设8255为C口输入,A口输出mov al,8bhout dx,alinout: mov dx,io8255c ;从C口输入一数据in al,dxmov dx,io8255a ;从A口输出刚才自C口out dx,al ;所输入的数据mov dl,0ffh ;判断是否有按键mov ah,06hint 21hjz inout ;若无,则继续自C口输入,A口输出mov ah,4ch ;否则返回DOSint 21hcode endsend start/************************//* 可编程并行接口(一) *//************************/#include <stdio.h>#include <conio.h>#include"ApiEx.h"#pragma comment(lib,"ApiEx.lib")void main(){BYTE d ata;printf("--------------------EXP10_4_8255-0---------------------\n");printf("1. 8255 (PA0-PA7) === TPC (L0-L7)\n");printf("2. I/O (288-28F) === 8255 (CS)\n");printf("3. TPC (K0-K7) === 8255 (PC0-PC7)\n");printf("Press any key to begin!\n\n");getch();if(!Startup()) /*打开设备*/{printf("ERROR: Open Device Error!\n");return;}printf("Press any key to exit!");while(!kbhit()) /*有键按下则退出*/{PortWriteByte(0x28b,0x8b); /*设8255为方式0,C口输入,A口输出*/PortReadByte(0x28a,&data);PortWriteByte(0x288,data); /*将C口输入的数据自A口输出*/}Cleanup(); /*关闭设备*/}七段数码管一、实验目的掌握数码管显示数字的原理二、实验内容静态显示:按图22连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。
微机原理实验---并行接口实验
![微机原理实验---并行接口实验](https://img.taocdn.com/s3/m/38dc30f87375a417876f8fc5.png)
深圳大学实验报告课程名称:微机计算机设计实验项目名称:8255 并行接口实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:2009100000班级:<1>班实验时间:2011. 06. 09实验报告提交时间:2011. 06. 25教务处制一、实验目的1. 学习并掌握8255的工作方式及其应用。
2. 掌握8255 典型应用电路的接法。
3. 掌握程序固化及脱机运行程序的方法。
二、实验要求1. 基本输入输出实验。
编写程序,使8255 的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2. 流水灯显示实验。
编写程序,使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
三、实验设备PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。
四、实验原理并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。
CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。
8255 可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。
8255的内部结构框图和引脚图五、实验过程1. 基本输入输出实验要求:实验使8255 端口A 工作在方式0 并作为输入口,端口B 工作在方式0 并作为输出口。
用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。
(1)按要求连接好实验电路。
(2)编写实验程序,经编译、无误后装入系统。
代码如下:SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, 0646HMOV AL, 90HOUT DX, ALAA1: MOV DX, 0640HIN AL, DXCALL DELAYMOV DX, 0642HOUT DX, ALJMP AA1DELAY: PUSH CXMOV CX, 0F00HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START(3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理实验---并行接口实验
并行接口(Parallel Port)是一种广泛使用的计算机外围设备接口。
它通常用于连接打印机、扫描仪、摄像头等设备,以实现数据的传输和控制。
本实验旨在教授学生使用并行接口实现数据输入和输出的基本功能,以提高学生对计算机外围设备的理解和应用能力。
具体实验步骤如下:
材料及设备:
1. 一台计算机
2. 并行数据线(Parallel Data Cable)
3. 并口测试器(Parallel Port Tester)
4. 8位开关(8-bit Switch)
5. LED 灯(LED Light)
实验步骤:
1. 将并行数据线连接至计算机的并行接口,并将另一端连接至并口测试器。
2. 使用并口测试器测试并行接口是否正常。
若测试失败,可检查并行接口是否损坏或驱动程序是否正确安装。
3. 将 8 位开关连接至并口测试器的数据输出端,连接正确后,将 8 位开关的位置设置为 0。
4. 运行实验程序,将数据从计算机输出至并口测试器。
5. 将 LED 灯连接至并口测试器的数据输入端,将计算机输入的数据传输至 LED 灯并输出。