用8255设计LED显示器接口实验

合集下载

实验三、8255A并行接口实验

实验三、8255A并行接口实验

实验结论
通过本次实验,我们验证了8255A并行接口芯片的基本功能和工作原理。
实验结果证明了8255A芯片可以实现并行数据传输,并且可以通过设置不 同的端口模式来实现不同的输入输出功能。
在实际应用中,8255A芯片可以作为并行数据传输的重要接口之一,广泛 应用于各种数字电路和微机控制系统中。
05
实验总结与展望
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
特点。
理解8255a并行接口芯片在计算 机中的重要性和作用,以及与其
他接口芯片的区别和联系。
掌握8255a并行接口芯片的工作原理
了解8255a并行接口芯片的基本 结构和工作原理,包括输入/输 出端口、控制寄存器和数据总线
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
缺乏实验指导
实验过程中,我们遇到了一些难 以解决的问题,如果能有更多的 实验指导资料或教师指导,将有 助于我们更好地有限,我们未能充 分探索8255a并行接口的更多功 能和应用场景,建议增加实验时 间,以便我们有更多的机会深入 了解该芯片。
实验不足与改进建议
实验难度不够
学习如何使用8255a并行接口芯片进行硬件控制
学习如何使用8255a并行接口 芯片进行输入/输出操作,包括 读取和写入数据。
掌握如何通过8255a并行接口 芯片控制外部硬件设备,如 LED灯、继电器等。
了解如何将8255a并行接口芯 片与其他芯片连接,实现硬件 的扩展和控制。
了解并行接口在计算机中的作用和重要性
实验三
将端口B和端口C设置为输入,端口A设置为输出。 当在端口B和端口C上施加不同的电平时,端口A 的输出与端口C的输入相同。

实验二_8255并行接口应用实验

实验二_8255并行接口应用实验

实验二_8255并行接口应用实验一、实验目的1. 熟悉8255并行接口的功能和应用。

2. 掌握8255并行接口的控制字的含义和编写方法。

3. 熟悉并行接口的IO读写操作。

二、实验仪器1. PC机2. AT8051开发板4. 其他配件线路三、实验原理8255芯片是Intel公司提供的一种通用并行接口芯片。

它可以实现外围设备、传感器的控制、数据的输入/输出等功能,是一种非常实用的通用接口芯片。

8255是一个三端口、24线单片并行接口芯片,它可以直接连接CPU总线或I/O总线,采用AHB (AMBA High-Performance Bus)总线。

总线与8255之间的通讯方式采用输入/输出端口的方式,在CPU访问8255时,必须指定8255的端口地址。

CPU在访问8255时,AV(地址有效)为高电平,同时CS和RD为有效低电平。

8255所使用的端口地址由登录的端口号选择器(P0、P1、P2)决定。

8255的主要特点:a. 具有3个通用I/O端口,每个端口有8位,共有24条I/O线。

b. 可以通过外部信号线与中间件或总线连接。

c. 具有3种基本工作方式:安装、双向缓冲装置和输入输出方式。

d. 为减少芯片引脚数,端口地址用地址寄存器低端口号器(P0,P1)来指定。

端口的寄存器编号可以选择0或1。

e. 以可编程方式控制I/O端口。

f. 内接有二进制计数器,可用于计时和计数应用。

2. 编程实现原理本次实验中,我们将用8051的C语言编程,控制8255进行I/O读写操作。

在编程时,我们将根据需要设置8255的控制字,并利用控制字来控制8255的输入输出。

同时,在控制8255的I/O读写操作中,我们还需将相应的端口地址赋值给端口指针,以实现读写操作。

3. 硬件连接我们将在AT8051开发板上搭建实验电路,具体如下:a. 8255芯片的输入输出口A、B、C分别连接到LED灯,以控制LED灯的开关状态。

b. AT8051开发板的P0、P1、P2分别连接到8255的A1、A0、CS/WR、RD/CS口线,以进行8255的读写操作。

利用8255A实现LED的流水点亮实验

