《与多位LED数码管的显.ppt》由会员分享,可在线阅读,更多相关《与多位LED数码管的显.ppt(15页珍藏版)》请在三一办公上搜索。
1、一、复习8255,实验2 8255与多位LED数码管的显示实验,8255功能特性 三个独立的8位并行输入/输出端口,各端口均 具有数据数据输入、输出能力;三种工作方式:0基本、1选通、2双向;可通过编程设置各端口的工作方式和数据传送 方向(入/出/双向)。,1.8255相关知识,8255的内部结构,C下半部,8255外部引脚,连接系统端的引线:,RESET:复位,A1,A0:端口选择,D0D7:数据线,三个端口可通过编程分别指 定为输入或输出口。,连接外设端的引线:PA0PA7PB0PB7PC0PC7,8255外部引脚,8255的初始化,8255工作前必须初始化,初始化时需设置:工作方式数据传
2、送方向通过向8255写入方式控制字实现:,方式0:基本输入/输出方式方式1:选通方式方式2:双向方式(仅A口),输入输出,对20H端口的访问格式:直接寻址IN AL,20H;从地址为20H的端口输入一个字节到ALOUT 20H,AL;将AL的内容输出到地址为20H的端口对200H端口的访问格式:间接寻址MOV DX,200H;将端口地址送DX寄存器IN AL,DX;从地址为200H的端口输入一个字节到ALOUT DX,AL;将AL的内容输出到地址为200H的端口,2.端口寻址方式,掌握8255A的编程原理与多位LED数码管的显示方法。,二、实验目的,把待显示字符的LED代码组成一个七段代码表,
3、存放在存储器中。通过对8255编写程序在多位LED数码管上显示输出。1、设计出8255与8086接口对应硬件电路,并完成相应的连接2、设计出8255与LED数码管的对应硬件接口电路,并完成相应的连接3、编写程序,在数码管上显示相应字符或数字4、写出习题部分要求的程序,三、实验内容,四、实验设备,MUT型实验箱、8086CPU模块。,五、8255与8086及8255与键盘的电路连接,LED-ALED-DP(段控),LED-1LED-6(位控),动态扫描显示字形码,复位键,CPU板座,LED数码管显示屏,LED1 LED6,LED-ALED-DP,跳线冒,六、实验步骤,1、实验接线 CS0CS82
4、55(输出)PA0PA7 LED-ALED-DP(段控)(输出)PB0PB5 LED-1LED-6(位控)2、编程并全速或单步运行。3、全速运行时按动键盘,观察数码管的变化。4、编写实验报告。,本实验中8255的地址分配如下:端口A 04A0H端口B 04A2H端口C 04A4H控制口 04A6H,七、实验程序流程图,九、实验程序,assume cs:code code segment org 100hstart:nop nop start1:mov cx,08h;设置循环次数 mov bx,00feh;bh=0000 0000,bl=1111 1110B mov dx,04a6h;控制寄存器
5、地址 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
6、 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、编程前先在E盘目录下建一个文件夹,并取一个英名名字,即名字中不能有汉字和数字。编完程序将其存于该目录下。,3、做完实验将实验箱右上角的CPU板卸下,再关实验箱。,2、做实验之前先取下跳线冒。,将自己学号的最后6位同时显示出来,