资源描述:
《点阵显示屏的控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三点阵显示屏的控制一、实验目的1、熟悉KeiluVision2软件的使用;2、掌握单片机并行I/O口应用及点阵模块的控制;3、掌握查表指令、循环程序结构;4、掌握程序与流程图的对应关系。二、实验设备及仪器KeilμVision2软件;单片机开发板;PC机一台三、实验原理及内容1、点阵模块电路原理图,如图3.1所示。图3.1点阵模块原理图U4、U9的74HC573芯片是8位三态输出锁存器,分别作为点阵的行、列输入端。根据1088BS点阵模块的内部结构(如图3.2),对应的行为高电平控制,对应的列为低电平控制。P1.1点阵列、数码管位控制端(74HC573锁存器U9)P1.3点
2、阵行控制端(74HC573锁存器U4)图3.21088BS点阵模块内部结构2、实验内容点阵显示有多种形式,例如固定显示、闪烁显示、滚动显示、交替显示等,先从最简单的固定显示一个字符做起。训练内容一:“大”字的静态显示。(1)设计思路:先选中点阵的某一行,然后通过查表指令得到这一行对应的字型码(列锁存器的输出,控制这一行要点亮的状态),延时1ms后,选中下一行,再传送对应列的字型码,重复上述过程,直至完成8行的扫描。然后,再从第一行开始循环。利用视觉驻留效应,人眼看到的是一个静态的显示效果。上述逐行扫描显示过程示意图,如下:程序流程图,如图3.3所示。图3.3静态显示“大”字的程
3、序流程图(2)列字型码的编排:“大”字显示字型码示意图,如图3.4。图3.4“大”字型码示意图根据“大”字显示字型码示意图和查表指令中表格数据的构建原则,将字型码依次存放在表格TAB1所指定的ROM单元中。TAB1:DB11110111B,11110111B,10000000B,11110111B,11101011BDB11011101B,10111110B,11111111B或写成TAB1:DB0F7H,0F7H,80H,0F7H,0EBH,0DDH,0BEH,0FFH(3)静态显示“大”字的参考程序如下:ORG00HAJMPMAINMAIN:SETBP1.0;数码管段控制(
4、锁存器U8输入端有效)SETBP1.2;LED流水灯模块控制(锁存器U7输入端有效)MOVP0,#0FFH;关闭LED灯CLRP1.2;关闭LED流水灯模块(锁存器U7输入端高阻态)MOVP0,#0;关闭数码管段CLRP1.0;关闭数码管段模块(锁存器U8输入端高阻态)LOOP:MOVDPTR,#TAB1;列字型码的表首地址MOVR0,#01H;行号MOVR1,#00H;列号MOVR3,#08H;一个周期内扫描8行NEXT:SETBP1.3;点阵行锁存器U4的输入端有效MOVA,R0MOVP0,A;选中某一行RLAMOVR0,A;更新行号CLRP1.3;点阵行锁存器U4的输入端
5、处于高阻态SETBP1.1;点阵列锁存器U9的输入端有效MOVA,R1MOVCA,@A+DPTRMOVP0,AINCR1;修改列号LCALLDELAY;延时1msCLRP1.1;点阵列锁存器U9的输入端处于高阻态DJNZR3,NEXT;判断是否完成8行扫描SJMPLOOP;循环显示DELAY:MOVR4,#250;实现延时1ms子程序D1:NOPNOPDJNZR4,D1RETTAB1:DB0F7H,0F7H,80H,0F7H,0EBH,0DDH,0BFH,0FFH;列字型码END问1:若将程序中的SJMPLOOP改为SJMP$,将会出现什么现象?问2:若要显示“小”字,如何修改
6、程序?训练内容二:“大”字的滚动显示(从一个方向出现,滚动到另一个方向消失,并不断重复该过程)。(1)滚动显示原理根据滚动显示的特点,滚动显示实际上是多屏循环显示。需要分两步实现:①确定出每一屏的字型码;为了实现“大”字从右到左滚动显示效果,第1屏显示的应该只是“大”字最左边一列,如图3.5(a)所示。第2、3屏显示,如图3.5(b)、(c)所示。(a)第1屏显示(b)第2屏显示(c)第3屏显示图3.5第1~3屏显示及列字型码从“大”字从右边出现,到“大”字从左边消失,总共需要15屏。8个字型码一屏,15屏需要定义15×8个字型码,图3.5中的1~3屏字型码的定义如下:TAB1
7、:DB0FFH,0FFH,7FH,0FFH,0FFH,0FFH,7FH,0FFH;第1屏DB0FFH,0FFH,3FH,0FFH,0FFH,7FH,0BFH,0FFH;第2屏DB0FFH,0FFH,1FH,0FFH,7FH,0BFH,0DFH,0FFH;第3屏利用查表指令读取每一屏的数据:读取第1屏的数据时,MOVDPTR,#TAB读取第2屏的数据时,DPTR+8àDPTR读取第3屏的数据时,在第2屏的基础上DPTR+8àDPTR依次类推。由于MCS-51系列单片机是8位单片机,没有16位的