欧阳美创编 2021.01.01 欧阳美创编 2021.01.01
#include
时间:2021.01.01 创作:欧阳美 #include
#define uchar unsigned char //宏定义 #define uint unsigned int //位定义
sbitrs=P2^5; //液晶位定义 sbitlcden=P2^7;
sbit s1=P2^0; //时间功能切换按键 sbit s2=P2^1; //按键加 sbit s3=P2^3; //按键减
sbit s4=P2^4; //闹钟功能切换键 sbitrst=P1^5; //ds1302引脚定义 sbitio=P1^6; sbitsclk=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[]=\液晶固定显示 uchar code table1[]=\ /*
uchartime_dat[7]={12,1,6,6,12,59,59}; //年周月日时分秒 ucharwrite_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80}; ucharread_add[7]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81}; */
void write_com(uchar com); //液晶写指令函数
void write_data(uchar date); //液晶写数据函数
欧阳美创编 2021.01.01 欧阳美创编 2021.01.01
欧阳美创编 2021.01.01 欧阳美创编 2021.01.01
void write_ds1302(ucharadd,uchardat); //ds1302芯片写指令函数
void set_rtc(); //ds1302时间设置函数
void time_pros(); //ds1302进制转换函数
void read_rtc(); //ds1302读时间函数
void alarm(); //闹钟函数 void delay(uint z) //延时函数 {
uintx,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);
欧阳美创编 2021.01.01 欧阳美创编 2021.01.01
欧阳美创编 2021.01.01 欧阳美创编 2021.01.01
} }
void write_com(uchar com)//1602液晶写指令 {
rs=0;
P0=com; delay(5); lcden=1;
delay(5); lcden=0; }
void write_data(uchar date)//1602液晶写写数据 {
rs=1;
P0=date;
delay(5); lcden=1;
delay(5); lcden=0; }
void write_sfm(ucharadd,uchar date)//时分秒 {
uchar shi3,ge;
shi3=date/10; ge=date;
write_com(0x80+0x40+add); write_data(0x30+shi3); write_data(0x30+ge); }
void write_nyr(ucharad,uchar date)//年月日 {
uchar shi4,ge2;
shi4=date/10; ge2=date; write_com(0x80+ad);
欧阳美创编 2021.01.01 欧阳美创编 2021.01.01
嵌入式电子闹钟时钟课程设计之欧阳美创编



