Trích:
Nguyên văn bởi babybaby002
hix, vậy lấy mã chuyển đổi BCD khác ở đâu giờ? ai có mã chuyển đổi BCD đúng ko cho mình với? mình đang làm về cái mạch này mà bị kẹt mấy tuần nay, ai có mạch hoàn chỉnh chạy đúng thì post protues và cod lên cho mình tham khảo với nhé, thanks
|
bạn thử file ds nay xem sao minh ko up len dc
/*------- Chuyên du liêu mã BIN cua MASTER -> du liêu mã BCD cho DS1307-----*/
int8 decToBcd(int8 val) // MASTER -> DS1307.
{ // x -> y.
int8 x,y; //vd: 7 -> 7 = 0x07.
x = val; //vd: 12 -> 18 = 0x12.
if(x<10)
{
y = x;
}
else if(x>=10)
{
y = (x/10 * 6) + x; //vd: 29 -> 41 = 0x29.
}
return(y); //vd: 35 -> 53 = 0x35.
}
/*------- Chuyên du liêu mã BCD cua DS1307 -> du liêu mã BIN cho MASTER-----*/
int8 bcdToDec (int8 val)
{ // MASTER <- DS1307.
int8 x,y,z; // x <- y.
y = val; //vd: 5 <- 5 = 0x05.
i=0; //vd: 10 <- 16 = 0x10.
if(y<10) //vd: 20 <- 32 = 0x20.
{ //vd: 30 <- 48 = 0x30.
x = y; //vd: 40 <- 64 = 0x40.
z = x; //vd: 50 <- 80 = 0x50.
} //.....
else if(y>=10)
{
do {
x = y - (6 * i);
z = (x/10 * 6) + x;
i++;
}
while(z!=y);
}
return(x);
}