微机实验报告4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机实验及课程设计》
实验报告
实验四双列点阵发光二极管显示实验
姓名:学号:
专业:仪器科学与工程学院实验室:计算机硬件技术实验时间: 2013年05月16日报告时间: 2013年05月16日评定成绩:审阅教师:
一. 实验目的
1、了解双色点阵LED显示器的基本原理
2、掌握PC机控制双色点阵LED显示程序的设计方法
二. 实验内容
1、必做内容:
(1)在双色点阵发光二极管上显示一个黄色或红色的“年”字。
(2)在双色点阵发光二极管上显示你的姓的汉字或拼音的第一个字母。要求该字符红色和黄色相间。
要求:
1、正确设置退出条件:可以按任意键退出,或者显示一定的次数退出
2、注意尽量清晰地显示字符,消除重影问题
2、选做内容:
(1)利用双色点阵发光二极管任意设计一款霓虹灯动态图案,要求二极管阵列可以间或发两种颜色的光,并能看清动态变换的效果。
三.实验原理与接线
点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件,双色点阵LED是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。当微机输出的控制信号使得点阵中有些LED发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。车站广场由微机控制的点阵LED大屏幕广告宣传牌随处可见。
实验仪上设有一个共阳极8×8点阵的红黄两色LED显示器,其点阵结构如图所示。该点阵对外引出24条线,其中8条行线,8条红色列线,8条黄色列线。若使某一种颜色、某一个LED发光,只要将与其相连的行线加高电平,列线加低电平即可。
1、硬件连接:
(1)行代码、红色列代码、黄色列代码各用一片74LS273锁存。
(2)行代码输出的数据通过行驱动器7407加至点阵的8条行线上,
(3)红和黄列代码的输出数据通过驱动器DS75452反相后分别加至红和黄的列线上。
(4)行锁存器片选信号为CS1,红色列锁存器片选信号为CS2,黄色列锁存器片选信号为CS3。
四.实验源程序和流程图
流程图:
实验源程序:
1、在双色点阵发光二极管上显示一个黄色或红色的“年”字。
OPORT EQU 0B400H-0280H
ROW_PORT EQU IOPORT +280H
REDCOL_PORT EQU IOPORT +288H
YELCOL_PORT EQU IOPORT +290H
;----------------------------------数据段定义,定义行列码
DATA SEGMENT
STRING1 DB 'PRESS ANY KEY TO EXIT!',0AH,0DH,'$'
ROW DB 18H,24H,42H,81H,81H,42H,24H,18H
COL DB 01H,02H,04H,08H,10H,20H,40H,80H
DATA ENDS
STACKS SEGMENT STACK
DB 100 DUP(?)
STACKS ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACKS
MAIN PROC FAR
MOV DX,OFFSET STRING1
MOV AH,09
INT 21H
START: MOV AX,STACKS
MOV SS,AX
MOV AX,DATA
MOV DS,AX
;----------------------------------相关初始化
;---------------------------------显示提示信息
SHOW:
MOV CX,0008H
MOV SI,OFFSET ROW
MOV DI,OFFSET COL NEXT: MOV AL,[DI]
MOV DX,REDCOL_PORT
OUT DX,AL
MOV AL,[SI]
MOV DX,ROW_PORT
OUT DX,AL
INC SI
INC DI
PUSH CX
CALL DELAY
POP CX
LOOP NEXT
EXIT: MOV AH,1
INT 16H
JE START
;---------------------------------按任意键退出 MOV AH,4CH
INT 21H
MAIN ENDP
;---------------------------------延时函数DELAY PROC NEAR
MOV BX,2
ZZZ: MOV CX,0
ZZ: LOOP ZZ
DEC BX
JNE ZZZ
RET
DELAY ENDP
CODE ENDS
END S TART
2、显示一个黄红交替的“X”
ioportequ 0B400h-0280h
prothequ ioport+280h
protlrequ ioport+288h
protlyequ ioport+290h
DATA SEGMENT
MESS DB 'Strike any key,return to DOS!',0AH,0DH,'$'
min1 DB 00h,01h,02h,03h,04h,05h,06h,07h
countdb 0
buff1 db 81h,00h,0a1h,00h,89h,00h,83h,00h
buff2 DB 00h,0c1h,00h,91h,00h,85h,00h,81h
DATA ENDS
;-----------------------------------------------------------
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
;------------------------------------------------------------
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,09
INT 21H ;显示提示信息;------------------------------------------------------------
agn: mov cx,80h
d2: mov ah,01h
push cx
mov cx,0008h
movsi,offset min1
next: mov al,[si]
movbx,offset buff1
xlat ;得到第一行码
movdx,proth
outdx,al
moval,ah
movdx,protlr
out dx,al ;显示第一行红mov al,0
outdx,al