• 大小: 12KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: 时钟程序  

资源简介

12864时钟+按键可调程序,可调时间年、月、日

资源截图

代码片段和文件信息

/***************************************/
/*       LCD12864时钟显示程序          */
/***************************************/
#include
#define uint unsigned int
#define uchar unsigned char

sbit rs=P2^0;
sbit rw=P2^1;
sbit e=P2^2;
sbit psb=P2^3;
sbit s1=P3^3;        //秒
sbit s2=P3^4;        //分
sbit s3=P3^5;        //时

uchar counts1num;       //全局变量
uchar shifenmiaow=0nian=20nian1=11yue=8ri=15sgshi1shi2shi3g1g2g3;     //时间变量
uchar table1[]=“2011年08月02日“;
uchar table2[]=“**星期一**“;
uchar table3[]=“    00: 00: 00“;
uchar table4[]=“身体健康万事如意“;
uchar table[]=“0123456789:“;
uchar table0[]={0xd20xb60xc80xcb0xce0xc10xc80xbb0xfe0xfd0xc40xe50xf90xd5};

void write_12864com(uchar com); //写指令
void write_12864dat(uchar dat); //写数据
void init_12864(void); //初始化
void display1(void); //显示函数
void display2(void); //显示函数
void display3(void); //显示函数
void write_sfm(uchar add uchar date);   //个位、十位显示
void time();          //时间显示函数
void keysan();        //键盘控制函数

/********************************/
/*      12MHz晶振下             */
/*   50us延时 */
/********************************/
void delay_50us(uint t)
{
   uchar j;
   for(;t>0;t--)
      for(j=19;j>0;j--);
}
/********************************/
/*      12MHz晶振下             */
/*   50ms延时 */
/********************************/
void delay_50ms(uint t)
{
   uchar j;
   for(;t>0;t--)
      for(j=6245;j>0;j--);
}
/********************************/
/*      写指令                  */
/********************************/
void write_12864com(uchar com)
{
rw=0;
rs=0;
delay_50us(1);
P0=com;
e=1;
delay_50us(10);
e=0;
delay_50us(2);
}
/********************************/
/*      写数据                  */
/********************************/
void write_12864dat(uchar dat)
{
rw=0;
rs=1;
delay_50us(1);
P0=dat;
e=1;
delay_50us(10);
e=0;
delay_50us(2);
}
/********************************/
/*        初始化                */
/********************************/
void init_12864(void)
{
  delay_50ms(2);
write_12864com(0x30);
delay_50us(4);
write_12864com(0x30);
delay_50us(4);
write_12864com(0x0c); //0x0e光标/0x0d为闪烁设置
delay_50us(4);
write_12864com(0x01);       //清除显示
delay_50us(240);
write_12864com(0x06);
delay_50us(10);
}
/********************************/
/*        显示函数              */
/********************************/
/*void display1(void)
{
    uchar ia;
a=0x10;
write_12864com(0x80);
delay_50us(1);
for(i=0;i<16;i++)
    {
   write_12864dat(a);
   delay_50us(1);
   a++;
}
}
void display2(void)
{
    uchar i;
uchar ab;
a=0xBA;
b=0xC0;

write_12864com(0x80);
delay_50us(1);
for(i=0;i<16;i++)
    {
   write_12864dat(a);
   write_12864dat(b);
   delay_50us(1);
   a++;
   b++;
}
}
  */
void display3(void)
{
    uchar i;
write_12864com(0x80);
for(i=0;i<14;i++)
    {
   write_12864dat(table1[i]);
   delay_50us(1);
}
// w

评论

共有 条评论