一、实验目的
⑴掌握8255和微机接口方法。 ⑵掌握8255的工作方式和编程原理。
二、实验内容
用8255 PX作开关量输入口,PY作输出口(其中X≠Y,PX、PY口指的是8255 A、B、C口)。 编写程序,实现拨动开关实时控制发光二极管的亮灭。
三、程序参考流程
四、实验电路(PB口输入,PC口输出,或可自行设计)
五、编程提示
使8255端口B工作在方式0并作为输入口,读取K1~K8八个开关量,送C口显示。C口工作在方式0,作为输出口。
六、实验步骤
1、实验连线:按实验电路图连接线路(注意:粗实线要用导线连接,连接导线时将接口箱的电源断开)
(1)8255A芯片B口的PB0~PB7依次和开关量输入插孔K1~K8相连。 (2)8255A芯片C口的PC0~PC7依次接L1~L8。
2、PC联机状态下,在集成调试环境主界面上,打开或新建文件,按照程序流程图编辑程序、
· 10 ·
然后编译、连接、下载,选择某种运行方式调试程序。
3、连续运行程序,拨动K1~K8,观察L1~L8发光二极管是否对应点亮。
七、实验报告要求
1、附程序清单。
2、写出实际运行结果。
实验三 8255并行口应用实验——交通灯与霓虹灯控制
一、实验目的
掌握通过8255并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容
1、用8255作输出口,控制12个发光二极管依次点亮,模拟街头霓虹灯管理。 2、(选做)用8255作输出口,控制12个发光二极管亮灭,模拟交通灯管理。
三、程序流程
(自行设计)
四、实验电路
自己设计,用A、B、C口某12位依次连接LED灯L1~L12,如A口8位、C口高4位。
五、编程提示
1、模拟街头霓虹灯控制,要求某一时刻只有一盏灯点亮,延时后下一盏亮,循环控制实现流动的效果。
2、系统使用的发光二极管为共阴极,逻辑0点亮、逻辑1熄灭。
3、(选做)模拟交通灯管理。要完成本实验,必须先了解交通路灯的亮灭规律:东西路口的绿灯亮,同时南北路口的红灯亮,东西路口方向通车。延时等待后,东西路口的绿灯熄灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,同时南北路口的绿灯亮,南北路口方向开始通车,延时等待后,南北路口的绿灯熄灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复以上过程。
六、实验步骤
1、实验连线,按自己设计电路连线。
2、在与PC联机状态下,编辑程序,编译、连接、下载,用连续方式运行程序。 3、观察运行结果
七、实验报告要求
1、附程序清单。
2、写出实验运行结果。
· 11 ·
实验四 LED显示控制实验
一、实验目的
1、熟悉LED显示器动态显示过程。 2、掌握实验箱LED显示器的控制方法。
二、实验内容
利用实验箱上的六个LED进行显示实验。编写程序分别实现:1、控制一位LED显示;2、控制两位LED显示;3、控制六位LED显示
三、实验箱LED显示与键盘控制电路原理图
四、编程提示
1、LED的显示代码分为字形码和字位码,即对应字形口和字位口。 2、字形端口的地址为FFDCH,字位端口的地址为FFDDH。
字形表(详见附录) 代码 字形 C0 F9 A4 B0 99 92 82 F8 80 90 88 83 C6 A1 86 8E 0 1 2 3 4 5 6 7 8 9 A B C D E F 字位表 LED位置 LED6 字位值 20H LED5 10H LED4 08H LED3 04H LED2 LED1 02H 01H 3、LED显示块是电发光二极管作为显示字段组成的显示器,有共阳、共阴两种连接方式。本实验电路用的是共阴极LED。型号为LG505011AG,是七段附带一个小数点(dp)的共阴极显示
· 12 ·
器,内部结构及显示的字符形状如图所示。a~dp最终分别连接数据总线D0~D7。(实验箱为共阴极连接,在实际电路中段驱动接一240反向线驱动器,软件译码相当于共阳极接法)。
五、程序参考流程
1、控制一位LED显示:用查表换码法将要显示字符的字形码送AL,输出到字形口。如:要显示6,使AL=82H。将字符要显示的位置(字位码)送AL,输出到字位口。如要在LED6上显示,应使AL=20H。
2、控制两位LED同时显示:如可以先显示LED1,延时,再显示LED2,程序循环。
3、控制六位LED动态显示:如要想使你学号的后六位同时显示出来,视觉效果相当于“静态”显示。程序流程图如下:
六、实验步骤
观察跑“8”自检程序的实验现象,再根据程序流程图自行编写程序,编译、连接、下载、
· 13 ·
调试,用连续方式运行程序,观察运行结果。
七、实验报告要求
1、附6位显示程序清单。 2、写出实验运行结果。
实验五 8251串行通信——自发自收实验
一、实验目的
了解串行通信的实现原理,掌握8251的工作方式和编程方法。
二、实验内容
1、利用本实验系统内的8251接口芯片,采用自发自收的方法,完成数据发送和接收通信实验。发送的数据为从某一地址单元开始的16个源RAM区单元内容(如从4000H开始的16个单元),接收到的数据放在另一地址单元开始的目标RAM单元中(如从5000H开始的16个单元)。最后核对接收的数据是否和发送的数据一致。
2、修改源程序,实现发送的数据从5000H单元开始的16个源RAM区单元内容,将接收到的数据放在6000H地址单元开始的目标RAM单元中。有能力的同学将目标RAM单元中的数据依次显示在LED上,核对接收的数据是否和发送的数据一致。
三、程序参考流程
· 14 ·