51单片机88点阵LED显示原理及程序_第1页
51单片机88点阵LED显示原理及程序_第2页
51单片机88点阵LED显示原理及程序_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、51单片机8*8点阵LED显示原理及程序时间:2007-12-20 来源:作者:点击:3206 字体大小:【大中小】:】:】 在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从 右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循 环下去。1 .程序设计内容8X8点阵LED工作原理说明:8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:

2、对应的列置 1,而行则采用扫描的方法来实现。* 一根横柱:对应的行置 0,而列则采用扫描的方法来实现。2 .硬件电路3 汇编源程序ORG 00HSTART: NOPMOV R3,#3LOP2: MOV R4,#8MOV R2,#0LOP1: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,A+DPTRMOV P3,AINC R2LCALL DELAYDJNZ R4,LOP1DJNZ R3,LOP2MOV R3,#3LOP4: MOV R4,#8MOV R2,#7LOP3: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,A+D

3、PTRMOV P3,ADEC R2LCALL DELAYDJNZ R4,LOP3DJNZ R3,LOP4MOV R3,#3LOP6: MOV R4,#8MOV R2,#0LOP5: MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,A+DPTRMOV P1,AINC R2LCALL DELAYDJNZ R4,LOP5DJNZ R3,LOP6MOV R3,#3LOP8: MOV R4,#8MOV R2,#7LOP7: MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,A+DPTRMOV P1,ADEC R2LCALL DELAYDJNZ

4、 R4,LOP7DJNZ R3,LOP8LJMP STARTDELAY: MOV R5,#10D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHTABB: DB 01H,02H,04H,08H,10H,20H,40H,80HEND4 . C51语言源程序#i nclude <AT89X52.H>un sig ned char code taba=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0

