Đồng Hố số sủ dũng DS1307 cần giúp đỡ!
Collapse
X
-
Tags: None
-
mô phỏng treo
thực ra thì do cái chan SCL của con ds1307 khi bỏ trở treo ra thì hết treo dầu có click thế nào cũng được mà treo chân scl lên thì nó treo vi điều khiển vi diều khiễn không chạy nữa vậy có cách khắc phục hông nếu làm mạch thật mà bỏ dien trở treo chân scl có vấn đề gì hông
Comment
-
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, 19: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, 13:48.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho TCL - Tập hợp các vấn đề về màn hình màu TCLbởi dtvankhoeBác nào có file rom này cho em xin em cảm ơn ạ TCL L43S6500 – TPD.RT2841.PB772
-
Channel: Điện tử truyền hình
30-08-2026, 21:08 -
-
bởi domar123Sự kết hợp giữa vi xử lý siêu cấp AMD Ryzen Threadripper 9960X / 9970X cùng card đồ họa Radeon RX 9060 XT / RX 9070 XT 16GB mang lại một cỗ máy "all-in-one" đúng nghĩa. Đây là cấu hình đáp ứng trọn vẹn cho những người dùng cần một hệ...
-
Channel: Đánh giá sản phẩm DTVN
27-08-2026, 11:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Nhân mùa Vu Lan báo hiếu, giới thiệu bài hát về mẹ:
TRỌN GÁNH THƯƠNG YÊU
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: AI, ngày 04/05/2026
[Verse 1]
Ơn sâu nghĩa nặng ngập tràn
Cả đời mẹ đã nhọc nhằn gian...-
Channel: Tâm tình dân kỹ thuật
24-08-2026, 14:58 -

Comment