8255并行输入输出实验报告
实验二 8255并行输入输出实验
实验二8255并行输入输出实验一、实验目的与要求了解8255A的内部结构、工作原理;掌握对8255A的初始化编程方法。
二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、选通输入实验:B口有8个发光二极管PBi(i=0~7),要求K3K2K1=000时LED1亮~K3K2K1=111时LED8亮,预置开关K为一组状态后按下BUTTON产生一负脉冲信号输入到PC4上,用LEDi(i=1~8)亮来显示K的状态。
2、选通输出实验:A口有8个发光二极管PAi(i=0~7),显示LED0亮,然后每按一次BUTTON使LED循环下移一位亮。
四、实验原理图1、2、五、实验步骤1区:单脉冲(2)运行程序(3)预置开关K为一组状态后上下拨动单脉冲开关,拨动两次,产生一个“”,观察B 口灯是否对应开关的状态相应亮,拨动开关K设置下一组开关状态,上下拨动单脉冲开关,拨动两次,产生一个“”,继续检查B口灯是否对应开关的状态相应亮。
2区:单脉冲(3)此时发现LED0亮,每上下拨动单脉冲开关,拨动两次,产生一个“”,观察LED是否循环下移一位亮。
六、流程图1、2、七、程序代码1、DATA SEGMENTTAB DB 11111110B,11111101B,11111011B,11110111B DB 11101111B,11011111B,10111111B,01111111B DATA ENDSSTCK SEGMENT STACKSTA DB 50 DUP(?)STCK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STCKSTART: MOV AX,DATAMOV DS,AXCALL Init8255 ;8255初始化子程序SCAN: MOV DX,0F002H;C口IN AL,DXAND AL,00100000BJZ SCAN ;判断IBFA是否为1 MOV DX,0F000H ;A口IN AL,DXAND AL,7 ;保留K1,K2,K3的数字 LEA BX,TABXLATMOV DX,0F001H ;B口OUT DX,ALJMP SCANInit8255 PROCMOV DX,0F003HMOV AL,0B0HOUT DX,ALRETInit8255 ENDPCODE ENDSEND START2、STCK SEGMENT STACKSTA DB 50 DUP(?)STCK ENDSCODE SEGMENTASSUME CS:CODE,SS:STCKSTART: MOV DX,0F003HMOV AL,0A0HOUT DX,ALMOV DX,0F000HMOV AL,0FEH ;使LED0亮OUT DX,ALLOP: MOV BL,AL ;保护AL中内容LOP1: MOV DX,0F002HIN AL,DXAND AL,80HJZ LOP1 ;/OBFA是否为1CALL DELAY ;延时MOV AL,BLROL AL,1MOV DX,0F000HOUT DX,ALJMP LOPDELAY PROCPUSH AXPUSH CXMOV CX,0FFFFHLOOP $MOV CX,0FFFFHLOOP $POP CXPOP AXRETDELAY ENDPCODE ENDSEND START八、遇到问题1、一开始编的程序没有查询IBFA的状态,用的是无条件传送,预置K的状态,不拨单脉冲开关,灯也能对应显示。
8255实验报告
8255实验报告关键信息项:1、实验目的:____________________________2、实验设备:____________________________3、实验原理:____________________________4、实验步骤:____________________________5、实验结果:____________________________6、结果分析:____________________________7、误差分析:____________________________8、改进措施:____________________________11 实验目的本次 8255 实验的主要目的是深入了解 8255 并行接口芯片的工作原理和编程方法,掌握通过 8255 实现输入输出数据的控制和传输。
通过实验,提高对计算机接口技术的实际应用能力,为今后在相关领域的学习和工作打下坚实的基础。
111 具体目标1111 熟悉 8255 的内部结构和引脚功能。
1112 掌握 8255 的工作方式及其设置方法。
1113 学会使用汇编语言或 C 语言对 8255 进行编程,实现数据的输入输出操作。
1114 能够通过实验现象分析和解决可能出现的问题,提高调试程序的能力。
12 实验设备121 计算机一台122 8255 实验箱一个123 导线若干13 实验原理8255 是一种通用的可编程并行接口芯片,具有三个 8 位的并行输入/输出端口:A 口、B 口和 C 口。
每个端口都可以通过编程设置为输入或输出方式,并且可以组合使用以满足不同的应用需求。
8255 内部还有控制寄存器,用于选择端口的工作方式和控制信号。
在实验中,通过对 8255 的控制寄存器进行编程,设置端口的工作方式,然后向输入端口输入数据,或者从输出端口读取数据,观察实验结果,验证 8255 的功能和编程方法的正确性。
14 实验步骤141 连接实验设备将计算机与 8255 实验箱通过数据线连接好,确保连接牢固,电源正常。
微机原理实验五-8255输入输出实验
微机原理实验五-8255输入输出实验一、实验要求:南昌大学实验报告利用8255可编程并行口芯片,实现输入/输出,实验中用8255PA口作输出,PB口作输入。
二、实验目的:(1)了解8255芯片结构及编程方法。
(2)了解8255输入/输出实验方法。
三、实验器材:(1)G2022实验平台1台(2)G6W仿真器1台(3)连线若干根(4)8255芯片1片(5)LAB8088CPU板1块四、实验电路:8255的/CS接译码器Y2(0A000H-0AFFFH),则命令字地址为0A003H,PA口地址为0A000H,PB口地址为0B001H,PC口地址为0B002H。
PA0-PA7(PA口)接L0-L7(LED发光二极管组),PB0-PB7(PB口)接K0-K7(K0-K7开关量发生器),再接上数据线和读/写信号,地址线只接A0,A1即可,还要接上RESET信号,以便8255A可靠复位。
特别强调:8255的第七脚应接GND(地),第二十六脚应接+5V。
五、实验说明:可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。
本实验采用的是方式0:PA,PC口输出,PB口输入。
方式字为82H。
六、实验步骤:(1)使用实验平台锁进插座,如图连线,因8255片选信号为0A000H,所以,A口为0A000H、口为0A001H、C口为0A002H、命令口为0A003H。
(2)硬件测试:把G2022+G6W连PC机,在WINDOWS调试环境下点击[窗口/数据窗口/MEMORY],以打开MEMORY数据窗口,在打开的MEMORY窗口中的0A003H地址(即8255的片选空间)上写入控制字82H,在0A000H (8255的A口)上打入55H,0AAH等数字,LED发光二极管组对应点亮。
若不是,则硬件有问题。
(3)编写程序、编译程序,用单步、断点、连续方式调试程序,排除软件错误。
运行程序,直至达到本实验的要求为止。
最新8255实验报告
最新8255实验报告实验目的:本次实验旨在熟悉并掌握Intel 8255A可编程并行接口的功能及其编程方法。
通过实验,学习如何利用8255A实现并行数据的输入输出操作,并了解其在微型计算机系统中的应用。
实验设备与器件:1. 微机实验箱及接口电路板2. Intel 8255A 可编程并行接口芯片3. 8位微处理器(如8086)4. 示波器、逻辑笔等测试工具实验原理:Intel 8255A是一种3态可编程并行输入/输出接口芯片,具有三个8位并行I/O端口:端口A、端口B和端口C。
端口A和端口B可用于输入输出,端口C分为两个4位端口C1和C2,可分别进行输入输出操作。
8255A通过控制字寄存器(控制字1和控制字2)来设置工作模式和端口方向。
实验步骤:1. 初始化8255A:通过编程设置控制字寄存器,定义端口A、B的工作模式(例如,端口A为输入,端口B为输出)和端口C的配置(C1和C2的输入输出模式)。
2. 编写程序代码,实现端口A的数据读取和端口B的数据输出。
3. 使用示波器检测端口C的输入输出信号,验证其功能。
4. 通过改变控制字寄存器的设置,观察并记录端口工作模式变化后的行为。
实验结果:1. 端口A成功读取了外部输入的二进制数据,并在显示器上显示出来。
2. 端口B按照程序设定输出了相应的控制信号,通过LED灯或其他指示设备得到了验证。
3. 端口C1和C2在不同的控制字设置下,能够正确地执行输入输出操作,信号波形通过示波器得到了确认。
实验结论:通过本次实验,我们成功地对Intel 8255A可编程并行接口进行了编程和操作,实现了并行数据的输入输出。
实验结果表明,8255A在并行接口通信中具有重要作用,能够提高数据传输效率,适用于需要高速并行数据传输的场合。
8255可编程并行接口(基本输入输出、动静态七段数码管、竞赛抢答器)微机原理实验报告
微机实验报告书学号: XXXXX 姓名: XXXXX 班级: XXXXX同组名单: XXXXXXXXX 实验日期: 5实验题目: 8255可编程并行接口实验目标: 1、掌握8255方式0的工作原理及使用方法。
2、进一步掌握中断处理程序的编写。
3、掌握数码管显示数字的基本原理。
4、了解微机化竞赛抢答器的基本原理。
实验步骤:实验一、 8255A的基本输入输出图1. 8255A的基本输入输出接线图实验步骤如下:(1)实验电路如图1,8255A的C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
(2)编程从8255A的C口输入数据,再从A口输出。
实验二、七段数码管图2. 七段数码管接线图实验步骤如下:(1)静态显示:按图2(a)连接好电路,将8255A的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dP接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
(2)动态显示:按图2(b)连接好电路,七段数码管段码连接不变,位码驱动输入端S1接+5V(选中),S0接8255A的C口的PC1。
编程在两个数码管上显示“56”。
实验三、竞赛抢答器图3. 竞赛抢答器电路图实验步骤如下:图3位竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当于某组抢答按钮按下。
在七段数码管上将其组号(0~7)显示出来。
程序框图:实验一:实验二:实验三:程序清单:;*************************;;* 8255A的基本输入输出 *;;*************************;IOPORT EQU0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHCODE SEGMENTASSUME CS:CODESTART:MOV DX,IO8255K ;对8255进行设定,A输出,C输入MOV AL,10001001BOUT DX,ALINPUT:MOV DX,IO8255C ;从C输入IN AL,DXMOV DX,IO8255A ;从A输出OUT DX,ALMOV DL,0FFH ;判断是否有按键MOV AH,06HINT21HJZ INPUT ;若无,则继续C输入,A输出MOV AH,4CH ;否则,返回DOSINT21HCODE ENDSEND START;************************************;;*键盘输入数据(0-9)控制LED数码管显示*;;************************************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMESG1 DB 0DH,0AH,'Input a num (0--9),other key is exit:',0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DA TAMOV DS,AXMOV DX,IO8255K ;使8255的A口为输出方式MOV AX,10000000BOUT DX,ALSSS: MOV DX,OFFSET MESG1 ;显示提示信息MOV AH,09HINT 21HMOV AH,01 ;从键盘接收字符INT 21HCMP AL,'0' ;是否小于0JL EXIT ;若是则退出CMP AL,'9' ;是否大于9JG EXIT ;若是则退出SUB AL,30H ;将所得字符的ASCII码减30HMOV BX,OFFSET LED ;BX为数码表的起始地址XLAT ;求出相应的段码MOV DX,IO8255A ;从8255的A口输出OUT DX,ALJMP SSS ;转SSSEXIT: MOV AH,4CH ;返回INT 21HCODE ENDSEND START;******************************;;* LED数码管实验动态显示“56”*;;******************************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段码BUFFER1 DB 6,5 ;存放要显示的个位和十位BZ DW ? ;位码DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,IO8255K ;将8255设为A口输出MOV AL,80HOUT DX,ALMOV DI,OFFSET BUFFER1 ;设di为显示缓冲区LOOP2: MOV BH,02LLL: MOV BYTE PTR BZ,BHPUSH DIDEC DIADD DI, BZMOV BL,[DI] ;bl为要显示的数POP DIMOV AL,0MOV DX,IO8255COUT DX,ALMOV BH,0MOV SI,OFFSET LED ;置led数码表偏移地址为SIADD SI,BX ;求出对应的led数码MOV AL,BYTE PTR [SI]MOV DX,IO8255A ;自8255A的口输出OUT DX,ALMOV AL,BYTE PTR BZ ;使相应的数码管亮MOV DX,IO8255COUT DX,ALMOV CX,3000DELAY: LOOP DELAY ;延时MOV BH,BYTE PTR BZSHR BH,1JNZ LLLMOV DX,0FFHMOV AH,06INT 21HJE LOOP2 ;有键按下则退出MOV DX,IO8255CMOV AL,0 ;关掉数码管显示OUT DX,ALMOV AH,4CH ;返回INT 21HCODE ENDSEND START;***************;;* 模拟抢答器 *;;***************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;数码表DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,IO8255K ;设8255为A口输出,C口输入MOV AL,10001001BOUT DX,ALMOV BX,OFFSET LED ;使BX指向段码管首址SSS: MOV DX,IO8255CIN AL,DX ;从8255的C口输入数据OR AL,AL ;比较是否为0JE SSS ;若为0,则表明无键按下,转sssMOV CL,0FFH ;cl作计数器,初值为-1 RR: SHR AL,1INC CLJNC RRMOV AL,CLXLATMOV DX,IO8255AOUT DX,ALMOV DL,7 ;响铃ASCII码为07MOV AH,2INT 21HWAI: MOV AH,1INT 21HCMP AL,20H ;是否为空格JNE EEE ;不是,转eeeMOV AL,0 ;是,关灭灯MOV DX,IO8255AOUT DX,ALJMP SSSEEE: MOV AH,4CH ;返回INT 21HCODE ENDSEND START运行结果:实验一:当逻辑开关K0~K7中的一个或几个打开时,对应的LED灯就会亮起来,即利用8255A实现了基本的输入输出控制。
实验六---8255并行输入输出
实验六---8255并行输入输出一、实验目的1.了解并熟悉8255并行输入输出控制器的功能和工作原理;二、实验原理1.8255芯片介绍8255是一种常用的并行输入/输出接口芯片,可用于微处理机系统中的输入/输出控制输出,根据中文名可以看出,8255有三种工作方式即口A、口B和控制口。
8255所有的输入/输出都是双向的,它可以通过输入输出口的命令字来在不同的模式下工作。
在输出模式下,82555可以通过端口A、B控制外围设备的输出操作,在输入模式下,8255可以通过端口A、B实现对外围设备的输入操作。
控制口是用来控制8255写作模式或读作状态字,并对端口进行初始化操作。
8255在不同的模式下有不同的编程方法和操作方法,因此需要在实际应用中选择不同的工作模式。
8255有三个I/O端口A、B、C,每个端口都有8位。
这里解释一下控制端口的意义,地址为0B4H的控制端口是连续读或写8255内部状态寄存器的地址,而后面的一个读或写就表示读或写操作的类型,如果该端口被写入了“控制字”则8255按照控制字工作,否则会在该端口读出输入状态字。
在读或写操作的时候向控制端口写入的二进制数在图3-8中给出了。
表3-2:8255访问口定义地址口分类名称端口A0B0H输出Port A输入ControlCout端口Cin端口2.8255的编程方式方式0:即I/O挂接方式,这种方式下A、B、C三个端口为并行I/O口时,其与MCU的接线和编程方式与单片机内部I/O端口的连接和编程方式相同。
方式1:即输入输出口不一样。
在这种片内Ram中的地址空间0~7地址单元内写入相应的端口或方式的控制字后,该8255工作在相应的方式。
即:方式0:读出的是8位端口A的状态,写操作为将数据送到端口A;方式2:是把C口分配为两部分——高4位为输入,低4位为输出,它与方式1类似。
端口C的所有状态和很多控制功能都由C口寄存器存储。
方式2:“端口C字符型输入输出方式”,在这种方式下,端口C的8个位分成两部分,4个位作为输入的,4个位作为输出的。
8255输入输出实验报告
8255输入输出实验报告
实验目的
本次实验旨在掌握8255芯片的输入输出原理和使用方法,通过实验了解并掌握8255芯片的原理和控制方法,提高实际操作能力。
实验器材
1. 8255芯片
2. 8086单片机
3. 电源
4. 万用表
5. LED灯
6. 按钮开关
实验步骤
1. 连接电路
根据实验原理和电路图,连接相应的电路,包括8255芯片、8086单片机、电源、万用表、LED灯和按钮开关等。
2. 编写程序
根据实验要求,编写相应的程序,包括8255芯片的输入输出控制
程序,以及相关的控制指令。
3. 运行程序
将编写好的程序烧录到8086单片机中,启动程序,进行相应的输入输出操作。
4. 测试结果
通过测试程序的运行结果,验证输入输出是否正确,并进行相应的调试和修改。
实验结果
经过实验,我们成功地掌握了8255芯片的输入输出原理和使用方法,熟悉了8255芯片的控制指令和编写程序的方法,成功地实现了输入输出操作。
本次实验不仅提高了我们的实际操作能力,还增强了我们对硬件电路和控制程序的理解和应用能力。
实验体会
本次实验让我深刻地认识到了硬件电路和控制程序的重要性,同时也让我感受到了实验的乐趣和挑战。
通过实验,我不仅学会了控制8255芯片的方法,还深入了解了单片机和电路原理,提高了自己的实际操作能力和理论知识水平。
结论
通过本次实验,我们掌握了8255芯片的输入输出原理和使用方法,熟悉了8255芯片的控制指令和编写程序的方法,成功地实现了输入输出操作。
本次实验不仅提高了我们的实际操作能力,还增强了我们对硬件电路和控制程序的理解和应用能力。
并行接口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的相关电路,并且与输出设备相连接,也重新复习了数电的知识,通过学习微机原理和汇编语言这门接近底层的语言我意识到代码与底层的交互是怎样实现的,也有利于我学习其他的高级语言。
8255并行输入输出实验报告
东南大学《微机实验及课程设计》实验报告实验六8255并行输入输出姓名:学号:专业:实验室:计算机硬件技术实验时间:2012年05月18日报告时间:2012年05月20日评定成绩:审阅教师:一. 实验目的与内容1)掌握8255 方式0 的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8 段数码管的动态刷新显示控制;3)分析掌握8255 工作方式1时的使用及编程,进一步掌握中断处理程序的编写。
二. 基本实验原理(一)、8255 方式0:简单输入输出实验电路如下图所示,8255C 口输入接逻辑电平开关K0~K7,编程A 口输出接LED 显示电路L0~L7;用指令从 C 口输入数据,再从A 口输出。
实验电路及程序流程图如下:/CS为片选信号,由系统地址线译码产生,低电平有效;此方式为简单输入输出,A口、B口、C口的高4位和低4位都可以分别设置成输入或输出,在此实验中设置C口为数据输入端,A口为数据输出端。
(二)、数码管显示原理实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
七段数码管的字型代码如下表所示: 数码管对应断码为:(三)、8 段数码管静态显示按下图所示连接好电路,将8255 的A 口PA0~PA6 分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1 接+5V(选中),S0、dp 接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
单管静态显示电路如下图所示:输入数据经8255芯片并行输出,将信息反映在8段数码管s1上。
实验结果显示:(四)、 8 段数码管动态显示按下图所示连接好电路,七段数码管段码连接不变,位码驱动输入端S1、S0 接8255 C 口的PC1、PC0。
编程在两个数码管上显示“56”。
(注意字符变换之间应使段位全灭,避免显示“影子”)双管动态电路设计及程序流程图如下:送位码02H至C口,使PC0为0,PC1为1,即选中S1,关闭S0,在S1的数码管上显示“5”;送位码01H至C口,使PC0为1,PC1为0,即选中S0,关闭S1,在S0的数码管上显示“6”。
微机原理实验报告 可编程并行IO接口8255
《微机原理及应用技术》课程实验报告实验五可编程并行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口进行置位或复位控制字。
8255可编程并行接口实验实验报告
微机原理实验报告实验名称8255可编程并行接口实验一、实验目的1、掌握8255芯片结构及工作方式,2、熟悉8255并行口扩展的编程。
二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、系统中的8255模块Lab6000p实验箱中的8255模块连线如下图所示:图1 8255模块的连线AD0~AD7、A0、A1、RESET、/WR、/RD已分别连至系统总线DB0~DB7、AB0、AB1、RESET、/IOW、/IOR;8255_CS、PA口、PB口、PC口引出留给用户连接。
三、实验内容和实验步骤1、8255基本输入输出方式――开关控制LED显示1)实验要求开关拨上LED亮,开关拨下LED灭。
2)电路连接图2 电路连接图8255_CS连至地址译码/CS0,PA口连至LED电平显示模块,PB口连至开关电路。
3)程序框图图4 程序框图4)程序代码见附录程序2.15)实验步骤1、在Lab6000p实验箱上完成连接电路;2、开启计算机电源,开启Lab6000p实验箱电源;3、启动WAVE6000软件;4、确认WAVE6000与Lab6000p连接;5、输入源代码;6、编译源代码(F9);7、单步运行源代码(F8),观察每条指令执行结果;8、连续运行程序,上下拨动开关观察LED显示情况。
2、8255选通输入方式――开关控制LED显示1)实验要求开关上的逻辑信号在选通信号有效时读入微处理器,并送到LED显示。
2)电路连接将选通信号(单脉冲)接到PC2,其余连线和实验1中的相同。
3)程序框图图5 程序框图4)程序代码见附录程序2.25)实验步骤1、在Lab6000p实验箱上完成连接电路;2、开启计算机电源,开启Lab6000p实验箱电源;3、启动WAVE6000软件;4、确认WAVE6000与Lab6000p连接;5、输入源代码;6、编译源代码(F9);7、单步运行源代码(F8),观察每条指令执行结果;8、连续运行程序,上下拨动开关观察LED显示情况。
8255并行接口实验报告
实验一 8255并行接口实验
一、实验目的和要求
1.学习利用并行接口芯片8255构成并行接口电路的基本方法。
2.熟悉掌握并行接口芯片8255的基本性能及在实际应用中硬件连接、初始化
编程方法。
二、实验内容
编写程序,使8255的219口为输出口,218为输入口,从218口将K0~K7作为一个字读入,再从219口输出这一反码字节。
三、实验算法
先初始化8255,将219口设置为输出口,218为输入口;再通过输入指令从8255的218口读入数据;最后通过输出指令将数据从8255的219口输出,在灯上显示出来。
四、实验电路图
电路图如下所示:
五、程序清单
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,21BH ;初始化8255
MOV AL,90H
OUT DX,AL
BG: MOV DX,218H ;从8255的218口(即A口)读入数据
IN AL,DX ;数据存放到AL里
MOV DX,219H ;从8255的219口(即B口)输出数据
OUT DX,AL
JMP BG ;无限循环输入输出
CODE ENDS
END START
六、实验现象、结果与分析
随意扳动K0~K7,218口接收输入的数据,219口输出相应的数据到L0~L7,使对应指示灯亮。
七、实验体会
通过本实验了解8255的工作特性,初步知道了怎么用8255进行编程控制。
八、主要仪器设备
计算机、接口实验箱平台。
微机原理-实验五-8255并口实验报告
微机原理实验报告班级:XXXXX姓名:XXXX学号:20XXXXXXXXX大学信息科学与技术学院信息工程系实验五8255并口实验报告一、实验目的:1、掌握 8255 和微机接口方法;2、掌握 8255 的工作方式和编程原理。
二、实验内容:用8255 PA作开关量输入口,PB作输出口。
实现从PA口读入开关量信息,并送PB口显示。
三、程序流程1、工作原理8255 可编程外围接口芯片是 Intel 公司生产的通用并行接口芯片,它具有 A、 B、C 三个并行接口,用+5V 电源供电,能在以下三种方式下工作:方式 0:基本输入/输出方式方式 1:选通输入/输出方式方式 2:双向选通工作方式本实验设定8255端口A工作在方式0并作为输入口,读取 K1~K8 八个开关量,送PB 口显示。
PB 口工作在方式0,作为输出口。
2、流程图(此处自己用visio画一遍)四、实验电路五、代码与注释(自己填写)CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTLMOV AL,90HOUT DX,ALP2: MOV DX,PAIN AL,DXINC DXOUT DX,ALJMP P2CODE ENDSEND H2六、实验步骤1、实验连线⑴ 8255 PA 口接 K1~K8, PB 口接 L1~L8。
2、 PC 环境在与 PC 联机状态下,编译、连接、下载 PH88\he02.asm,用连续方式运行程序。
3、 LED 环境⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵在“P.”状态下键入32E0,然后按“EXEC”进入实验项目的运行。
4、观察运行结果在连续运行方式下,按 K1~K8,观察 L1~L8 发光二极管是否对应点亮。
微机接口实验报告-8255并口控制器实验 (1)-基本输入输出实验
姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师【实验目的】掌握8255 的工作方式及应用编程。
掌握8255的典型应用电路接法。
【试验设备】PC微机一台、TD-PIT+实验系统一套。
【实验内容】基本输入输出实验。
编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
【实验原理】并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图8-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图8-2所示。
图8-1 8255的内部结构及引脚【实验说明及步骤】本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。
参考程序流程如图8-3所示。
实验步骤如下。
1.确认从PC机引出的两根扁平电缆已经连接在实验平台上。
姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师2.参考图8-4所示连接实验线路。
3.首先运行CHECK程序,查看I/O空间始地址。
4.利用查出的地址编写程序,然后编译链接。
5.运行程序,拨动开关,看数据灯显示是否正确。
(a)工作方式控制字(b)C口按位置位/复位控制字8-2 8255控制字格式姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师图8-3 8255并口应用实验(1)参考程序流程图图8-4 8255并口应用实验(1)参考接线图【汇编源程序】CODE SEGMENT姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师ASSUEM CS:CODESTART:MOV DX,0DC0CHMOV AL,10000010BOUT DX,ALPP:MOV DX,0DC04HIN AL,DXMOV DX,0DC00HOUT DX,ALMOV AH,1INT 16HJZ PPQUIT:MOV AH,4CHINT 21HCODE ENDSEND START【实验结果】在基本的输入输出实验中,A口的工作方式作为输入,接到开关上作为控制输入信号,而B口作为输出端连接到LED灯上可以通过灯的点亮和熄灭来判断输出信号。
微机接口 8255并行接口实验报告
浙江工业大学计算机学院实验报告实验名称 8255并行接口实验姓名徐洁学号 ************班级计科1301班教师雷艳静日期 2015/12/31一、实验内容与要求1.1 实验内容8255方式0实验一:从8255端口C输入数据,再从端口A输出,即TPC-USB平台按逻辑电平开关K0~K7通过编程使端口C接收,然后再通过端口A输出到LED显示电路L0~L7,这样逻辑电平开关的值就可以通过8255芯片显示在LED显示电路上。
8255方式1输出实验:编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断,让CPU进行一次中断服务:依次输出01H、02H、04H、08H、10H、20H、40H、80H 使LED显示电路L0~L7依次发光,中断8次结束。
8255方式1输入实验:编程实现每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务,读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。
1.2 实验要求(1) 具有一定的汇编编程的基础,能编写一些基本语句来实现实验。
实验前根据实验流程图,写出对应代码;(2) 要了解8255A并行接口芯片内部结构和外部引脚,理解8255芯片的工作方式和程序设计方法;(3) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接好实验电路;(4) 8255方式0实验一:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB平台上的逻辑电平开关与LED显示电路观察,LED显示的值与逻辑电平开关设的值对应;(5) 8255方式1输出实验:连接PC与TPC-USB平台,用微机实验软件运行程序,手按单脉冲按钮,观察LED显示电路能依次发光,按8次后,中断结束,程序结束;(6) 8255方式1输入实验:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB平台的逻辑电平开关设置一个ASCII码,按一次单脉冲,屏幕就能显示该ASCII码对应的字符,变更逻辑电平的开关,按一次单脉冲,屏幕就会显示变更的ASCII码对应的字符。
8255并行口实验实验报告
8255并行口实验实验报告作者:一、实验目的掌握8255A的编程原理。
二、实验设备CPU挂箱、8086CPU模块。
三、实验内容8255A 的A 口作为输入口,与逻辑电平开关相连。
8255A的B 口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
四、实验原理介绍本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
五、实验步骤1、实验接线CS0 CS8255;PA0〜PA7 平推开关的输出K1〜K8;PBL PB7发光二极管的输入LED〜LED82、编程并全速或单步运行。
3、全速运行时拨动开关,观察发光二极管的变化。
当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。
六、实验提示实验也是如此。
实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。
8255A 有三个8位的输入输出端口,通常将A端口作为输入用,B端口start: mov作为输出用,C 端口作为辅助控制用,本输入输出方式(方式0)。
七、 实验结果程序全速运行后,逻辑电平开关的状态改变应能在 LED 上显示出来。
例如:K2置于L 位置,则对应的LED2应该点亮。
八、 程序框图(实验程序名:)九、程序源代码清单:codesegme nt movpublicax,90h ;设置为A 口输入,B 口输出assume cs:code dx,04a6h ;控制寄存器地址org 100hout dx,axadd:mov al,Ofehstart1:mov dx,04a2h 芯片的入口地址out dx,almov bl,almov dx ,04a0hin al,dxtest ax,01hjz strat2mov al ,blrol al,1 流水灯循环左移mov bl,almovcx,3000h设置cx为灯闪烁时间对应的循环次数loop addjmp start1 无条件跳转至start1 strat2:mov al,blmov dx,04a2hout dx,alror al,1 流水灯循环左移mov bl, almov cx,3000hadd1:loop addjmp start 无条件跳转至startcode endsend start十、实验总结通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。
8255a实验报告
8255a实验报告8255A实验报告引言:8255A是一种常用的并行接口芯片,广泛应用于各种数字系统中。
本实验旨在通过对8255A的实际应用,深入了解并行接口的原理和操作方法。
一、实验目的本实验旨在通过使用8255A并行接口芯片,实现数字输入输出功能,掌握并行接口的基本原理和操作方法。
二、实验器材1. 8255A并行接口芯片2. 电脑主板3. 逻辑分析仪4. 电压源5. 连接线等三、实验步骤1. 连接实验器材:将8255A芯片与电脑主板通过连接线连接,将逻辑分析仪连接到芯片的相应引脚上。
2. 编写程序:使用汇编语言编写程序,通过控制8255A芯片的寄存器,实现数字输入输出功能。
3. 调试程序:在编写完成后,通过逻辑分析仪对程序进行调试,确保程序的正确性。
4. 运行程序:将程序下载到芯片中,通过逻辑分析仪观察输入输出的结果。
四、实验结果经过调试和运行,实验结果如下:1. 输入功能:通过设置8255A芯片的相应寄存器,实现了数字输入功能。
当外部输入信号变化时,芯片将信号转换为二进制数据,并传输给电脑主板。
2. 输出功能:通过设置8255A芯片的相应寄存器,实现了数字输出功能。
电脑主板将二进制数据传输给芯片,芯片将数据转换为相应的电信号输出到外部设备。
五、实验分析通过本次实验,我们深入了解了8255A并行接口芯片的原理和操作方法。
并行接口芯片是数字系统中重要的组成部分,广泛应用于各种设备和系统中。
掌握并行接口的原理和操作方法对于设计和开发数字系统具有重要意义。
六、实验总结本次实验通过使用8255A并行接口芯片,实现了数字输入输出功能。
通过编写程序、调试和运行,我们深入了解了并行接口的原理和操作方法。
并行接口芯片在数字系统中起着重要的作用,掌握并行接口的原理和操作方法对于设计和开发数字系统具有重要意义。
七、参考文献1. 《8255A并行接口芯片使用手册》2. 《数字系统设计与开发实践》结语:通过本次实验,我们对8255A并行接口芯片有了更深入的了解。
微机实验报告 8255并行IO口实验
微机实验报告 8255并行IO口实验一、实验目的1.掌握8255芯片的基本结构和功能;2.了解键盘、LED灯的工作原理;3.能够进行8255芯片的编程和应用。
二、实验原理8255是由Intel公司设计的一种具有高度集成度的、通用的、并行的I/O设备。
它可以作为与CPU对外的接口芯片,实现与CPU的数据传输和控制。
在8255中,数据端口和控制端口都是I/O端口,通过这些端口来对外部装置进行输入和输出。
8255一共包含三个可编程I/O口,即端口A、端口B和端口C,每个IO口都有自己的方向、输入输出控制和数据寄存器,同时拥有中断控制、双向数据传输以及串行数据传输等多种操作模式。
其中,端口A和端口B是8位的,可以单独使用或组合成16位的端口C进行数据传输。
端口A和端口B的功能可通过I/O控制字中的一些位来编程实现,可分为输出、输入和双向传输三种模式。
端口C是一个5位I/O口,其中4位可以编程为输入或输出,第5位为只读输入输出类型,称为模式控制寄存器(control mode register,CMR)。
模式控制寄存器有4个不同的配置方式,它们在数据传输时可以实现BCD码的转换、万分之一秒的时钟计数、键盘扫描以及LED灯控制等功能。
本次8255并行IO口实验主要是通过端口A、端口B和端口C来控制LED灯和键盘扫描,实现输入输出的控制。
三、实验内容1.针对8255的IO口进行连接:将P0、P1、P2、P3、wr、rd等引脚重新定义为要控制的LED灯、键盘的控制信号引脚,将8255的各接口接在实验板上。
2.编写相应程序,控制8255芯片的各个闪烁。
四、实验步骤2.在电脑上打开keil 软件,编写控制程序,将程序下载到单片机中。
3.通过控制程序,控制LED灯以及键盘扫描进行输出输入的操作。
五、实验结果实现输出LED灯的闪烁、键盘扫描通过这次实验,我对8255并行IO口的基本结构和功能有了更深入的了解。
8255芯片是一种高度集成度的、通用的、并行的I/O设备,通过这个芯片的接口,我们可以方便地实现单片机与外界键盘等设备的数据输入输出控制。
8255实验报告
8255实验报告8255实验报告引言8255是一种常用的并行接口芯片,广泛应用于各种数字系统中。
本实验旨在通过对8255的实际应用,加深对该芯片的理解和掌握。
实验目的1. 了解8255的基本原理和功能;2. 掌握8255的编程方法;3. 学会使用8255进行数字输入输出控制。
实验器材1. 一块开发板;2. 一台计算机;3. 一根USB数据线。
实验步骤1. 连接开发板和计算机,确保开发板正常供电;2. 打开计算机上的开发板驱动程序,并进行相应的设置;3. 编写相应的程序,通过编程控制8255实现数字输入输出。
实验结果与分析通过编程控制8255,我们可以实现数字输入输出的控制。
在实验中,我们可以通过设置8255的端口模式,将其分为输入和输出两个部分。
通过设置相应的控制字,可以实现对8255端口的读取或写入操作。
在实验中,我们可以通过编写程序,将开发板上的按键作为输入设备,通过8255将按键状态传递给计算机进行处理。
同时,我们还可以将计算机的输出信号通过8255传递给开发板上的LED灯进行显示。
通过实验,我们可以发现8255的优点在于其灵活性和可编程性。
通过简单的编程,我们可以实现各种数字输入输出的控制,从而满足不同应用的需求。
实验总结本次实验通过对8255的实际应用,加深了对该芯片的理解和掌握。
通过编程控制8255,我们可以实现数字输入输出的控制,为各种数字系统的开发提供了便利。
在今后的学习和应用中,我们应继续深入研究8255的原理和编程方法,不断拓展其应用领域。
同时,我们还应关注8255的性能和稳定性,以确保其在实际应用中的可靠性。
通过本次实验,我们不仅学到了知识,还培养了动手实践和解决问题的能力。
这对我们今后的学习和工作都具有重要意义。
致谢在本次实验中,我们得到了老师和同学们的大力支持和帮助,在此表示衷心的感谢。
参考文献[1] 《8255并行接口芯片应用与实验指导》[2] 《单片机原理与应用》附录:实验代码```C#include <reg52.h>sbit LED = P1^0; // 定义LED引脚void main(){while(1){LED = 0; // 点亮LEDdelay(1000); // 延时1秒LED = 1; // 熄灭LEDdelay(1000); // 延时1秒}}void delay(unsigned int t){unsigned int i, j;for(i = 0; i < t; i++)for(j = 0; j < 120; j++);}```以上是本次实验的实验报告,通过对8255的实际应用,我们加深了对该芯片的理解和掌握。
8255接口实验报告
8255接口实验报告8255接口实验报告引言:8255接口是一种常见的数字输入输出设备,它可以连接到计算机的并行接口上。
本实验旨在通过使用8255接口,实现计算机与外部设备之间的数据传输与控制。
一、实验背景计算机与外部设备之间的数据交互是计算机系统中非常重要的一部分。
而8255接口作为一种常见的数字输入输出设备,广泛应用于各种工业控制和数据采集系统中。
了解和掌握8255接口的工作原理和使用方法,对于我们深入理解计算机与外部设备之间的数据传输与控制有着重要的意义。
二、实验目的1. 了解8255接口的基本工作原理;2. 掌握8255接口的连接方法和操作步骤;3. 实现计算机与外部设备之间的数据传输与控制。
三、实验过程1. 连接8255接口首先,将8255接口与计算机的并行接口连接起来。
确保连接的稳固和正确。
2. 编写程序使用C语言编写程序,通过并行接口与8255接口进行通信。
程序中需要包含相关的头文件和函数库,以实现对8255接口的控制和数据传输。
3. 实现数据输入通过编写程序,实现从外部设备向计算机输入数据的功能。
可以通过连接外部开关或传感器等设备,将数据输入到计算机中。
4. 实现数据输出通过编写程序,实现从计算机向外部设备输出数据的功能。
可以通过连接LED灯或其他输出设备,将计算机中的数据输出到外部设备上。
5. 运行程序将编写好的程序加载到计算机中,并运行。
观察计算机与外部设备之间的数据传输和控制情况,检查是否实现了预期的功能。
四、实验结果与分析通过实验,我们成功地实现了计算机与外部设备之间的数据传输与控制。
通过编写程序,我们可以将外部设备上的数据输入到计算机中,并将计算机中的数据输出到外部设备上。
通过观察实验结果,我们可以判断数据传输和控制是否正常。
如果数据传输和控制出现异常,我们可以通过调试程序或检查硬件连接来解决问题。
五、实验总结通过本次实验,我们深入了解了8255接口的工作原理和使用方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东南大学
《微机实验及课程设计》
实验报告
实验六8255并行输入输出
姓名:学号:
专业:实验室:计算机硬件技术实验时间:2012年05月18日报告时间:2012年05月20日评定成绩:审阅教师:
一. 实验目的与内容
1)掌握8255 方式0 的工作原理及使用方法,利用直接输入输出进行控制显示;
2)掌握8 段数码管的动态刷新显示控制;
3)分析掌握8255 工作方式1时的使用及编程,进一步掌握中断处理程序的编写。
二. 基本实验原理
(一)、8255 方式0:简单输入输出
实验电路如下图所示,8255C 口输入接逻辑电平开关K0~K7,编程A 口输出接LED 显示电路L0~L7;用指令从 C 口输入数据,再从A 口输出。
实验电路及程序流程图如下:
/CS为片选信号,由系统地址线译码产生,低电平有效;此方式为简单输入输出,A口、B口、C口的高4位和低4位都可以分别设置成输入或输出,在此实验中设置C口为数据输入端,A口为数据输出端。
(二)、数码管显示原理
实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
七段数码管的字型代码如下表所示: 数码管对应断码为:
(三)、8 段数码管静态显示
按下图所示连接好电路,将8255 的A 口PA0~PA6 分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1 接+5V(选中),S0、dp 接地(关闭)。
编程从键盘输入一位
十进制数字(0~9),在七段数码管上显示出来。
单管静态显示电路如下图所示:
输入数据经8255芯片并行输出,将信息反映在8段数码管s1上。
实验结果显示:
(四)、 8 段数码管动态显示
按下图所示连接好电路,七段数码管段码连接不变,位码驱动输入端S1、S0 接8255 C 口的PC1、PC0。
编程在两个数码管上显示“56”。
(注意字符变换之间应使段位全灭,避免显示“影子”)
双管动态电路设计及程序流程图如下:
送位码02H至C口,使PC0为0,PC1为1,即选中S1,关闭S0,在S1的数码管上显示“5”;送位码01H至C口,使PC0为1,PC1为0,即选中S0,关闭S1,在S0的数码管上显示“6”。
这是数码管动态显示方式。
由于两个数码管之间轮流显示的间隔时间很短,因视觉暂留作用,所以人眼无法判别其间隔作用。
实验图片:
三. 方案实现与测试
(一)、获取TPC 扩展卡 I/O 和存储基地址
直接在windows 下利用控制面板查看占用的存储和中断资源,可知:
TPC设备内存范围: FDDFF000—FDDFF0FF
接口芯片输入输出范围: BC00—BCFF
TPC设备输入输出范围: ec00—B87F
接口芯片内存范围: FDC00000—FDCFFFFF
(二)、检查硬件设备
运行程序前先用动态I/O 命令单步输出控制字,对相应端口进行I/O 操作。
连接如简单输入输出的电路,通过拨开关设置输入数据。
在DEBUG模式下,键入命令ib80a可读出开关状态。
如果读出数正确,则8255工作正常。
在DEBUG模式下键入命令行:
mov dx,b80b ;设8255 为C 口输入,A 口输出
mov al,8bh
out dx,al
inout: mov dx,b80a ;从C 口输入一数据
in al,dx
mov dx,b808 ;从A 口输出刚才自C 口
out dx,al ;所输入的数据
可看到LED灯显示为开关的状态。
(三)、8255 方式0:简单输入输出
源程序见书P69
指令中重要片段见上,设置控制字8B:10001011,通过in、out指令对其进行数据的读入和写出。
运行程序后可看到LED灯L0~L7显示为开关K0~K7的状态。
(四)、编程将A 口 L0-L7 控制成流水灯,流水间隔时间由软件产生;流水方向由K0 键在线控制,随时可切换;流水间隔时间也可由K4~K7 键编码控制,如0000 对应停止,0001 对应1 秒,1111 对应15 秒,大键盘输入ESC 键退出。
源程序见8255_light文件,但该程序中只实现了K0控制方向,K4~K7为0000时停止,其它键间隔相同时间(1秒)的功能,没有改变间隔时间和键入ESC 键退出的功能。
完善程序以实现流水灯,见创新部分。
(五)、8 段数码管静态显示
源程序见8255_led_s.asm,其中指令 xlat 的功能是求出相应的段码。
运行程序后可看到题目中提到的功能都能实现。
(六)、8 段数码管动态显示
源程序见8255_led_d.asm,主要程序片段如下:
mov byte ptr bz,bh
push di
dec di
add di, bz
mov bl,[di] ;bl 为要显示的数
pop di
mov bh,0
mov si,offset led ;置LED 数码表偏移地址为SI
add si,bx ;求出对应的LED 数码
mov al,byte ptr [si]
mov dx,io8255c ;自8255A 的口输出
out dx,al
mov al,byte ptr bz ;使相应的数码管亮
mov dx,io8255a
out dx,al
由实验现象可看到数码管显示相应数值,但因为间隔时间太短,由于视觉暂留,误认为数码管是一起显示的。
五.分析与总结
1、具体实验分析见各部分的调试实验分析。
2、硬件是基础,做实验时要首先检查硬件设备是否可用,保证后续实验的可检测性。
3、在实验中应不要带电接线、插拔芯片;插拔接线时轻微转动,便于插拔。
4、在实验中学会使用示波器、万用表、逻辑笔观察、测量。