1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 嵌入式c语言开发闹钟 嵌入式电子闹钟()时钟课程设计.doc

嵌入式c语言开发闹钟 嵌入式电子闹钟()时钟课程设计.doc

时间:2019-05-23 18:30:39

相关推荐

嵌入式c语言开发闹钟 嵌入式电子闹钟()时钟课程设计.doc

#include //头文件

#include

#define uchar unsigned char //宏定义

#define uint unsigned int

//位定义

sbit rs=P2^5; //液晶位定义

sbit lcden=P2^7;

sbit s1=P2^0; //时间功能切换按键

sbit s2=P2^1; //按键加

sbit s3=P2^3; //按键减

sbit s4=P2^4; //闹钟功能切换键

sbit rst=P1^5; //ds1302引脚定义

sbit io=P1^6;

sbit sclk=P1^7;

sbit beep=P3^0; //蜂鸣器

uchar num,count,shi,fen,miao,s1num,s2num,

year,month,day,week,flag,flag1,year1,month1,

day1,week1,shi1,fen1,miao1,year2,month2,

day2,week2,shi2,fen2,miao2,year5,month5,

day5,week5,shi5,fen5,miao5,wk,ashi,afen; //参数定义

uchar code table[]="20 - - "; //液晶固定显示

uchar code table1[]=" : : 00:00";

/*

uchar time_dat[7]={12,1,6,6,12,59,59}; //年周月日时分秒

uchar write_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};

uchar read_add[7]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81};

*/

void write_com(uchar com); //液晶写指令函数

void write_data(uchar date); //液晶写数据函数

void write_ds1302(uchar add,uchar dat); //ds1302芯片写指令函数

void set_rtc(); //ds1302时间设置函数

void time_pros(); //ds1302进制转换函数

void read_rtc(); //ds1302读时间函数

void alarm(); //闹钟函数

void delay(uint z) //延时函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void init() //初始化

{

lcden=0;

flag=0;

flag1=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80); //液晶固定显示,第一行

for(num=0;num<14;num++)

{

write_data(table[num]);

delay(5);

}

write_com(0x80+0x40); //液晶显示第二行

for(num=0;num<20;num++)

{

write_data(table1[num]);

delay(5);

}

}

void write_com(uchar com)//1602液晶写指令

{

rs=0;

P0=com;

delay(5);

lcden=1;

delay(5);

lc

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。