pro nào giúp mình biết ý nghĩa của mấy dòng code này với.
Mình đọc mà hiểu ko hết, cái này mình chỉ mới học còn gà lắm, phiền các pro giúp mình chi tiết 1 chút nhé!!
thanks nhìu
Mình đọc mà hiểu ko hết, cái này mình chỉ mới học còn gà lắm, phiền các pro giúp mình chi tiết 1 chút nhé!!
thanks nhìu
Code:
#include <AT89x52.h> #include <Delay.h> #include "intrins.h" #define dataso P1_0 #define clockso P1_1 #define latchso P1_2 #define SDA P0_0 #define SCL P0_1 #define On 1 #define Off 0 // DS1307 #define psec 0x00 #define pmin 0x01 #define phour 0x02 #define pday 0x03 #define pdate 0x04 #define pmonth 0x05 #define pyear 0x06 #define pcontrol 0x07 #define stbangso 10 #define soled 10 unsigned char idata buffht[soled]; unsigned char tam1=0,tam2=0,tam3=0,tam4=0,tam5=0,tam6=0; unsigned char i,adr_so,chiso,dem; unsigned char gio,phut,giay,ngay,thang,nam,ngay1,ngay2,bienngay1,bienngay2,bienngay3; unsigned int num,bienngay; bit nhapnhay = 0; //============= RTC DS1307 ================== //Dien giai tu day void start(void) { SCL=0; SDA=1; _nop_();_nop_();_nop_(); SCL=1; _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); SCL=1; SDA=0; _nop_();_nop_();_nop_(); SCL=0; } void stop(void) { SCL=0; SDA=0; _nop_();_nop_();_nop_(); SCL=1; _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); SCL=1; SDA=1; _nop_();_nop_();_nop_(); SCL=0; } bit write_data(unsigned char chr) { unsigned char temp,ack; for(temp=0;temp<8;temp++) { SDA = (chr & 0x80);// SCL=1; SCL=0; chr=chr<<1; } SDA=1; SCL=1; ack=SDA; SCL=0; return(ack); } unsigned char convertBCD(unsigned char _data) { unsigned char temp; temp=(_data/10<<4)|(_data%10&0x0F); return temp; } unsigned char read_data(void) { unsigned char temp1,temp2=0; for(temp1=0;temp1<8;temp1++) { SCL=1; temp2=temp2<<1; temp2=temp2|((unsigned char)(SDA));//temp2 =0x01, SCL=0; } // ra duoc 1 byte return(temp2); } void write_RTC(unsigned char address, unsigned char _data) { bit status; start(); write_data(0xD0); write_data(address); write_data(_data); stop(); start(); status=write_data(0xD0); while(status) { start(); status=write_data(0xd0); } } unsigned char read_RTC(unsigned char address) { unsigned char k; start(); write_data(0xD0); write_data(address); start(); write_data(0xD1); k=read_data(); stop(); return ((k>>4)*10+(k&0x0F)); } unsigned char read_RTC_chuan(unsigned char address) { unsigned char k; start(); write_data(0xD0); write_data(address); start(); write_data(0xD1); k=read_data(); stop(); return k; } //Ket thuc o day //////End DS1307////////// //////////////////////////////////////////// void main (void) { P0=0xff; P1=0x00; P2=0x00; P3=0x00; } // of main