迅维网
标题: 利用影碟机16312,VFD的电子时钟89C2051+DS1302 [打印本页]
作者: 王宏仁 时间: 2012-6-8 10:09
标题: 利用影碟机16312,VFD的电子时钟89C2051+DS1302
- #include<reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- /*
- sbit VFD_REM = P1^7;
- sbit VFD_CLK = P1^6;
- sbit VFD_STB = P1^5;
- sbit VFD_DIN = P1^4;
- sbit DS1302_IO=P2^6;
- sbit DS1302_CLK=P2^5;
- sbit DS1302_RST=P2^7;
- sbit k1=P3^4;//功能键
- sbit k2=P3^5;//增加键
- sbit k3=P3^6;//减小键
- sbit k4=P3^7;//查看键
- */
- sbit VFD_CLK = P1^6;
- sbit VFD_STB = P1^5;
- sbit VFD_DIN = P1^7;
- sbit k1=P3^2;//功能键 AT89C2051-6脚
- sbit k2=P3^3;//增加键 AT89C2051-7脚
- sbit k3=P3^4;//减小键 AT89C2051-8脚
- sbit k4=P3^5;//日期查看键 AT89C2051-9脚
- sbit DS1302_IO=P1^0;
- sbit DS1302_CLK=P3^7;
- sbit DS1302_RST=P1^1;
- bit r=1; //用来显示秒点
- sbit ACC0=ACC^0;
- sbit ACC7=ACC^7;
- uchar code vfdmap[]={0xfc, 0x60, 0xda, 0xf2, 0x66, 0xb6, 0xbe, 0xe0, 0xfe, 0xf6, 0x00};//0-9,-,全灭
- uchar code tab[]={0x00,0x10,0x20,0x40,0x80,0x01,0x02,0x04};//用于星期的
- uchar sec_day_shi,sec_day_ge,min_month_shi,min_month_ge,hour_year_ge,hour_year_shi;
- uchar a,sec,min,hour,year,month,day,week,s1num,flag,shu;
- unsigned char vfdbuf[]={0,0,0,0,0,0,0};
- uchar time[7];
- void vfd_cmd (uchar vfd_cmd0); /* 写命令*/
- void write_VFD (uchar write_VFD0); /* 写数据 */
- void vfd_init (void); /*16312初始化 */
复制代码
89c2051.rar
(25.61 KB, 下载次数: 18)