基于ds1302多功能数字钟电子电工课程设计(编辑修改稿)内容摘要:

e%10。 write_LCD_(0x80+0x40+add)。 write_LCD_da(0x30+shi)。 write_LCD_da(0x30+ge)。 write_LCD_da(0xdf)。 write_LCD_da(0x43)。 } void DS1302_write_byte(uchar a) { uchar i。 ACC=a。 RST=1。 for(i=8。 i0。 i) { IO=ACC0。 SCLK=0。 SCLK=1。 ACC=ACC1。 }} uchar DS1302_read_byte() {uchar j。 RST=1。 for(j=8。 j0。 j) { ACC7=IO。 SCLK=1。 SCLK=0。 ACC=ACC1。 } return(ACC)。 } void DS1302_write_date(uchar addr,uchar dat)//写数据 {RST=0。 SCLK=0。 RST=1。 DS1302_write_byte(addr)。 DS1302_write_byte(dat)。 SCLK=1。 RST=0。 } uchar DS1302_read_date(uchar addr) {uchar dat1,b。 RST=0。 SCLK=0。 RST=1。 DS1302_write_byte(addr)。 dat1=DS1302_read_byte()。 SCLK=1。 RST=0。 b=dat1/16*10+dat1%16。 return(b)。 } void DS1302_Init() {SCLK=0。 RST=0。 DS1302_write_date(0x8e,0x00)。 DS1302_write_date(0x8e,0x80)。 } void keyscan() { if(key1==0) { if(key1==0) { while(!key1)。 count++。 if(count==11) count=1。 switch(count) { case 1:TR0=0。 write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 M39。 )。 m=miao/10*16+miao%10。 DS1302_write_date(0x8e,0x00)。 DS1302_write_date(0x80,0x80|m)。 DS1302_write_date(0x8e,0x80)。 break。 case 2:write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 F39。 )。 break。 case 3:write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 S39。 )。 break。 case 4:write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 W39。 )。 break。 case 5:write_LCD_(0x80+0x40+0x0f); write_LCD_da(39。 R39。 )。 break。 case 6:write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 Y39。 )。 break。 case 7:write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 N39。 )。 break。 case 8:write_LCD_(0x80+0x40+0x0e)。 write_LCD_da(39。 R39。 )。 delay(3)。 write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 F39。 )。 delay(3)。 write_LCD_(0x80+0x40+0x04)。 break。 case 9:write_LCD_(0x80+0x40+0x0e); write_LCD_da(39。 R39。 )。 delay(3)。 write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 S39。 )。 delay(3)。 write_LCD_(0x80+0x40+0x01)。 break。 case 10:write_LCD_(0x80+0x40+0x0e)。 write_LCD_da(39。 \039。 )。 delay(3)。 write_LCD_(0x80+0x40+0x0f)。 write_LCD_da(39。 \039。 )。 delay(3)。 delay(3)。 write_LCD_(0x0c)。 TR0=1。 m=(miao)/10*16+(miao)%10。 DS1302_write_date(0x8e,0x00)。 DS1302_write_date(0x80,0x00|m)。 DS1302_write_date(0x8e,0x80)。 break。 }}}if(count!=0) { if(key2==0) {delay(10)。 if(key2==0) {while(!key2)。 switch (count) {case 1:miao++。 if(miao==60) miao=0。 write_LCDsfm(0x06,miao)。 m=miao/10*16+miao%10。 DS1302_write_date(0x8e,0x00)。 DS1302_write_date(0x80,m)。 DS1302_write_date(0x8e,0x80)。 write_LCD_(0x80+0x40+0x07)。 break。 case 2:fen++。 if(fen==60) fen=0。 write_LCDsfm(0x03,fen)。 m=fen/10*。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。