利用8255A实现LED的流水点亮实验
moval,00000100b
outdx,al
;-
movdx,211h
moval,00000000b
outdx,al
movdx,210h
moval,40h
outdx,al
movdx,211h
moval,00000010b
outdx,al
;A
movdx,211h
moval,00000000b
outdx,al
moval,7fh
outdx,al
movdx,211h
moval,00100000b
outdx,al
;2
movdx,211h
moval,00000000b
outdx,al
movdx,210h
moval,5bh
outdx,al
movdx,211h
moval,00010000b
outdx,al
;5
movdx,211h
movdx,210h
moval,77h
outdx,al
movdx,211h
moval,00000001b
outdx,al
loop lp ;转至lp
jmplop ;跳至lop
hlt ;使处理器处于暂时停机状态.
codeends
end start
在数码管上显示“8255-A”。
三、实验分析
实验要求利用8255芯片8个开关来控制8个LED灯的开关。我们在课堂上学过8255有ABC三个口,可以输入和输入。因此首先可以想到的就是,把PA口A0-A7接8个波动开关K1-K7,并将A口调整为读入。同时将A口读入的信号用B口输出,这样就可以通过拨动开关来控制LED灯的明灭。为了让灯亮的时间足够人眼分辨出来,需要在程序里加入延时语句,其中加零语句就可以实现延时。

运用8255设计的键盘及显示接口-实验报告(含接线图+源程序)

运用8255设计的键盘及显示接口-实验报告(含接线图+源程序)

运用8255设计的键盘及显示接口图中用并行接口8255A作为微机与键盘间的接口,采用逐行扫描法识别键。

将键盘中的列与PA0—PA3相连,A口为输出;将行与C口的PC0—PC1相连,C 口为输入口; PB0—PB7与七段代码显示器连接B口为输出。

程序执行过程如下:识别是否有键按下,方法是使PA0一PA3输出全0,读C 口(行值) 中只要有一位为0,就说明有键按下,在检测到有键按下后,延迟一段时间,根据找到的键号,转去执行显示七段代码显示器的程序,这时七段代码显示器就显示与该键相同的数值。

实验步骤8255接口的应用键盘及显示接线图注:圆圈处是要求接的连线。

(1)按图4接线。

(2)输入源程序,汇编、连接后装入系统。

(3)执行程序后,按一下键盘,7段代码就会显示相应的数字。

程序STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,3000HMOV AL,00HMOV [SI],AL ;清空存放数据的缓冲区MOV [SI+1],ALMOV [SI+2],ALMOV [SI+3],ALMOV DI,3003HMOV AL,81H ;8255方式字定义选择0方式,A口为输出;OUT 63H,AL;B口为输出;C口为输入BEGIN: CALL DIS ;显示七段代码管数据的子程序CALL CLEAR ;七段代码管清0子程序CALL CCSCAN ;检测是否有键按下子程序JNZ INK1 ;JMP BEGININK1: CALL DISCALL DALLY ;子程序为延时,消抖动CALL DALLYCALL CLEARCALL CCSCANJNZ INK2JMP BEGININK2: MOV CH,0FEHMOV CL,00HCOLUM: MOV AL,CHOUT 60H,ALIN AL,62HTEST AL,01HJNZ LONEMOV AL,00HJMP KCODELONE: TEST AL,02HJNZ NEXTMOV AL,04HKCODE: ADD AL,CLCALL PUTBUFPUSH AXKON: CALL DISCALL CLEARCALL CCSCANJNZ KONPOP AX NEXT: INC CLMOV AL,CHTEST AL,08HJZ KERRROL AL,1MOV CH,ALJMP COLUM KERR: JMP BEGIN CCSCAN: MOV AL,00HOUT 60H,ALIN AL,62HNOT ALAND AL,03HRET CLEAR: MOV AL,00HOUT 61H,ALRETDIS: PUSH AXMOV SI,3000HMOV DL,0F7HMOV AL,DLAGAIN: OUT 60H,ALMOV AL,[SI]MOV BX,OFFSET TABLE ;取七段代码首址AND AX,00FFHADD BX,AXMOV AL,[BX]OUT 61H,ALCALL DALLYINC SIMOV AL,DLTEST AL,01HJZ OUTROR AL,1MOV DL,ALJMP AGAINOUT: POP AXRETDALLY: PUSH CXMOV CX,0010HT1: MOV AX,0010HT2: DEC AXJNZ T2LOOP T1POP CXRETPUTBUF: MOV SI,DIMOV [SI],ALDEC DICMP DI,2FFFHJNZ GOBACKMOV DI,3003H GOBACK: RETCODE ENDSEND START。

实验5(8255并行接口键盘及显示实验)

