资源简介
具有按键可调实时时钟显示,断电时间保存,开机时间校准,通过51单片机控制在LCD1602上显示
代码片段和文件信息
#include //包含单片机寄存器的头文件
sbit led1=P1^0;
sbit led2=P1^2;
sbit led5=P1^5;
sbit du=P2^6;//段选
sbit we=P2^7;//位选
sbit s1=P3^4;
sbit s2=P3^5;
sbit s3=P3^6;
sbit s4=P3^7;
sbit beep=P2^3;
sbit dot=P0^7;
unsigned char shifenmiaounitkeyvkeyavashiafenamiao;
void delay() //1ms
{
unsigned char ab;
for(b=102;b>0;b--)
for(a=3;a>0;a--);
}
void delay5(void) //误差 5ms
{
unsigned char ab;
for(b=15;b>0;b--)
for(a=152;a>0;a--);
}
void delayhalf (void) //误差 0.5s
{
unsigned char abc;
for(c=23;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
}
void display( unsigned char hfs)
{
unsigned char code duma[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x38};
unsigned char code mawei[]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};
unsigned char shiwanwanqianbaishige;
shiwan=h/10;
wan=h%10;
qian=f/10;
bai=f%10;
shi=s/10;
ge=s%10;
P0=duma[shiwan];
du=1;
du=0;
P0=mawei[0];
we=1;
we=0;
delay();
P0=duma[wan];
dot=1;
du=1;
du=0;
dot=0;
P0=mawei[1];
we=1;
we=0;
delay();
P0=duma[qian];
du=1;
du=0;
P0=mawei[2];
we=1;
we=0;
delay();
P0=duma[bai];
dot=1;
du=1;
du=0;
dot=0;
P0=mawei[3];
we=1;
we=0;
delay();
if(key!=1&&key!=2)
{
P0=duma[shi];
du=1;
du=0;
P0=mawei[4];
we=1;
we=0;
delay();
P0=duma[ge];
du=1;
du=0;
P0=mawei[5];
we=1;
we=0;
delay();
}
if(key==1||key==2)//
{
P0=duma[10];
du=1;
du=0;
P0=mawei[4];
we=1;
we=0;
delay();
P0=duma[11];
du=1;
du=0;
P0=mawei[5];
we=1;
we=0;
delay();
}
P0=0xff;
we=1;
we=0;
}
////////////////////////
passtime()
{
if(unit==100)
{
miao++;
unit=0;
led1=!led1;
led2=!led2;
}
if(miao==60)
{
fen++;
miao=0;
}
if(fen==60)
{
shi++;
fen=0;
}
if(shi==24)
{
shi=0;
}
}
//////////////////////////////////////
void InitTimer0(void)//10ms
{
TMOD = 0x01;
TH0 = 0x0DC;
TL0 = 0x00;
EA = 1;
ET0 = 1;
TR0 = 1;
unit=0;
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x0DC;
TL0 = 0x00;
unit++ ;//add your code here!
passtime();
}
void adjustment(void)
{
if(s1==0)
{
delay5();
if(s1==0)
{
while(!s1);
amiao=0;
key++;
led5=0;
if(key==5)
{
key=0;
TR0=1;
led5=1;
}
}
}//////s1 count
if(s2==0)
{
delay5();
if(s2==0)
{
while(!s2);
if(key==1)//alram
{
ashi++;
if(ashi==24)
{
ashi=0;
}
}
if(key==2)
{
afen++;
if(afen==60)
{
afen=0;
}
}//alram
if(key==4)/////
{
miao=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-15 16:50 DS1302时钟带可调闹钟显示\
目录 0 2014-05-15 16:50 DS1302时钟带可调闹钟显示\clock--HL-1\
文件 12057 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study
文件 11844 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study.LST
文件 21841 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study.M51
文件 14103 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study.OBJ
文件 1354 2014-04-16 10:40 DS1302时钟带可调闹钟显示\clock--HL-1\study.Opt
文件 2084 2014-04-16 10:40 DS1302时钟带可调闹钟显示\clock--HL-1\study.Uv2
文件 5267 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study.c
文件 2757 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study.hex
文件 42 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study.lnp
文件 227 2014-04-16 10:40 DS1302时钟带可调闹钟显示\clock--HL-1\study.plg
文件 1260 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study_Opt.Bak
文件 1679 2013-07-29 23:16 DS1302时钟带可调闹钟显示\clock--HL-1\study_Uv2.Bak
文件 156 2013-07-29 23:16 DS1302时钟带可调闹钟显示\程序按键功能说明.txt
- 上一篇:qbfmel.rar
- 下一篇:打折机票比价搜索引擎
相关资源
- DS1302+DS13B20+12864,万年历。农历
- AVR多功能实验箱DS1302时钟实验源码资
- 畅学STM32多功能实验箱DS1302时钟芯片源
- stm32f103和时钟芯片ds1302
- STM32+RTCDS1302实时时钟设计,整个工程
- PSOC 官方例程 赛普拉斯 RTC 实时时钟
- DS1302驱动程序.zip
- MSP432RTC实时时钟OLED显示
- FPGA上实现实时时钟,定时器以及蜂鸣
- STM32F103C8T6按键调整参数断电保护,温
- STM32 LCD12864带日历时钟功能的电子密
- DS1302程序开发运用在STM32F103
- 51单片机通过DS1302进行时钟显示,并在
- STC89C52RC+DS1302电子时钟设计
- DS1302中文资料手册
- STM32F103+DS1302
- stm32可调时钟程序
- 基于 STM32 的 RTC 实时时钟
- DS1302 数码管显示 带闹钟可调
- 辉光管时钟全套开源资料 PCB 源码 5
- 数字时钟设计内含原理图、源代码、
- STM32F4可调电子时钟系统课程设计
- 基于MSP430G2553和NRF24L01的DS1302时钟程序
- OLED显示温度和时间-STM32F103C8T6完整程
- 智能电子秤arduino+hx711+DS1302+dh11+lcd16
- 基于单片机DS1302+DS18B20+DHT11+LCD12864的万
- PCF8563实时时钟操作,定时报警设置
- 1602+ds1302+18B20万年历显示温度星期完全
- 51单片机串口修改DS1302时间
- 完整的电子时钟万年历LCD12846+DS1302+
评论
共有 条评论