点阵广告牌设计原理及预案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、设计题目

点阵滚动广告牌

二、设计内容

(1)利用单片机I/O口或以扩展锁存器的方式操纵点阵显示。

(2)掌握单片机与16×16点阵块之间接口电路设计及编程。

(3)利用实验系统16×16点阵实验单元,要求编制程序实现汉字点

阵从下倒上滚动循环显示。

三、设计原理及方案

1、硬件设计原理图

实验线路连接:

(1)关于后缀名含有“H”的机型,按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能操纵输入端G与位于地址线A0引出孔所在位置下方的使能操纵输出端G作对应连接,该端的寻

址范围为0FFE0H~0FFFFH。

(2)用一8芯扁平电缆把点阵单元总线接口与系统单元总线(D0~D7)任一接口相连。

(3)用一根双头实验线把点阵单元的片选信号CS插孔与译码输出插孔Y0相连。

(4)用一根双头实验线把点阵单元的写信号WR插孔与系统操纵信号插孔WR相连。

硬件电路图:

2、软件设计流程图

四、设计方案源程序

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE

ORG 3AD2H

;=============================================================== =====

HE14: JMP START

LED0 equ 0ffe3h ;列代码高段(字形)高八位接口地址

LED1 equ 0ffe0h ;列代码低段(字形)低位接口地址

JED0 equ 0ffe2h ;行扫描高段(字位)高八位接口地址JED1 equ 0ffe1h ;行扫描低段(字位)低八位接口地址

;====================================================== START: JMP XB13

;===================================================

x01a: mov BUF+2,00h ;清列值

x023: mov bx,OFFSET BUF ;取列值

mov al,02h

xlat

cmp al,10h ;减16(十进制数)

jc x0d2 ;末满16列接着扫描下一列

ret ;本次扫描完毕返回主程序

x0d2: MOV dx,0002H

MOV ah,00h

MUL dx ;当前列乘02

mov cx,ax

call xb1f

;=== 送扫描代码 ==

mov dx,led0 ;列代码送高八位锁存器

MOV DX,led1 ;列代码送低八位锁存器 mov al,ah

OUT DX,Al

;=== 取行代码 ==

mov bx,offset buf

mov al,02h

xlat

inc al

mov BUF+2,al ;列指针加1

mov ah,00h

mov cx,ax

mov al,01h

jmp x083

x07e: SAL ax,1

x083: loop x07e

mov dx,jed0 ;行代码送高八位锁存器 OUT DX,AL

MOV DX,jed1 ;行代码送低八位锁存器

OUT DX,Al

mov cx,0040h ;当前行锁定显示250u秒 loop $

mov al,00h ;关闭显示

mov dx,jed0

out dx,al

mov dx,jed1

OUT dx,al

jmp x023 ;接着下1行

;============================================

x097: mov al,00h ;关闭显示

mov dx,jed0

out dx,al

mov dx,jed1

OUT dx,al

;============

x0a0: mov al,00h ;清扫描个数寄存器

mov BUF+3,al ;从第一个开始

x0a2: mov bx,OFFSET buf ;取当前扫描个数

mov al,03h

xlat

cmp al,16h ;减16(十进制数)

jnc x0a0 ;满16个返回从第一个开始 ;===========================

MOV ah,00H

mov dx,0020h

mul dx

mov bx,OFFSET stls

add ax,bX

mov BUF,aL

MOV BUF+1,AH

;===========================

mov al,00h ;清扫描次数寄存器

mov BUF+4,al

x0bd: mov bx,OFFSET buf ;取当前扫描个数

mov al,04h

xlat

cmp al,64h ;减64(十进制数)

jnc x0cf

;==========================

call x01a ;扫描显示当前字体

;==========================

mov bx,OFFSET buf ;扫描次数加1

mov al,04h

xlat

inc al

mov BUF+4,al

jmp x0bd

;=============================

x0cf: mov bx,OFFSET BUF ;扫描个数加1

mov al,03h

xlat

inc al

mov BUF+3,al

jmp x0a2

;===============================================================

相关文档
最新文档