标题:
数码管滚动显示I LOVE YOU
[打印本页]
作者:
腾飞的龙
时间:
2015-10-22 09:01
标题:
数码管滚动显示I LOVE YOU
数码管滚动显示
/***************************************************
功能:数码管移动显示I LUVE YOU
单片机:STC12C5A60S2
晶振: 11.0592M
作者;苏义江改编于黑51
时间:2015-7-23
*****************************************************/
#include<reg52.h>
#include<intrins.h>
sbit wela=P0^6;
sbit dula=P0^7;
//共阳I LOVE YOU断码 0XFF起空格作用
uchar code duanma[]={0xf9,0xff,0xc7,0xc0,0xc1,0x86,0xff,0x8d,0xc0,0xc1,0xff};
//共阴I LOVE YOU断码
//uchar code duanma[]={0x06,0x00,0x38,0x3f,0x3e,0x79,0x00,0x6e,0x3f,0xbe,0x00};
uchar code weima[]={0xfe,0xfd,0xfb,0xf7};//位码
uchar smg_change[11];//9个数据
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=50;y>0;y--);
}
void display(uchar f,uchar n )//显示位数和内容
{
static uchar i;
P2=0XFF;
delay(2);//延时起消隐作用
wela=1;
P2=weima[f+i];
wela=0;
P2=0Xff;
dula=1;
P2=smg_change[i];
dula=0;
P2=0XFF;
i++;
if(i==n)
i=0;
}
void jiaohuan()//移位函数
{
uchar i,dd;
for(i=0;i<10;i++)//显示内容的数量减1
{
dd=smg_change[i];
smg_change[i]=smg_change[i+1];
smg_change[i+1]=dd;
}
}
void main()
{
uchar y,i;
uint t;
for(i=0;i<11;i++)//显示8个内容
//for(i=0;i<11;i++)
{
smg_change[i]=duanma[i];
}
while(1)
{
display(y,4);//4位数码管显示Y个内容
t++;
if(t==5000)//显示的速度
{
t=0;
jiaohuan();
}
}
}
复制代码
作者:
luobutou
时间:
2015-10-22 22:29
顶上去 最近在学习这个 新手 求教学
作者:
liuzhaoxin1020
时间:
2016-12-31 15:15
不错的文件,顶一下
作者:
yucaixiang1
时间:
2016-12-31 20:26
不错的文件,顶一下
作者:
我爱单片机机
时间:
2017-4-22 13:18
那个p0^6 p0^7什么意思呀
作者:
原来你在梦里
时间:
2017-4-22 13:35
不错不错,必须顶上去,有好的经验就要一起分享,共同进步!
作者:
军师祭酒
时间:
2017-4-22 14:55
我爱单片机机 发表于 2017-4-22 13:18
那个p0^6 p0^7什么意思呀
数码管驱动芯片的锁存控制
作者:
w1179benp
时间:
2017-4-22 15:49
本帖最后由 w1179benp 于 2017-4-22 15:51 编辑
我爱单片机机 发表于 2017-4-22 13:18
那个p0^6 p0^7什么意思呀
位、段扫描控制(这个要结合自己的开发板实际确定,LZ的是P0.6及P0.7)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1