欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    智能电子钟应用电子专业综合课程设计 精品Word文档下载推荐.docx

    • 资源ID:18006004       资源大小:259.05KB        全文页数:90页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    智能电子钟应用电子专业综合课程设计 精品Word文档下载推荐.docx

    1、完整C程序源代码/* 主程序:顶层程序 * * 显示默认功能:时间日期显示; * 调用子程序; * */# include # include zimo.h /字模程序;nokia5110.h/5110驱动程序;ds1302.h /ds1302驱动程序;key.h /按键扫描程序;printf.h /显示函数;power.h /电源模块;main.h /引脚定义;delay.h /延时函数;macroandconst.h/数据类型宏定义;ADC.H /ADC电压测量ds18b20.h /温度模块;void main() system_inint(); /系统初始化; /Set_RTC(); w

    2、hile(1) checkclock(); caidan(); /菜单显示; if(menue=0) if(ok=1) LCD_clear(); /清屏幕 while(menue=0) /由此进入时钟功能 ok=0; logo(); Read_RTC();/读取时钟; data_change();/时钟数据处理 tiaozheng_flag(); date_time(); /显示年月日时分秒; week();/星期处理; set_date_time();/设置改变时间和日期; powervcc(); LCD_clear(); else if(menue=1) /由此进入温度检测功能 while

    3、(menue=1) temperatuercheck(); else if(menue=2) /由此进入电压测量功能 while(menue=2) power();/电量检测 else if(menue=3)/由此进入闹钟功能 while(menue=3) clock(); else LCD_clear();void extern0() interrupt 0 /*外部中断0中断函数定义;*/key(); * 子程序:底层程序 * * 功能:时间日期数据处理; * *stc12c5a60s2.hsbit SCK = P02; /DS1302时钟;sbit SDA = P01; /DS1302数

    4、据;sbit RST = P00;/ DS1302复位;uchar l_tmpDate=0,0,0,1,1,1,13;/秒分时日月周年08-05-15 12:00:00uchar l_tmpdisplay13;code uchar Write_rtc_address7=0x80,0x82,0x84,0x86,0x88,0x8a,0x8c; /秒分时日月周年 最低位读写位code uchar Read_RTC_address7=0x81,0x83,0x85,0x87,0x89,0x8b,0x8d;/*/* 写一个字节 */void Write_Ds1302_Byte(unsigned char

    5、temp) unsigned char i; for (i=0;i=1; /右移一位 SCK=1; /* 写入DS1302 */void Write_Ds1302( unsigned char address,unsigned char dat ) RST=0; _nop_(); SCK=0; RST=1; _nop_(); /启动 Write_Ds1302_Byte(address); /发送地址 Write_Ds1302_Byte(dat); /发送数据 /恢复/* 读出DS1302数据 */unsigned char Read_Ds1302 ( uchar address ) unsig

    6、ned char i,temp=0x00; for (i=0;i+) /循环8次 读取数据 if(SDA) temp|=0x80; /每次传输低字节 temp SCK=1; SCK=0; /以下为DS1302复位的稳定时间 RST=0; SDA=0; SDA=1; return (temp); /返回/* 读时钟数据 */void Read_RTC(void) /读取 日历 unsigned char i,*p; p=Read_RTC_address; /地址传递 for(i=0;7;i+) /分7次读取 秒分时日月周年 l_tmpDatei=Read_Ds1302(*p); p+;/* 设定

    7、时钟数据 */void Set_RTC(void) /设定 日历 uchar i,*p,tmp;i+) /BCD处理 tmp=l_tmpDatei/10; l_tmpDatei=l_tmpDatei%10; l_tmpDatei=l_tmpDatei+tmp*16; Write_Ds1302(0x8E,0X00); /关闭写保护; p=Write_rtc_address; /传地址 for(i=0;i+) /7次写入 秒分时日月周年 Write_Ds1302(*p,l_tmpDatei); p+; Write_Ds1302(0x8E,0x80); /打开写保护;底层程序 * 按键处理,键值显示

    8、;eeprom.huchar set=0; /按键选择标志位;char key_flag=0;/按键加减标志位;uchar menue=0; /菜单选择标志位;uchar ok=0; /确认标志位;char miao,fen,shi,ri,yue,zhou,nian;/*时间日期数值标志位;uchar clocktable5; /分,时,星期;char hour=7;char minute=30;char week2=1;void Delay10ms() /11.0592MHz unsigned char i, j; i = 108; j = 145; do while (-j); while

    9、 (-i);void key() EA=0; /*判断选择按键是否按下;如果按下了当松开的时候让背光打开;set+; if(keyswitch=0) Delay10ms(); if(keyswitch=0) Delay10ms(); while(keyswitch=0); LCD_BLA=1; if(set8)set=0; set+; /*up和down按键的检测;加减标志位*/ if(keyup=0) Delay10ms(); if(keyup=0) LCD_BLA=1; Delay10ms(); while(keyup=0); key_flag+; if(keydown=0) if(key

    10、down=0) while(keydown=0); key_flag-; if(keymenue=0) if(keymenue=0) /菜单选择标志位; while(keymenue=0); LCD_BLA=1; menue+; if(menue3)menue=0; if(keyok=0) if(keyok=0) /确认标志位; while(keyok=0); ok+; if(ok1)ok=0; set=0;LCD_BLA=0;TR0 = 0; if(set=2)TR0 = 0; EA=1;void set_date_time()if(set=2)/ while(keyup=0|keydown

    11、=0); miao=l_tmpdisplay10*10+l_tmpdisplay11; miao=miao+key_flag; if(key_flag59)miao=0; miao=miao%10+(miao/10)*16; Write_Ds1302(0x8E,0x00); Write_Ds1302(0x80,miao); Write_Ds1302(0x8E,0x80);if(set=3) / while(keyup=0|keydown=0); fen=l_tmpdisplay8*10+l_tmpdisplay9; fen=fen+key_flag; if(fen59) fen=0; if(k

    12、ey_flag&(fen23)shi=0;(shi31)ri=1;(ri12)yue=1;(yue7)zhou=1;(zhou79)nian=0;(nian0)nian=79; nian=nian%10+(nian/10)*16; Write_Ds1302(0x8C,nian);key_flag=0;void caidan() uchar counter; uchar function; /*光标显示位置控制*/ if(menue=0) LCD_write_hanzi(0,4,10);Delay1ms(120);LCD_write_hanzi(0,0,3);LCD_write_hanzi(0,2,10);LCD_write_hanzi(4,0,10


    注意事项

    本文(智能电子钟应用电子专业综合课程设计 精品Word文档下载推荐.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开