高级会员
主题
帖子
积分335
阅读权限30
注册时间2012-7-6
最后登录1970-1-1
在线时间 小时
|
楼主 |
发表于 2012-9-2 16:59
|
显示全部楼层
/*****************************************************
4字LED点阵屏+DS1302万年历电子钟 C 程序
******************************************************
595连级输出数据,138行驱动。*/
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code hanzi[4][32]; //汉字字模
uchar code sw[]; //138驱动数据
void Show_word();
sbit dat=P2^5; //定义595数据发送口
sbit clk=P2^6; //定义595时钟发送口
sbit str=P2^7; //定义595锁存
void date595( uchar temp);
void DelayMs(void);
/******************主函数******************************/
void main()
{
while(1) //循环显示
{
Show_word();
}
}
/******************显示******************************/
void Show_word()
{ uint i,j;
for(j=0;j<16;j++)
{ str=0;
for(i=0;i<4;i++)
{
date595(hanzi[i][j*2]);
date595(hanzi[i][j*2+1]);
}
P1=sw[j];//写入行号
str=1;
DelayMs();
}
}
void date595( uchar temp)
{
uchar i;
for(i=0;i<8;i++)
{ clk=0;
temp=temp>>1;
dat=CY;
clk=1;
}
}
/*************延时********************/
void DelayMs(void)
{
uchar TempCyc;
for(TempCyc=110;TempCyc>1;TempCyc--)
{;}
}
//*******************************************************************
uchar code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};/*16行段码*/
uchar code hanzi[4][32]={
/*-- 文字: 科 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x06,0x08,0x78,0x88,0x08,0x48,0x08,0x48,0xFE,0x08,0x18,0x88,0x1C,0x48,0x2A,0x48,
0x28,0x0E,0x48,0x78,0x8B,0x88,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
/*-- 文字: 埠 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x20,0x40,0x20,0x80,0x23,0xF8,0x22,0x08,0xFA,0x08,0x23,0xF8,0x22,0x00,0x23,0xFC,
0x22,0x04,0x22,0x04,0x3B,0xFC,0xE0,0x40,0x47,0xFE,0x00,0x40,0x00,0x40,0x00,0x40,
/*-- 文字: 广 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x01,0x00,0x00,0x80,0x3F,0xFE,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,
0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x00,0x00,
/*-- 文字: 州 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x08,0x04,0x08,0x84,0x08,0x84,0x08,0x84,0x08,0xC4,0x4C,0xA4,0x4A,0xA4,0x4A,0x94,
0x88,0x94,0x08,0x84,0x08,0x84,0x10,0x84,0x10,0x84,0x20,0x84,0x20,0x84,0x40,0x04,}; |
|