并行口实验实验报告
实验三、8255A并行接口实验
实验结论
通过本次实验,我们验证了8255A并行接口芯片的基本功能和工作原理。
实验结果证明了8255A芯片可以实现并行数据传输,并且可以通过设置不 同的端口模式来实现不同的输入输出功能。
在实际应用中,8255A芯片可以作为并行数据传输的重要接口之一,广泛 应用于各种数字电路和微机控制系统中。
05
实验总结与展望
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
特点。
理解8255a并行接口芯片在计算 机中的重要性和作用,以及与其
他接口芯片的区别和联系。
掌握8255a并行接口芯片的工作原理
了解8255a并行接口芯片的基本 结构和工作原理,包括输入/输 出端口、控制寄存器和数据总线
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
缺乏实验指导
实验过程中,我们遇到了一些难 以解决的问题,如果能有更多的 实验指导资料或教师指导,将有 助于我们更好地有限,我们未能充 分探索8255a并行接口的更多功 能和应用场景,建议增加实验时 间,以便我们有更多的机会深入 了解该芯片。
实验不足与改进建议
实验难度不够
学习如何使用8255a并行接口芯片进行硬件控制
学习如何使用8255a并行接口 芯片进行输入/输出操作,包括 读取和写入数据。
掌握如何通过8255a并行接口 芯片控制外部硬件设备,如 LED灯、继电器等。
了解如何将8255a并行接口芯 片与其他芯片连接,实现硬件 的扩展和控制。
了解并行接口在计算机中的作用和重要性
实验三
将端口B和端口C设置为输入,端口A设置为输出。 当在端口B和端口C上施加不同的电平时,端口A 的输出与端口C的输入相同。
实验二_并行I_O口
一、实验目的1、熟悉Proteus软件和Keil软件的使用方法。
2、熟悉单片机应用电路的设计方法。
3、掌握单片机并行I/O口的直接应用方法。
4、掌握单片机应用程序的设计和调试方法。
二、设计要求1、用Proteus软件画出电路原理图。
要求在P1.0至P1.7口线上分别接LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。
2、编写程序:要求LED0至LED7以秒速率循环右移。
3、编写程序:要求LED0至LED7以秒速率循环左移。
4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。
三、电路原理图四、实验程序流程框图和程序清单/***********(1)LED0~LED7以秒速率循环右移**************/MAIN: MOV A, #11111110BLOOP: MOV P1, A ;LED0灯亮,其他全灭LCALL DELAY1s ;调用1s延时子程序RL A ;累加器内容循环左移LJMP LOOP ;继续循环/***********1s延时子程序*******************/DELAY1s:MOV R7, #0A7HDL1: MOV R6, #0ABHDL0: MOV R5, #10HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1NOPRETEND/***********(2)LED0~LED7以秒速率循环左移**************/ORG 0000HMAIN: MOV A, #01111111BLOOP: MOV P1, A ;LED7灯亮,其他全灭LCALL DELAY1s ;调用1s 延时子程序RR A ;累加器内容循环右移 LJMP LOOP ;继续循环 /********************1s 延时子程序**********************/ DELAY1s:MOV R7, #0A7HDL1: MOV R6, #0ABHDL0: MOV R5,#10HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1NOP RETEND/**********(3)要求在灯循环移动的同时,蜂鸣器逐位报警 **************/ORG 0000HMAIN: MOV A, #11111110BLOOP: MOV P1, A ;LED0灯亮,其他全灭CPL P3.0 ;开蜂鸣器 LCALL DELAY05s ;调用0.5秒延时子程序 SETB P3.0 ;关蜂鸣器 LCALL DELAY05s ;调用0.5秒延时子程序 RL A ;累加器内容循环左移 LJMP LOOP ;继续循环/*********0.5s 延时子程序****************/DELAY05s:MOV R7, #17H DL1: MOV R6, #98HDL0: MOV R5, #46H DJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETEND六、实验总结通过本次实验,我熟悉了Proteus软件和Keil软件的使用方法,熟悉了单片机应用电路的设计方法。
微机接口技术实验报告并行接口实验
微机接口技术实验报告并行接口实验系别: 计算机科学与技术完成时间: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。
微机原理实验---并行接口实验
微机原理实验---并行接口实验
并行接口(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 灯并输出。
北京交通大学_并行接口实验
实验二、利用8255A实现LED的流水点亮实验一、实验目的该实验的目的在于让学生掌握8255A和微机接口的连接方法,了解8255A的基本的工作原理和编程方法。
二、实验内容PA口接8个拨动开关K1-K8,PB口接8个LED。
初始由开关K1-K8设定8位不同的值,当执行程序后LED按K1-K8初始设定的值点亮,并向右流动(8255A工作在0方式)。
选择完成在数码管上显示“8255-A”。
三、实验接线图图1-3 实验连线图四、实验编程提示根据难易程度,学生可以选择完成下列两个程序之一:1、LED右流水仅仅取决于第1次开关的位置,一旦LED流水开始,LED流水的次序将不再理睬开关位置的重新变化。
2、在LED右流水中,如果开关的位置发生了变化,LED右流水从变化的位置重新开始。
程序2的提示:程序要能检测到某个时间开关状态的变化,并针对变化后的开关状态右流水,因此程序中要有两个变量,一个存当前开关的状态以检测开关状态是否发生了变化,一个存LED右流水的状态,以便使LED连续右流动。
为了使流水显示明显,每个位置应加延时程序。
五、实验步骤1、根据原理图正确连接实验线路(需要连接红线)。
2、正确理解实验原理。
3、编写实验程序,并上机调试,观察实验结果。
六、实验结果程序:code segment ;定义代码段assumecs:codestart: ;初始化,设置A口B口的工作方式mov dx,203h ;8255命令口地址mov al,10010000b ;控制字outdx,alxorax,ax ;将ax清零mov bl,0lop: ;自定义的标号mov dx,200h ;给dx赋值(送到寄存器中)in al,dx ;将200h送给寄存器al;mov dx,201h;out dx,al ;把al的值送给dx端口;jmp lop ;段内转移cmpal,ah ;al和ah进行比较jz next ;跳转到nextmovah,almovbl,ahrol bl,1 ;不带进位循环左移1位next:ror bl,1 ;不带进位循环右移1位moval,blmov dx,201houtdx,almov cx,3fffhlp: ;从lp到最后都是表示显示8255-A这个字,它的作用是实现灯的延时,即保证灯的闪烁时间不至于过快,如果去除的话在人眼的视觉暂留情况下将可能产生连续不断的灯光闪烁,使得间隔时间太短。
并行口实验
实验一并行口实验一、实验目的1、掌握51汇编语言设计和调试方法。
2、掌握protues软件平台的操作步骤。
二、实验内容及步骤(一)、在单片机外部扩展8KB RAM芯片6264,其地址范围为0000H~1FFFH。
将片内ROM从1000H开始的存放的15个数据转存到外部RAM 1000H开始的单元中。
请编写程序实现。
查看并给出外部RAM地址为1000H~100EH的内容。
(提示:程序中定义的数据存放在内部ROM中。
ORG 1000HData1:DB 11h,22h,33h、、、、、FFh )图1 电路原理图实验步骤:1、运行protues 7软件。
或者双击打开实验一中的shiy1_P0.DSN。
2、记事本编辑51汇编源程序。
3、按图2~图4步骤添加、编译源程序。
4、编译通过后,运行程序。
观察8051 CPU寄存器、RAM、SFR的内容,及外部RAM 1000H开始的内容。
步骤见图5~图9。
图2 添加源代码图3 编译源代码图4 编译成功提示图5 运行程序图6 选择8051 CPU寄存器、RAM、SFR图7 打开8051 CPU寄存器、RAM、SFR图8 暂停运行程序,打开外部RAM(即U3)窗口(二)编写汇编程序,用P1口控制LED灯,显示为流水灯的形式。
按图10所示电路原理图,搭接电路,编写程序,实现功能。
图10 P2口控制流水灯显示(三)实验箱的连接1、将实验箱与计算机通过USB口连接。
2、运行桌面上的下载器“风标电子ISP”。
3、选中“擦除芯片”、“编程Flash”、“校验Flash”。
然后点击“打开文件”,选择由自己编写的汇编程序成功编译生成的hex文件,最后点击“自动编程”将程序下载到实验箱的单片机。
三、实验报告1、实验一程序:ORG 0000HAJMP STARTORG 80HSTART:MOV DPTR,#1000HMOV R7,#0EHLP: MOV A,#0HMOVC A,@A+DPTRMOVX @DPTR,AINC DPTRDJNZ R7,LPSJMP $ORG 1000HDB 11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH,0BBH,0CCH,0DDH,0EEH,0FFH AJMP $END2、实验二程序ORG 0000HAJMP STARTORG 80HSTART: MOV R2,#7MOV A,#0FEH ;ACC中先装入LED1亮的数据(二进制的11111110)MOV P1,A ;将ACC的数据送P1口LOOP1: RL A ;将ACC的数据左移一位MOV P1,ALCALL DELAYDJNZ R2,LOOP1MOV A,#0FEHMOV P1,AMOV R3,#8LOOP2: RR AMOV P1,ALCALL DELAYDJNZ R3,LOOP2AJMP STARTORG 1000HDELAY: MOV R0,#200 ;延时子程序DL1: MOV R1,#250DL2: NOPNOPDJNZ R1,DL2DJNZ R0,DL1RETEND。
并行接口实验
实验报告实验中学 电子信息技术实验教学中心专业年级 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。
并行IO接口实验报告
并行I/O接口实验报告一、实验目的1.掌握GPIO IP 核的工作原理和使用方法。
2.掌握IO接口程序控制方法3.掌握中断控制方式的IO接口设计原理4.掌握中断程序设计方法二、实验任务使用查询、中断两个方式做独立式开关输入,将开关的状态显示到console。
三、硬件平台建立1.硬件框图2.通过xps建立最小系统,打开system.xmp文件3.添加和配置GPIO核,并改写ucf文件4添加和配置中断控制器IP核5产生外部GPIO连接四、软件平台建立1.软件流程图2.查询代码/** gpio.c** Created on: 2017-5-24* Author: 201511*/#include "xparameters.h"#include "xgpio.h"#include "xintc.h"#include "stdio.h"void Initialize();void Delay_50ms();void PushBtnHanler(void*CallBackRef);void SwitchHandler(void*CallBackRef);XGpio Dips;XIntc intCtr1;int pshDip;int state1;int main(){Initialize();xil_printf("\r\nRunning GpioInputInterrupt!\r\n");while(1){if(pshDip) //若按下按键,则打印信息{xil_printf("Switch Interrupt Trigger!!!the state is 0x%X\n\r",state1);pshDip=0;}}return 0;}void Initialize(){//初始化Dips实例,并设定其为输入方式XGpio_Initialize(&Dips,XPAR_DIP_DEVICE_ID);XGpio_SetDataDirection(&Dips,1,0xff);//初始化intCtrl实例XIntc_Initialize(&inCtrl,XPAR_AXI_INTC_0_DEVICE_ID);//GPIO中断使能XGpio_InterruptEnable(&Dips,1);XGpio_InterruptGlobalEnable(&Dips);//对中断控制器进行中断源使能XIntc_Enable(&intCtrl,XPAR_AXI_INTC_0_DIP_IP2INTC_IRPT_INTR);//注册中断服务函数XIntc_Connect(&intCtrl,XPAR_AXI_INTC_0_DIP_IP2INTC_IRPT_INTR,(XInterruptHandler)SwitchHandler,(void*)0);microblaze_enable_interrupts(); //允许处理器处理中断;//注册中断控制器处理函数microblaze_register_handler((XInterruptHandler)XIntc_InterruptHandler,(void*) &intCtrl);XIntc_Start(&inCtrl,XIN_REAL_MODE); //启动中断控制器}void Delay_50ms(){int i;for(i=0;i<5000000;i++);}void SwitchHandler(void*CallBackRef){state1=XGpio_DiscreteRead(&Dips,1); //读取Switch开关的状态值pshDip=1;XGpio_InterruptClear(&Dips,1); //清除中断位置}3.端口修改3.五、实验小结在这个实验中,主要分为两个部分,一个部分是硬件设计,另一个部分是软件设计,对我来说在硬件设计部分容易在操作步骤上出问题,很容易点错,而软件上,虽然代码比较少,但是不太容易一理解,由于采用API函数,所以会持续性的调用函数。
微机原理实验报告并口实验
微机原理实验报告——并口实验一、实验目的本实验旨在通过并口实验,了解和掌握微机原理中并口的基本原理、工作方式以及编程操作方法,通过实际操作并口实验,巩固并深化对微机原理的理解。
二、实验原理并口是微机原理中的一种常见的输入输出接口,并具有较高的灵活性和通信能力。
并口的基本结构包括数据寄存器和状态寄存器,通过使能信号对并口进行控制。
在并口实验中,通过编写相应的程序,实现将数据并行输入并通过并口输出的功能。
实验中主要使用的是8255芯片实现并口的控制。
三、实验器材1. IBM PC机或兼容机2. 8255芯片3. 连接线缆四、实验步骤1. 将8255芯片连接到计算机的并口接口,确保连接正确稳固。
2. 打开计算机并进入操作系统。
3. 编写并口控制程序。
在程序中,首先需要设置8255芯片为输出模式,然后通过与8255芯片对应的数据寄存器将需要输出的数据写入,并通过使能信号控制数据传输。
4. 运行编写好的程序,观察程序运行的结果。
五、实验结果与分析通过实验发现,在编写并口控制程序的过程中,需要正确设置8255芯片的工作模式和相应的寄存器,否则无法实现正确的数据传输。
其中,使能信号的控制也是关键的一步,通过正确的控制使能信号,才能实现数据的传输与输出。
六、实验总结通过本次并口实验,我们深入学习和掌握了微机原理中并口的基本原理和工作方式。
实验中我们了解到,在编写并口控制程序时需要对8255芯片的寄存器进行正确的设置,以确保数据传输和输出的正确性。
并口具有很高的灵活性和通信能力,能够广泛应用于各种数据输入输出的需求中。
然而,本次实验仅是对并口实验的基础性操作,实际应用中还需要根据具体需求进行更复杂的编程和控制。
为了更好地应用并口,建议在掌握基本操作的基础上,进一步学习并口的高级应用和相关技术。
最后,本次实验不仅提高了我们对微机原理的理解,也加深了我们对硬件与软件配合的理解。
通过实际动手实验,我们更加深入地理解了微机原理并口实验的基本原理与操作方法。
8255并行IO口 实验报告
大理大学
实验报告
课程名称:微机原理与接口技术
学院:工程学院
专业:
年级:班级:
姓名:羽卒兰cl 学号:
指导教师:
2016 年 6 月2 日
大理大学教务处制
图 3-2
源代码:
L8255_CMD EQU 2A3H ;8255A的控制器的地址
L8255_PA EQU 2A0H ;8255A的A端口的地址
L8255_PB EQU 2A1H ;8255A的B端口的地址
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:CODE
START:MOV DX,L8255_CMD ;8255A初始化
MOV AL,90H ;8255A方式0,A端口输入,B端口输出,根据条件在8255A的控制字找出对
3.8255A的基本性能:
可编程通用并行输入/输出接口电路
通用性强,使用灵活,通过它CPU可直接与外设相连
具有三个相互独立的输入/输出端口
A端口、B端口、C端口
三个端口可联合使用,构成具有握手联络信号的并行接口
端口有多种工作方式可供选择
A口有三种工作方式:方式0、1、2
B口有二种工作方式:方式0、方式1
C口有一种工作方式:方式0
A口和B口工作方式是由写入控制寄存器的工作方式控制字决定的;
A口和B口的工作方式的设置是相互独立的。
8255并行接口应用实验
实验四并行接口实验一、实验目的1.掌握通过8255A并行口进行数据传输的方法。
2.控制16位数据灯的相对循环显示。
二、实验设备PC机一台,TD—PIT/TD—PIT—B实验装置一套。
三、实验内容1、基本输入输出实验。
编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
2、流水灯显示实验。
编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。
四、8255工作原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。
图3-1 8255的内部结构及引脚图3-2 8255控制字格式五、实验步骤I、基本输入输出实验本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
参考程序流程如图3-3所示。
图3-3 8255并行接口芯片基本输入/输出实验(1)参考程序流程图实验步骤编写程序,使8255并行接口芯片端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
用一组开关信号接入端口B,端口A输出线接至一组数据灯上,实现输入输出功能。
具体实验步骤如下。
1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
2)打开实验箱电源,首先运行PCI_BIOS.EXE程序,查看I/O空间始地址。
3)参考图3-4所示连接实验线路。
4)利用查出的地址编写程序,然后编译链接。
5)运行程序,拨动开关,看数据灯显示是否正确图3-4 8255并行接口芯片基本输入/输出实验参考接线图==================================================================================== 文件名: A82551.ASM功能描述: B为输入,A口为输出,将读入的数据输出显示====================================================== SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: MOV DX, 0646HMOV AL, 82HOUT DX, ALAA1: MOV DX, 0642HIN AL, DXCALL DELAYMOV DX, 0640HOUT DX, ALJMP AA1DELAY: PUSH CXMOV CX, 0F00HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START实验现象:当拔动B接口对应的开关时候,A接口对应的二极管亮。
并行接口8255实验报告
并行接口8255实验一、实验目的1.掌握可编程并行接口电路8255的工作原理及初始化方法2.掌握8255在实际应用中的硬件连接及编程应用二、实验要求根据实验室现有条件,针对实验任务,设计实验方案并进行实现三、实验内容通过使用8255,8253实现一个倒计时设备,具体的方法是,用户逐个打开开关,然后8255定时读取开关状态并输出给二极管,当所有灯都亮起时,输出一个高电平给Gate0,对8253而言,要求每1s查看一次用户是否摁下了所有开关,一旦是这样蜂鸣器就会响起来,然后给8253送一个锁存命令,查看计数器1和计数器0当前的计数值,锁存两个计数值,便于后期的计算和数据处理。
四、实验线路图其中,8255的各个端口分别是:F0H,F2H,F4H,F6H 8253的各个端口分别是:F8H,F9H,FAH,FBH 五、实验程序清单CSEG SEGMENTASSUME CS:CSEGSTART:;初始化8255和8253MOV DX,F6HMOV AL,1001000BOUT DX,ALMOV DX,FBHMOV AL,01110110BOUT DX,ALMOV AL,00110110B;选择8253计数器1MOV DX,F8HMOV AL,0OUT DX,ALMOV AL,10OUT DX,AL;选择8253计数器0MOV DX,FGHMOV AL,0OUT DX,ALMOV AL,10MOV CX,2000H;用CX延时,读取开关状态 NEXT:OUT DX,ALMOV DX,F2HIN DX,AL;输出开关状态,此时亮起灯,如果灯全亮起,蜂鸣器响起MOV DX,F4HOUT DX,ALLOOP NEXT;锁存两个计数器的计数值MOV AL,00110110BMOV DX,F8HOUT DX,ALMOV AL,01110110BMOV DX,F9HOUT DX,ALCSEG ENDSEND START六、实验总结及体会1.实验总结:本次实验中我设计了8086连接8253和8255的相关电路,并且与输出设备相连接,也重新复习了数电的知识,通过学习微机原理和汇编语言这门接近底层的语言我意识到代码与底层的交互是怎样实现的,也有利于我学习其他的高级语言。
实验一 并行口输入输出
实验一并行口输入、输出实验一、实验目的1、学习并行口的使用方法2、学习延时子程序的编写和使用二、实验说明并行口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管按照自己设计的花样点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.c源程序,进行编译,直到编译无误。
4、进行软件设置,首先选择软件仿真,仿真调试通过后,选择硬件仿真,设置波特率为串口38400(COM1),USB口115200(COM3或COM4)。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。
2、添加 P1_B.c源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。
向上拨为熄灭,向下拨为点亮。
实验(三):P1口做通用I/O输出口,控制8只发光二极管从左到右依次点亮并循环(同一时刻只有一盏灯亮)。
尝试采用头文件#include<intrins.h>;用函数_crol_(a,n)【将字符型变量a循环左移n位】来实现。
并行IO接口的扩展实验报告
并行IO接口的扩展实验报告一、实验目的1、了解并行IO接口的扩展方法2、掌握可编程接口芯片8255A的工作原理、编程方式和使用方法二、实验条件1、DOS操作系统平台2、8255A接口芯片三、实验原理1、并行IO口的扩展方法:(1)通过通用的IO扩展芯片实现(2)通过TTL、CMOS 锁存器、缓冲器芯片实现。
如74LS377、74LS273、74LS244、74LS245 等。
(3)通过串行通信口扩展并行I/O 口。
2、8255A 扩展I/O 端口:(1)8255A 具有三种基本工作方式,即方式0、方式1、方式2。
各端口的工作方式及输入输出方向都由方式控制字设定(通过写入控制寄存器)。
8255A 的控制字有方式控制字和C 口置位/复位控制字两种。
3、8255A 的工作方式:(1)方式0 是一种基本I/O 方式。
在这种工作方式下,三个端口都可由程序设定为输入或输出,这种方式不使用联络信号,其基本功能为:a. 两个8 位端口(A、B) 和两个4 位端口(C)。
b. 任一个端口可以作为输入或输出。
c. 输出锁存,输入不锁存。
d. 在方式0 时,各端口都可以作为数据端口,CPU 用简单的输入或输出指令来进行读或写。
(2)方式1 是一种选通I/O 方式。
在这种方式下,端口A 和B 可作为数据端口,但C 口的某口的其它位仍可工作于方式0。
方式1 的基本功能为:a. 用作一个或两个选通端口。
b. 每个选通端口包含有:8 位数据瑞口,3 条控制线,提供中断逻辑。
c. 任一端口可输入或输出。
d. 若只有一个端口工作于方式1,余下的13 位可以工作于方式0。
e. 若两个端口工作于方式1,C 口余下2 位可以工作于方式0。
(3)方式2 是一种双向I/O 方式,只有端口 A 具有这种工作方式,其基本功能为:a. 一个8 位双向数据端口(A)和一个5 位控制端口(C)。
b. 输入和输出锁存。
c. 5 位控制端口用作端口A 的状态和控制信息。
并行接口实验报告
课程实验报告实验名称:并行接口实验专业班级:学号:姓名:同组人员:指导教师:报告日期:、实验一1. 实验目的 (3)2. 实验内容 (3)3. 实验原理 (3)4. 程序代码 (6)5. 实验体会 (9)实验一1.实验目的熟悉并行接口电路,掌握并行接口芯片8255A的应用及其编程技术。
2.实验内容通过对8255芯片的编程,使得实验台上的步进电机按顺时针或逆时方向转动,同时数码管做0-9的加计数和减计数操作:1.使用K0控制步进电机顺逆时针转动和数码管加减计数;2.使用K1控制步进电机转速和数码管显示速度(分快和慢两种速度)。
3.使用K2启动和停止步进电机转动和数码管计数显示;3.实验原理1.将8255的A、B、C端口都设置在0工作方式(基本输出/输入方式),A口输出信号控制步进电机转动和方向,B口输出信号控制数码管显示,C口输入信号控制步进电机和数码管的启动/停止,运动方向/加或减计数,运动速度/计数速度。
2.PA0-PA3输出的一个4位二进制数值用于驱动步进电机;PB0-PB7输出的一个8位二进制数值控制数码管的计数显示;PC4-PC7输出作为数码管的位选信号;PC0-PC3分别输入3个控制信号。
3.步进电机工作原理:步进电机采用两项驱动方式,每次对电机的四组线圈中的两组施加脉冲信号,并进行顺序切换使步进电机旋转,调节脉冲信号施加的顺序和频率可改变电机的旋转方向和旋转速度。
4.数码管工作原理数码管一组共4只(位)组成,每只数码管由a、b、c、d、e、f、g共7个段组成,加上小数点dp共8个段。
数码管要正常显示需要用驱动信号来驱动数码管的各个段码,从而显示我们需要的数字。
数码管的每一个段都由8255输出端口的一位信号控制,如果我们将b和c段接上正电源,其他段接地或悬空,那么b 和c段发光,此时数码管显示数字“1”,其他字形显示以此类推。
5 实验中的连线1用导线将8255芯片的PA0-PA3端口分别与步进电机的BA、BB、BC和BD连接。
单片机并行口实验报告
单片机并行口实验报告实验二并行口实验报告班级:学号:姓名:教师:一、实验目的通过实验了解8051并行口输入方式和输出方式的工作原理及编程方法。
二、实验内容1、输出实验如图4-1所示。
以8031的P2口为输出口。
通过程序控制发光二极管的亮灭。
2、输入实验如图4-1所示。
以8031的P1口为输入口。
用开关向P1.0~P1.3输入不同的状态,控制P2口P2.4~P2.7发光二极管的亮灭。
3、查询输入输出实验如图1-1所示。
以8051的P1.6或P1.0为输入位,以P2口为输出,二进制计数记录按键的次数。
图1-1三、编程提示1、输出实验程序(1)设计一组显示花样,编程使得P2口按照设计的花样重复显示。
(2)为了便于观察,每一状态加入延时程序。
2、输入实验程序开关打开,则输入为1;开关闭合,则输入为0。
读取P1.0~ P1.3的状态,并将它们输出到P2.4~ P2.7,驱动发光二极管。
所以发光二极管L1~L4的亮灭应与开关P1.0~ P1.3的设置相吻合。
3、查询输入输出程序(1)编程计数P1.0按键次数,按键不去抖动。
(2)编程计数P1.6按键次数,按键不去抖动。
(3)编程计数P1.0按键次数,按键软件延时去抖动。
观察(1)、(2)、(3)、的结果。
四、实验器材计算机,目标系统实验板五、实验步骤1、在KEILC中按要求编好程序,编译,软件调试,生成.HEX文件。
2、断开电源,按图1-1所示,连好开关及发光二极管电路。
3、下载程序。
4、调试运行程序,观察发光二极管状态。
六、C源程序清单1、#include <STC12C5A60S2.h>#define uchar unsigned char#define ON 0#define OFF 1sbit led1=P2^0;sbit led2=P2^1;sbit led3=P2^2;sbit led4=P2^3;sbit led5=P2^4;sbit led6=P2^5;sbit led7=P2^6;sbit led8=P2^7;void delay1(void);void main(void){led1=led2=led3=led4=led5=led6=led7=led8=O FF;while(1){led1=led8=ON;delay1();led2=led7=ON;delay1();led3=led6=ON;delay1();led4=led5=ON;delay1();led1=led8=OFF;delay1();led2=led7=OFF;delay1();led3=led6=OFF;delay1();led4=led5=OFF;delay1();}}void delay1(void){uchar i,j,k;for(i=0;i<10;i++)for(j=0;j<100;j++)for(k=0;k<255;k++);}2、#include<STC12C5A60S2.H>#define uchar unsigned charsbit k8=P1^0; sbit k7=P1^1; sbit k6=P1^2; sbit k5=P1^3; sbit led5=P2^4; sbit led6=P2^5; sbit led7=P2^6; sbit led8=P2^7; void main(void) {while(1){if(!k8)led5=0;if(!k7)led6=0;if(!k6)led7=0;if(!k5)led8=0;if(k8)led5=1;if(k7)led6=1;if(k6)led7=1;if(k5)led8=1;}}3、(1)和(2)#include<STC12C5A60S2.H>#define uchar unsigned char sbit k8=P1^0;sbit k2=P1^6;void main(void){uchar num1,num2;n um1=0;num2=0;while(1){if(!k8){num1++;P2=~num1;}if(!k2){num2++;P2=~num2;}}}3、(3)#include<STC12C5A60S2.H>#define uchar unsigned charvoid delay(uchar);sbit k8=P1^0;sbit k7=P1^1;sbit k6=P1^2;sbit k5=P1^3;sbit k4=P1^4;sbit k3=P1^5;sbit k2=P1^6;sbit k1=P1^7;void main(void){uchar num;n um=0;while(1){if(!k3||!k4||!k5||!k6||!k7){num++;P2=~num;delay(100);}if(!k8){num=0;P2=~num;delay(100);}}}void delay(uchar k ){uchar x,y,z;for(x=k;x>0;x--)for(y=20;y>0;y--)for(z=250;z>0;z--);}七、总结对于这次的实验来说,还是不难的,因为看懂了图1-1后,在加上原来学过的C语言,所以这三个程序还是很容易搞定的,在按键去抖动的程序中,由于k1和k2和其他的键并不一样,这两个键在硬件上已经去抖动了,。
简单并行接口实验报告
简单并行接口实验报告班级:电信1001 姓名:张贵彬学号:201046830213实验一锁存器74LS273一、实验目的掌握简单并行接口的工作原理及使用方法。
二、实验内容1、按简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。
74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。
三、编程提示上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:MOV AL,数据MOV DX,2A8HOUT DX,AL通过上述并行接口输入数据需要2条指令:MOV DX,2ADHIN AL,DX四、实验电路图五、实验流程图六、实验程序ls273 equ2a8hcode segmentassume cs:codestart:mov ah,2;回车符mov dl,0dhint21hmov ah,1;等待键盘输入int21hcmp al,27;判断是否为ESC键je exit ;若是则退出mov dx,ls273 ;若不是,从2A8H输出其ASCII码out dx,aljmp start ;转startexit: mov ah,4ch;返回int21hcode endsend start七、实验结果实验二数据缓冲器74LS244一、实验目的掌握简单并行接口的工作原理及使用方法。
二、实验内容1、按下面图2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。
74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。
2、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。
实验二-简单并行接口-实验报告
3、按下面图二简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。
4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。
图一 图二
三、实验中使用到的程序
对于简单并行输出接口:
stack1 segment stack 'stack'
dw 32 dup(0)
stack1 ends
data segment
baseport equ 0ec00h-280h;实际基址
信 息 学 院
《汇编语言与接口技术》上机实验报告
学号:104100197
姓名:王飞
班级: 计科10C
课程名称: 汇编语言与接口技术
上机内容 简单并行接口
实验性质: □ 综合性实验 □ 设计性实验 ■ 验证实验
实验时间: 2012年5 月18 日
实验地点:睿智4号102室
实验设备 TPC—2003A微机实验箱
out dx,al
mov ah,2
mov dl,0dh
int 21h
mov ah,2
mov dl,0ah
int 21h
jmp again
exit: mov ah, 4ch
int 21h
code ends
end start
对于简单并行输入接口:
stack1 segment stack'stack'
单片机并行口实验报告.doc
单片机并行口实验报告.doc一、实验目的1、了解单片机67H12并行口通用输入输出线的原理和方法,熟悉控制并行口信号的方法。
2、学会使用单片机并行口控制LED灯的亮暗,是学生更好的掌握单片机输入输出操作,进一步了解单片机硬件原理和软件控制方法,提高实际操作和掌握单片机硬件设计和单片机应用能力。
二、实验原理⑴分地址和数据对于并行口的控制,要分开地址和数据才能在不同地址和数据端口进行数据输入/输出,控制不同的硬件设备。
⑵输出控制并口控制器在接收中央处理器(CPU)输出的指令之后,由于需要向输出口写一些位控制口上的各种状态,就产生了输出控制状态。
输出控制状态是一个位控制(3 位)控制字,其分别控制计算机输出口端口的数据总线的三个状态。
⑶输入输出并口输出是完成CPU向外工作环境(也就是并口通用接口器件)输出。
并口输入是完成CPU从外部环境获取数据的功能。
三、实验电路LED灯通过电阻限流后接在P0口和地之间,并行接有8个灯,通过控制每个灯P0输出端口的高低电平,完成灯亮或灭的操作,电路图如图1所示。
四、实验过程及结果1. 硬件连接图2.实验程序#include<reg52.h>sbit LED1=P0^0;sbit LED2=P0^1;sbit LED3=P0^2;sbit LED4=P0^3;sbit LED5=P0^4;sbit LED6=P0^5;sbit LED7=P0^6;sbit LED8=P0^7;3.实验结果实验由8个LED序列的闪烁组成,可以看到相邻的LED互相闪烁。
五、实验心得本次实验主要了解了单片机并行口通用输入输出线的原理和方法,熟悉控制并行口信号的方法。
在实际实验过程中,通过控制使8个LED依次闪烁,使得实验的结果更为直观性。
总之,本次实验使我深入了解了单片机并行口控制LED灯的亮暗的控制方法,有助于提高实际操作和掌握单片机硬件设计和单片机应用能力。
8255并行接口实验
《接口技术》实验报告实验二8255并行口接口实验实验目的利用8255A实现并行接口实验。
实验内容1:掌握8255A的编程原理。
2:熟悉计算机并行接口的使用方法。
实验步骤1连线:8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。
B口的PB0-PB7依次接发光二极管Ll-L8。
从CS0-CS7中任选一个与8255A的片选信号相连,其他线路均已接好。
2:编写程序单步运行并调试程序。
3:调试通过后全速运行并观察实验结果。
实验原理图程序流程图源程序清单ASSUME CS:CODECODE SEGMENT PUBLICORG 100HSTART: MOV DX,04A6HMOV AX,90HOUT DX,AXSTART1: MOV DX,04A0HIN AX ,DXMOV DX,04A2HOUT DX,AXJMP START1CODE ENDSEND START运行结果及分析当读到某个开关处于高电平时,对应的发光二极管就会亮修改1A口和B口的工作方式互换。
B口输入,A口输出。
这样的话程序改成:START: MOV DX,04A6HMOV AX,82HOUT DX,AXSTART1: MOV DX,04A2HIN AX ,DXMOV DX,04A0HOUT DX,AXJMP START1CODE ENDSEND START运行结果:当读到某个开关处于高电平时,对应的发光二极管就会亮。
修改2B口输入,C口输出,这样的话程序改成:START: MOV DX,04A6HMOV AX,82HOUT DX,AXSTART1: MOV DX,04A2HIN AX ,DXMOV DX,04A4HOUT DX,AXJMP START1CODE ENDSEND START运行结果:当读到某个开关处于高电平时,对应的发光二极管就会亮。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8255并行口实验实验报告
作者:
一、实验目的
掌握8255A的编程原理。
二、实验设备
CPU挂箱、8086CPU模块。
三、实验内容
8255A的A口作为输入口,与逻辑电平开关相连。
8255A的B口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
四、实验原理介绍
本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
五、实验步骤
1、实验接线
CS0↔CS8255; PA0~PA7↔平推开关的输出K1~K8; PB0~PB7↔发光二极管的输入LED1~LED8。
2、编程并全速或单步运行。
3、全速运行时拨动开关,观察发光二极管的变化。
当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。
六、实验提示
实验也是如此。
实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。
8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。
七、实验结果
程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2应该点亮。
八、程序框图(实验程序名:t8255.asm)
开始
设置8255工作方式
读A口
输出至B口
结束
九、程序源代码清单:
assume cs:code
code segment public
org 100h
start: mov dx,04a6h ;控制寄存器地址
mov ax,90h ;设
置为A口输入,B口输出
out dx,ax
mov al,0feh
start1:mov dx,04a2h 芯片的
入口地址
out dx,al
mov bl,al
mov dx ,04a0h
in al,dx
test ax,01h
jz strat2
mov al ,bl rol al,1 流水灯循环左移
mov bl,al
mov cx,3000h 设置cx为灯闪烁时间对应的循环次数
add:
loop add
jmp start1 无条件跳转至start1 strat2:mov al,bl
mov dx,04a2h
out dx,al
ror al,1 流水灯循环左移
mov bl, al
mov cx,3000h
add1:
loop add
jmp start 无条件跳转至start code ends
end start
十、实验总结
通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。