《微机原理与接口技术》课程设计-LED显示系统设计.doc
《《微机原理与接口技术》课程设计-LED显示系统设计.doc》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课程设计-LED显示系统设计.doc(28页珍藏版)》请在三一文库上搜索。
1、武汉理工大学微机原理与接口技术课程设计说明书 目目 录录 引言1 1 设计任务2 2 系统方案设计3 2.1 处理器选择3 2.2 驱动电路设计3 2.3 程序方案设计4 3 电路设计5 3.1 元器件介绍5 3.1.1 8255 可编程并行接口芯片 .5 3.1.2 三种译码器6 3.1.3 并入串出接口芯片 74166 6 3.1.4 串入并出接口芯片 74595 7 3.2 各部分电路设计8 3.2.1 64x64LED 点阵连接 .8 3.2.2 行驱动电路设计9 3.2.3 列驱动电路设计9 3.2.4 整体电路图.10 4 程序设计.12 4.1 程序流程图.12 4.2 各部分功
2、能的程序实现.13 4.2.1 汉字的二进制编码.13 4.2.2 汉字显示的程序实现.14 4.2.3 延时子程序.15 5 小结体会.16 参考文献.17 附录.18 武汉理工大学微机原理与接口技术课程设计说明书 1 引言引言 LED(Light Emitting Diode) ,发光二极管,是一种固态的半导体器件,它 可以直接把电转化为光。LED 的心脏是一个半导体的晶片,晶片的一端附在一 个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装 起来。半导体晶片由两部分组成,一部分是 P 型半导体,在它里面空穴占主导 地位,另一端是 N 型半导体,在这边主要是电子。但这两种
3、半导体连接起来的 时候,它们之间就形成一个“P-N 结”。当电流通过导线作用于这个晶片的时候, 电子就会被推向 P 区,在 P 区里电子跟空穴复合,然后就会以光子的形式发出 能量,这就是 LED 发光的原理。而光的波长决定光的颜色,是由形成 P-N 结材 料决定的。LED 的特点非常明显,寿命长、光效高、无辐射与低功耗。 鉴于 LED 自身的优势,其主要应用在以下几个方面: 1. LED 数码显示器和显示屏 2. LED 投光灯和水下灯 3. LED 居室装饰灯等。 武汉理工大学微机原理与接口技术课程设计说明书 2 1 1 设计任务设计任务 LED 显示系统设计: 采用 6464 矩阵形式的
4、LED 显示“玉兔迎春”四个字,要求每个字依次 3s 显 示后再共同形式 5s,周而复始。 要求: 选择合适的芯片;利用 8086 或单片机配套其他需要的芯片设计硬件电 路。 设计原理电路;利用已知芯片设计可实现要求功能的电路。并利用画电 路图软件绘制出硬件电路图 画出电路图;利用画电路图软件绘制出硬件电路图,并解释个部分电路 功能。 编写出相应的程序;画出程序流程图,并利用 8086 或单片机的指令集 写出实现要求功能的汇编程序或 C 程序。 撰写设计说明书,内容包括:摘要(中英文对照) 、目录、正文、参考 文献、附录。正文部分包括:方案论证、硬件设计说明(芯片选择、硬件连接 图及说明、地址
5、分析等) 、软件设计说明(参数计算、流程图设计及说明等) 、 课程设计收获及心得体会。 武汉理工大学微机原理与接口技术课程设计说明书 3 2 2 系统方案设计系统方案设计 本设计中方案设计主要包括处理器选择、驱动电路设计和程序设计三部分, 下面逐次介绍各种设计方案的选择。 2.1 处理器选择 方案一:利用 80C51 单片机作为程序处理器,80C51 单片机有 4 个并行 I/O 接口,分别为 P0、P1、P2、P3,每个接口都有 8 个引脚,每个引脚均是双向输 入输出通道,输入时可以实现资料所存,输出时可以实现数据缓冲。 方案二:利用 8086CPU 作为程序处理器,8086CPU 为 16
6、 位机,有 16 根数 据线,20 根地址线,一般情况下,8086CPU 引脚不直接和外部设备相连,而多 是与外设驱动接口电路相连实现对外设的间接控制。 由于本学期我们微机原理课程学习 8086 处理器,所以本设计中优先采用 8086CPU 作为程序处理器。 2.2 驱动电路设计 方案一:静态锁存显示,将 LED 点阵阳极接高电平,阴极接低电平,这种 方式电路接线简单,显示方式单一,控制程序也简单,但是其耗费接口的引脚, 硬件开支大,在 LED 点阵规模较大时将无法实现电路连接。 方案二:动态扫描显示,该方法是指显示屏共用一组列驱动寄存器,然后 通过行驱动管的分时工作,使每行数据显示一定时间,
7、循环显示,只要循环频 率大于 24Hz,即可利用人眼的视觉暂留效应使人感觉如同同时显示所有数据一 般,该方法控制方式多样,接口引脚需要较少,但是电路接线复杂,一般用在 LED 点阵规模较大时。 本设计中由于为 64x64LED 点阵,规模较大,故采用动态扫描显示方案。 其模型如图 2-1 所示。 武汉理工大学微机原理与接口技术课程设计说明书 4 图 2-1 动态扫描方案图 2.3 程序方案设计 本设计采用 8086 控制器,为了提高程序运行速度,本设计采用汇编编程语言, 具体设计方案将在下面程序设计中解释。 控 制 器 64x64LED 点阵 行 驱 动 电 路 列驱动电路 武汉理工大学微机原
8、理与接口技术课程设计说明书 5 3 3 电路设计电路设计 本设计中所有硬件电路均在 proteus 软件中完成,各器件也以 proteus 中为 标准。 3.1 元器件介绍 本设计中硬件电路采用了 8086CPU、8255A 可编程并行接口芯片、2-4 译码 器 74139、3-8 译码器 74138、4-16 译码器 74154、并入串出芯片 74166、串入 并出芯片 74595、8x8LED 点阵、TIP122 和 TIP127 三极管等元器件,下面逐次 介绍。 3.1.13.1.1 82558255 可编程并行接口芯片可编程并行接口芯片 8255A 是一种通用的可编程并行 I/O 接口
9、芯片,其具有 3 个带锁存或缓冲的 数据端口,可与外设并行进行数据交换,其中 A、B 端口有三种工作方式,C 端口有两种工作方式。其管脚分布如图 3-1。 武汉理工大学微机原理与接口技术课程设计说明书 6 图 3-1 8255A 管脚图 8255A 的方式控制字有 8 位,为 D7D0,其中 D7=1 为该控制字的标志。 A 组由 D6、D5、D4 和 D3 组成,其中 D6 和 D5 为工作方式选择,D4 为 A 口 的输入输出选择,D3 为 C 口高四位的输入输出选择,B 组由 D2、D1 和 D0 组 成,其中 D2 为工作方式选择,D1 为 B 口的输入输出选择,D0 为 C 口低四位
10、 输入输出选择,具体功能如图 3-2 所示。 图 3-2 8255A 方式控制字 3.1.23.1.2 三种译码器三种译码器 本设计中采用了 74139、74138、74154 三种译码器,分别为 2-4 线、3-8 线 和 4-16 线译码器,由于在数字电路中我们已经接触过这三种译码器,所以在此 不再赘述。 3.1.33.1.3 并入串出接口芯片并入串出接口芯片 7416674166 74166 为 8 为并入串出移位寄存器,有 8 个并行输入管脚和一个串行输出管 脚,工作时串行输出管脚按照给定的时钟频率将并行输出的数据依次串行输出, 其管脚图和真值表分别如图 3-3 和 3-4 所示。 武
11、汉理工大学微机原理与接口技术课程设计说明书 7 图 3-3 74166 管脚图 图 3-4 74166 真值表 3.1.43.1.4 串入并出接口芯片串入并出接口芯片 7459574595 74595 是一个 8 位串行输入并行输出的移位寄存器,其余 74166 相反,有 8 个 并行输出管脚和一个串行输入管脚,正常工作时按照给定的频率将 8 位串行输 入数据按顺序并行输出,图 3-5 和 3-6 分别为其管脚图和各管脚功能表。 武汉理工大学微机原理与接口技术课程设计说明书 8 图 3-5 74595 管脚图 图 3-6 74595 管脚功能表 3.2 各部分电路设计 本设计中包括 64x64
12、LED 点阵连接、行驱动电路和列驱动电路三部分。 3.2.13.2.1 64x64LED64x64LED 点阵连接点阵连接 Proteus 中只提供了 8x8LED 点阵模块,其显示规律为:某一行线为高电平 而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行 列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行的点全 部为暗。用 8x8 点阵构成 16x16 点阵的连接方法如图 3-7 所示,连接后保证和 8x8 点阵的显示规律相同,而由 8x8 构成本设计需要的 64x64 点阵连接方式与 构成 16x16 点阵方式相似,连接后一样要保证和 8x8 点阵的显示规律
13、相同。 武汉理工大学微机原理与接口技术课程设计说明书 9 图 3-7 8x8 点阵构成 16x16 点阵连接图 3.2.23.2.2 行驱动电路设计行驱动电路设计 本设计中由于有 64 行,行数较多,若直接将 8255A 管脚与各行相连将非常 麻烦且不好控制,为此,我采用 4 个 4-16 线译码器 74154 作为行驱动的连接芯 片。且为了便于程序控制,4 个 74154 的选择上我采用一个 2-2 线译码器 74139,然后将 4 个 74154 的 4 个输入管脚按顺序连在 8255A 的 A 口的低四位 上,74139 的 2 个输入管脚按顺序连在 8255A 的 A 口的 PA4 和
14、 PA5 两管脚上, 这样使得 4 个 74154 的 64 个输出管脚刚好能按顺序从 00H 到 3FH 连续编码。 由于每个 LED 点亮时大约有 5mA 的电流,若一行 64 个 LED 全部点亮则 大约有 320mA 电流,这大大超过 74154 的负载能力,所以我在 74154 输出管脚 和 LED 点阵行管脚之间用 TIP127 三极管连接,以放大电流驱动 LED 点阵。本 部分连接图如图 3-8 所示。 武汉理工大学微机原理与接口技术课程设计说明书 10 图 3-8 行驱动电路图 3.2.33.2.3 列驱动电路设计列驱动电路设计 与行一样,本设计中列数有 64 列,不可能将其直
15、接与 8255A 管脚相连,而 若采用行驱动方式即译码器驱动方式,由于列数太多将导致扫描速度太慢从而 影响显示效果,为了提高扫描速度并尽量少的用 8255A 的管脚,我采用串入并 出芯片 74595 结合 74166 和 74138 以及 TIP122 三极管来驱动点阵列。 列驱动电路中 74138 连接 8255A 的 C 口的低四位,正常工作时用以选择选 通所需的 74595 移位寄存器,而当某一个 74595 移位寄存器选通时,74166 则 将从 8255A 的 B 口输入进的 8 位数据串行输出到选通的 74595 移位寄存器中, 然后 74595 移位寄存器将数据并行输出到 LED
16、 点阵列中,同样由于电流过大的 原因我在点阵列与 74595 输出管脚间用 TIP122 三极管连接以期放大电流驱动 LED 点阵工作,电路设计图如图 3-9 所示。 武汉理工大学微机原理与接口技术课程设计说明书 11 图 3-9 列驱动电路图 3.2.43.2.4 整体电路图整体电路图 通过以上分析,可以基本清楚了本设计中的电路方案设计,一下是连接上 8086CPU 以后的整体电路设计,如图 3-10。 武汉理工大学微机原理与接口技术课程设计说明书 12 图 3-10 整体电路图 武汉理工大学微机原理与接口技术课程设计说明书 13 4 4 程序设计程序设计 本部分主要包括程序结构图和各部分功
17、能实现方法。 4.1 程序流程图 本程序整体思路如图 4-1 所示。 开始 初始化 Y 显示“玉”并保持 3 秒钟 显示“兔”并保持 3 秒钟 显示“迎”并保持 3 秒钟 显示“春”并保持 3 秒钟 显示“玉兔迎春”并保持 5 秒钟 中断命令 结束 N 图 4-1 程序流程图 武汉理工大学微机原理与接口技术课程设计说明书 14 4.2 各部分功能的程序实现 此部分中主要包括各汉字的二进制序编码、汉字显示的程序实现和延时子 程序的编程。 4.2.14.2.1 汉字的二进制编码汉字的二进制编码 本设计中要求实现“玉” 、 “兔” 、 “迎” 、 “春”四个汉字的显示。首先我们 要先对这四个汉字进行
18、编码,使其能以二进制数据存储,在此我仅列出“玉” 字的编码,其他汉字的编码方式与之相似。其图形如图 4-2,其中“-”代表该 点的编码为 1,即为列输出高电平, “0”代表该点的编码为 0,即为列输出低电 平。 图 4-2 “玉”字的编码图 由于本设计中采用 64x64 点阵显示 4 个汉字,故每个汉字采用 32x32 位编 武汉理工大学微机原理与接口技术课程设计说明书 15 码,根据上图中“-”代表 1 列为高电平、 “0”代表 0 列为低电平的方式可以得 到“玉”字的二进制编码如图 4-2 右边所示。 4.2.24.2.2 汉字显示的程序实现汉字显示的程序实现 此处仍以“玉”字为例讲述汉字
19、具体的实现过程。其显示的代码段如下: MOV BX,OFFSET TAB1;显示“玉”字 MOV CX,32 ;总共 32 行,循环 32 次 MOV AL,00H ;最开始选择第 0 行 YU_H: PUSH CX PUSH AX ;将行循环次数和行号推入堆栈保存 MOV AH,01H MOV CX,4 ;一个字需要 4 片 74595 YU-L: MOV AL,AH MOV DX,C_PORT ;取 C 口的地址 OUT DX,AL ;利用 74138 选择需要列的 74595 芯片 XLAT ;取对应表中“玉”对应列的二进制编码 MOV DX,B_PORT OUT DX,AL ;将对应的
20、二进制编码输出 INC AH ;选通下一个需要列的 74595 芯片 LOOP YU_L POP AX POP CX ;将保存的 CX、AX 弹出堆栈 MOV DX,A_PORT OUT DX,AL ;选通第 AL 行 INC AL ;行号逐次加 1 ADD BX,04H LOOP YU_H CALL THREE ;调用延迟 3s 子程序 武汉理工大学微机原理与接口技术课程设计说明书 16 由此可见程序的思路为首先选通前 8 列对应的 74595,然后将二进制编码数 据串行输入到该 74595 移位寄存器,并且并行输出到 LED 点阵中,然后选通 第 0 行以点亮对应列的 LED,执行完后转移
21、到下 8 列和下 1 行,如此直至将该 汉字动态扫描完毕,然后调用保持 3 秒子程序,执行下一个汉字的显示程序代 码。 其他的几个汉字显示方式与之相似。 4.2.34.2.3 延时子程序延时子程序 本设计中有延时 3 秒和延时 5 秒两个子程序,为了减小硬件开支和简化电 路设计,我采用软件延时方法,两个子程序均以延时 100ms 标准程序经过修改 而成,此处仅给出延时 3 秒的子程序代码如下: THREE PROC ;三秒延迟子程序 PUSH BX PUSH CX MOV BL,300 DELAY:MOV CX,2801 WAIT: LOOP WAIT DEC BL JNZ DELAY POP
22、 CX POP BX RET THREE ENDP 标准延时 100ms 程序只是将本程序中第 4 行的 300 改为 10,而延时 5 秒则 类似的将 300 改为 500 即可。 武汉理工大学微机原理与接口技术课程设计说明书 17 5 5 小结体会小结体会 刚开始接触次设计时感觉此设计应该很简单,但是当我真正着手做时却并 不感觉轻松,因为当点阵规模较大时会有芯片引脚不够、程序难以控制等诸多 问题出现,我感到难以继续下去,为了解决问题,我一头扎进图书馆,查阅了 大量有关 LED 应用的资料,并在网络上学习相关知识,最终在LED 及其工 程应用一书中受到启发,明白了动态扫描显示方法和恒流驱动
23、LED 点阵列的 原理。并在此基础上结合在微机原理与接口技术课程中所学的 8086 编程及 其接口知识独立完成了电路设计和程序设计。 此次课程设计过程中我不仅学会了根据需要到图书馆和网络上查阅相关资 料和学习相关知识,并且学会将所学汇编知识应用在实际电路中。本设计中值 得一提的是在同时显示“玉兔迎春”四个字并保持 5 秒钟的时候有两种方案选 择,一种是按照显示单个汉字的方式逐行显示,另一种是按照逐字显示方法, 即每个字显示后不延时直接扫描下一个字,由于第一种方式需重新对各行对应 列所显示的字进行编码,为了提高代码利用率和简化程序,本设计中我采用第 二种扫描方式。又由于在 proteus 中将
24、8x8 点阵连接成 64x64 点阵非常麻烦,所 以仿真电路中我采用单片机控制 8x8 的 LED 点阵,并采用 C 语言编程。 武汉理工大学微机原理与接口技术课程设计说明书 18 参考文献参考文献 1 周佩玲等, 微机原理与接口技术(基于 16 位机) ,电子工业出版社,2006 2 胡乾斌等, 单片微型计算机原理与应用(第二版) ,华中科技大学出版社, 2005 3 吴友宇等, 模拟电子技术基础 ,清华大学出版社,2009 4 伍时和等, 数字电路技术基础 ,清华大学出版社,2009 5 杨清德等, LED 及其工程应用 ,人民邮电出版社,2009 6 王宝和等, 汇编语言程序设计及应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 微机 原理 接口 技术 课程设计 LED 显示 系统 设计
链接地址:https://www.31doc.com/p-3259514.html