首页 > 试题

262s

更新时间:2022-11-13 05:32:26 阅读: 评论:0

丁当离家出走-数农


2022年11月13日发(作者:鬼子姜)

24.8X8LED点阵显示技术

1.实验任务

在8X8LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑

移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,女口此

循环下去.b5E2RGbCAP

2.电路原理图

AT89Sil

12MH=LC2=30p

图4.24.1

3.硬件电路连线

(1>.把“单片机系统”区域中地P1端口用8芯排芯连接到“点阵模块”区域

中地“DR4DR8端口上;plEanqFDPw

(2>.把“单片机系统”区域中地P3端口用8芯排芯连接到“点阵模块”区域

中地“DC1-DC8端口上;DXDiTa9E3d

4.程序设计内容

4-

>

FJ3/fNTl

P3.4/TO

P3.5ZFIPl

o

A

i

n/A[H-]FO

1/AD1PO

2/AD2

PO.3/AD3PO

4/AE-lPO

5/ADSPO

6/AWPO

7/AD7

P27JA15

P25/A13

P24JA13

P^-3/Al1

P22/A1O

P21JA9

P30/A8

3

9

2U

38

37

33

34

33

32

3C

28

27

26

23

24

23

22

21

Pi0

PI1

Pl.2

Pl3

Pl.4

P)5

PiA

Pl7

CR1

GND

(1>.8X8点阵LED工作原理说明

8X8点阵LED结构如下图所示

DC8

DC7

DC6

DC5

DC4

DC3

DC2

图4.24.2

从图4.24.2中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管

是放置在行线和列线地交叉点上,当对应地某一列置1电平,某一行置0电平,则相

应地二极管就亮;因此要实现一根柱形地亮法,如图49所示,对应地一

列为一根竖柱,或者对应地一行为一根横柱,因此实现柱地亮地方法如下所述:

RTCrpUDGiT

一根竖柱:对应地列置1,而行则采用扫描地方法来实现一根横柱:对应地行置0,

而列则采用扫描地方法来实现

5.汇编源程序

ORG00H

START:NOP

MOVR3,#3

LOP2:MOVR4,#8

MOVR2,#0

LOP1:MOVP1,#0FFH

MOVDPTR,#TABA

MOVA,R2

MOVCA,@A+DPTR

MOVP3,A

INCR2

LCALLDELAY

DJNZR4,LOP1

DJNZR3,LOP2

MOVR3,#3

LOP4:MOVR4,#8

MOVR2,#7

LOP3:MOVP1,#0FFH

MOVDPTR,#TABA

MOVA,R2

MOVCA,@A+DPTR

MOVP3,A

DECR2

LCALLDELAY

DJNZR4,LOP3

DJNZR3,LOP4

MOVR3,#3

LOP6:MOVR4,#8

MOVR2,#0

LOP5:MOVP3,#00H

MOVDPTR,#TABB

MOVA,R2

MOVCA,@A+DPTR

MOVP1,A

INCR2

LCALLDELAY

DJNZR4,LOP5

DJNZR3,LOP6

MOVR3,#3

LOP8:MOVR4,#8

MOVR2,#7

LOP7:MOVP3,#00H

MOVDPTR,#TABB

MOVA,R2

MOVCA,@A+DPTR

MOVP1,A

DECR2

LCALLDELAY

DJNZR4,LOP7

DJNZR3,LOP8

LJMPSTART

DELAY:MOVR5,#10

D2:MOVR6,#20

D1:MOVR7,#248

DJNZR7,$

DJNZR6,D1

DJNZR5,D2

RET

TABA:DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

TABB:DB01H,02H,04H,08H,10H,20H,40H,80H

END6.C语言源程序

#include

unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}

unsignedcharcodetabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}

voiddelay(void>

{

unsignedchari,j。

for(i=10。i>0。i-->

for(j=248。j>0。j-->。

}

voiddelay1(void>

{

unsignedchari,j,k。

for(k=10。k>0。k-->

for(i=20。i>0。i-->

for(j=248。j>0。j-->。

voidmain(void>

{unsignedchar

i,j

while(1>

{

for(j=0oj<3。j++>

{

for(i=0oi<8oi++>

{

P3=taba[i]o

P1=0xffo

delay1(>o

}

}

for(j=0oj<3oj++>

{

for(i=0oi<8oi++>

{

P3=taba[7-i]o

P1=0xffo

delay1(>o

}

}

for(j=0oj<3oj++>

{

for(i=0oi<8oi++>

{

P3=0x00o

P1=tabb[7-i]o

delay1(>o}

}

for(j=0oj<3oj++>

{

for(i=0oi<8oi++>

{

P3=0x00o

P1=tabb[i]o

//fromlefttoright3

time

//fromrighttoleft3

time

//fromtoptobottom3

time

//frombottomtotop3

time

delay1(>。

}

}

}

}5PCzVD7HxA

本文发布于:2022-11-13 05:32:26,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/9122.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:evenif
标签:262s
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图