Thông báo
Collapse
No announcement yet.
Đồng Hố số sủ dũng DS1307 cần giúp đỡ!
Collapse
X
-
dây là code của tui
#include <REGX51.H>
sbit SDA = P1^1;
sbit SCL = P1^0;
#define PortData P2
#define PortScan P3
#define Set P1_2
#define Back P1_3
#define Next P1_4
#define W 0xD0
#define R 0xD1
#define HOUR 0x02
#define MIN 0x01
#define SEC 0x00
unsigned char code Led7Seg[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
char Data,Hour,Min,Sec;
char IncSet=0,Scanled=0,run=0,t=0;
void delay(int t)
{
while(t--) ;
}
void Start()
{
SCL = 1;
SCL = 0;
SDA = 1;
SCL = 1;
delay(2);
SDA = 0;
delay(2);
SCL = 0;
delay(2);
}
void Stop()
{
SCL = 1;
SCL = 0;
SDA = 0;
delay(2);
SCL = 1;
delay(2);
SDA = 1;
}
void Write(unsigned char Data)
{
unsigned char i;
for (i=0;i<8;i++)
{
SDA = (Data & 0x80) ? 1:0;
SCL=1;SCL=0;
Data<<=1;
}
SCL = 1; delay(2);
SCL = 0;
}
unsigned char Read()
{
bit rd_bit;
unsigned char i ;
Data=0x00;
for(i=0;i<8;i++)
{
delay(2);
SCL = 1;
delay(2);
rd_bit = SDA;
Data = Data<<1;
Data = Data | rd_bit;
SCL = 0;
}
return Data;
}
unsigned char Read_DS1307(unsigned char DataTime)
{
unsigned char Bcd_Hex;
Start();
Write(W);
Write(DataTime);
Start();
Write(R);
Bcd_Hex=Read();
Stop();
Bcd_Hex = (((Bcd_Hex/16)*10)+ (Bcd_Hex & 0x0f));
return Bcd_Hex;
}
void interrupt_Time() interrupt 3 //ngat timer 1 chay dong ho
{
TR1=0;
TF1=0;
TH1=0x3c;
TL1=0xaf;
TR1=1;
}
void interrupt_San_Led7Seg()interrupt 1
{
TH0=0xfc;
TL0=0x18;
TR0=0;
TF0=0;
Scanled++ ;
if(Scanled==1)
{
PortData=0xff;
PortData =Led7Seg[Hour/10];
PortScan = 0x01;
}
if(Scanled==2)
{
PortData=0xff;
PortData =Led7Seg[Hour%10];
PortScan = 0x02;
}
if(Scanled==3)
{
PortData=0xff;
PortData = Led7Seg[Min/10];
PortScan = 0x04;
}
if(Scanled==4)
{
PortData=0xff;
PortData = Led7Seg[Min%10];
PortScan = 0x08;
}
if(Scanled==5)
{
PortData=0xff;
PortData = Led7Seg[Sec/10];
PortScan = 0x10;
}
if(Scanled==6)
{
PortData=0xff;
PortData = Led7Seg[Sec%10];
PortScan = 0x20;
Scanled=0;
}
TR0=1;
}
void Setup_Timer()
{
TMOD=0x11;
TH1=0x3C;
TL1=0xAF;
TR1=1;
ET1=1;
TH0=0XFC;
TL0=0X18;
TR0=1;
ET0=1;
EA=1;
}
void main()
{
Setup_Timer();
while(1)
{
if ((run==1)&&(IncSet==0))
{
run=0;
Hour=Read_DS1307(HOUR);
Min=Read_DS1307(MIN);
Sec=Read_DS1307(SEC);
}
}
}Last edited by sansuridan; 17-09-2012, 20:07.
Comment
-
vậy à cám ơn nhiều để tui nghiên cứu mạch thật xem sao
bạn đã làm rúi à nhấn nút luôn không thả củng khong sao à chắc 100% chứ huynhLast edited by sansuridan; 18-09-2012, 14:48.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Vâng, xin được nói lời cảm ơn vì bác đã bỏ chút thời gian rảnh rỗi quí báu vào đây xem thử và nhiệt tình cho ý kiến.
Đã trót vào và thấy sai rồi thì bác mạnh dạn, ngại gì không chỉ ra giúp cái nốt sai ấy để tác giả sửa...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:46 -
-
bởi nhathung1101Wrong translate! I don't care!
-
Channel: Điện tử dành cho người mới bắt đầu
14-05-2024, 17:52 -
-
Trả lời cho Kiểm tra biến ápbởi nhathung1101Tôi viết bài này để anh em hiểu:
Cái loại Cty không có thiết bị chuyên dùng thì chỉ sang Tề Lỗ (Vĩnh Phúc) hoặc Văn Môn (Hưng Yên).
Vớ vẩn đừng trình bày....-
Channel: Điện tử dành cho người mới bắt đầu
14-05-2024, 17:42 -
-
Trả lời cho Kiểm tra biến ápbởi nhathung1101Ở trên Tề Lỗ (Vĩnh Phúc) có dịch vụ này mà. Họ cắt đôi ra rồi đếm. Hoặc tách ra rồi cân.
-
Channel: Điện tử dành cho người mới bắt đầu
14-05-2024, 17:37 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi nhathung1101Lão lại bảo thủ. Giờ giới trẻ chơi 4/5 cơ.
Nó pha tạp thành "đít cô cha" còn gọi sang chảnh là Ca bóp hay Cu bóp gì đó hay đít ...
ha ha... Già rồi không thưởng nổi.
Chứ làm gì còn thời chúng ta chứ!
...-
Channel: Tâm tình dân kỹ thuật
14-05-2024, 17:27 -
-
Trả lời cho Máy ảnh máy tính xách tay không hoạt độngbởi pia2k1Mang quán quán sửa ngta xem cho bạn ạ...
-
Channel: Camera và xử lý ảnh
14-05-2024, 13:45 -
-
Trả lời cho Kiểm tra biến ápbởi bqvietNgười tàu bán máy này sang VN nhiều phết, ví dụ hàng của hãng GainKaiTa gì đó đủ loại từ đơn giản tới phức tạp
http://en.gkt.com.cn/
Kiểu 3259 cũ chẳng hạn, nhiều tính năng mà vẫn tương đối nhỏ gọn.-
Channel: Điện tử dành cho người mới bắt đầu
13-05-2024, 00:15 -
-
bởi lamvu0677Chào mọi người, e làm trong cty về biến áp , toàn mấy con nhỏ nhỏ, làm sao để mình có thể kiểm tra nhanh số vòng dây của mỗi cuộn , đầu vào đầu ra của dây, có thiết bị gì nhỏ gọn hỗ trợ việc này không ạ , xin cảm ơn...
-
Channel: Điện tử dành cho người mới bắt đầu
12-05-2024, 07:15 -
Comment