




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
注:本程序并没有显示星期,如有需要,可自行添加。/*实验名称:智能电子钟(LCD显示)*实验效果:1602显示时钟,按K1进入时间设置,K2分别选择秒* 分时日月星期年,按K3时间加一/*/#include#includeds1302.h#includelcd1602.h#define uint unsigned int#define uchar unsigned char/*声明:本实验所有IO口只与“1302时钟按键设置”仿真图配套* */*/sbit K1=P32; /接的是INT0 K1时钟设置 (按一下开始调节时间,再按一下退出调节时间)sbit K2=P33; /接的是INT1 K2选择秒分时日月星期年sbit K3=P34; /接的是TO K3加时间void Cursor(); /设置时光标闪烁void Delay10ms();void Int0Configuration();/外部中断0设置void LcdDisplay(); /显示函数uchar SetState,SetPlace; /设置状态、光标位置void main() /主函数uchar i;Int0Configuration(); /外部中断0设置lcd1602Init(); /1602初始化ds1302Init(); /1302初始化while(1)if(SetState=0) /如果没有键按下,就显示时间 /SetState的高低由中断控制,按下K1则为1,再次按下则为0ds1302readtime();elseif(K2=0) /消除抖动Delay10ms();if(K2=0) /如果K2被按下,则光标移动SetPlace+;if(SetPlace=7)/年月日星期时分秒 共7个时间SetPlace=0;while(i9) /换成BCD码TIMESetPlace=TIMESetPlace+6;if(TIMESetPlace0x60)&(SetPlace0x24)&(SetPlace=2) /小时只能到23TIMESetPlace=0;if(TIMESetPlace0x32)&(SetPlace=3) /日只能到31TIMESetPlace=0;if(TIMESetPlace0x13)&(SetPlace=4) /月只能到12TIMESetPlace=0;if(TIMESetPlace0x7)&(SetPlace=5) /周只能到7TIMESetPlace=0;if(TIMESetPlace0x99)&(SetPlace=6) /年只能到2099TIMESetPlace=0;while(i0;c-) for(b=38;b0;b-) for(a=130;a0;a-);void Int0Configuration() /设置外部中断0IT0=1;/跳变沿触发EX0=1;/打开外部0中断EA=1; /打开总中断void Int0() interrupt 0 /如果按下K1就进入中断Delay10ms();if(K1=0)/writecom(0x80+0x40+12);/writecom(0x0f);SetState=SetState;SetPlace=0;ds1302Init();/调过时间后再按下K1,调好的时间就被写进DS1302-分割线-#ifndef _LCD1602_H_#define _LCD1602_H_/-包含头文件-/#include/-宏定义关键词-/#ifndef uint#define uint unsigned int#endif#ifndef uchar#define uchar unsigned char#endif/-定义1602的IO口-/sbit E=P22;sbit RW=P21;sbit RS=P20;/-声明全局函数-/void delay1ms(uint z);void writecom(uchar com);void writedata(uchar dat);void lcd1602Init();#endif#includelcd1602.h/*函数功能:延时函数,延时1ms*/void delay1ms(uint c)uchar a,b;for (; c0; c-)for (b=199;b0;b-) for(a=1;a0;a-); /*函数功能:向1602写入一个字节的指令*/void writecom(uchar com)E=0;/使能端口RW=0;/低电平选择写入RS=0;/低电平选择写入指令P0=com; /放入指令delay1ms(1); /等待数据稳定E=1; /高电平期间写入delay1ms(5); /保持时间E=0; /变低/*函数功能:向1602写入一个字节的数据*/void writedata(uchar dat)E=0;RW=0;RS=1;/高电平选择写入数据P0=dat;delay1ms(1);E=1;delay1ms(5);E=0;/*函数功能:初始化LCD1602*/void lcd1602Init()writecom(0x38); /开显示writecom(0x0c); /开显示,不显示光标writecom(0x06); /写一个字符指针加1writecom(0x01); /清屏writecom(0x80); /设置数据指针起点 -分割线-#ifndef _DS1302_H_#define _DS1302_H_/-包含头文件-/#include#include/-宏定义关键词-/#ifndef uint#define uint unsigned int#endif#ifndef uchar#define uchar unsigned char#endif/-定义1302的IO口-/sbit IO=P27;sbit CE=P25;sbit SCLK=P26;/-声明全局函数-/void ds1302write(uchar addr,uchar dat);uchar ds1302read(uchar addr);void ds1302Init();void ds1302readtime();/-加入全局变量-/extern uchar TIME7;#endif#includeds1302.huchar READ_ADDR=0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d;/DS1302的读取地址,与下面的数组时间对应uchar WRITE_ADDR=0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c;/DS1302的写入地址,与下面的数组时间对应uchar TIME7 = 0x00,0x00,0x12,0x01,0x01,0x02,0x14;/-TIME7数组存储分别是 秒 分 时 日 月 星期 年-/*函数功能:向ds1302写数据*/void ds1302write(uchar addr,uchar dat)uchar n;CE=0;SCLK=0;/先将SCLK置低电平_nop_();CE=1;/然后将CE置高电平_nop_();for(n=0;n=1;SCLK=1; /上升沿读取数据_nop_();SCLK=0; /下降沿放置数据_nop_();for(n=0;n=1;SCLK=1;_nop_();SCLK=0;_nop_();CE=0; /数据传送结束_nop_();/*函数功能:从ds1302读数据*/uchar ds1302read(uchar addr)uchar n,dat,dat1;CE=0;SCLK=0;/先将SCLK置低电平_nop_();CE=1;/然后将CE置高电平_nop_();for(n=0;n=1;SCLK=1;_nop_();SCLK=0;_nop_();for(n=0;n1)|(dat17);SCLK=1;_nop_();SCLK=0;_nop_();CE=0;_nop_(); /以下为DS1302复位的稳定时间,必须的SCLK=1;_nop_();IO=0;_nop_();IO=1;_nop_();return dat;/*函数功能:初始化DS1302*/void ds1302Init()uchar n;ds1302write(0x8e,0x00);/关闭写保护for(n=0;n7;n+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑投影硬件配置方案设计
- 工厂改造景观建筑方案设计
- 观光小火车路基施工方案
- 屋面垂直爬梯施工方案
- 出入境辅警考试题及答案
- 职务代理制度管理办法
- 教师思想汇报范文大全
- 美术丝巾拓印活动方案策划
- 企业并购章程及程序
- 信息技术外包行业市场分析
- 跨境电商第三方物流合作中的三方保密协议及责任划分
- 网信专员考试题及答案
- 2019ESCEAS血脂异常管理指南2025重点更新解读
- 《现代传感与检测技术》教学大纲
- 挖煤专业毕业论文
- 山路车辆行车安全培训课件
- 安全及节能驾驶培训内容课件
- 2025北京京剧院招聘工作人员10人笔试备考题库及答案解析
- 转基因玉米培训课件
- 建筑设计公司结构设计师工作手册
- 2025年青海省事业单位招聘考试卫生类护理学专业知识试题
评论
0/150
提交评论