微机实验报告4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档