版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include <reg52.h>#include <intrins.h>#include <string.h>#define uint unsigned int#define uchar unsigned chartypedef unsigned char BYTE;sbit IO = P10;sbit SCLK = P11;sbit RST = P12;sbit RS = P20;sbit RW = P21;sbit EN = P22;uchar *WEEK="SUN","*","MON",&
2、quot;TUS","WEN","THU","FRI","SAT"uchar LCD_DSY_BUFFER1="DATE 00-00-00 "uchar LCD_DSY_BUFFER2="TIME 00:00:00 "uchar DateTime7;void DelayMS(uint ms) uchar i;while(ms-) for(i=0;i<120;i+); /DS1302片选口P1.2 /秒 分 时 日 月 星期 年BYTE code init =
3、0x00, 0x00, 0x20, 0x01, 0x01, 0x05, 0x10;BYTE data now7;void DS1302_Initial();void DS1302_SetTime(BYTE *p);void DS1302_GetTime(BYTE *p);/*void main() DS1302_Initial(); /初始化DS1302 DS1302_SetTime(init); /设置初始时间 DS1302_GetTime(now); /读取当前时间 while (1);*/*延时X微秒(STC12C5A60S212M)不同的工作环境,需要调整此函数此延时函数是使用1T的指
4、令周期进行计算,与传统的12T的MCU不同*/void Delay() _nop_(); _nop_();/*从DS1302读1字节数据*/BYTE DS1302_ReadByte() BYTE i; BYTE dat = 0; for (i=0; i<8; i+) /8位计数器 SCLK = 0; /时钟线拉低Delay(); /延时等待 dat >>= 1; /数据右移一位if (IO) dat |= 0x80; /读取数据SCLK = 1; /时钟线拉高Delay(); /延时等待 return dat;/*向DS1302写1字节数据*/void DS1302_Writ
5、eByte(BYTE dat) char i; for (i=0; i<8; i+) /8位计数器 SCLK = 0; /时钟线拉低 Delay(); /延时等待 dat >>= 1; /移出数据 IO = CY; /送出到端口 SCLK = 1; /时钟线拉高 Delay(); /延时等待 /*读DS1302某地址的的数据*/BYTE DS1302_ReadData(BYTE addr) BYTE dat; RST = 0; Delay(); SCLK = 0; Delay(); RST = 1; Delay(); DS1302_WriteByte(addr); /写地址
6、dat = DS1302_ReadByte(); /读数据 SCLK = 1; RST = 0; return dat;/*往DS1302的某个地址写入数据*/void DS1302_WriteData(BYTE addr, BYTE dat) RST = 0; Delay(); SCLK = 0; Delay(); RST = 1; Delay(); DS1302_WriteByte(addr); /写地址 DS1302_WriteByte(dat); /写数据 SCLK = 1; RST = 0;/*写入初始时间*/void DS1302_SetTime(BYTE *p) BYTE add
7、r = 0x80; BYTE n = 7; DS1302_WriteData(0x8e, 0x00); /允许写操作 while (n-) DS1302_WriteData(addr, *p+); addr += 2; DS1302_WriteData(0x8e, 0x80); /写保护/*读取当前时间*/void DS1302_GetTime(BYTE *p) BYTE addr = 0x81; BYTE n = 7; while (n-) *p+ = DS1302_ReadData(addr); addr += 2; /*初始化DS1302*/void DS1302_Initial() R
8、ST = 0; SCLK = 0; DS1302_WriteData(0x8e, 0x00); /允许写操作 DS1302_WriteData(0x80, 0x00); /时钟启动 DS1302_WriteData(0x90, 0xa6); /一个二极管4K电阻充电 DS1302_WriteData(0x8e, 0x80); /写保护uchar Read_LCD_State() uchar state;RS=0;RW=1;EN=1;DelayMS(1);state=P0;EN = 0;DelayMS(1);return state;void LCD_Busy_Wait() while(Read
9、_LCD_State()&0x80)=0x80);DelayMS(5);void Write_LCD_Data(uchar dat) LCD_Busy_Wait();RS=1;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);EN=0;void Write_LCD_Command(uchar cmd) LCD_Busy_Wait();RS=0;RW=0;EN=0;P0=cmd;EN=1;DelayMS(1);EN=0;void Init_LCD() Write_LCD_Command(0x38);DelayMS(1);Write_LCD_Command(0x01);De
10、layMS(1);Write_LCD_Command(0x06);DelayMS(1);Write_LCD_Command(0x0c);DelayMS(1);void Set_LCD_POS(uchar p) Write_LCD_Command(p|0x80);void Display_LCD_String(uchar p,uchar *s) uchar i;Set_LCD_POS(p);for(i=0;i<16;i+)Write_LCD_Data(si);DelayMS(1); void Format_DateTime(uchar d,uchar *a) a0=d/10+'0'a1=d%10+'0'void main() Init_LCD();while(1) DS1302_GetTime(now); Format_DateTime(DateTime6,LCD_DSY_BUFFER1+5);Format_DateTime(DateTime4,LCD_DSY_BUFFER1+8);Format_DateTime(DateTime3,LCD_DSY_BUFFER1+11);strcpy(LCD_DSY_BUFFER1+13,WEEKDateTime5);Format_DateTime(DateTime2,LCD_DSY_BUFFER1+5);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建福州首邑产业投资集团有限公司第二次招聘15人(公共基础知识)测试题附答案解析
- 2026年焦作新材料职业学院单招(计算机)考试备考题库附答案
- 2026年民办四川天一学院单招职业适应性考试题库及答案详解一套
- 2026年四川三河职业学院单招职业技能考试题库及参考答案详解一套
- 2026年滨州科技职业学院单招职业技能测试题库及参考答案详解
- 2026年闽南理工学院单招综合素质考试题库附答案
- 2026年郑州医药健康职业学院单招职业适应性测试题库附答案
- 2026年徽商职业学院单招职业适应性测试题库及参考答案详解1套
- 2026年江苏财会职业学院单招职业适应性测试题库及完整答案详解1套
- 2026年广西金融职业技术学院单招职业适应性测试题库及答案详解1套
- 2025秋期版国开电大本科《心理学》一平台形成性考核练习1至6在线形考试题及答案
- 公司解散清算的法律意见书、债权处理法律意见书
- 【课件】Unit+3+My+School学习课件2024-2025学年人教版英语七年级上册
- 泵车(汽车泵)租赁 投标文件(技术方案)
- 2020年山东专升本计算机全真试题及答案
- DL∕T 448-2016 电能计量装置技术管理规程
- 克林霉素磷酸酯专家讲座
- 一款问答APP的产品需求文档(PRD)
- MOOC 数字逻辑电路实验-东南大学 中国大学慕课答案
- (详尽多场合)大米代理销售协议word模板
- 产品量产问题总结汇报
评论
0/150
提交评论