- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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;
您可能关注的文档
- C++面向对象程序设计实验指导书(谭浩强).doc
- C15052 融资类资管产品尽职调查实务 答案.doc
- C15073 融资融券业务 满分答案 100分.doc
- c15079课后测验 C15079 境内外券商盈利模式比较 课后测验100分.doc
- c15099课后测验 C15099并购基金运作实务与案例(下)90分!.doc
- bec高级单词 BEC单词.doc
- c16010课后测试100分 C16014 课后测试100分.doc
- c16014课后测验100分 c16014PPP的概念100分.doc
- c15053课后测验100分 C15053课后测验满分.doc
- c16061 并购重组监管 C16060上市公司并购重组监管(上).doc
文档评论(0)