1、 微机原理课程设计实验报告微机原理课程设计实验报告 霓虹灯闪烁控制设计 一 设计内容 利用可编程并行接口芯片 8255A,通过软件设置它的工作方式来控制 8 个 LED 灯的亮 灭,使它们按照不同的规律闪烁,从而实现霓虹灯闪烁控制系统的设计。 二 设计目的 通过设计霓虹灯闪烁控制系统,学会使用芯片 8255A,掌握 8255A 和微机接口方法, 以及它的的工作方式和编程原理。 三 设计要求 通过对 8255A 进行软件编程使 8 个 LED 灯实现四种不同规律的变化: 1使8个 LED 灯一起闪烁4次 2.从左向右循环依次逐一闪亮,闪亮时间隔离定为0.5秒,这种变化重复4次。 3.从右向左循环
2、依次逐一闪亮,闪亮时间隔离定为0.5秒,这种变化重复4次。 4.最左边和最右的两个灯点亮并同时向中间移动,相遇后又分离,移动间隔时间为0.5秒, 这种变化重复4次。 四设计原理 如硬件原理图所示,该系统由三部分组成:CPU8086、芯片 8255A 以及 8 个 LED 灯系统。 其中,CPU 的 8 条数据线同 8255A 的 8 条数据线对应相连。读线、写线分别与 8255A 的读线 写线相连。 地址线的前两位同 8255A 的 A0、 A1 相连, 同读写信号以及片选信号共同决定 8255A 不同工作方式的地址。8255A 的片选信号 CS 接到地址译码器输出 070-07F 插孔。从而
3、完成 了 CPU 对 8255A 的控制。 通过 DVCC-8086单板机上的8255芯片来实现霓虹灯闪烁控制系统的设计,利用8255A 中 的 PC 口,将其8位输出 PC7PC0分别与8个 LED 灯 L1L8相连,当 PC 口其中某位输出为“0” 时,则对应 LED 灯亮。 通过编程先对 8255 进行初始化,选择控制字,设置 PC 口为输出方式,然后给 8086CPU 中的 AH 赋值 0EFH,采用循环移位指令对 AH 中的数值 0EFH 进行移位,最后将移位后的数据 输到 PC 口,从而使 8 个 LED 灯按要求依次逐一点亮。 其他变化原理与此类似,主要是利用 循环移位指令使 P
4、C 口某位为零,从而使相应位的 LED 灯闪亮。 五预备知识 8255端口地址的确定: 8255 片选 CS 的连接决定了 8255 的端口地址。当 8255 片选 CS 端连接到地址译码器输 出 070-07F 插孔时,则 8255 端口地址对应为: 控制口:073 H PA 口:070 H PB 口:071 H PC 口:072 H 8255控制字的确定:置8255控制字为80H=1000 0000 D7: =1 (控制字标志) D6,D5:=00(A 口方式0) ,=01(方式1) , =1X(方式2) D4: =0(A 口输出) , =1(A 口输入) D3: =0 (C 口高4位输出
5、), =1(C 口高4位输入) D2: =0(B 口方式0) , =1(方式1) D1: =0(B 口输出) , =1(B 口输入) D0: =0 (C 口低4位输出), =1(C 口低4位输入) 【8255A 的引脚图及相关说明如下】 : 8255编程: 先对8255A 初始化,送8255控制字到控制口73H,再从 PA、PB、PC 口输入输出数据。 六设计步骤 (1) 硬件原理图 (2)软件流程图 8255初始化,置8255控制字为80H 置 PA0=0,其余各位为1, 右边第一只 LED 灯亮 ,延时0.5秒 置 PA1=0,其余各位为1, 右边第二只 LED 灯亮 ,延时0.5秒 置
6、PA7=0,其余各位为1, 右边第八只 LED 灯亮 ,延时0.5秒 返回 AD015 READY 22 INTR 18 NMI 17 RESET 21 CLK 19 MN/MX 33 HOLD/GT1 31 HLDA/GT0 30 A1619 M/IO/S0 28 ALE/QS0 25 DT/R/S1 27 INTA/QS1 24 TEST 23 BHE 34 DEN/S2 26 RD 32 WR/LOCK 29 U1 8086 D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27 RD 5 WR 36 A0 9 A1 8 RESET 35 CS 6 PA0 4 PA1 3 PA2 2 PA3 1 PA4 40 PA5 39 PA6 38 PA7 37 PB0 18 PB1 19 PB2 20 PB3 21 PB4 22 PB5 23 PB6 24 PB7 25 PC0 14 PC1 15 PC2 16 PC3 17 PC4 13 PC5 12 PC6 11 PC7 10