点阵显示屏的控制.doc_第1页
点阵显示屏的控制.doc_第2页
点阵显示屏的控制.doc_第3页
点阵显示屏的控制.doc_第4页
点阵显示屏的控制.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 点阵显示屏的控制一、实验目的1、熟悉Keil uVision2软件的使用;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 点阵行控制端(74HC573锁存器U4)图3.2 1088BS点阵模块内部结构2、实验内容点阵显示有多种形式,例如固定显示、闪烁显示、滚动显示、交替显示等,先从最简单的固定显示一个字符做起。训练内容一: “大”字的静态显示。(1)设计思路:先选中点阵的某一行,然后通过查表指令得到这一行对应的字型码(列锁存器的输出,控制这一行要点亮的状态),延时1ms后,选中下一行,再传送对应列的字型码,重复上述过程,直至完成8行的扫描。然后,再从第一行开始循环。利用视觉驻留效应,人眼看到的是一个静态的显示效果。上述逐行扫描显示过程示意图,如下:程序流程图,如图3.3所示。图3.3 静态显示“大”字的程序流程图(2)列字型码的编排:“大”字显示字型码示意图,如图3.4。 图3.4“大”字型码示意图根据“大”字显示字型码示意图和查表指令中表格数据的构建原则,将字型码依次存放在表格TAB1所指定的ROM单元中。TAB1:DB 11110111B,11110111B,10000000B,11110111B,11101011BDB 11011101B,10111110B,11111111B或写成 TAB1:DB 0F7H,0F7H,80H,0F7H,0EBH,0DDH,0BEH,0FFH(3)静态显示“大”字的参考程序如下:ORG 00HAJMP MAINMAIN: SETB P1.0;数码管段控制(锁存器U8输入端有效) SETB P1.2;LED流水灯模块控制 (锁存器U7输入端有效) MOV P0,#0FFH;关闭LED灯 CLR P1.2 ;关闭LED流水灯模块(锁存器U7输入端高阻态) MOV P0,#0 ;关闭数码管段 CLR P1.0 ;关闭数码管段模块(锁存器U8输入端高阻态)LOOP: MOV DPTR,#TAB1 ;列字型码的表首地址 MOV R0,#01H ;行号 MOV R1,#00H ;列号 MOV R3,#08H ;一个周期内扫描8行NEXT:SETB P1.3 ;点阵行锁存器U4的输入端有效MOV A,R0MOV P0,A;选中某一行RL AMOV R0,A;更新行号 CLR P1.3;点阵行锁存器U4的输入端处于高阻态SETB P1.1 ;点阵列锁存器U9的输入端有效MOV A,R1MOVC A,A+DPTRMOV P0,AINC R1 ;修改列号LCALL DELAY;延时1msCLR P1.1 ;点阵列锁存器U9的输入端处于高阻态DJNZ R3,NEXT ;判断是否完成8行扫描SJMP LOOP ;循环显示DELAY:MOV R4,#250;实现延时1ms子程序D1:NOP NOP DJNZ R4,D1RETTAB1:DB 0F7H,0F7H,80H,0F7H,0EBH,0DDH,0BFH,0FFH ;列字型码END问1:若将程序中的SJMP LOOP改为SJMP $,将会出现什么现象?问2:若要显示“小”字,如何修改程序?训练内容二: “大”字的滚动显示(从一个方向出现,滚动到另一个方向消失,并不断重复该过程)。(1)滚动显示原理根据滚动显示的特点,滚动显示实际上是多屏循环显示。需要分两步实现:确定出每一屏的字型码;为了实现“大”字从右到左滚动显示效果,第1屏显示的应该只是“大”字最左边一列,如图3.5(a)所示。第2、3屏显示,如图3.5(b)、(c)所示。(a)第1屏显示(b)第2屏显示(c)第3屏显示图3.5第13屏显示及列字型码从“大”字从右边出现,到“大”字从左边消失,总共需要15屏。8个字型码一屏,15屏需要定义158个字型码,图3.5中的13屏字型码的定义如下:TAB1:DB 0FFH,0FFH,7FH,0FFH,0FFH,0FFH,7FH,0FFH ;第1屏 DB 0FFH,0FFH,3FH,0FFH,0FFH,7FH,0BFH,0FFH ;第2屏 DB 0FFH,0FFH,1FH,0FFH,7FH,0BFH,0DFH,0FFH ;第3屏利用查表指令读取每一屏的数据:读取第1屏的数据时,MOV DPTR,#TAB读取第2屏的数据时,DPTR+8DPTR读取第3屏的数据时,在第2屏的基础上DPTR+8DPTR依次类推。由于MCS-51系列单片机是8位单片机,没有16位的加法指令,且加法指令的第一操作数必须是累加器A,因此DPTR+8DPTR只能分步实现:DPLAA+8AADPLDPHAA+CYAADPH确定每一屏显示需保持时间(滚动时间的快慢)。每一屏变换时间必须要大于人眼视觉驻留时间,否则眼睛无法识别。根据静态显示实验,每屏显示一次需要时间大概8ms,若每屏要显示50次,即每屏的显示时间约为508ms=0.4s,显然改变每屏显示的次数就可以改变每屏显示的时间。(2)滚动显示“大”字流程图图3.6滚动显示“大”字的流程图(3)滚动显示“大”字的参考程序如下:ORG 00HAJMP MAINMAIN: SETB P1.0;数码管段控制(锁存器U8输入端有效) SETB P1.2;LED流水灯模块控制 (锁存器U7输入端有效) MOV P0,#0FFH;关闭LED灯 CLR P1.2 ;关闭LED流水灯模块(锁存器U7输入端高阻态) MOV P0,#0 ;关闭数码管段 CLR P1.0 ;关闭数码管段模块(锁存器U8输入端高阻态)LOOP1: MOV DPTR,#TAB1 ;列字型码的表首地址 MOV R5,#15 ;15屏滚动显示LOOP2: MOV R6,#50 ;每屏显示次数LOOP3: MOV R0,#01H ;行号 MOV R1,#00H ;列号 MOV R3,#08H ;一个周期内扫描8行NEXT:SETB P1.3 ;点阵行锁存器U4的输入端有效MOV A,R0MOV P0,A;选中某一行RL AMOV R0,A;更新行号 CLR P1.3;点阵行锁存器U4的输入端处于高阻态SETB P1.1 ;点阵列锁存器U9的输入端有效MOV A,R1MOVC A,A+DPTRMOV P0,AINC R1 ;修改列号LCALL DELAY;延时1msCLR P1.1 ;点阵列锁存器U9的输入端处于高阻态DJNZ R3,NEXT ;判断是否完成8行扫描DJNZ R6,LOOP3 ;判断每屏的显示次数50次是否到了?MOV A,DPL ;修改表首地址,准备读取下一屏数据ADD A,#8MOV DPL,AMOV A,DPHADDC A,#0MOV DPH,A DJNZ R5,LOOP2 ;判断15屏都显示完了?SJMP LOOP1 ;循环显示DELAY:MOV R4,#250;实现延时1ms子程序D1:NOP NOP DJNZ R4,D1RETTAB1:DB 0FFH,0FFH,7FH,0FFH,0FFH,0FFH,7FH,0FFH ;第1屏 DB 0FFH,0FFH,3FH,0FFH,0FFH,7FH,0BFH,0FFH ;第2屏 DB 0FFH,0FFH,1FH,0FFH,7FH,0BFH,0DFH,0FFH ;第3屏 DB 7FH,7FH,0FH,7FH,0BFH,0DFH,0EFH,0FFH ;第4屏 DB 0BFH,0BFH,07H,0BFH,5FH,0EFH,0F7H,0FFH ;第5屏 DB 0DFH,0DFH,03H,0DFH,0AFH,77H,0FBH,0FFH ;第6屏 DB 0EFH,0EFH,01H,0EFH,0D7H,0BBH,7DH,0FFH ;第7屏 DB 0F7H,0F7H,80H,0F7H,0EBH,0DDH,0BEH,0FFH ;第8屏 DB 0FBH,0FBH,0C0H,0FBH,0F5H,0EEH,0DFH,0FFH;第9屏 DB 0FDH,0FDH,0E0H,0FDH,0FAH,0F7H,0EFH,0FFH;第10屏 DB 0FEH,0FEH,0F0H,0FEH,0FDH,0FBH,0F7H,0FFH;第11屏 DB 0FFH,0FFH,0F8H,0FFH,0FEH,0FDH,0FBH,0FFH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论