资源简介

ds12887+1602显示万年历proteus7.5仿真 完整程序及仿真原理图

资源截图

代码片段和文件信息

#include
#include
#define uchar unsigned char
#define uint  unsigned int
uchar miaofenshirizhouyueniantime_flagkey_num;
sbit DS_cs     =  P2^7;
sbit DS_as     =  P2^3;
sbit DS_rw     =  P3^6;
sbit DS_ds     =  P3^7;
sbit LCD_rs    =  P2^0;
sbit LCD_en    =  P2^1;
sbit beep      =  P2^2;
sbit key1      =  P2^5;
sbit key2      =  P2^6;
uchar code table1[]={“  20  -  -      “};
uchar code table2[]={“      :  :      “};
void delay(uchar z)
{
uchar xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void DS_write(uchar adduchar date)
{
  DS_as=1;
  DS_ds=1;
  DS_rw=1;
  DS_cs=0;
  P1=add;
  DS_as=0;
  DS_rw=0;
  P1=date;
  DS_rw=1;
  DS_as=1;
  DS_cs=1;

}
uchar DS_read(uchar add)
{
  uchar  DS_read_dat;
  DS_as=1;
  DS_ds=1;
  DS_rw=1;
  DS_cs=0;
  P1=add;
  DS_as=0;
  DS_ds=0;
  P1=0xff;
  DS_read_dat = P1;
  DS_ds=1;
  DS_as=1;
  DS_cs=1;
  return(DS_read_dat);
}
void LCD_write_com(uchar com)
{
  LCD_rs=0;
  
  LCD_en=0;
  delay(5);
  LCD_en=1;
  P0= com;
  LCD_en=0;
}
void LCD_write_data(uchar date)
{
  LCD_rs=1;
  
  LCD_en=0;
  delay(5);
  LCD_en=1;
  P0= date;
  LCD_en=0;
}
void Display_Btime(uchar adduchar date)
{
LCD_write_com(add);
;
LCD_write_data(date);
}
void Display_BCDtime(uchar adduchar date)
{
uchar gwsw;
sw=date/10;
gw=date%10;
LCD_write_com(0x80+add);
LCD_write_data(0x30+sw);
LCD_write_data(0x30+gw);
}

void BCD_time()
{
miao=DS_read(0x00);
Display_BCDtime(0x4amiao);

fen=DS_read(0x02);
Display_BCDtime(0x47fen);

shi=DS_read(0x04);
Display_BCDtime(0x44shi);

ri=DS_read(0x07);
Display_BCDtime(0x0ari);

yue=DS_read(0x08);
Display_BCDtime(0x07yue);

nian=DS_read(0x09);
Display_BCDtime(0x04nian);

zhou=DS_read(0x06);
switch(zhou)
{
case 1:
{
Display_Btime(0x80+0x0d‘M‘);
Display_Btime(0x80+0x0e‘O‘);
Display_Btime(0x80+0x0f‘N‘);
}
break;
case 2:
{
Display_Btime(0x80+0x0d‘T‘);
Display_Btime(0x80+0x0e‘U‘);
Display_Btime(0x80+0x0f‘E‘);
}
break;
case 3:
{
Display_Btime(0x80+0x0d‘W‘);
Display_Btime(0x80+0x0e‘E‘);
Display_Btime(0x80+0x0f‘D‘);
}
break;
case 4:
{
Display_Btime(0x80+0x0d‘T‘);
Display_Btime(0x80+0x0e‘H‘);
Display_Btime(0x80+0x0f‘U‘);
}
break;
case 5:
{
Display_Btime(0x80+0x0d‘F‘);
Display_Btime(0x80+0x0e‘R‘);
Display_Btime(0x80+0x0f‘I‘);
}
break;
case 6:
{
Display_Btime(0x80+0x0d‘S‘);
Display_Btime(0x80+0x0e‘A‘);
Display_Btime(0x80+0x0f‘T‘);
}
break;
case 7:
{
Display_Btime(0x80+0x0d‘S‘);
Display_Btime(0x80+0x0e‘U‘);
Display_Btime(0x80+0x0f‘N‘);
}
break;
default :break;

}
}
void keyscan()
{
if(key1==0)
{
delay(10);
if(key1==0)
{
key_num++;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      87586  2009-12-03 13:10  ds12887\1.DSN

     文件        935  2009-12-03 13:17  ds12887\1.PWI

     文件       7361  2009-12-03 13:16  ds12887\12887.c

     文件      24543  2009-12-03 13:16  ds12887\12887.LST

     文件      19957  2009-12-03 13:16  ds12887\12887.OBJ

     文件      16941  2009-12-03 13:16  ds12887\ds12c887

     文件       3614  2009-12-03 13:16  ds12887\ds12c887.hex

     文件         30  2009-12-03 13:16  ds12887\ds12c887.lnp

     文件      23699  2009-12-03 13:16  ds12887\ds12c887.M51

     文件       1021  2009-12-03 13:16  ds12887\ds12c887.Opt

     文件        388  2009-12-03 13:16  ds12887\ds12c887.plg

     文件       1989  2009-12-03 12:03  ds12887\ds12c887.Uv2

    .......       975  2009-12-03 13:10  ds12887\ds12c887_Opt.Bak

    .......      2108  2008-06-04 13:25  ds12887\ds12c887_Uv2.Bak

     文件      78394  2009-12-03 11:44  ds12887\Last Loaded 1.DBK

     目录          0  2009-12-03 13:17  ds12887

----------- ---------  ---------- -----  ----

               269541                    16


评论

共有 条评论