标题:
16X16点阵轮换显示多个汉字程序
[打印本页]
作者:
myhj
时间:
2019-8-14 15:09
标题:
16X16点阵轮换显示多个汉字程序
本程序通过时间定时器产生中断,每10ms刷新一次字符,每2S更新一个汉字。
单片机源程序如下:
#include<reg51.h>
#define uchar unsigned char
#define unit unsigned int
sbit DS=P2^0; //595第14脚 串行数据输入端
sbit SH_CP=P2^1; //595第11脚 移位脉冲
sbit ST_CP=P2^2; //595第12脚 并出脉冲
sbit EN_154=P2^3;
unsigned int i;
unsigned char code tab[][32]=
{
{0xDF,0xDB,0xDB,0xDB,0x01,0xDC,0xDD,0xDF,0xDF,0x00,0xDF,0xDD,0xD3,0x5F,0xDF,0xFF,
0xFF,0xF7,0xB7,0x7B,0x80,0xFD,0xBE,0xBF,0xDF,0xEC,0xF3,0xEB,0xDD,0xBE,0x07,0xFF},
{0x7F,0x9B,0xD3,0xCB,0xDB,0xDB,0x13,0xCD,0xDD,0xDD,0xCD,0xD1,0xDC,0x5D,0x9F,0xFF,
0xFF,0xBE,0xDE,0x6E,0x76,0x78,0xB2,0xAA,0xDA,0xDA,0xAA,0xB2,0x7E,0x7F,0x7F,0xFF},
{0xFD,0x1D,0xDD,0xDD,0xC1,0x7F,0x7F,0x00,0x7F,0x5F,0x6F,0x77,0x79,0x7F,0x7F,0xFF,
0xFF,0xBC,0x7D,0xBD,0xC1,0xFF,0xFF,0x00,0xBF,0xDE,0xF9,0xF7,0xEF,0xDF,0xBF,0xFF},
{0xF7,0x77,0x77,0x00,0x77,0x57,0xEF,0x17,0xD8,0xDB,0x1B,0xCB,0xD3,0x1F,0xFF,0xFF,
0xF7,0xF7,0xF7,0x00,0xF7,0xF7,0xFF,0xC0,0xBD,0xBD,0xBC,0xBD,0xBD,0xBC,0x8F,0xFF}
};
void delay_ms(unsigned int ms)
{
unsigned int j;
while(ms--);
for(j=0;j<10;j++);
}
void WriteByte(unsigned char dat)
{
unsigned int k;
for(k=0;k<8;k++) //按照低位到高位的顺序传递数据
{
dat=dat>>1; //数据右移,低位先出
DS=CY;
SH_CP=0;
SH_CP=1;
SH_CP=0;
}
}
void main()
{
EA=1; //使能总中断
TMOD=0x01; //设置T0为模式1
TH0=0xFC; //为T0赋初值,12M晶振下,定时1ms
TL0=0x18;
ET0=1; //使能T0中断
TR0=1; //启动T0
while(1);
}
//定时器0中断服务函数
void InterruptTimer0() interrupt 1
{
static unsigned int i=0; //动态扫描的索引
static unsigned int index=0; //文字更新索引,等于要显示的字数
static unsigned int tmr=0; //2s软件定时器
//重新加载初值。本程序定时时间的想法是:每1ms刷新一次字符,每2S更新一个汉字
TH0 = 0x0FC;
TL0 = 0x18;
if(i<16)
{
EN_154=1;
WriteByte(tab[index][i]);
WriteByte(tab[index][i+16]);
ST_CP=0;
ST_CP=1;
delay_ms(1);
ST_CP=0;
P1=i;
EN_154=0;
i++;
}
else
{
i=0;
}
tmr++; //下面代码完成2s改变一个文字
if(tmr>=2000)
{
tmr=0;
index++;
if(index>3)
{
index=0;
}
}
}
复制代码
所有资料51hei提供下载:
16X16点阵轮换显示多个汉字程序.rar
(203.21 KB, 下载次数: 22)
2019-8-14 15:07 上传
点击文件名下载附件
16X16点阵轮换显示多个汉字程序
下载积分: 黑币 -5
作者:
admin
时间:
2019-8-15 01:21
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
作者:
myhj
时间:
2019-8-17 09:22
谢谢管理员提醒,本人初次共享内容。
现把电路图和程序中涉及到的取模设置等文件附上,希望对那些有需要的朋友有帮助。基本上本程序没有其他需要的内容了。
电路板电路.jpg
(299.51 KB, 下载次数: 46)
下载附件
2019-8-17 09:21 上传
电路搭建
取模参数1.jpg
(222.83 KB, 下载次数: 40)
下载附件
2019-8-17 09:21 上传
取模设置
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1