实验5(8255并行接口键盘及显示实验)

8255接口键盘及显示综合设计实验(曹建文2009年10月10日)一、实验目的1、掌握8255的工作方式及应用编程。

2、自行设计、制作和连接基于8255并行接口的键盘及显示实验电路。

3、实现扫描式矩阵键盘的功能和作用。

二、实验设备PC机1台,TD-PIT实验台1台,实验元器件若干。

三、实验内容1、使用8255实现键盘按键和七段LED数码显示管显示功能。

2、根据实验要求自行设计实验线路图,制作和焊接实验电路板和实验元器件。

3、按照实验要求和实验电路图编写实验程序,使得按下不同的数字按键后数码管显示相应的数字值(4位数码管)。

4、按照实验要求设计和编写实验程序,实现普通计算器的加/减法功能。

四、实验原理1、8255结构及原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图-2所示。

图-1:8255内部结构及引脚图(a)工作方式控制字(b)c口按位置位/复位控制字图-2:8255控制字格式(1)8255的内部结构如图-1所示,8255的内部结构由以下4个部分组成:(1)输入/输出端口A、B、C 。

这三个端口均可看作是I/O端口,但它们的结构和功能也稍有不同。

A口和B口是一个独立的8位I/O口。

C口可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。

(2)A组和B组控制电路。

这是两组根据CPU命令控制8255工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255的工作方式,也可以根据编程命令来对C口的指定位进行置位/复位的操作。

用8255设计LED显示器接口实验

用8255设计LED显示器接口实验

用8255设计LED显示器接口实验本文结合实验教学需要,介绍了用8255设计LED显示器接口实验的过程。

关键词:微机原理及应用;8255;LED;接口“微机原理及应用”是工科类专业的基础课,该课程比较抽象,因此实验教学起着至关重要的作用。

通过实验学生可以对比较抽象的命令、程序、输入输出接口电路加深理解。

现在仍有许多高校使用北京理工达盛科技有限公司的8086实验箱,但由于受到实验条件的限制,往常的做法是在有限的课堂时间内安排一些旨在验证理论知识的实验内容,较少涉及运用理论知识去解决实际问题。

这样的实验教学不利于发挥学生的学习主动性,不利于培养学生解决实际问题的能力。

如何改革传统的实验教学,如何培养学生的实际应用能力,本文举一个实例,需要教师利用现有的条件设计一些综合实验,让学生独立地去解决这些问题,从中培养能力。

希望本文能起到穿针引线的作用。

1设计LED显示器接口实验8086实验指导书显示器接口实验使用的是8279的显示输出功能,实验内容是在6位LED上循环显示8。

8086实验指导书8255并行口实验使用的是8255芯片,读开关量、输出、LED灯显示,实验讲义上都给出了电路原理图以及参考程序,学生往往是照着实验指导书上连接好线路,输入参考程序,进行程序调试。

大部分时间花在了实验的验证上,这样缺乏主动性和创新性,什么都是现成的。

能否在此基础上拓展一下,用8255芯片来实现显示器接口实验,这样既可取代8279,又可加深对8255的理解和使用。

实验任务:使用8255芯片的PA口作为段寄存器,PB口做为位寄存器,使用6位数码管从右向左逐位显示0~G,即显示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、G。

连线编程:由学生自己独立连接并独立编程实现,在编程过程中加深对硬件的理解、命令以及涉及的技巧。

2LED 显示器接口实验程序代码code segmentorg 100haa1: mov dx,04a6h ‘8255控制端口地址,大于255用dx做桥梁,小于255直接由端口地址传值mov al,80h ‘8255工作方式控制字out dx,allea bx,data ‘取偏移地址与bx相加aa3: mov ch,0‘显示数字0-------9 ,其中ch内容在变aa4: mov ah,0feh‘即1111 1110 为0时亮,须注意PB0与led接法,灯旋转方向mov si,6‘6个ledaa2: mov al,chxlat ‘查表地址转换指令:=MOV AL,[BX+AL]mov dx,04a0h ‘A口送字形,注意其端口地址out dx,almov al,ahmov dx,04a2h‘B口控制哪一位亮out dx,alrol ah,1 ‘1111 1110 循环左移mov di,0ffffhaa5: dec dijnz aa5 ‘延时,不为0,则decdi ,为0,则dec sidec sijnz aa2 ‘si不为0,则aa2——decsi ,为0,则inc chinc chcmp c h,12‘ch的值从0-18jnz aa4 ‘循环jmp aa3‘又从0开始到Fdata db 3fh,06h,5bh,4fh,66h,6dhdb 7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h,73h,88h,00hcode endsend aa1说明:在实验教学中如何培养能力?首先设计出较好的题目。

