导航:首页 > 操作系统 > 单片机点阵程序

单片机点阵程序

发布时间:2022-02-04 19:05:24

单片机8×8点阵简单显示程序

这个显示程序其实非常简单,因为这个是点正髓的话,可以用单片机里面去进行测量的。

⑵ 单片机32*64点阵显示两排16*16的汉字的程序……

/*************************************
** Header:
** File Name: 16*16点阵滚动显示汉字
** Author:
** Date:
*************************************/
#include <AT89X52.H>
unsigned char code digittab[]={
0x40,0x04,0x47,0xC2,0x44,0x41,0x44,0x42,0xFE,0x7C,0x40,0x00,0x01,0xF2,0x7D,0x22,
0x49,0x22,0x49,0x22,0x4F,0xFE,0x49,0x22,0x49,0x22,0xFD,0x26,0x41,0xF3,0x00,0x00 /* qiang---竖直向下从左到右 */
};
unsigned char code lie[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
unsigned int timecount;
unsigned char cnta;
unsigned char cntb;
unsigned char k,i=0;
void main(void)
{
TMOD=0x01;
TH0=(65536-3000)/256;
TL0=(65536-3000)%6;
TR0=1;
ET0=1;
EA=1;
k=0;
while(1)
{;
}
}
void t0(void) interrupt 1 using 0
{
P0=0x00;
P2=0x00;
TH0=(65536-3000)/256;
TL0=(65536-3000)%6;
P1=lie[k];
k ;
if(k==16) k=0;
l ;
P0=digittab[i];/*此处和字模有关*/
i ;
P2=digittab[i];
i ;
if(i==32)
i=0 ;
}

⑶ 51单片机控制LED点阵显示汉字程序

小伙而,不是说随便找个HEX文件都能去点亮你连的电阵,这个是肯定的,如果你是毕业设计,主要就是叫你写程序,如果只是你玩的我可以给你仿真文件和HEX文件,你拿去直接点机运行就可以了。

⑷ 单片机1616点阵显示汉字程序

首先要用取模软件,获得要显示的汉字的字模,每行两个字节,共32字节。然后单片机控制每次送一行的数据,并进行显示,轮流16次,再反复即可。

⑸ 单片机8*8点阵程序

avr的静态点阵
#include <iom16v.h>
unsigned char a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //控制低电平
unsigned char b[]={0xff,0x18,0x18,0xff,0x18,0x18,0x18,0xff}; //控制高电平
void delay(unsigned int cnt)
{
while(--cnt);
}
void main(void)
{
int i=0,n=0;
DDRA=0xFF;
DDRB=0xFF;
while(1)
{
for (i=0;i<8;i++)
{
PORTA=a[i];
PORTB=b[i];
delay(300);
}
}
}
AVR的动态点阵
#include <iom16v.h>
unsigned char a[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; //列高电平控制端
unsigned char b[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, //行低电平控制端
0x7e,0x76,0x76,0x00,0x00,0x76,0x76,0x7e,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
void delay(unsigned int cnt)
{
while(--cnt);
}
void main(void)
{
int i=0,n=0,k=0;
DDRA=0xFF;
DDRB=0xFF;
while(1)
{
for(k=0;k<16;k++)
{
for(n=0;n<50;n++)
{
for (i=0;i<8;i++) //i循环8次进去下个语句
{
PORTA=a[i];
PORTB=b[i+k];
delay(50);
}
}
}

⑹ 单片机 8*8点阵C51程序

一.基于51的点阵屏显示:(1)点亮第一个8*8点阵:
1.首先在Proteus下选择我们需要的元件,AT89C51、74LS138、MATRIX-8*8-GREEN(在这里使用绿色的点阵)。在Proteus
6.9中8*8的点阵总共有四种颜色,分别为MATRIX-8*8-GREEN,MATRIX-8*8-BLUE,MATRIX-8*8-ORANGE
,MATRIX-8*8-RED。
在这里请牢记:红色的为上列选下行选;其它颜色的为上行选下列选!而所有的点阵都是高电平选中列,低电平选中行!也就是说如果某一个点所处的行信号为低,列信号为高,则该点被点亮!此结论是我们编程的基础。
2.在选择完以上三个元件后,我们开始布线,具体如下图:
这里P2是列选,P3连接38译码器后作为行选。
选择38译码器的原因:38译码器每次可输出相应一个I/O口的低电平,正好与点阵屏的低电平选中行相对,并且节省了I/O口,大大方便了我们的编程和以后的扩展。
3.下面让我们把它点亮,先看一个简单的程序:
(将奇数行偶数列的点点亮,效果如下图)
下面是源代码:
/************8*8LED点阵屏显示*****************/
#include<reg51.h>
void
delay(int
z)
//延时函数
{
int
x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
void
main()
{
while(1)
{
P3=0;
//行选,选择第一行
P2=0x55;
//列选,即该行显示的数据
delay(5);
//延时
/*****下同*****/
P3=2;
//第三行
P2=0x55;
delay(5);
P3=4;
//第五行
P2=0x55;
delay(5);
P3=6;
//第七行
P2=0x55;
delay(5);
}
}
上面的程序实现了将此8*8点阵的奇数行偶数列的点点亮的功能。重点让我们看while循环内,首先是行选P3=0,此时38译码器的输入端为000,则输出端为01111111,即B0端为低电平,此时选中了点阵屏的第一行,接着列选我们给P2口赋0x55,即01010101,此时又选中了偶数列,紧接着延时。然后分别对第三、五、七行进行相同的列选。这样就点亮了此点阵屏奇数行偶数列交叉的点。
完成这个程序,我们会发现其实点阵屏的原理是如此简单,和数码管的动态显示非常相似,只不过换了一种方式而已。
对不起啦,我传了三次图片都没传上,郁闷哪!希望你能理解哈!
不过我有传一份WORD文档在我的空间里面

阅读全文

与单片机点阵程序相关的资料

热点内容
什么服务器云鸟最便宜 浏览:214
vs编译器反汇编 浏览:562
程序员直播做项目创业 浏览:396
linux下samba配置 浏览:795
程序员面试银行岗位会有编制吗 浏览:412
ex表怎么加密码保护 浏览:170
小孩上编程课用哪款好 浏览:556
如何制作服务器商店 浏览:732
压缩气管阀门 浏览:464
pdf推文 浏览:355
69程序员 浏览:581
阿里云服务器镜像如何迁移到腾讯 浏览:989
安卓如何显示日期在状态栏 浏览:803
cadsplt这个命令用不了 浏览:467
安卓夸克怎么取消监管 浏览:662
pdf怎么裁剪图片 浏览:438
黑上宏命令 浏览:644
mac解压压缩包有密码 浏览:706
命令与征服知乎 浏览:562
小时代pdf 浏览:223