LED点阵0到9显示.docx

上传人:b****6 文档编号:8760602 上传时间:2023-02-01 格式:DOCX 页数:10 大小:52.52KB
下载 相关 举报
LED点阵0到9显示.docx_第1页
第1页 / 共10页
LED点阵0到9显示.docx_第2页
第2页 / 共10页
LED点阵0到9显示.docx_第3页
第3页 / 共10页
LED点阵0到9显示.docx_第4页
第4页 / 共10页
LED点阵0到9显示.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

LED点阵0到9显示.docx

《LED点阵0到9显示.docx》由会员分享,可在线阅读,更多相关《LED点阵0到9显示.docx(10页珍藏版)》请在冰豆网上搜索。

LED点阵0到9显示.docx

LED点阵0到9显示

单片机c语言

<>欢迎进入51单片机学习网论坛讨论

本站新域名开通WWW.51C51.COM中国单片机编程技术普及推广第一站!

25.   点阵式LED“0-9”数字显示技术

1.实验任务

利用8X8点阵显示数字0到9的数字。

2.电路原理图

图4.25.1

3.硬件系统连线

(1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;

(2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;

4.程序设计内容

(1). 数字0-9点阵显示代码的形成

 

如下图所示,假设显示数字“0”

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00003E4141413E00

因此,形成的列代码为00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。

送显示代码过程如下所示

送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。

数字“1”代码建立如下图所示12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

其显示代码为00H,00H,00H,00H,21H,7FH,01H,00H

数字“2”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,27H,45H,45H,45H,39H,00H

数字“3”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,22H,49H,49H,49H,36H,00H

数字“4”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,0CH,14H,24H,7FH,04H,00H

数字“5”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,72H,51H,51H,51H,4EH,00H

数字“6”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,3EH,49H,49H,49H,26H,00H

数字“7”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,40H,40H,40H,4FH,70H,00H

数字“8”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,36H,49H,49H,49H,36H,00H

数字“9”代码建立如下图所示

12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00H,00H,32H,49H,49H,49H,3EH,00H

5.汇编源程序

TIMEQU30H

CNTAEQU31H

CNTBEQU32H

ORG00H

LJMPSTART

ORG0BH

LJMPT0X

ORG30H

START:

MOVTIM,#00H

MOVCNTA,#00H

MOVCNTB,#00H

MOVTMOD,#01H

MOVTH0,#(65536-4000)/256

MOVTL0,#(65536-4000)MOD256

SETBTR0

SETBET0

SETBEA

SJMP$

T0X:

MOVTH0,#(65536-4000)/256

MOVTL0,#(65536-4000)MOD256

MOVDPTR,#TAB

MOVA,CNTA

MOVCA,@A+DPTR

MOVP3,A

MOVDPTR,#DIGIT

MOVA,CNTB

MOVB,#8

MULAB

ADDA,CNTA

MOVCA,@A+DPTR

MOVP1,A

INCCNTA

MOVA,CNTA

CJNEA,#8,NEXT

MOVCNTA,#00H

NEXT:

INCTIM

MOVA,TIM

CJNEA,#250,NEX

MOVTIM,#00H

INCCNTB

MOVA,CNTB

CJNEA,#10,NEX

MOVCNTB,#00H

NEX:

RETI

TAB:

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

DIGIT:

DB00H,00H,3EH,41H,41H,41H,3EH,00H

DB00H,00H,00H,00H,21H,7FH,01H,00H

DB00H,00H,27H,45H,45H,45H,39H,00H

DB00H,00H,22H,49H,49H,49H,36H,00H

DB00H,00H,0CH,14H,24H,7FH,04H,00H

DB00H,00H,72H,51H,51H,51H,4EH,00H

DB00H,00H,3EH,49H,49H,49H,26H,00H

DB00H,00H,40H,40H,40H,4FH,70H,00H

DB00H,00H,36H,49H,49H,49H,36H,00H

DB00H,00H,32H,49H,49H,49H,3EH,00H

END

6.C语言源程序

#include

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

unsignedcharcodedigittab[10][8]={{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00},//0

{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00},//1

{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00},//2

{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00},//3

{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00},//4

{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00},//5

{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00},//6

{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00},//7

{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00},//8

{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}//9

};

unsignedinttimecount;

unsignedcharcnta;

unsignedcharcntb;

voidmain(void)

{

TMOD=0x01;

TH0=(65536-3000)/256;

TL0=(65536-3000)%256;

TR0=1;

ET0=1;

EA=1;

while

(1)

{;

}

}

voidt0(void)interrupt1using0

{

TH0=(65536-3000)/256;

TL0=(65536-3000)%256;

P3=tab[cnta];

P1=digittab[cntb][cnta];

cnta++;

if(cnta==8)

{

cnta=0;

}

timecount++;

if(timecount==333)

{

timecount=0;

cntb++;

if(cntb==10)

{

cntb=0;

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1