基于8255的8LED显示的动态显示器

基于8255的8LED显示的动态显示器

南京邮电大学学年第学期课程设计实验报告题目基于8255的8LED显示的动态显示器专业通信工程学号姓名指导老师实验日期年月日题目:基于8255的8LED显示的动态显示器一,实验目的和要求1,Proteus软件的MCS51单片机仿真学习2,根据提供的参考工程,在proteus平台自己重新设计实验电路所需要的电器原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取,原理图的电气连接,程序的编写编译以及运行,并能查出其错误等。

基本要求:1. 用数码管正常显示数字“12345678”。

2. 通过按键可改变显示方式。

3. 设计显示屏的动态效果,用10个按键,每键对应一种滚动技术。

4. 基于8255口是指显示和键盘都由8255的IO口控制发挥部分:1 设计所有动作的联合效果。

2 设计二个变速按键,可多级改变滚动速度。

3 设计一台魔术电子钟,采用自动变换,随机组合,数据每10秒变换一次。

动态显示格式:1 静止2 整体闪烁3 单字闪烁4 整体向前、向后滚动5 单字移动6 两边向中间压缩7 中间向两边扩张8 上下压缩9 文字上下滚动10组合动作(每一字符执行上述一个动作,并同时运动)二,实验仪器微型计算机三,实验原理基于8255的8LED显示的动态显示器,是由8255a做键盘控制口连接c51,并驱动8位7段数码管实现相应显示功能。

具体的,c51,p1口直接进行led数码管的位控制;p2口经74HC573译码后控制8255a的片选与内部奇存器选择;p0口连接8255a的D端口,并由它的PA口驱动7段led, PB口连接键盘,并做为I/O口与c51通信,以实现相应显示变化。

四,基本原件及其原理单片机微型计算机简称单片机,是指在一块芯片体上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O接口等部件,构成一个完整的微型计算机。

8255与多位LED数码管的显示

8255与多位LED数码管的显示
A组控制 部件 A组端口 A(8) I/O PA7~PA0
双向数据总线 D7~D0
8位内部 数据总 线缓冲 器 数据总线
A组端口 C上半部 (4)
I/O PC7~PC4
B组端口 C上半部 下半部 (4) RD WR A1 A0 RESET
I/O PC3~PC0
读/写控 制部件
B组控制 部件
B组端口 B(8)
2、编程并全速或单步运行。 3、全速运行时按动键盘,观察数码管的变化。 4、编写实验报告。
七、实验程序流程图 初始化8255
取字形码
显示输出
九、实验程序
assume cs:code code segment org 100h start: nop nop start1: mov cx,08h ;设置循环次数 mov bx,00feh ;bh=0000 0000,bl=1111 1110B mov dx, 04a6h ;控制寄存器地址 mov ax,80h ;设置为A口输出,B口输出 out dx, ax ;8255的初始化 disp: mov di, offset segcod ;取偏移地址送入di寄存器 mov dx, 04a0h ;A口地址 mov al, bh ;aL=0000 0000 mov ah, 00h ;ah=0000 0000 add di, ax ;得到第一个变量(字形码)3fh的偏移地址 mov al, cs:[di] ;将3fh送入al寄存器 out dx, al ;将字形码从A口输出
本实验中8255的地址分配如下: 端口A 04A0H 端口B 04A2H 端口C 04A4H 控制口 04A6H
mov dx, 04a2h ;B口地址 mov al, bl ;al=1111 1110B out dx, al ; al的内容从B口输出,使LED1有效 push cx ; 循环次数入栈保护 call delay pop cx ; 循环次数出栈 inc bh ;bh内容加1,指向第二个字形码 rol bl,1 ; bl=1111 1110B循环左移,使下个位控有效 loop disp jmp start1 delay: mov cx,43h ;延时程序,将此数改为最大观察结果 delay1: nop nop loop delay1 ret segcod db 3fh,06h,5bh,4fh,66h,77h code ends end start
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用8255设计LED显示器接口实验
1设计LED显示器接口实验
8086实验指导书显示器接口实验使用的是8279的显示输出功能,实验内容是在6位LED上循环显示8。

