基于单片机DS1302的时钟万年历(带闹钟).pdfVIP

  • 106
  • 0
  • 约2.12万字
  • 约 15页
  • 2020-10-22 发布于广东
  • 举报

基于单片机DS1302的时钟万年历(带闹钟).pdf

学 海 无 涯 #includereg52.h #define uchar unsigned char #define uint unsigned int sbit lcdws=P2^1; //1602 管脚定义 sbit lcden=P2^0; sbit lcdrs=P2^2; sbit key1=P2^3; // 闹钟设置键 sbit key2=P2^4; sbit key3=P1^5;//功能键定义 sbit key4=P1^6;//增大键定义 sbit key5=P1^7;//减小键定义 uchar shi,fen,miao,ashi,afen,amiao,year,month,day,week; uchar s1num=0,s1num2=0,temp; bit flag; float f_temp; uint i,d; uchar code table2[]={0x20,0x20,0x2e,0x20,0xdf,0x43}; uchar code table[]=20 - - ; uchar code table1[]= : : ; sbit ds=P1^0;//ds18b20 信号线 sbit beep=P1^4; //蜂鸣器管脚定义 sbit ACC_7 = ACC^7; //位寻址寄存器定义 sbit SCLK = P1^2; // DS1302 时钟信号 sbit DIO= P1^1; // DS1302 数据信号 sbit CE = P1^3; //地址、数据发送子程序 //void delay2(uint ms) // { // uchar t; // while(ms--); for(t=0;t120;t++); //} // void playmusic() // { // uint i2=0,j2,k2; // while(jiepai [i2]!=0||song[i2]!=0) // { // for(j2=0;j2jiepai[i2]*20;j2++) // { // beep=~beep; // for(k2=0;k2song[i2]/3;k2++); // } // delay2(10); // i2++; 1 学 海 无 涯 // } // } void write_1302( uchar addr,uchar dat ) { uchar i,temp; CE=0; //CE 引脚为低, 数据传送中止 SCLK=0; //清零时钟总线 CE = 1; //CE 引脚为高,逻辑控制有效 //发送地址 for ( i=8; i0; i-- ) //循环8 次移位 { SCLK = 0; temp = addr; DIO = (bit)(temp0x01); //每次传输低字节 addr = 1; //右移一位 SCLK = 1; } //发送数据 for ( i=8; i0; i-- ) { SCLK = 0; temp = dat;

文档评论(0)

1亿VIP精品文档

相关文档