点阵广告牌设计原理及方案.docx
《点阵广告牌设计原理及方案.docx》由会员分享,可在线阅读,更多相关《点阵广告牌设计原理及方案.docx(17页珍藏版)》请在冰豆网上搜索。
![点阵广告牌设计原理及方案.docx](https://file1.bdocx.com/fileroot1/2023-2/6/f377bac4-2cb9-44f1-98da-641c229b98df/f377bac4-2cb9-44f1-98da-641c229b98df1.gif)
点阵广告牌设计原理及方案
点阵广告牌设计原理及方案
一、设计题目
点阵滚动广告牌
二、设计内容
〔1〕利用单片机I/O口或以扩展锁存器的方式操纵点阵显示。
〔2〕把握单片机与16×16点阵块之间接口电路设计及编程。
〔3〕利用实验系统16×16点阵实验单元,要求编制程序实现汉字点阵从下倒上滚动循环显示。
三、设计原理及方案
1、硬件设计原理图
实验线路连接:
〔1〕关于后缀名含有〝H〞的机型,按实验电路图连接一三8译码输入端A.B.C,其中A连A2,B连A3,C连A4,一三8使能操纵输入端G与位于地址线A0引出孔所在位置下方的使能操纵输出端G作对应连接,该端的寻址范畴为0FFE0H~0FFFFH。
〔2〕用一8芯扁平电缆把点阵单元总线接口与系统单元总线〔D0~D7〕任一接口相连。
〔3〕用一根双头实验线把点阵单元的片选信号CS插孔与译码输出插孔Y0相连。
〔4〕用一根双头实验线把点阵单元的写信号WR插孔与系统操纵信号插孔WR相连。
硬件电路图:
2、软件设计流程图
四、设计方案源程序
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG3AD2H
;====================================================================
HE14:
JMPSTART
LED0equ0ffe3h;列代码高段(字形)高八位接口地址
LED1equ0ffe0h;列代码低段(字形)低位接口地址
JED0equ0ffe2h;行扫描高段(字位)高八位接口地址
JED1equ0ffe1h;行扫描低段(字位)低八位接口地址
;======================================================
START:
JMPXB一三
;===================================================
x01a:
movBUF+2,00h;清列值
x023:
movbx,OFFSETBUF;取列值
moval,02h
xlat
cmpal,10h;减16(十进制数)
jcx0d2;末满16列连续扫描下一列
ret;本次扫描完毕返回主程序
x0d2:
MOVdx,0002H
MOVah,00h
MULdx;当前列乘02
movcx,ax
callxb1f
;===送扫描代码==
movdx,led0;列代码送高八位锁存器
OUTDX,AL
MOVDX,led1;列代码送低八位锁存器
moval,ah
OUTDX,Al
;===取行代码==
movbx,offsetbuf
moval,02h
xlat
incal
movBUF+2,al;列指针加1
movah,00h
movcx,ax
moval,01h
jmpx083
x07e:
SALax,1
x083:
loopx07e
movdx,jed0;行代码送高八位锁存器
OUTDX,AL
MOVDX,jed1;行代码送低八位锁存器
moval,ah
OUTDX,Al
movcx,0040h;当前行锁定显示250u秒
loop$
moval,00h;关闭显示
movdx,jed0
outdx,al
movdx,jed1
OUTdx,al
jmpx023;连续下1行
;============================================
x097:
moval,00h;关闭显示
movdx,jed0
outdx,al
movdx,jed1
OUTdx,al
;============
x0a0:
moval,00h;清扫描个数寄存器
movBUF+3,al;从第一个开始
x0a2:
movbx,OFFSETbuf;取当前扫描个数
moval,03h
xlat
cmpal,16h;减16(十进制数)
jncx0a0;满16个返回从第一个开始
;===========================
MOVah,00H
movdx,0020h
muldx
movbx,OFFSETstls
addax,bX
movBUF,aL
MOVBUF+1,AH
;===========================
moval,00h;清扫描次数寄存器
movBUF+4,al
x0bd:
movbx,OFFSETbuf;取当前扫描个数
moval,04h
xlat
cmpal,64h;减64(十进制数)
jncx0cf
;==========================
callx01a;扫描显示当前字体
;==========================
movbx,OFFSETbuf;扫描次数加1
moval,04h
xlat
incal
movBUF+4,al
jmpx0bd
;=============================
x0cf:
movbx,OFFSETBUF;扫描个数加1
moval,03h
xlat
incal
movBUF+3,al
jmpx0a2
;============================================================================
STLS:
;欢
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80H,00H,80H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H
DBDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH,45H,04H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH,45H,04H,46H,48H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH,45H,04H,46H,48H,28H,40H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,80H,00H,80H,0FCH,80H,04H,0FCH,45H,04H,46H,48H,28H,40H,28H,40H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80H
DB00H,80H,0FCH,80H,04H,0FCH,45H,04H,46H,48H,28H,40H,28H,40H,10H,40H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80H,00H,80H
DB0FCH,80H,04H,0FCH,45H,04H,46H,48H,28H,40H,28H,40H,10H,40H,28H,40H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H
DB04H,0FCH,45H,04H,46H,48H,28H,40H,28H,40H,10H,40H,28H,40H,24H,0A0H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH
DB45H,04H,46H,48H,28H,40H,28H,40H,10H,40H,28H,40H,24H,0A0H,44H,0A0H
DB00H,00H,00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH,45H,04H
DB46H,48H,28H,40H,28H,40H,10H,40H,28H,40H,24H,0A0H,44H,0A0H,81H,10H
DB00H,00H,00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH,45H,04H,46H,48H
DB28H,40H,28H,40H,10H,40H,28H,40H,24H,0A0H,44H,0A0H,81H,10H,01H,08H
DB00H,00H,00H,80H,00H,80H,0FCH,80H,04H,0FCH,45H,04H,46H,48H,28H,40H
DB28H,40H,10H,40H,28H,40H,24H,0A0H,44H,0A0H,81H,10H,01H,08H,02H,0EH
;迎
DB00H,00H,41H,84H,26H,7EH,14H,44H,04H,44H,04H,44H,0F4H,44H,14H,0C4H
DB一五H,44H,16H,54H,14H,48H,10H,40H,10H,40H,28H,46H,47H,0FCH,00H,00H
;光
DB01H,00H,21H,08H,11H,0CH,09H,10H,09H,20H,01H,04H,0FFH,0FEH,04H,40H
DB04H,40H,04H,40H,04H,40H,08H,40H,08H,42H,10H,42H,20H,3EH,40H,00H
;临
DB10H,80H,10H,80H,51H,04H,51H,0FEH,52H,00H,54H,80H,58H,60H,50H,24H
DB57H,0FEH,54H,44H,54H,44H,54H,44H,54H,44H,14H,44H,17H,0FCH,14H,04H
;嘉
DB01H,08H,7FH,0FCH,01H,00H,3FH,0F8H,00H,00H,1FH,0F0H,10H,10H,1FH,0F0H
DB04H,44H,0FFH,0FEH,10H,08H,7EH,0FCH,12H,88H,12H,88H,2AH,0F8H,44H,88H
;兴
DB02H,00H,02H,08H,21H,08H,11H,10H,19H,10H,09H,20H,00H,20H,00H,44H
DB0FFH,0FEH,00H,00H,00H,00H,04H,40H,0CH,20H,10H,一八H,20H,0CH,40H,04H
;学
DB22H,08H,11H,08H,11H,10H,00H,20H,7FH,0FEH,40H,02H,80H,04H,1FH,0E0H
DB00H,40H,01H,84H,0FFH,0FEH,01H,00H,01H,00H,01H,00H,05H,00H,02H,00H
;院
DB00H,80H,78H,40H,4FH,0FEH,54H,02H,58H,14H,63H,0F8H,50H,00H,48H,08H
DB4FH,0FCH,48H,0A0H,68H,0A0H,50H,0A0H,41H,22H,41H,22H,42H,1EH,4CH,00H
;!
DB00H,00H,00H,00H,00H,00H,00H,00H,10H,00H,10H,00H,10H,00H,10H,00H
DB10H,00H,10H,00H,10H,00H,10H,00H,10H,00H,00H,00H,10H,00H,00H,00H
;=====================================================================
xb一三:
MOVCX,0000H
MOVAX,0000H
MOVBX,OFFSETSTLS;取汉字表首址
MOVAX,BX
MOVBUF,AL
MOVBUF+1,AH;存汉字表指针单元
JMPX097
;=========取与当前列对应的汉字代码=============
XB1F:
MOVBX,OFFSETBUF;取当前汉字首址
MOVAX,[BX]
ADDAX,CX;当前汉字首址加列值
MOVBX,AX
MOVAX,[BX];取当前列扫描代码
;==================
MOVBl,00H
MOVCl,Al
ROLCL,1
JNCXB_0
ORBL,01h
XB_0:
ROLCL,1
JNCXB_2
orbl,02h
XB_2:
ROLCL,1
JNCXB_3
orbl,04h
XB_3:
ROLCL,1
JNCXB_4
orbl,08h
XB_4:
ROLCL,1
JNCXB_5
orbl,10h
XB_5:
ROLCL,1
JNCXB_6
orbl,20h
XB_6:
ROLCL,1
JNCXB_7
orbl,40h
XB_7:
ROLCL,1
JNCXB_8
orbl,80h
XB_8:
moval,bl
ret
;==============================================
BUFDB?
?
?
?
?
?
CODEENDS
ENDHE14
五、设计实施结果
当实验程序装载完毕,实验运行时,〝欢迎光临嘉兴学院〞字样在点阵显示模块上从下向上移动,并循环显示。
六、总结
往常我学习汇编语言时感受专门有难度。
当明白要做课程设计的时候内心面感受有些可怕和担忧,担忧自己可不能或者做不行。
然而当确实要做的时候也只好进自己作大的努力去做。
我在那个过程中有专门多自己的感受,那确实是感受汇编语言确实是专门奇异,街上的滚动广告牌我自己竟也能设计出来。
我们从开始的担忧和可怕慢慢变成了享受,看着自己做出来的东西,内心面的感受确实专门好。
尽管我们做的东西都还专门简单,然而如何说是我们自己亲手,专门有成就感。
微机原理课程设计和其他课程设计有共同的地点,那确实是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。
这次课程设计让我对实验台有了足够的了解,让我明白了实验台上各个模块的用法;而且它还让我们对自己动手写程序来操纵实验台的运作有了一定的基础。
尽管实验台只是一个小型的模拟平台,然而通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有关心的。
实验是需要配合的,我们两个人合作默契,做事的效率就高了专门多。
尽管有时候会为了一些细节争辩不休,但最后得出的总是最好的结论。
而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。
总之,这次课程设计关于我们有专门大的关心,通过课程设计,我更加深入地明白得了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了关于要紧芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。
感谢老师的尽心指导。
七、参考文献
[1]侯晓霞,微型运算机原理及应用[M],化学工业出版社,2007
[2]杨文显,现代微型运算机与接口教程[M],清华大学出版社,2003
[3]陆红伟,微机原理实验与课程设计指导书[M],中国电力出版社,2006年
[4]顾滨,8086微型运算机组成、原理及接口[M],机械工业出版社,2001
[5]戴梅萼,微型运算机技术及应用[M],清华大学出版社,2005