led1632汉字点阵显示.docx

上传人:b****1 文档编号:2346629 上传时间:2023-05-03 格式:DOCX 页数:15 大小:233.28KB
下载 相关 举报
led1632汉字点阵显示.docx_第1页
第1页 / 共15页
led1632汉字点阵显示.docx_第2页
第2页 / 共15页
led1632汉字点阵显示.docx_第3页
第3页 / 共15页
led1632汉字点阵显示.docx_第4页
第4页 / 共15页
led1632汉字点阵显示.docx_第5页
第5页 / 共15页
led1632汉字点阵显示.docx_第6页
第6页 / 共15页
led1632汉字点阵显示.docx_第7页
第7页 / 共15页
led1632汉字点阵显示.docx_第8页
第8页 / 共15页
led1632汉字点阵显示.docx_第9页
第9页 / 共15页
led1632汉字点阵显示.docx_第10页
第10页 / 共15页
led1632汉字点阵显示.docx_第11页
第11页 / 共15页
led1632汉字点阵显示.docx_第12页
第12页 / 共15页
led1632汉字点阵显示.docx_第13页
第13页 / 共15页
led1632汉字点阵显示.docx_第14页
第14页 / 共15页
led1632汉字点阵显示.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

led1632汉字点阵显示.docx

《led1632汉字点阵显示.docx》由会员分享,可在线阅读,更多相关《led1632汉字点阵显示.docx(15页珍藏版)》请在冰点文库上搜索。

led1632汉字点阵显示.docx

led1632汉字点阵显示

这是有别于网上普通的led汉字点阵显示程序,网上的汉字显示都是固定代码,固定字符循环显示,没有多大的变通性。

我的程序可以从汉字库中任意选取6个字循环显示,可以任意改变要显示的内容,程序的可改性很强,如果你要改为显示16*64的,那么只需要改变其中的几个数字就可以了。

要改变显示的内容,只需将我定义的数组中的值进行改变就可以了。

非常方便。

下载我的文档后如有问题或不清楚的请联系我,给我留言,我再帮你解决。

这是我帮同学做的毕业设计中很重要的一部分内容,请勿拷贝或随意传播。

谢谢

如有特别需要,请加QQ,我把仿真图或程序传给你。

下载文档后再留言

#include"reg52.h"

#include"intrins.h"

#include"zimo.h"

#defineucharunsignedchar

#defineuintunsignedint

#definedataP1

sbith_273=P2^0;

sbitl_273=P2^1;

sbite1=P2^2;

sbite2=P2^3;

//bitline——6个字的总扫描列数;startline——开始扫描字的起始列;Bdr——六个字定位bytedirection

ucharbitline=0,startline=0,Bdr=0;

ucharziwei[]={0,1,0,0,1,1};//显示的六个字的表代码

ucharcs_xunhuan=0;

voiddelay_us(unsignedcharus)

{

ucharcs_us;

for(;us>0;us--)

for(cs_us=0;cs_us<=2;cs_us++)

;

}

voidmove()

{

ucharci_m,buf1;

buf1=bitline;

startline=buf1%16;

Bdr=buf1/16;

for(ci_m=0;ci_m<16;ci_m++)

{

e1=0;

e2=1;

if(startline>=16)

{

startline=0;

if(Bdr<5)

Bdr++;

else

Bdr=0;

}

else

{

switch(Bdr)

{

case0:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[0]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[0]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case1:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[1]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[1]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case2:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[2]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[2]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case3:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[3]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[3]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case4:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[4]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[4]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case5:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[5]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[5]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

default:

Bdr=0;

bitline=0;

break;

}

startline++;

}

}

for(ci_m=0;ci_m<16;ci_m++)

{

e1=1;

e2=0;

if(startline>=16)

{

startline=0;

if(Bdr<5)

Bdr++;

else

Bdr=0;

}

else

{

switch(Bdr)

{

case0:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[0]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[0]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case1:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[1]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[1]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case2:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[2]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[2]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case3:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[3]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[3]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case4:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[4]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[4]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

case5:

P3=ci_m;

h_273=0;

data=hanzi[ziwei[5]*32+startline*2];

h_273=1;

h_273=0;

l_273=0;

data=hanzi[ziwei[5]*32+startline*2+1];

l_273=1;

l_273=0;

delay_us(5);

break;

default:

Bdr=0;

bitline=0;

break;

}

startline++;

}

}

}

voidinit()

{

P3=0x00;

data=0x00;

P2=0x00;

e1=1;

e2=1;

TMOD=0x01;

TR0=0;

EA=1;

ET0=1;

TH0=0xd8;

TL0=0xf0;

}

voidtimer0(void)interrupt1using0

{

TH0=0xd8;

TL0=0xf0;

if(cs_xunhuan>=20)

{

cs_xunhuan=0;

if(bitline<96)

bitline++;

elsebitline=0;

}

cs_xunhuan++;

move();

}

voidmain()

{

uintcs_xunhuan=0;

init();

TR0=1;

while

(1)

{

;

}

}

Zimo.h

unsignedcharcodehanzi[]=

{

/*--文字:

美--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x80,0x84,0x80,0x84,0x44,0x94,0x44,0x95,0x24,0x96,0x14,0x94,0x0C,0xFC,0x07,

0x94,0x0C,0x96,0x14,0x95,0x24,0x94,0x64,0x94,0xC4,0x84,0x44,0x80,0x00,0x00,0x00,

/*--文字:

玲--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x42,0x10,0x42,0x10,0xFE,0x0F,0x42,0x08,0x42,0x08,0x80,0x00,0x40,0x05,0x30,0x09,

0x0C,0x11,0x23,0x39,0xCC,0x65,0x10,0x03,0x20,0x01,0x40,0x00,0x40,0x00,0x00,0x00,

};

74154资料

线译码器74LS154引脚,参数,及功能介绍

--------------------------------------------------------------------------------

4线-16线译码器74LS154/54LS154引脚图,参数,及功能介绍

74ls154功能简介:

54/74154为4线-16线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。

如果将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154还可作1线-16线数据分配器。

74LS154管脚图:

引脚功能介绍

A、B、C、D译码地址输入端(低电平有效)

G1、G2选通端(低电平有效)

0-15输出端(低电平有效)

74ls154真值表:

推荐工作条件

74ls154电气参数

极限值

电源电压:

7V

输入电压:

5.5V

工作环境温度

54154:

-55~125℃

74154:

0~70℃

贮存温度:

-65~150℃

74ls154芯片资料

2007-08-2020:

48

74ls138译码器

74ls139跟74ls138类似,区别在于139内部是2个独立的2-4译码器。

74ls154跟74LS138很类似,差别就在于,138是3-8译码器,154是4-16译码器。

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

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2