资源简介
里面有仿真和代码,基于DS1302做的电子时钟用的是数码管显示。
代码片段和文件信息
/**********************ET-C52实验开发板例程************************
* 名称:DS1302时钟芯片与数码管及按键显示屏的综合应用
* 公司:武汉东方智达科技有限公司
* 网站:www.east027.com http://shop73255907.taobao.com/
* 编写:东方智达研究员
* 日期:2011--08--20
* QQ : 836730083
* 晶振: 11.0594MHZ
* 内容:DS1302时钟芯片的应用,将时钟数据用数码管屏显示。
******************************************************************/
#include
#include “ds1302.h“
#include “key.h“
#define uchar unsigned char
#define uint unsigned int
bit WATCH_TIME=1; //数码管显示时间标志位,默认情况下显示时间
bit WATCH_DATE=0; //数码管显示日期标志位
bit SET_TIME=0; //数码管显示调时时的在调时间
bit SET_DATE=0; //数码管显示在调日期
bit SET_CLOK=0; //数码管显示在调闹钟的数值
bit CLK; //开闹钟标志位
sbit beef=P2^7; //蜂鸣器
sbit led=P2^2; //数码管之间的led小灯
uchar tab_t[6]tab_c[6]tab_d[6]date[6]time[6]; //用来显示调节时间、闹钟、日期时显示相应数据
uchar tiaosecond;//调时或设置闹钟时,相应的时分秒跳动
uchar code tabdu[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};/*共阴极数*/
uchar code tabwe[]={0xfe0xfd0xfb0xf70xef0xdf};
uchar keyvaltiao=2;
uchar hourminsec;
uchar yearmonthday;
uchar clkhclkmclks;
void delay(uint t)
{
uint xy;
for(x=0;x for(y=0;y<40;y++);
}
//------------------------------------------
// 数据转换
//------------------------------------------
void trans()
{
date[0]=tab_1302[6]/10; //年十位
date[1]=tab_1302[6]%10; //年个位
date[2]=tab_1302[4]/10; //月十位
date[3]=tab_1302[4]%10; //月个位
date[4]=tab_1302[3]/10; //日十位
date[5]=tab_1302[3]%10; //日个位
time[0]=tab_1302[2]/10; //小时十位
time[1]=tab_1302[2]%10; //小时个位
time[2]=tab_1302[1]/10; //分十位
time[3]=tab_1302[1]%10; //分个位
time[4]=tab_1302[0]/10; //秒十位
time[5]=tab_1302[0]%10; //秒个位
}
//------------------------------------------
// 获取时分秒的十位和个位
//------------------------------------------
void Getval(uchar hour1uchar min1uchar sec1)
{
tab_t[0]=hour1/10;
tab_t[1]=hour1%10;
tab_t[2]=min1/10;
tab_t[3]=min1%10;
tab_t[4]=sec1/10;
tab_t[5]=sec1%10;
}
//------------------------------------------
// 获取年月日的十位和个位
//------------------------------------------
void Getdate(uchar year1uchar month1uchar day1)
{
tab_d[0]=year1/10;
tab_d[1]=year1%10;
tab_d[2]=month1/10;
tab_d[3]=month1%10;
tab_d[4]=day1/10;
tab_d[5]=day1%10;
}
//------------------------------------------
// 初始化闹钟
//------------------------------------------
void clkinit()
{
tab_c[0]=2;
tab_c[1]=4;
tab_c[2]=0;
tab_c[3]=0;
tab_c[4]=0;
tab_c[5]=0;
}
//------------------------------------------
// 获取在调闹钟的时分秒十位和个位
//------------------------------------------
void Getclok()
{
tab_c[0]=clkh/10;
tab_c[1]=clkh%10;
tab_c[2]=clkm/10;
tab_c[3]=clkm%10;
tab_c[4]=clks/10;
tab_c[5]=clks%10;
}
//------------------------------------------
// 显示实时时间
//------------------------------------------
void dsptime()
{
uchar i;
led=0;
for(i=0;i<6;i++)
{
P3=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-12-06 17:21 10、DS1302 数码管显示 带闹钟可调\
文件 22465 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示
文件 21473 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.LST
文件 31927 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.M51
文件 27005 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.OBJ
文件 48 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.__i
文件 9465 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.c
文件 6100 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.hex
文件 69 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.lnp
文件 436 2012-12-06 17:18 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.plg
文件 57295 2012-12-06 17:21 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.uvopt
文件 13770 2012-11-12 17:39 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示.uvproj
文件 57295 2012-11-13 12:55 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示_uvopt.bak
文件 13938 2012-11-06 20:19 10、DS1302 数码管显示 带闹钟可调\DS1302 LCD1602显示_uvproj.bak
文件 124932 2012-11-16 12:18 10、DS1302 数码管显示 带闹钟可调\Last Loaded 时钟.DBK
文件 6376 2009-05-07 14:37 10、DS1302 数码管显示 带闹钟可调\STARTUP.A51
文件 14048 2012-11-07 11:36 10、DS1302 数码管显示 带闹钟可调\STARTUP.LST
文件 749 2012-11-07 11:36 10、DS1302 数码管显示 带闹钟可调\STARTUP.OBJ
文件 0 2012-11-06 14:52 10、DS1302 数码管显示 带闹钟可调\display.h
文件 3908 2012-11-06 11:22 10、DS1302 数码管显示 带闹钟可调\ds1302.h
文件 893 2012-11-07 12:04 10、DS1302 数码管显示 带闹钟可调\key.h
文件 1232 2012-08-24 15:06 10、DS1302 数码管显示 带闹钟可调\lcd1602.h
目录 0 2012-11-11 16:12 10、DS1302 数码管显示 带闹钟可调\时钟\
目录 0 2012-11-19 11:37 10、DS1302 数码管显示 带闹钟可调\时钟\低版本(字体会出现乱码protel 99)\
文件 158910 2012-11-11 16:05 10、DS1302 数码管显示 带闹钟可调\时钟\低版本(字体会出现乱码protel 99)\时钟.pcb
目录 0 2012-11-11 16:12 10、DS1302 数码管显示 带闹钟可调\时钟\原版本(Altium Designer Winter 09)\
文件 8214016 2012-11-11 16:05 10、DS1302 数码管显示 带闹钟可调\时钟\原版本(Altium Designer Winter 09)\时钟.PcbDoc
文件 223900 2012-11-11 16:05 10、DS1302 数码管显示 带闹钟可调\时钟\时钟PCB.pdf
文件 156688 2012-11-11 16:05 10、DS1302 数码管显示 带闹钟可调\时钟\时钟原理图.pdf
文件 124937 2012-12-06 17:19 10、DS1302 数码管显示 带闹钟可调\时钟.DSN
文件 1102 2012-12-06 17:20 10、DS1302 数码管显示 带闹钟可调\时钟.PWI
............此处省略0个文件信息
相关资源
- 辉光管时钟全套开源资料 PCB 源码 5
- 数字时钟设计内含原理图、源代码、
- STM32F4可调电子时钟系统课程设计
- 基于MSP430G2553和NRF24L01的DS1302时钟程序
- OLED显示温度和时间-STM32F103C8T6完整程
- 智能电子秤arduino+hx711+DS1302+dh11+lcd16
- 基于单片机DS1302+DS18B20+DHT11+LCD12864的万
- 1602+ds1302+18B20万年历显示温度星期完全
- 51单片机串口修改DS1302时间
- 完整的电子时钟万年历LCD12846+DS1302+
- DS1302源码
- DS1302_8位数码管_仿真.zip
- DS1302+串行通信+数码管 STC15W驱动程序
- STM32F103RCT6使用DS1302时钟模块
- DS1302程序详解
- 51单片机Ds1302及温度Ds18B20+1602液晶显示
- ds1302中文手册
- 51单片机驱动DS1302时间模块+DS18B20温度
- 可调时钟+闹钟——基于DS1302
- 1602+DS1302时钟+DS18B20
- 毕业设计__基于51单片机的公交车自动
- ewb可定时带闹钟的多功能数字钟带课
- 基于DS18B20的水温控制系统 仿真+程序
- 电子钟DS1302+LCD1602+89C52+proteus仿真图
- LCD12864读取DS1302模块,显示实时时间
- STM32_DS1302
- 0011、采用实时时钟芯片DS1302+AT89C205
- STM32 DS1302驱动代码
- STC15F2K48S2单片机DS1302获取时间通过串
- 利用DS1302实现单片机控制的电子万年
评论
共有 条评论