|
使用iic
1302
1302時(shí)間數(shù)據(jù)保存寄存器
秒 0x80
分 0x82
時(shí) 0x84
周 0x8a
日 0x86
月 0x88
年 0x8c- /*********************************************************************************
- * 【外部晶振】: 11.0592mhz
- * 【主控芯片】: STC89C52RC
- * 【編譯環(huán)境】: Keil μVisio4
- * 【程序功能】: 1602液晶顯示
- * 【使用說(shuō)明】: 1.使用1602液晶前先拔掉數(shù)碼管J6跳帽,數(shù)碼管與液晶不能共用
- 2.將1602液晶接到L2排母上,液晶面向開發(fā)板外部
- 3.若程序燒寫完成后,1602液晶無(wú)顯示,請(qǐng)調(diào)節(jié)開發(fā)板右下方的電位器RV1
- S1選擇調(diào)節(jié)時(shí)分秒,S2加,S3減,S4確認(rèn)。
- **********************************************************************************/
- #include <reg52.h>
- #include <1602.h>
- #include <1302.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit key1 = P3^1;
- sbit key2 = P3^2;
- sbit key3 = P3^3;
- sbit keyE = P3^0;
- uchar num,key1num,count,hour,min,sec;
- uchar date_buf[8]; //存儲(chǔ)1032的數(shù)據(jù)
- /*/主函數(shù)///顯示秒ok
- void main()
- {uchar a;
- init_1602();
- a=read_all_1302(0x80);
- write_com(0x80);//寫命令
- a=a>>4;
- write_data(a+0x30);
- a=read_all_1302(0x80);
- a&= 0x0f;
- write_data(a+0x30);
- }
- /*/
- ////////////////x列 y行 add:ds1320寄存器地址
- void display(uchar x,uchar y,uchar add)
- { uchar a;
- a=read_all_1302(add);//賦值
- write_by_xy(x,y);//寫命令
- a=a>>4;//高位變地位
- write_data(a+0x30);
- a=read_all_1302(add);//重新賦值
- a&= 0x0f;//地位有效
- write_data(a+0x30);
- }
- ////////////////////
- void main()
- {
- init_1602();//初始化
- while(1)
- {
- display(0,0,0x8c);//年
- write_string(2,0,"/");
- display(3,0,0x88);//月
- write_string(5,0,"/");
- display(6,0,0x86);//日
- write_string(8,0,"/");
- display(9,0,0x8a);//周
- display(0,1,0x84);//時(shí)
- write_string(2,1,":");
- display(3,1,0x82);//分
- write_string(5,1,":");
- display(6,1,0x80);//秒
- }
- }
復(fù)制代碼 |
-
-
ds1302 1602.rar
2020-9-30 15:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
96.87 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5
1302
|