8086实验指导书8255并行口实验使用的是8255芯片,读开关量、输出、LED灯显示,实验讲义上都给出了电路原理图以及参考程序,学生往往是照着实验指导书上连接好线路,输入参考程序,进行程序调试。

大部分时间花在了实验的验证上,这样缺乏主动性和创新性,什么都是现成的。

能否在此基础上拓展一下,用8255芯片来实现显示器接口实验,这样既可取代8279,又可加深对8255的理解和使用。

实验任务:使用8255芯片的PA口作为段寄存器,PB口做为位寄存器,使用6位数码管从右向左逐位显示0~G,即显示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、G。

连线编程:由学生自己独立连接并独立编程实现,在编程过程中加深对硬件的理解、命令以及涉及的技巧。

2LED 显示器接口实验程序代码
code segment
org 100h
aa1: mov dx,04a6h ‘8255控制端口地址,大于255用dx做桥梁,小于255直接由端口地址传值
mov al,80h ‘8255工作方式控制字
out dx,al
lea bx,data ‘取偏移地址与bx相加
aa3: mov ch,0‘显示数字0-------9 ,其中ch内容在变
aa4: mov ah,0feh‘即1111 1110 为0时亮,须注意PB0与led接法,灯旋转方向
mov si,6‘6个led
aa2: mov al,ch
xlat ‘查表地址转换指令:=MOV AL,[BX+AL]
mov dx,04a0h ‘A口送字形,注意其端口地址
out dx,al
mov al,ah
mov dx,04a2h‘B口控制哪一位亮
out dx,al
rol ah,1 ‘1111 1110 循环左移
mov di,0ffffh
aa5: dec di
jnz aa5 ‘延时,不为0,则decdi ,为0,则dec si
dec si
jnz aa2 ‘si不为0,则aa2——decsi ,为0,则inc ch
inc ch
cmp c h,12‘ch的值从0-18
jnz aa4 ‘循环
jmp aa3‘又从0开始到F
data db 3fh,06h,5bh,4fh,66h,6dh
db 7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h,73h,88h,00h
code ends
end aa1
说明:
在实验教学中如何培养能力?首先设计出较好的题目。

例如用8255实现LED显示器接口实验,这个实验题目书上没有,要求利用实验箱上现成的器件来实现。

首先学生要思考的是如何连接8255、8086、LED等器件—也就是电路原理图,然后自己编程,并不断地尝试调试程序。

在调试过程中、熟悉一条条命令、一个个语句,或许更换一个个思路,直到问题解决为止。

一个较好综合实验,光靠实验课上的时间是远远不够的,这就要求实验室对学生全天开放,在过程中要求学生独立实验、独立调试、独立验证。

老师更多的是启发、引导,不进行示范。

鼓励学生相互讨论,鼓励在做好基础实验后,通过假设出现另一种实验结果来改动程序,培养学生举一反三能力。

例如本实验右循环显示程序又如何改动,汉字显示程序又如何改动等。

实验教学的根本目的就是培养学生解决问题的能力,其解决途径都是运用储备的知识,发挥主观能动性与经验,再加上个人的灵感。

求解是一个复杂且综合的过程,课堂教学只可能讲授求解的知识和经验,而无法表现其求解的精髓。

也就是说真正的求解能力是“教”不会,“学”不会的,只能在求解的实践中“练”会。

因此,教学中培养求解能力的根本途径是引出问题,设计较好的实验题目,激励学生的主动性,让学生自己动手解决问题。

3结束语
本文实现了LED显示器接口实验。

又如A/D实验:使用ADC0809芯片,按查询方式采样三路A/D转换数据,用简单输入口(74LS244)查询EOC信号。

而D/A实验是使用DAC0832芯片,编程以产生两种波形(锯齿波、三角波)并用示波器来观察。

也可以将两个实验合二为一,改进一下设计为一个综合实验,实验任务:使输入给DAC0832的数据由0开始每次逐加一,用发光二极管(LI1-LI8)以二进制数方式显示D/A与A/D转换结果,独立连接硬件、独立编写程序实现。

这就需要教师或学生们自己如何利用现有的实验条件,多设计一些综合或新颖的实验,从而增加更多的实践环节,培养自己能力。

相关文档
最新文档