网站大量收购闲置独家精品文档,联系QQ:2885784924

c语言电子时钟程序 电子时钟程序.doc

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言电子时钟程序 电子时钟程序 导读:就爱阅读网友为您分享以下“电子时钟程序”资讯,希望对您有所帮助,感谢您对92的支持! /************************************************************************ 制作者:牛明(3228204) 王颖(3228207) (南京农业大学工学院) 制作时间:2011年5月11日至18日 所用元件: 单片机AT89C51 DS1302 LCD LM016L 功能:时钟(附闹钟及整点报时) 秒表 ************************************************************************/ #include lt;REGX51.Hgt; //宏定义DS1302寄存器读写地址// #define W_SEC 0x80 #define W_MIN 0x82 #define W_HOU 0x84 #define W_DAY 0x86 #define W_MON 0x88 #define W_WEE 0x8a #define W_YEA 0x8c #define W_PRO 0x8e //DS1320写保护 #define R_SEC 0x81 #define R_MIN 0x83 #define R_HOU 0x85 #define R_DAY 0x87 #define R_MON 0x89 #define R_WEE 0x8b #define R_YEA 0x8d //宏定义各时间在LCD上的显示位置 #define SEC 0xc9 #define MIN 0xc6 #define HOU 0xc3 #define DAY 0x89 #define MON 0x86 #define YEA 0x83 #define WEE 0x8c //单片机管角定义// sbit ds_io=P1; sbit ds_sclk=P1; sbit ds_rst=P1; //DS1302 sbit lcd_rs=P2; sbit lcd_rw=P2; // sbit lcd_e=P2; //LM016L sbit alarm=P1; //蜂鸣器 sbit acc_7=ACC ; //位寻址寄存器 sbit k1=P1; sbit k2=P1; sbit k3=P1; sbit k4=P1 ; //按键 //按键功能说明:k1键短按进入省电模式,长按进入设置模式; //进入设置模式后,每按一次k1键跳转一次功能,依次为调时,调分,调日,月,周,年,闹钟时设定,闹钟分设定; //此时k2、k3键实现上调和下调; //正常显示时间时按k3键进入秒表模式,再按控制开始,停止,清零; //按k4键跳出设置,显示正常时间。 //定义当前时间变量 struct SYSTEMTIME { unsigned char sec; unsigned char min; unsigned char hou; unsigned char wee; unsigned char day; unsigned char mon; unsigned char yea; } curtime; unsigned char code week[7][4]={“MON”,”TUE”,”WED”,”THU”,”FRI”,”SAT”,”SUN”}; unsigned char sethou=0x52,setmin=0x52,n=0; //sethou、setmin为闹钟设定变量;置功能项目标志 unsigned char msc,sec,min,hou; //msc(十毫秒),sec,min,hou为秒表变量 //延时函数// void delay(unsigned int time) { unsigned int i=0; for(;timegt;0;time--) for(i=0;ilt;110;i++); n为设 } /*void t0()interrupt 1 //定时器中断0 { TF0=0; TH0=(65536-10000)/256; TL0=(65536-10000)%256; } */ /*****************LCD部分子程序*******************/ //LCD写指令// void Writelcd_com(unsigned char com) { lcd_rs=0; lcd_rw=0; P0=com;

文档评论(0)

raojun0010 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档