ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:168.50KB ,
资源ID:3550935      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3550935.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ds1302实时时钟c程序加仿真原理图.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

ds1302实时时钟c程序加仿真原理图.doc

1、#ifndef _1602_yejing_#define _1602_yejing_#include#define uchar unsigned char#define uint unsigned intsbit lcden=P34;sbit lcdrs=P35;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;P

2、0=date;delay(5);lcden=1;delay(5);lcden=0;void write_lcd(uchar x,char *cha) uchar length,i=0;write_com(x);for(length=0;chalength!=0;length+); for(i=0;i4)write_data(ch2);write_data(ch1);void write_fd(float t)/显示 float 型函数 uchar s1,s2,s3,s4;uint tt;tt=t*100;s1=tt/1000;s1+=0x30;s2=tt%1000/100;s2+=0x30;s

3、3=tt%1000%100/10;s3+=0x30;s4=tt%10;s4+=0x30;write_data(s1);write_data(s2);write_data(46);write_data(s3);write_data(s4); void init()lcden=0;write_com(0x38);/设置 16*2 显示write_com(0x0c);/设置开显示,不显示光标write_com(0x06);/写一个字符后地址指针加 1write_com(0x01);/显示清 0,数据指针清 0#endif/*THE REAL TIMER DS1302 DRIVER LIBCOPYRI

4、GHT (c) 2010 BY ZYK.- ALL RIGHTS RESERVED -File Name: DS1302.hAuthor: ZHANG YUAN KECreated: 2010/06/21Modified: NORevision: 1.0*/#ifndef _DS1302_2010_06_21_#define _DS1302_2010_06_21_sbit SCLK = P16; /实时时钟时钟线引脚 sbit DIO = P17; /实时时钟数据线引脚 sbit CE = P15; /实时时钟复位线引脚sbit ACC0 = ACC0;sbit ACC7 = ACC7;cha

5、r sec,min,hour,day,mon,week,year;char *tab7=“Sun“,“Mon“,“Tue“,“Wed“,“Thu“,“Fri“,“Sat“,;void write_1302(uchar add,uchar dat)uchar i;ACC=add;CE=0;SCLK=0;CE=1;for(i=0;i=1;ACC=dat;for(i=0;i=1;CE=0;uchar read_1302(uchar add)uchar i;ACC=add;CE=0;SCLK=0;CE=1;for(i=8;i0;i-) / 为什么不能 for(i=0;i=1;SCLK=0;for(i=

6、8;i0;i-) ACC=1;ACC7=DIO;SCLK=1;SCLK=0;return(ACC); CE=0; void inputbyte(uchar d) /实时时钟写入一字节(内部函数) uchar i;ACC=d;for(i=8;i0;i-)DIO=ACC0; /相当于汇编中的 RRCSCLK=1;SCLK=0;ACC=1; uchar outputbyte() /实时时钟读取一字节(内部函数) uchar i;for(i=8; i0; i-)ACC=ACC1; /相当于汇编中的 RRC ACC7=DIO;SCLK=1;SCLK=0; return(ACC); void write_

7、1302(uchar add,uchar dat) /ucAddr: DS1302 地址, ucData: 要写的数据CE=0;SCLK=0;CE=1;inputbyte(add); / 地址,命令 inputbyte(dat); / 写 1Byte 数据CE=0; uchar read_1302(uchar add) /读取 DS1302 某地址的数据uchar dat;CE=0;SCLK=0;CE=1;inputbyte(add); / 地址,命令 dat=outputbyte(); / 读 1Byte 数据CE=0;return(dat);void setprotect(bit flag

8、)if(flag)write_1302(0x8e,0x80);elsewrite_1302(0x8e,0x00);void gettime_1302()sec=read_1302(0x81);min=read_1302(0x83);hour=read_1302(0x85);day=read_1302(0x87);mon=read_1302(0x89);week=read_1302(0x8b);year=read_1302(0x8d); void stop_time(bit flag) / 是否将时钟停止unsigned char dat;dat=read_1302(0x81);setprote

9、ct(0);if(flag)write_1302(0x80, dat|0x80);elsewrite_1302(0x80, datvoid init_1302() uchar second=read_1302(0x81); if(second/*void BurstWrite1302(unsigned char *pWClock) /往 DS1302 写入时钟数据( 多字节方式)unsigned char i;Write1302(0x8e,0x00); / 控制命令,WP=0,写操作 ?DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302Inp

10、utByte(0xbe); / 0xbe:时钟多字节写命令for (i = 8; i0; i-) /8Byte = 7Byte 时钟数据 + 1Byte 控制DS1302InputByte(*pWClock); / 写 1Byte 数据pWClock+;DS1302_CLK = 1;DS1302_RST = 0; void BurstRead1302(unsigned char *pRClock) /读取 DS1302 时钟数据( 时钟多字节方式)unsigned char i;DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputBy

11、te(0xbf); / 0xbf:时钟多字节读命令 for (i=8; i0; i-) *pRClock = DS1302OutputByte(); / 读 1Byte 数据 pRClock+;DS1302_CLK = 1;DS1302_RST = 0;*/#endif#include “1602.h“#include “DS1302.h“sbit set=P32;sbit jia1=P30;sbit jian1=P31;uchar slect=0;uchar bcdtoasc(uchar cha)return (cha/16)*10+(cha%16);uchar asctobcd(uchar

12、 cha)return (cha/10)*16+(cha%10);void disp_week() switch(week) case 1:write_lcd(0xcd,tab0); break;case 2:write_lcd(0xcd,tab1); break;case 3:write_lcd(0xcd,tab2); break;case 4:write_lcd(0xcd,tab3); break;case 5:write_lcd(0xcd,tab4); break;case 6:write_lcd(0xcd,tab5); break;case 7:write_lcd(0xcd,tab6)

13、; break;void disp_time()write_com(0x87);write_bcd(year);write_com(0x8a);write_bcd(mon);write_com(0x8d);write_bcd(day);write_com(0xc5);write_bcd(hour);write_com(0xc8);write_bcd(min);write_com(0xcb);write_bcd(sec);disp_week();void keyscan()set=1;jia1=1;jian1=1;stop_time(1); if(set=0)delay(10);if(set=0

14、) delay(200); slect+;if(slect=8) slect=0; stop_time(0);write_com(0x0c);if(slect)switch(slect) case 1:write_com(0xcb);write_com(0x0d); if(jia1=0)delay(10);if(jia1=0) delay(200);sec=read_1302(0x81);sec=secsec=bcdtoasc(sec);sec+=1;if(sec=60)sec=0;sec=asctobcd(sec);write_1302(0x80,sec);write_com(0x0c);write_bcd(sec);

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。