完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
看看
|
|
|
|
|
|
|
|
|
好东西 啊 谢谢楼主分享
|
|
|
|
|
|
|
|
|
kankan
|
|
|
|
|
|
|
|
|
#include
#include #define uint unsigned int #define uchar unsigned char ***it sclk=P3^6; ***it rest=P3^5; ***it sda=P3^4; ***it e=P2^7; ***it rw=P2^5; ***it rd=P2^6; uchar a[81]; uchar code table1[]="week"; void delay(uint x) { uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } /*******************************************/ void write_byte(uchar a) { uint i; for(i=0;i<8;i++) { sclk=0; sda=(a>>i)&0x01; sclk=1; } } /*******************************************/ uchar read_byte(void) { uint i; uchar b; b=0; for(i=0;i<8;i++) { if(sda) b|=0x80; else b|=0x00; sclk=0; b>>=1; _nop_(); _nop_(); _nop_(); sclk=1; } return b; } /*******************************************/ void write_date(uchar add,uchar date) { rest=0; sclk=0; rest=1; write_byte(add); write_byte(date); sclk=1; rest=0; } /**************************读数据***********************/ uchar read_date(uchar add) { uchar t; rest=0; sclk=0; rest=1; write_byte(add); t=read_byte(); rest=0; sclk=1; return (t); } /*****************************写1302的初始值*************************************************/ void set_1302() { write_date(0x8e,0x00); write_date(0x80,0x59); write_date(0x82,0x59); write_date(0x84,0x23); write_date(0x86,0x21);//日 write_date(0x88,0x06); //月份 write_date(0x8a,0x05); //星期 write_date(0x8c,0x13); //年份 write_date(0x8e,0x80); } /*********************将读出来的数据赋给数组*/ void get_date() { a[0]=read_date(0x81)/16; a[1]=read_date(0x81)%16; a[2]=read_date(0x83)/16; a[3]=read_date(0x83)%16; a[4]=read_date(0x85)/16; a[5]=read_date(0x85)%16; a[6]=read_date(0x87)/16; a[7]=read_date(0x87)%16; a[8]=read_date(0x89)/16; a[9]=read_date(0x89)%16; a[10]=read_date(0x8b)%16; a[11]=read_date(0x8d)/16; a[12]=read_date(0x8d)%16; } /************************1602************************/ void write_lcd_date(uchar date) { rd=1; P0=date; delay(5); e=1; delay(5); e=0; delay(5); } /************************1602************************/ void write_lcd_com(uchar com) { rd=0; P0=com; delay(5); e=1; delay(5); e=0; delay(5); } /************************1602************************/ void init() { sclk=0; rest=0; rw=0; write_lcd_com(0x38); write_lcd_com(0x01); write_lcd_com(0x06); write_lcd_com(0x0c); } /************************1602***显示*********************/ void display() { uchar i; write_lcd_com(0x80); //write_lcd_com(0x32); write_lcd_date(0x30+a[11]); write_lcd_date(0x30+a[12]); write_lcd_date(0xb0);//"-" write_lcd_date(0x30+a[8]); write_lcd_date(0x30+a[9]); write_lcd_date(0xb0);//"-" write_lcd_date(0x30+a[6]); write_lcd_date(0x30+a[7]); //"-" write_lcd_date(0x20); for(i=0;i<4;i++) { write_lcd_date(table1); } write_lcd_date(0x30+a[10]); write_lcd_com(0x80+0x40); write_lcd_date(0x20); write_lcd_date(0x20); write_lcd_date(0x20); write_lcd_date(0x20); write_lcd_date(0x30+a[4]); write_lcd_date(0x30+a[5]); write_lcd_date(0x3a); write_lcd_date(0x30+a[2]); write_lcd_date(0x30+a[3]); write_lcd_date(0x3a); write_lcd_date(0x30+a[0]); write_lcd_date(0x30+a[1]); } /*********************************主函数*******************************/ void main() { init(); set_1302(); while(1) { get_date(); display(); } } |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:56 , Processed in 0.946090 second(s), Total 82, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
19765