5、x7funsigned char code tabb=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80void delay(void>un sig ned char i,j 。for(i=10 。i>0。i->for(j=248 。 j>0。j-> 。void delay1(void>un sig ned char i,j,k 。for(k=10 。 k>0。 k->for(i=20 。i>0。i->for(j=248 。 j>0 o j-> 。void mai n(void>un si

6、g ned char i,j 。while(1>for(j=0 。j<3。j+> /from left to right 3 timefor(i=0 。i<8。i+>P3=tabai。P仁 Oxff 。delay1(> 。for(j=0 。 j<3。 j+>for(i=0 。 i<8。 i+>P3=taba7-i。P仁 Oxff 。delay1(> 。for(j=0 。 j<3。 j+>for(i=O 。 i<8。 i+>P3=0x00。P仁 tabb7-i。delay1(> 。for(j=O 。

7、j<3。 j+>for(i=O 。 i<8。 i+>P3=0x00。P仁 tabbi。delay1(> 。/from right to left 3 time/from top to bottom 3 time/from bottom to top 3 time积木式单片机教程综合练习-8*8LED阵列动态显示 二文/刘永辉练习科目:综合练习-8*8LED阵列动态显示 二练习目的:熟悉LED阵列原理。关键字:LED阵列。功能应用:按下图所示,本练习是让 LED阵列动态显示“ 8051”,而其移动 方向是由上而下移动。胸*二 100"$i总讹4®

8、w8X8LED阵列静态显示 % ;程序设计:流程图谑定T I MERO初始代主程序no逋回3眄區九一*二tfi#PUSH A从头开跆事二组PRC A 第一组PRC A笑甬TI HERO切快列REtPOTATE子程序..1.22.程序设计:汇编程序。由P1输出。利用查表法,以产生1-2相驱动信号。速度为 1/(0.05xTIMES> 步/秒TIMES EQU 10。重复次数OUT REG P1。输出口ORG0START:MOVDPTR,#TABLE。指向表格位置CALLPOSITION。调用

9、定位子程序MOVR4,#8o八个驱动信号MOVR3,#0O信号初始位置LOOP:MOV A,R3OMOVCA,A+DPTRo取出驱动信号MOVOUT,A。输出MOVR5,#TIMESO指定重复次数CALLDELAY。调用延迟子程序INCR3o指向下个位置DINZR4,LOOP。是否已输岀八个驱动信号JMPSTART。跳至START形成一个回路o延迟子程序R5x0.05 秒DELAY:MOV R7,#100D1:MOV R6,#25023.DJNZR6,524.DJNZR7,D125.DJNZR5,DELAY26.RET27.宀Mr P千口序。 = 定位子程序28.POSITION: MOV R

10、4,#8。八个驱动信号29.MOVR3,#0。信号初始位置30.P_1:MOVA,R3。31.MOVCA,A+DPTR。取出驱动信号32.MOVOUT,A。输出33.MOVR5,#TIMES。指定重复次数34.CALLDELAY。调用延迟子程序35.INCR3 。指向下个位置36.DINZR4,P_1。是否已输出八个驱动信号37.RET38.38.。 =39.TABLE:DB1,3,2,640.DB4,12,8,941.42.。 =END* 积木式单片机教程综合练习 -8*8LED 阵列动态显示 一文 / 刘永辉练习科目: 综合练习 -8*8LED 阵列动态显示 一 练习目的:熟悉LED阵列原

11、理。关键字:LED阵列。功能应用:按下图所示,本练习是让 LED阵列动态显示“ 8051”,每0.2秒左移一步。648X8LED阵列静态显示气1程序设计:流程图程序设计:汇编程序1. 。由P1输出2. 。利用查表法,以产生1-2相驱动信号3. 。速度为 1/(0.05xTIMES> 步/秒4.TIMESEQIJ10。重复次数5.OUTREGP1o输岀口6.。7.ORG08.START:MOVDPTR,#TABLE。指向表格位置9.CALLPOSITION。调用定位子程序10.MOVR4,#8o八个驱动信号11.MOVR3,#0o信号初始位置12.LOOP:MOVA,R3O13.MOVCA

12、,A+DPTRo取出驱动信号14.MOVOUT,A。输出15.MOVR5,#TIMESo指定重复次数16.CALLDELAY。调用延迟子程序17.INCR3o指向下个位置18.DINZR4,LOOP。是否已输岀八个驱动信号19.JMPSTART。跳至START形成一个回路20.。延迟子程序R5X0.05 秒21.DELAY:MOVR7,#10022.D1:MOVR6,#25023.DJNZR6,524.DJNZR7,D125.DJNZR5,DELAY26.RET27.士宀P丰口骨。定位子柱序28.POSITION: MOVR4,#8o八个驱动信号29.MOVR3,#0o信号初始位置30.P_1

13、:MOVA,R3o31.MOVCA,A+DPTRo取出驱动信号32.MOVOUT,A。输出33.MOVR5,#TIMESo指定重复次数34.CALLDELAY。调用延迟子程序35.INCR3o指向下个位置36.DINZR4,P_1。是否已输岀八个驱动信号37.RET3839.oTABLE:DB1,3,2,640.DB4,12,8,9414 1.o42.END积木式单片机教程综合练习-8*8LED阵列动态显示 二文/刘永辉练习科目:综合练习-8*8LED阵列动态显示 二练习目的:熟悉LED阵列原理。关键字:LED阵列。功能应用:按下图所示,本练习是让 LED阵列动态显示“ 8051”,而其移动

14、方向是由上而下移动。78X8LHD阵列静态显示程序设计:流程图球定T I MERO G商TIMERQ(ROTATELOAD I NG延迟ROTATE主捉序il 回 HPOTATE子程序LOADINGPUSH A从头开始PU&M A$ETB RSIGLR RS1POP A姿二KRC A程序设计:汇编程序1.。由P1输出2.。利用查表法,以产生1-2相驱动信号3.。速度为 1/(0.05xTIMES> 步/秒4. TIMES EQU 10。重复次数6.18.20.fOTIHERO从繼一行奸蜡flffHIEROCiia J5.OUTREGP1。输岀口7.ORG0START:MOVDPT

15、R,#TABLE。指向表格位置9.CALLPOSITION。调用定位子程序10.MOVR4,#8。八个驱动信号11.MOVR3,#0。信号初始位置12.LOOP:MOVA,R3。13.MOVCA,A+DPTR。取出驱动信号14.MOVOUT,A。输出15.MOVR5,#TIMES。指定重复次数16.CALLDELAY。调用延迟子程序17.INCR3。指向下个位置8.。是否已输岀八个驱动信号R4,LOOPDINZ跳至START形成一个回路19.JMPSTART21. DELAY:MOVR7,#10022. D1:MOVR6,#25023.DJNZR6,524.DJNZR7,D1延迟子程序=R5x0.05 秒25.DJNZ R5QELAYRET29.MOVR3,#0。信号初始位置30.

温馨提示

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

评论

0/150

提交评论