/***程序:点阵1***/
/***作者:爱因斯尼@SCUT***/
/***时间:2010.07.23***/
/***必要的头文件和宏定义***/
#include<reg52.h>//51单片机的头文件
#define uint unsigned int//两个常用的宏定义
#define uchar unsigned char
sbit DS=P1^0;//595串口数据输入端
sbit OE=P1^1;//使能端,低电平有效
sbit SH=P1^2;//移位寄存器的时钟输入
sbit ST=P1^3;//存储器的时钟输入
sbit duan=P1^5;//定义段选端
sbit wei=P1^6;//定义位选端
sbit lie=P1^7;//定义8*8点阵的列扫描
/*********带形参的延时子函数***************/
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1141;j++);
}
/*********数码管的初始化函数***************/
void Init_smg()
{
P0=0x00;
duan=1;
P0=0x00;//关段选端
duan=0;
P0=0xff;
wei=1;
P0=0xff;//关位选端
wei=0;
lie=1;
P0=0xff;//点阵全灭
lie=0;
}
/***595串转并***/
void show_595(uchar num)
{
uchar i,zf;
P1=0x00;
zf=num;
for(i=0;i<8;i++)
{
if(zf&0x80)//从高位开始移位
DS=1;
else DS=0;
SH=1;// 移位寄存器的上升沿时钟
SH=0;
zf<<=1;
}
ST=1;//存储器的上升沿时钟
ST=0;
OE=0;
}
/*****主函数******/
void main()
{
uchar i,num;
Init_smg();
while(1)
{num=0x01;
for(i=0;i<8;i++)
{
show_595(num);
lie=1;
P0=~num;
lie=0;
delay(60);
num<<=1;
}
}}
/***程序:点阵2***/
/***作者:爱因斯尼@SCUT***/
/***时间:2010.07.23***/
/***必要的头文件和宏定义***/
#include<reg52.h>//51单片机的头文件
#define uint unsigned int//两个常用的宏定义
#define uchar unsigned char
sbit DS=P1^0;//595串口数据输入端
sbit OE=P1^1;//使能端,低电平有效
sbit SH=P1^2;//移位寄存器的时钟输入
sbit ST=P1^3;//存储器的时钟输入
sbit duan=P1^5;//定义段选端
sbit wei=P1^6;//定义位选端
sbit lie=P1^7;//定义8*8点阵的列扫描
uchar code table_595[]={
0x48,0x29,0x19,0xF,0x19,0x29,0x48,0x0,//天
0x48,0x29,0x19,0xF,0x19,0x29,0x48,0x0,//天
0x88,0x49,0x29,0x1F,0x9,0xFF,0x9,0x8,//开
0x1E,0x3F,0x7F,0xFE,0xFE,0x7F,0x3F,0x1E//心形
};
uchar code table_lie[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//列的选通
/*********带形参的延时子函数***************/
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1141;j++);
}
/*********数码管的初始化函数***************/
void Init_smg()
{
P0=0x00;
duan=1;
P0=0x00;//关段选端
duan=0;
P0=0xff;
wei=1;
P0=0xff;//关位选端
wei=0;
lie=1;
P0=0xff;//点阵全灭
lie=0;
}
/***595串转并***/
void show_595(uchar num)
{
uchar i,zf;
P1=0x00;
zf=table_595[num];
for(i=0;i<8;i++)
{
if(zf&0x80)//从高位开始移位
DS=1;
else DS=0;
SH=1;// 移位寄存器的上升沿时钟
SH=0;
zf<<=1;
}
ST=1;//存储器的上升沿时钟
ST=0;
OE=0;
}
/***点阵显示***/
void show_dianzhen()
{
uint i,j,shu;
for(j=1;j<5;j++)//4个字
{
for(shu=0;shu<600;shu++)//每个字显示的次数
{
for(i=(j-1)*8;i<(j-1)*8+8;i++)
{
show_595(i);
lie=1;
P0=table_lie[i%8];//取余,8列中的哪一列
lie=0;
}}
lie=1;
P0=0xff;
lie=0;
delay(60);
}
}
/*****主函数******/
void main()
{
Init_smg();
while(1)
{
show_dianzhen();
}
}
/***程序:点阵3***/
/***作者:爱因斯尼@SCUT***/
/***时间:2010.07.23***/
/***必要的头文件和宏定义***/
#include<reg52.h>//51单片机的头文件
#define uint unsigned int//两个常用的宏定义
#define uchar unsigned char
sbit DS=P1^0;//595串口数据输入端
sbit OE=P1^1;//使能端,低电平有效
sbit SH=P1^2;//移位寄存器的时钟输入
sbit ST=P1^3;//存储器的时钟输入
sbit duan=P1^5;//定义段选端
sbit wei=P1^6;//定义位选端
sbit lie=P1^7;//定义8*8点阵的列扫描
uchar code table_595[]={
0x7E,0x41,0x51,0x31,0x3E,0x41,0x41,0x3E,//GO
0x48,0x29,0x19,0xF,0x19,0x29,0x48,0x0,//天
0x00,0x00,
0x48,0x29,0x19,0xF,0x19,0x29,0x48,0x0,//天
0x00,0x00,
0x88,0x49,0x29,0x1F,0x9,0xFF,0x9,0x8,//开
0x00,0x00,
0x1E,0x3F,0x7F,0xFE,0xFE,0x7F,0x3F,0x1E,//心形
0x00,0x00,
0x7E,0x81,0xB5,0xB1,0xB1,0xB5,0x81,0x7E,//猪头
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00//空格
};
uchar code table_lie[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//列的选通
/*********带形参的延时子函数***************/
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1141;j++);
}
/*********数码管的初始化函数***************/
void Init_smg()
{
P0=0x00;
duan=1;
P0=0x00;//关段选端
duan=0;
P0=0xff;
wei=1;
P0=0xff;//关位选端
wei=0;
lie=1;
P0=0xff;//点阵全灭
lie=0;
}
/***595串转并***/
void show_595(uchar num)
{
uchar i,zf;
P1=0x00;
zf=table_595[num];
for(i=0;i<8;i++)
{
if(zf&0x80)//从高位开始移位
DS=1;
else DS=0;
SH=1;// 移位寄存器的上升沿时钟
SH=0;
zf<<=1;
}
ST=1;//存储器的上升沿时钟
ST=0;
OE=0;
}
/***点阵显示***/
void show_dianzhen()
{
uint i,h,shu;
for(shu=0;shu<4000;shu++)//显示GO一段时间
{
for(i=0;i<8;i++)
{
show_595(i);
lie=1;
P0=table_lie[i%8];//取余,8列中的哪一列
lie=0;
}}
for(h=8;h<56;h++)//4个字 8*4=32行
{
for(shu=0;shu<200;shu++)//每个字显示的次数
{
for(i=0;i<8;i++)
{
show_595(i+h);
lie=1;
P0=table_lie;//取余,8列中的哪一列,左移
lie=0;
}}
lie=1;
P0=0xff;
lie=0;
delay(6);
}
}
/*****主函数******/
void main()
{
Init_smg();
while(1)
{
show_dianzhen();
}
}
欢迎光临我们的淘宝网店:http://item.taobao.com/auction/item_detail.htm?item_num_id=9447334857
用户1618165 2011-4-23 14:21