微机原理课程设计1点阵电子屏.docx
《微机原理课程设计1点阵电子屏.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计1点阵电子屏.docx(13页珍藏版)》请在冰豆网上搜索。
微机原理课程设计1点阵电子屏
河南理工大学
计算机科学与技术学院
课程设计报告
2011—2012学年第1学期
课程名称微型计算机原理与接口技术
设计题目点阵电子显示屏的设计
学生姓名
学号
专业班级
指导教师
2011年09月08日
目录
一、概述1
二、设计目的和要求1
三、硬件介绍1
3.1发光二极管简介1
3.28255简介2
四、原理分析3
4.1LED显示块原理3
4.2点阵LED功能的说明3
4.3点阵LED各引脚的测试方法4
4.4点阵显示器显示系统原理图5
4.5点阵LED功能的说明5
4.6点阵LED各引角的测试方法5
五、电子显示屏的设计6
5.1电子显示屏的电路设计6
5.2点阵显示器显示系统程序流程图6
六、总结和体会8
七、参考文献8
附录9
点阵电子显示屏设计
一、概述
LED电子显示屏是由几万--几十万个半导体发光二极管像素点均匀排列组成。
利用不同的材料可以制造不同色彩的LED像素点。
目前应用最广的是红色、绿色、黄色。
而蓝色和纯绿色LED的开发已经达到了实用阶段。
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。
LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。
这些优点概括起来是:
亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
二、设计目的和要求
设计目的:
设计一个点阵电子显示屏
设计要求:
8X8点阵LED字符显示器能显示“电子设计”几个汉字
三、硬件介绍
3.1发光二极管简介
发光二极管简称为LED。
由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。
在电路及仪器中作为指示灯,或者组成文字或数字显示。
磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。
它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。
不同的半导体材料中电子和空穴所处的能量状态不同。
当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。
常用的是发红光、绿光或黄光的二极管。
发光原理发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。
在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。
当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。
3.28255简介
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分。
功能特性
(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.
(2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.
四、原理分析
4.1LED显示块原理
点阵LED显示块由64个发光二极管排列成8行x8列的点阵(如图2.2所示,图中每个小圆圈就是一个发光二极管)。
在同一行中的8个发光二极管的所有正极连接在一起,由一个引脚引出,在同一列中的8个发光二极管的所有负极连接在一起,由一个引脚引出,这样共有8个行引出脚和8个列引出脚。
根据矩阵焊接面引脚与8255A芯片相连接,如要显示一个复杂图形或字符时,可以按逐列显示或按逐行显示,即一列一列(或一行一行)将要显示的点阵信息显示出来。
本设计采用逐列扫描的方式实现。
图4.18*8点阵LED等效电路
4.2点阵LED功能的说明
行扫描采用高电频有效,列扫描采用低电频有效,也就是说只有当某一行为高电频且某一列为低电频时,这一行和这一列对应的发光二极管才发光,点阵LED有16个引角,因为各引角的功能没有确定,所以要测试每个引角的功能.
图4.28*8点阵LED外观图
图4.38*8点阵LED引脚图
4.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
图4.4引脚测试
将8255A的PA口接到点阵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
4.4点阵显示器显示系统原理图
8255芯片A口控制LED行,B口控制LED列,按列扫描,先写出B0列的8行对应的二进制编码,高电平为亮,用二进制“1”表示,低电平为灭,用“0”表示,举个例子,要显示“05”字,B0列的编码为:
11111110,换成十六进制即FEH,依次得出B1,B2,B3,B4,B5,B6,B7列的编码分别为:
FEH,82H,FEH,0H,9EH,91H,F2H,00H。
在进行行扫描时,通过堆栈指针加一依次显示8列亮点,最后显示想要显示的字模。
图4.5点阵显示器显示系统电路的原理图
4.5点阵LED功能的说明
行扫描采用高电频有效,列扫描采用低电频有效,也就是说只有当某一行为高电频且某一列为低电频时这一行和这一列对应的发光二极管才发光,点阵LED有16个引角,因为各引角的功能没有确定,所以要测试每个引角的功能。
4.6点阵LED各引角的测试方法
随便选8个引脚接到8255A的PA口,剩下的8个引脚接PB口,初始化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。
五、电子显示屏的设计
5.1电子显示屏的电路设计
图5.1实验接线图
5.2点阵显示器显示系统程序流程图
本系统不仅要求显示屏能够显示,而且要求能够显示出汉字“电子设计”,在LED组成的电子显示屏上,亮的地方用1表示,不亮的用0表示,如图5.2所示,“电”字:
图5.2
所以为了实现汉字的显示,要对四个汉字进行编码。
电子显示屏系统的流程图如图5.3所示:
图5.3点阵显示系统流程图
本系统的程序清单见附录
六、总结和体会
通过这次课程设计我加深了对8255的认识,加深了对电子显示屏的工作原理的认识。
在本次电子显示屏设计的课程设计中,由于之前知识掌握的不够牢固,而且接触了很多新的知识,所以在课程设计的过程中遇到了不少的问题。
导致系统的功能和健壮性不是很完善,还好所要求的基本功能都已实现。
两周的课程设计结束了,在这过程中,有失也有得,有成功的喜悦,也有因知识掌握不全面而导致苦难重重所付出的代价。
由于自身没有掌握好所学的知识,加上课程设计过程中遇到了很多新的东西,所以课程设计过程中遇到的很多问题,通过查阅资料,请教老师和同学,最终都得以解决。
在这里感谢老师和同学对我的帮助!
七、参考文献
[1]李长青,微型计算机原理与接口技术.江苏:
中国矿业大学出版社,2007.
[2]彭介华,电子技术课程设计指导.北京:
高等教育出版社,2000.
[3]潘新民,微型计算机控制技术.北京:
人民邮电出版社,1999.
[4]宋杰等编著,微机原理与接口技术课程设计.北京:
机械工业出版社,2005.4
附录
INCLUDEL.INC
.386P
;****************根据查看端口资源修改下列符号值*******************
IOY0EQU0a800H;片选IOY0对应的端口始地址
;*****************************************************************
MY8259_ICW1EQUIOY0+00H;实验系统中8259的ICW1端口地址
MY8259_ICW2EQUIOY0+04H;实验系统中8259的ICW2端口地址
MY8259_ICW3EQUIOY0+04H;实验系统中8259的ICW3端口地址
MY8259_ICW4EQUIOY0+04H;实验系统中8259的ICW4端口地址
MY8259_OCW1EQUIOY0+04H;实验系统中8259的OCW1端口地址
MY8259_OCW2EQUIOY0+00H;实验系统中8259的OCW2端口地址
MY8259_OCW3EQUIOY0+00H;实验系统中8259的OCW3端口地址
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENTUSE16
ADDRDW?
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,MY8259_ICW1;初始化实验系统中8259的ICW1
MOVAL,13H;边沿触发、单片8259、需要ICW4
OUTDX,AL
MOVDX,MY8259_ICW2;初始化实验系统中8259的ICW2
MOVAL,08H
OUTDX,AL
MOVDX,MY8259_ICW4;初始化实验系统中8259的ICW4
MOVAL,01H;非自动结束EOI
OUTDX,AL
MOVDX,MY8259_OCW1;初始化实验系统中8259的OCW1
MOVAL,0FCH;打开IR0和IR1的屏蔽位
OUTDX,AL
QUERY:
MOVAH,1;判断是否有按键按下
INT16H
JNZQUIT;有按键则退出
MOVDX,MY8259_OCW3;向8259的OCW3发送查询命令
MOVAL,0CH
OUTDX,AL
INAL,DX;读出查询字
TESTAL,80H;判断中断是否已响应
JZQUERY;没有响应则继续查询
ANDAL,03H
CMPAL,00H
JEIR0ISR;若为IR0请求,跳到IR0处理程序
JNEIR1ISR;若为IR1请求,跳到IR1处理程序
JMPQUERY
IR0ISR:
MOVADDR,OFFSETHZDOT;取汉字数组始地址
MOVSI,ADDR
A1:
MOVCX,20H;控制1屏显示时间
LOOP2:
CALLDISPHZ
SUBSI,32
LOOPLOOP2
KEY:
MOVAH,1;判断是否有按键按下?
INT16H
JNZQUIT
ADDSI,2
MOVAX,SI
SUBAX,ADDR
CMPAX,352;比较文字是否显示完毕
JNBIR0ISR
JMPA1
QUIT:
MOVEAX,0;灭灯
MOVDX,IOY0
OUTDX,EAX
MOVAX,4C00H;结束程序退出
INT21H
DISPHZPROCNEAR;显示1屏汉字子程序
PUSHCX
MOVCX,16
MOVBX,0FFFEH
LOOP1:
MOVAL,BYTEPTR[SI]
MOVAH,BYTEPTR[SI+1]
ROLEAX,16
MOVAX,BX
ADDSI,2
ROLBX,1
NOTEAX
MOVDX,IOY0
OUTDX,EAX
CALLDALLY
LOOPLOOP1
POPCX
RET
DISPHZENDP
IR1ISR:
MOVAL,31H;IR1处理,显示字符1
MOVAH,0EH
INT10H
MOVAL,20H
INT10H
EOI:
MOVDX,MY8259_OCW2;向实验系统中8259发送中断结束命令
MOVAL,20H
OUTDX,AL
JMPQUERY
DALLYPROCNEAR;软件延时子程序
MOVAX,0FFFFH
D1:
DECAX
JNZD1
RET
DALLYENDP
CODEENDS
ENDSTART