




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #define DS1302_W_ADDR 0xBE#define DS1302_R_ADDR 0xBF#define KEY_DELAY 200 / 按键扫描延时/键值typedef unsigned char uint8;typedef unsigned int uint16;typedef unsigned long uint32;typedef char int8;typedef int int16;typedef long int32;/ DS1302sbit SCK = P17;/时钟sbit SDA = P23;/数据sbit RST = P13; /DS1302复位(片选)sbit key0=P30;sbit key1=P31;sbit key2=P32;sbit key3=P33;void delay(uint16 cnt);void delay1(uint16 del)uint16 x,y;for(x=0;xdel;x+)for(y=0;y148;y+);code uint8 Ledcode14=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf,0x86,0x00;uint8 Time7=55,59,11,22,2,2,11;/秒分时日月周年10-08-15 11:59:55uint8 Led_buf6;uint8 Num=0, Led_n=0, T_n=0,min=0;bit flag;bit Wow;void delay(uint16 n)while (n-);/* * 初始化系统定时器*/void write_ds1302_byte(uint8 dat) uint8 i;for (i=0;i= 1;SCK = 0;/* * 读一个字节*/uint8 read_ds1302_byte(void) uint8 i, dat=0;for (i=0;i= 1;if (SDA)dat |= 0x80;SCK = 1;SCK = 0; return dat;void reset_ds1302(void)RST = 0;SCK = 0;RST = 1;/* * 清除写保护*/void clear_ds1302_WP(void) reset_ds1302();RST = 1;write_ds1302_byte(0x8E);write_ds1302_byte(0);SDA = 0;RST = 0;/* * 设置写保护*/void set_ds1302_WP(void) reset_ds1302();RST = 1;write_ds1302_byte(0x8E);write_ds1302_byte(0x80);SDA = 0;RST = 0;/* * 设定时钟数据*/void set_time(uint8 *timedata)uint8 i, tmp;for (i=0; i7; i+) / 转化为BCD格式tmp = timedatai / 10;timedatai = timedatai % 10;timedatai = timedatai + tmp*16;clear_ds1302_WP();reset_ds1302();RST = 1;write_ds1302_byte(DS1302_W_ADDR);for (i=0; i7; i+)write_ds1302_byte(timedatai);delay(10);write_ds1302_byte(0);SDA = 0;RST = 0;set_ds1302_WP();/* * 读时钟数据*/void read_time(uint8 *timedata)uint8 i, tmp;clear_ds1302_WP();reset_ds1302();RST = 1;write_ds1302_byte(DS1302_R_ADDR);for (i=0; i7; i+)timedatai = read_ds1302_byte();delay(10);SDA = 0;RST = 0;set_ds1302_WP();for (i=0; i= 7)Led_n = 0;elseLed_n+; void set_clock(void)if (key0 = 0)delay1(3);if (key0 = 0) delay1(3);while(!key0);if(min=2) Time2+;if(Time2=24)Time2=0;if(min=1)Time1+;if(Time1=60)Time1=0;set_time(Time);if (key1= 0)delay1(3);if (key1= 0) delay1(3);while(!key1);if(min=2) if(Time2=0)Time2=24; Time2-; if(min=1) if(Time1=0) Time1=60; Time1-; set_time(Time); void gai()if (key2 = 0)delay(KEY_DELAY);if (key2 = 0)while(!key2); min+; if(min=3) min=0; while(min=1) read_time(Time); flash1(flag); show_time(Led_buf); set_clock(); if(key2=0) break; while(min=2) read_time(Time); flash2(flag); show_time(Led_buf); set_clock(); if(key2=0) break; while(min=0) read_time(Time); make_led_number(); show_time(Led_buf); set_clock(); if(key2=0) break; void main()systimer_init();set_time(Time); /初始时间设定 while (1)read_time(Time);make_led_nu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《高等数学》上册课件04-04有理函数的积分
- 幼儿园小班数学活动教案变魔术
- 《高级商务英语口语第二版》课件unit12Crossboarderecommerce
- 2025年公共卫生检验员考试试卷及答案
- 2025年工程伦理与法律课程考试试卷及答案
- 四川省泸县2025届八年级英语第二学期期末学业水平测试试题含答案
- 护理用药安全微课
- 2026年中考物理专题复习光的直线传播、反射和折射 讲义(含练习题及答案)
- 2025年动画设计师考试试卷及答案
- 2025年产业经济学相关理论考试试卷及答案
- 2025年中学教师资格考试《综合素质》教育法律法规经典案例分析及强化试题集(含答案)
- 2025年小学语文期末考试试题及答案
- 发改委立项用-超薄玻璃项目可行性研究报告
- 2024年浙江省《辅警招聘考试必刷500题》考试题库附答案【综合题】
- 中国熔融粘合环氧粉末涂料项目商业计划书
- 200以内加减法-2000题(带答案)
- 上海市闵行区2024-2025学年八年级上学期期末考试物理试题(解析版)
- 阅读认知策略的跨学科研究框架构建
- 先天性甲状腺功能减退症诊治指南(2025)解读
- 广东省广州市越秀区2022-2023学年七年级下学期期末考试英语试题(含答案)
- 2025年北京市第一次普通高中学业水平合格性考试历史试题(含答案)
评论
0/150
提交评论