基于51单片机的led点阵显示Word文档下载推荐.docx

上传人:b****2 文档编号:15319915 上传时间:2022-10-29 格式:DOCX 页数:15 大小:487.25KB
下载 相关 举报
基于51单片机的led点阵显示Word文档下载推荐.docx_第1页
第1页 / 共15页
基于51单片机的led点阵显示Word文档下载推荐.docx_第2页
第2页 / 共15页
基于51单片机的led点阵显示Word文档下载推荐.docx_第3页
第3页 / 共15页
基于51单片机的led点阵显示Word文档下载推荐.docx_第4页
第4页 / 共15页
基于51单片机的led点阵显示Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于51单片机的led点阵显示Word文档下载推荐.docx

《基于51单片机的led点阵显示Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于51单片机的led点阵显示Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

基于51单片机的led点阵显示Word文档下载推荐.docx

8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。

在通电以后,显示屏全亮,随后进入逐字显示状态。

按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。

按键1、2、3、4分别控制不同的图案。

另外,我们可以通k5键来控制字符移动速度的快慢。

二、电路结构

单片机最小系统设计

2.2.1各部分具体电路

1单片机的时钟电路

AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。

单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。

AT89C52的时钟产生方式有两种:

内部时钟电方式和外部时钟方式。

由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。

内部时钟方式:

利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。

最常用的是在XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。

图2-1使用片内振荡电路的时钟电路

2单片机的复位电路

本设计中AT89C52是采用上电自动复位和按键复位两种方式。

最简单的复位电路如图2-2所示。

上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。

其中R1和R2分别选择200Ω和1KΩ的电阻,电容器一般选择22μF。

图2-2AT89C52的复位电路

3AT89C52的最小应用系统

AT89C52是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图2-3所示。

这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的I∕O线。

图2-3AT89C52单片机构成的最小系统

2.3按键及接口设计

2.3.1独立式按键接口设计

本设计按键较少,采用独立式按键简单而方便。

独立式按键就是各键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其它输入线上的工作状态。

因此,通过检测输入线的电平状态很容易判断哪个按键被按下了。

设计采用的是中断方式的独立式按键工作电路,按键直接与AT89C52的I/O口线相接,通过读I/O口,判定各I/O口线的电平状态,即可识别出按下的键。

独立式按键电路中,一般采用上拉电阻,这是为了保证在按键断开时,各I/O口线有确定的高电平。

而AT89C52芯片内已有上拉电阻,则外部的上拉电阻可以省去。

三、实现模块

1.单片机最小系统

2.按键及接口

3.显示及接口

4.驱动电路

5.电源电路

8点阵LED显示器的组成原理及控制方式

本次设计中采用8×

8点阵LED显示器,简称LED点阵板或LED矩阵板。

它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。

有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种,设计中用到的是共阳极的显示器。

共阳极接法的原理图如图2-4所示,图中画出了8×

8点阵的二极管。

每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c。

当给发光二极管阳极引出端r1加高电平,阴极引出端c1加低电平时,左上角的二极管被点亮因此,对于行和列的电平进行扫描控制时,可以达到显示不同汉字的目的。

图2-48×

8点阵LED显示器组成原理图

图2-58×

8点阵LED引脚的排列图

电路图如下所示:

四、程序

/*

必要操作:

正确连接点阵到学习板

*/

#include<

AT89X52.H>

//包含头文件

unsignedcharmode0,mode1,mode2,mode3,mode4;

//显示模式

sbitk1=P2^7;

sbitk2=P2^6;

sbitk3=P2^5;

sbitk4=P2^4;

sbitk5=P2^0;

unsignedcharxin1[8]={

0x0,0x0,0x0,0x6C,0x92,0x44,0x28,0x10

};

//心形1

unsignedcharbxin1[8]={

0x0,0x0,0x0,0x6C,0x82,0x0,0x28,0x10

//半心形1

unsignedcharxin2[8]={

0x0,0x36,0x49,0x22,0x14,0x8,0x0,0x0

//心形2

unsignedcharbxin2[8]={

0x0,0x36,0x41,0x0,0x14,0x8,0x0,0x0

//半心形2

unsignedcharxin[8]={

0x0,0x36,0x41,0x6E,0x96,0x4C,0x28,0x10

//双心形2

unsignedcharzimu0[8]={

0x38,0x24,0x22,0x22,0x22,0x22,0x24,0x38

//D

unsignedcharzimu1[8]={

0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x3C

//I

unsignedcharzimu2[8]={

0x1E,0x20,0x40,0x40,0x4E,0x42,0x22,0x1E

//G

unsignedcharzimu3[8]={

unsignedcharzimu4[8]={

0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3E

//L

unsignedcharzimu5[8]={

0x7E,0x40,0x40,0x7E,0x7E,0x40,0x40,0x7E

//E

unsignedcharzimu6[8]={

0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0

//N

unsignedcharzimu7[8]={

0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18

//T

unsignedcharname0[8]={

0xE9,0x2A,0xEC,0x9F,0xE8,0x2C,0x6A,0x29

//张

unsignedcharname1[8]={

0x42,0x24,0x7E,0x0,0x3C,0x0,0xFF,0x0

//兰

unsignedcharname2[8]={

0x26,0x74,0x25,0xFE,0x56,0x55,0x56,0x94

//郝

unsignedcharai0[8]={

unsignedcharai1[8]={

0x0,0x66,0xFF,0xFF,0x7E,0x3C,0x18,0x0

//实心

unsignedcharai2[8]={

0x0,0x66,0x99,0x81,0x42,0x24,0x18,0x0

//空心

unsignedcharai3[8]={

0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C

//U

unsignedcharxie0[8]={

0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x0

unsignedcharxie1[8]={

0x0,0x24,0x24,0x24,0x3C,0x24,0x24,0x24

//H

unsignedcharxie2[8]={

0x0,0x8,0x14,0x3E,0x41,0x41,0x0,0x0

//A

unsignedcharxie3[8]={

0x0,0x0,0x22,0x26,0x2A,0x32,0x22,0x0

unsignedcharxie4[8]={

0x22,0x24,0x28,0x30,0x28,0x24,0x22,0x0

//K

unsignedcharxie5[8]={

0x1C,0x22,0x20,0x10,0xC,0x2,0x22,0x1C

//S

voiddelay()//延时函数

{

unsignedintc;

c=300;

while(c--){}

}

voidmain(void)//主函数

unsignedinti,j,k,m;

k1=1;

k2=1;

k3=1;

k4=1;

k5=1;

m=10;

mode0=0;

for(k=0;

k<

8;

k++)

{

for(j=0;

j<

30;

j++)//调节字母变化速度

for(i=0;

i<

i++)//点阵8列动态扫描法显示,每次扫描一列并发送数据码

{

if(mode0==0)//模式0-3分别对应4种表情,根据模式选择表情所对应的显示码

P0=zimu0[i];

if(mode0==1)

P0=zimu1[i];

if(mode0==2)

P0=zimu2[i];

if(mode0==3)

P0=zimu3[i];

if(mode0==4)

P0=zimu4[i];

if(mode0==5)

P0=zimu5[i];

if(mode0==6)

P0=zimu6[i];

if(mode0==7)

P0=zimu7[i

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

当前位置:首页 > 外语学习 > 英语学习

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

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