1、 武汉理工大学华夏学院 课 程 设 计 课程名称 微机原理及接口技术 题 目点阵显示器显示系统设计 专 业 班 级 学 号 姓 名 成 绩 ________________ 指导教师 目 录 1 需求分析 - 1 - 1.1 课程设计题目 - 1 - 1.2 课程设计任务及要求 - 1- 1.2.1设计
2、目的 - 1 - 1.2.2设计任务 1- 1.2.3功能要求 - 1 - 1.3 软硬件运行环境 - 1 - 2 概要设计 - 1 - 2.1 点阵显示器显示系统设计思路 - 1 - 2.2 设计基于的芯片原理 - 1 - 2.2.1 8255A芯片 - 1 - 2.3点阵LED显示块原理 -3 - 2.3.1 LED显示块原理 - 3 - 2.3.2 点阵LED功能的说明 - 3 - 2.3.3 点阵LED各引脚的测试方法 - 4 - 2.3.4 点阵显示器显示系统原理图 - 4 - 2.3.5 点阵LED功能的说明 - 5 - 2.3.6 点阵LED各引角的测
3、试方法 - 5 - 3详细设计 - 5 - 3.1点阵显示器显示系统设计 - 5 - 3.1.1 点阵显示器显示系统电路接线图 - 5 - 3.1.2点阵显示器显示系统程序流程图 - 6 - 3.2 算法实现的源程序 - 7 - 4 系统调试与操作说明 - 8 - 4.1 系统调试 - 8 - 4.2 操作说明 - 8 - 5 课程设计总结与体会 - 8 - 1 需求分析 1.1 课程设计题目 点阵显示器显示系统设计 本课程设计采用了8255A在点阵显示器上显示一个汉字或数字。 1.2 课程设计任务及要求 1.2.1
4、设计目的 1.巩固和加深课堂所学知识; 2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力; 3.掌握点阵显示器芯片的工作原理,进一步加深对8255工作方式的理解 和应用。 1.2.2设计任务 任务:设计一个点阵显示器 1)使用点阵显示器芯片显示汉字。 2)可以稳定显示编程所输入的字符。 3)如何间断显示不同的2个字符? 1.2.3功能要求 设计任务要完成实验方案论证,进行电子显示系统电路硬件设计,画出电路原理图、元器件布线图及实验电路图;搭建实验电路,进行软件编程、调试、运行以及使用说明文档的建立等一整套工作任务。进行电子显示系统控制程序设计(采用汇编语言);系统
5、联调,提交一个满足要求的电子显示系统设计。 1.3 软硬件运行环境 1.实验设备TDN86/88教学实验系统,PC机一台,导线若干. 2.应用软件:WMD86。 2 概要设计 2.1 点阵显示器显示系统设计思路 1. 在8255上设置方式控制字,使用的是0工作方式,A口输出B口输出. 2. 将8255芯片的A口和B口与LED显示块连接, 显示1个字符,需8个字节显示字模对应于要显示的每一列发光二极管“亮灭”信息. 3. 使用的是先扫描列后扫面行的扫面方法. 2.2 设计基于的芯片原理 2.2.1 8255A芯片 1. 8255A的端口地址: 在片选信号CS
6、=0的条件下: 本实验我设计的端口地址为60H~63H,端口地址如表2.1所示: 表2.1 8255A端口地址 信号线 寄存器 地址 IOY3 A口 60H B口 61H C口 62H 控制寄存器 63H 2. 8255A的工作方式 有3种工作方式,本实验我主要采用方式0:基本型输入/输出方式。A端口工作在方式0并作为输出口,B端口工作方式0并作为输出口. 3. 8255A的控制字:设置控制字为10000000B=80H. 4. 8255A输入/输出接口电路 255A片内有A, B, C 3个8位并行端口,
7、A口和B口分别有1个8位的数据输出锁存/缓冲器和1个8位数据输入锁存器,C口有1个8位数据输出锁存/缓冲器和1个8位数据输入缓冲器,用于存放CPU与外部设备交换的数据。 5. 8255A的引脚 8255A的引脚如图2.1所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。 图2.1 8255A的引脚图 D7~D0:三态、双向数据线,与CPU数据总线连接,用来传送数据。 :片选信号线,低电平有效时,芯片被选中。 A1, A0:地址线,用来选择内部端口。 :读出信号线,低电平有效时,允许数据读出。 :写入信号线,低电平有效时,允许数据写入。 RESET:复
8、位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。 PA7~PA0:A口输入/输出信号线。 PB7~PB0:B口输入/输出信号线。 PC7~PC0:C口输入/输出信号线。 VCC:+5V电源。 GND:电源地线。 2.3点阵LED显示块原理 2.3.1 LED显示块原理 点阵LED显示块由64个发光二极管排列成8行x 8列的点阵(如图2.2所示,图中每个小圆圈就是一个发光二极管)。在同一行中的8个发光二极管的所有正极连接在一起,由一个引脚引出,在同一列中的8个发光二极管的所有负极连接在一起,由一个引脚引出,这样共有8个行引出脚和8个列引出脚。 根据
9、矩阵焊接面引脚与8255A芯片相连接,如要显示一个复杂图形或字符时,可以按逐列显示或按逐行显示,即一列一列(或一行一行)将要显示的点阵信息显示出来。本设计采用逐列扫描的方式实现。 图2.2 8*8点阵LED等效电路 2.3.2 点阵LED功能的说明 行扫描采用高电频有效,列扫描采用低电频有效,也就是说只有当某一行为高电频且某一列为低电频时,这一行和这一列对应的发光二极管才发光,点阵LED有16个引角,因为各引角的功能没有确定,所以要测试每个引角的功能. 图2.3 8*8点阵LED外观图 图2.4 8*8点
10、阵LED引脚图 2.3.3 点阵LED各引脚的测试方法 选取其中的任意8个引脚接到PA口,另外8个引脚接到PB口。然后初始化8255A。这时PA,PB都是输出方式,在PA,PB口随便输出一个控制字,这时点阵灯就会亮。当断开某个引脚时,若某行或某列的灯熄灭,则说明这个引脚是控制该行或该列的。设行控制引脚为A,B,C,D,E,F,G,H;列控制引脚为0,1,2,3,4,5,6,7.测试结果:上面的8个引脚依次为7,6,G,0,E,5,3,H;下面8个引脚依次为D,B,1,2,A,4,C,F 图2.5 引脚测试 将8255A的PA口接到点阵
11、LED的行控制引脚上,分别为:PA7-A,PA6-B,PA5-C,PA4-D,PA3-E,PA2-F,PA1-G,PA0-H. 将8255A的PB口接都点阵LED的列控制引脚上,分别为: PB7-0,PB6-1,PB5-2,PB4-3,PB3-4,PB2-5,PB1-6,PB0-7 2.3.4 点阵显示器显示系统原理图 8255芯片A口控制LED行,B口控制LED列,按列扫描,先写出B0列的8行对应的二进制编码,高电平为亮,用二进制“1”表示,低电平为灭,用“0”表示,举个例子,要显示“05”字,B0列的编码为:11111110,换成十六进制即FEH,依次得出B1
12、B2,B3,B4,B5,B6,B7列的编码分别为:FEH,82H,FEH,0H,9EH,91H,F2H,00H。在进行行扫描时,通过堆栈指针加一依次显示8列亮点,最后显示想要显示的字模。 图3.1点阵显示器显示系统电路的原理图 2.3.5 点阵LED功能的说明 行扫描采用高电频有效,列扫描采用低电频有效,也就是说只有当某一行为高电频且某一列为低电频时这一行和这一列对应的发光二极管才发光,点阵LED有16个引角,因为各引角的功能没有确定,所以要测试每个引角的功能。 2.3.6 点阵LED各引角的测试方法 随便选8个引脚接到8255A的PA口,剩下的8个引脚接PB口,初
13、始化8255A,使PA,PB口都为输出方式,在PA,PB口随便输出一个控制字.这时点阵LED上有灯亮,然后断开某个引脚,如果这时有某行或某列的灯熄灭,则说明这个引脚是控制某行或某列的,设行控制引脚为A,B,C,D,E,F,G,H;列控制引脚为0,1,2,3,4,5,6,7.测试结果:上面的8个引脚依次为7,6,G,0,E,5,3,H;下面8个引脚依次为D,B,1,2,A,4,C,F。 3详细设计 3.1点阵显示器显示系统设计 3.1.1 点阵显示器显示系统电路接线图 图3.1实验接线图 3.1.2点阵显示器显示系统程
14、序流程图 8255初始化,以端口方式0输出 通过8次移位,将8255输出端输出高电平,清除所有显示。 显示自摸指针SL,字模字节数CX=8 取一个字模BUF【SI】到8255端口A 指针加1,取下一个字模到8255端口A 按列扫描,显示所有字模对应的亮点,组成汉字 调用延时子程序DELAY,稳定显示汉字 循环执行取字模输出字模子程序 8B输出是否完成? N Y 开始 图3.2 点阵显示系统流程图 3.2 算法实现的源程序 DATA SEGMENT BUF DB FEH,82H,FEH,0H,9EH,91H,F2H,00
15、H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR START: PUSH DS ;保护程序返回地址 MOV AX,0 PUSH AX MOV AX,DATA ;设置数据段寄存器 MOV DS,AX MOV AL,80H ;8255A初始化 MOV DX,63H
16、 ;63H为8255A的控制端口 OUT DX,AL A: MOV AH,7FH MOV CX,8 MOV SI,0 B: MOV AL,BUF[SI] MOV DX,60H ;60H为端口B的端口地址 OUT DX,AL MOV AL,AH ;显示存放在AH中 MOV DX,61H OUT DX,AL INC SI
17、 ;修改字模指针 CALL DELAY ;延时 ROR AH,1 LOOP B JMP A MAIN ENDP DELAY PROC ;延时子程序 PUSH BX PUSH CX MOV BX,1 ;延时时间常数 MOV CX,500 DELAY1: LOOP DELAY1 DE
18、C BX JNZ DELAY1 POP CX ;恢复现场 POP BX RET DELAY ENDP CODE ENDS END START 4 系统调试与操作说明 4.1 系统调试 分析实验原理图后,按实验线路图进行连接。因为点阵LED显示器因体积太大以致于占据了整个接线插槽,故在连线时需从LED各个引脚对应的插槽处引出线后,与对应的8255芯片上的A,B口连接。输入程序并检查无误,经汇编连接后装入系统。运行程序,点阵LED显
19、示器显示预先设置的字符编码。 调试中遇到的问题及解决方案:在将所有的导线连接完毕,输入并运行程序后,LED上显示并非程序中所预设的字符。先检查并调试程序,发现程序并无任何错误。然后对照接线图对线路进行逐个检查,发现PA4-PA7的连线交叉接错。经更正后,发现LED显示的字符和预设的字符不完全等同,其中的一列应显示的灯没有亮,再一次核对线路连接后发现线路仍无任何错误,转而检查程序,发现程序中所定义的数据段多了一个逗号。去掉后,程序运行完全符合预设。 4.2 操作说明 (1)按实验线路图连接,将LED显示块的行线列线用线引出来连接到8255A 的端口上. (2)
20、输入程序并检查无误,经汇编连接后装入系统。 (3)打开实验设备,点击"RUN"运行实验程序,点阵LED显示器上就会显示 相应的字。 5 课程设计总结与体会 虽然本次课程设计中所需做的实验耗时两天,但是我也查了很多的相关书籍,对LED显示器有了一定的了解,点阵LED显示器结构原理与七段LED显示器类似,均由发光二极管组成,要想显示字符,将LED显示块的行线连接到8255A的端口上,要显示1个字符,需要向端口A输出的8个字节显示,共需8个字节显示字模对应于要显示的每一列发光二极管“亮灭”信息。 实验过程中的连线与平时实验线路的连接思路基本相同,需将LED显
21、示器的16个引脚与8255芯片的PA,PB口对应连接,然后调试程序。整个课程设计过程中值得注意的仍然是“细心”,若稍有马虎,需要对整个复杂的实验线路进行重新检查甚至拆线重新连接。 参考文献: [1] 宋杰等编著 《微机原理与接口技术课程设计》北京,机械工业出版社,2005.4 [2] 邹丽新等编著《微型计算机原理及应用实验指导》苏州,苏州大学出版社,2006.11 设计过程中质疑(或答辩)记载:
22、1. PB口在系统中的作用 答:控制点阵中8个列的低电频,因为只有当某一行为高电频且某一列为低电频时,这一行和这一列对应的发光二极管才发光。 2. ROR AH, 1的作用 答:将AH中的数向右循环移1次,从而改变显示的状态 指导教师评语: 签名: 年 月 日






