标题:
单片机8X8点阵屏滚动显示字符proteus仿真+程序
[打印本页]
作者:
Kansa
时间:
2018-10-2 15:38
标题:
单片机8X8点阵屏滚动显示字符proteus仿真+程序
新手为学习大佬们的知识
发帖赚积分
8X8点阵屏滚动显示仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(12.37 KB, 下载次数: 102)
下载附件
2018-10-2 16:39 上传
单片机源程序如下(带详细注释):
#include<reg51.h>
#include<intrins.h>
unsigned char ldis[16] = {0xFF,0xF3,0xE1,0xC1,0x83,0xC1,0xE1,0xF3};//图片点阵,阳码(0亮)、按列取字模、低位在前
unsigned char hdis[8] = {0x66,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C,0x18};//{0x00,0x6c,0xfe,0xfe,0x7c,0x38,0x10,0x00};//图片点阵,阴码(1亮)、按行取字模、低位在前
void delay(unsigned char i) // 延时函数
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void main() //主函数
{
unsigned char i,j,k,temp;
for (i = 8; i < 16; i++) //补8列不显示的列编码
ldis[i]=0xff;
//for (i = 8; i < 16; i++) //补8行不显示的行编码
//hdis[i]=0x00;
while(1)
{
/* //按列扫描,左右滚动
for(j=0;j<17;j++) //9帧,要循环显示就有17帧
{
for(k=0;k<50;k++)//重复显示一帧数据50次
{ temp=1;
for (i = 0; i < 8; i++)
{
P3 = temp;//列选
P2 = ldis[(i+j)%16];//图片点阵列编码,要循环显示ldis[(i+j)%16];
temp=temp<<1;
delay(2);
}
}
}*/
//按行扫描,上下滚动
for(j=0;j<8;j++) //9帧,要循环显示就有17帧
{
for(k=0;k<50;k++)//重复显示一帧数据50次
{ temp=0xfe;
for (i = 0; i < 8; i++)
{
P2 = temp;//行选
P3 = hdis[(i+j)%8];//图片点阵行编码,要循环显示hdis[(i+j)%16];
temp=_crol_(temp,1);
delay(2);
}
}
}
}
}
复制代码
所有资料51hei提供下载:
8X8点阵屏滚动显示.zip
(20.05 KB, 下载次数: 267)
2018-10-2 15:35 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
洁哥网络传媒
时间:
2019-5-7 20:43
共享信息,学习。
作者:
7033
时间:
2020-1-5 08:49
写的很详细
作者:
shenshuangqing
时间:
2020-5-9 10:38
非常棒的资料
作者:
荼夙丶
时间:
2020-5-12 21:34
写的很棒,很值得学习
作者:
Xuan0121
时间:
2020-5-31 00:06
感谢楼主分享
作者:
swustlx86
时间:
2020-6-1 01:42
好资料,51黑有你更精彩!!!
作者:
wwh2382
时间:
2020-6-24 21:15
不错,程序简洁、明了
作者:
1783437660
时间:
2020-6-27 18:25
滚动可以是学号吗
作者:
1683670185
时间:
2025-5-12 17:11
nb
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1