PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 10-10-2012, 03:41 PM   #1
qloi
Đệ tử 3 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 55
:
Code về đồng hồ DS1307

hôm nọ có bạn hỏi mình về code đồng hồ sử dụng ds1307 trên yahoo mà mình quên mất nick zậy ai cần thì pm mình gởi qua cho.dạo này chỉ vào diễn đàn bằng di động nên không post đc
__________________
heart.touching.2010@gmail.com!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-10-2012, 10:35 PM   #2
thanhtrungdt
Nhập môn đệ tử
 
Tham gia ngày: Nov 2011
Bài gửi: 5
:
mình cũng đang làm đồ án ,mình rất muốn tham khảo code của bạn,bạn có thể gửi cho mình tam khảo được chứ,mail của mình la ''thanhtrungkhongcogikho@yahoo.com.vn ''nhe.
thank bạn nhiều.
SẴN ĐÂY MÌNH MUỐN NHỜ BẠN,XEM HỘ MÌNH ĐOAẠN CODE SAU ĐƯƠC KO AH,MÌNH ĐỌC MẠI MÀ CHƯA HIỂU LẮM

void read_ds1307()
{
i2c_start(); //Goi bit star tu master toi slave
i2c_write(0xD0); //Gui dia chi cua slave,thiet lap chdo truyen d_lieu vao ds1307
i2c_write(0x01); //thiet lap vi tri con tro - set register pointer
i2c_stop(); // Goi bit stop thu master toi slave

i2C_start();
i2C_write(0xD1); //gui lenh doc du lieu
sec=i2c_read(1); //Bat dau doc du lieu tu vi tri Con tro,Doc sec
min=i2c_read(1);
hour=i2c_read(1); //che do gio la 12h. Loai bo bit5 va bit6 dung lenh AND
dow=i2c_read(1); //bit5=AM/PM
date=i2c_read(1); //bit6=12/24
month=i2c_read(1);
year=i2c_read(1);
thu=i2c_read(0);//so(0)la de VDK biet YEAR la d_lieu cuoi
i2c_stop();
//(2)
//----------------------------------------Chuyen BCD sang Nhi Phan---------------------------------------
sec1=sec&0x0F;
sec2=(sec&0x70)>>4;
min1=min&0x0F;
min2=(min&0x70)>>4;
hour1=hour&0x0F;
hour2=(hour&0x30)>>4;
date1=date&0x0F;
date2=(date&0x30)>>4;
month1=month&0x0F;
month2=(month&0x10)>>4;
year1=year&0x0F;
year2=(year&0xF0)>>4;
}

CHỖ ĐOẠN DỊCH 4 BÍT ĐÓ BẠN,DỊCH ĐỂ LÀM GÌ VẬY,CÁC GIÁ TRỊ NHƯ 0X0F,0X70,0X30 LẤY Ở ĐÂU RA VẬY AH,RẤT MONG NHẬN ĐƯỢC SỰ GIÚP ĐỠ CỦA MỌI NGƯỜI.
THANK
thanhtrungdt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-10-2012, 10:44 PM   #3
thanhtrungdt
Nhập môn đệ tử
 
Tham gia ngày: Nov 2011
Bài gửi: 5
:
mình cũng đang làm đồ án ,mình rất muốn tham khảo code của bạn,bạn có thể gửi cho mình tam khảo được chứ,mail của mình la ''thanhtrungkhongcogikho@yahoo.com.vn ''nhe.
thank bạn nhiều.
SẴN ĐÂY MÌNH MUỐN NHỜ BẠN,XEM HỘ MÌNH ĐOAẠN CODE SAU ĐƯƠC KO AH,MÌNH ĐỌC MẠI MÀ CHƯA HIỂU LẮM

void read_ds1307()
{
i2c_start(); //Goi bit star tu master toi slave
i2c_write(0xD0); //Gui dia chi cua slave,thiet lap chdo truyen d_lieu vao ds1307
i2c_write(0x01); //thiet lap vi tri con tro - set register pointer
i2c_stop(); // Goi bit stop thu master toi slave

i2C_start();
i2C_write(0xD1); //gui lenh doc du lieu
sec=i2c_read(1); //Bat dau doc du lieu tu vi tri Con tro,Doc sec
min=i2c_read(1);
hour=i2c_read(1); //che do gio la 12h. Loai bo bit5 va bit6 dung lenh AND
dow=i2c_read(1); //bit5=AM/PM
date=i2c_read(1); //bit6=12/24
month=i2c_read(1);
year=i2c_read(1);
thu=i2c_read(0);//so(0)la de VDK biet YEAR la d_lieu cuoi
i2c_stop();
//(2)
//----------------------------------------Chuyen BCD sang Nhi Phan---------------------------------------
sec1=sec&0x0F;
sec2=(sec&0x70)>>4;
min1=min&0x0F;
min2=(min&0x70)>>4;
hour1=hour&0x0F;
hour2=(hour&0x30)>>4;
date1=date&0x0F;
date2=(date&0x30)>>4;
month1=month&0x0F;
month2=(month&0x10)>>4;
year1=year&0x0F;
year2=(year&0xF0)>>4;
}

CHỖ ĐOẠN DỊCH 4 BÍT ĐÓ BẠN,DỊCH ĐỂ LÀM GÌ VẬY,CÁC GIÁ TRỊ NHƯ 0X0F,0X70,0X30 LẤY Ở ĐÂU RA VẬY AH,RẤT MONG NHẬN ĐƯỢC SỰ GIÚP ĐỠ CỦA MỌI NGƯỜI.
THANK
thanhtrungdt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2012, 01:11 AM   #4
quangsangpro
Nhập môn đệ tử
 
Tham gia ngày: Nov 2011
Bài gửi: 9
:
hoquangsangspkt@gmail.com hôm trước em có hỏi anh.
quangsangpro vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2012, 10:24 PM   #5
qloi
Đệ tử 3 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 55
:
Trích:
Nguyên văn bởi thanhtrungdt View Post
mình cũng đang làm đồ án ,mình rất muốn tham khảo code của bạn,bạn có thể gửi cho mình tam khảo được chứ,mail của mình la ''thanhtrungkhongcogikho@yahoo.com.vn ''nhe.
thank bạn nhiều.
SẴN ĐÂY MÌNH MUỐN NHỜ BẠN,XEM HỘ MÌNH ĐOAẠN CODE SAU ĐƯƠC KO AH,MÌNH ĐỌC MẠI MÀ CHƯA HIỂU LẮM

void read_ds1307()
{
i2c_start(); //Goi bit star tu master toi slave
i2c_write(0xD0); //Gui dia chi cua slave,thiet lap chdo truyen d_lieu vao ds1307
i2c_write(0x01); //thiet lap vi tri con tro - set register pointer
i2c_stop(); // Goi bit stop thu master toi slave

i2C_start();
i2C_write(0xD1); //gui lenh doc du lieu
sec=i2c_read(1); //Bat dau doc du lieu tu vi tri Con tro,Doc sec
min=i2c_read(1);
hour=i2c_read(1); //che do gio la 12h. Loai bo bit5 va bit6 dung lenh AND
dow=i2c_read(1); //bit5=AM/PM
date=i2c_read(1); //bit6=12/24
month=i2c_read(1);
year=i2c_read(1);
thu=i2c_read(0);//so(0)la de VDK biet YEAR la d_lieu cuoi
i2c_stop();
//(2)
//----------------------------------------Chuyen BCD sang Nhi Phan---------------------------------------
sec1=sec&0x0F;
sec2=(sec&0x70)>>4;
min1=min&0x0F;
min2=(min&0x70)>>4;
hour1=hour&0x0F;
hour2=(hour&0x30)>>4;
date1=date&0x0F;
date2=(date&0x30)>>4;
month1=month&0x0F;
month2=(month&0x10)>>4;
year1=year&0x0F;
year2=(year&0xF0)>>4;
}

CHỖ ĐOẠN DỊCH 4 BÍT ĐÓ BẠN,DỊCH ĐỂ LÀM GÌ VẬY,CÁC GIÁ TRỊ NHƯ 0X0F,0X70,0X30 LẤY Ở ĐÂU RA VẬY AH,RẤT MONG NHẬN ĐƯỢC SỰ GIÚP ĐỠ CỦA MỌI NGƯỜI.
THANK
sec1,sec2,min1,min2,... là các biến nhằm tách biến sec,min ra làm 2 số riêng biệt để hiển thị trên từng led 7đoạn.data đọc ra từ ds1307 là mã BCD(chắc bạn biết BCD là gì nhỉ,hiểu đơn giản ví dụ đọc ra 31 giây thì dử liệu sẽ biểu diễn dưới dạng 0x31,nếu giữ nguyên dữ liệu này cho PIC đọc và hiển thị thì sẽ sai vì 31h = 49dec=>trật lất.do đó khi tách ra lam 2 số,số hàng đơn vị sẽ AND với 0x0f(0b00001111) như thế sẽ tách được số đơn vị ra.Còn số hàng chục AND với 70h(01110000b) do hàng chục có thể đếm tối đa đến "5"(101b) nên chỉ cần 3bit cao là được các bít thấp =0 để tách bỏ số hàng đơn vị đã thực hiện ở trên,bạn thử ngồi ngẫm lại xem đúng k,sau đó dịch 4 lần để đưa giá tri đó về trọng số thấp(ví dụ số hàng chục=3 , 3(0011 AND(bit cao) 01110000 = 00110000) là 30h mà số mình cần lấy là 3 để hiển thị lên led hàng chục thị dich phai 4 lần của 30h sẽ được 03h(số 3).Các biến còn lại cũng tương tự ví dụ như giờ AND 30h vì giờ tối đa chỉ đến 23h(00100011b) nên phải AND với 30h(00110000b) để lấy hết giá trị tối đa của hàng chục giờ.Oke hiểu rồi nhá
__________________
heart.touching.2010@gmail.com!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2012, 10:39 PM   #6
qloi
Đệ tử 3 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 55
:
gởi code cho các bác rùi nhá
__________________
heart.touching.2010@gmail.com!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-10-2012, 08:10 PM   #7
toancdt
Đệ tử 2 túi
 
toancdt's Avatar
 
Tham gia ngày: Apr 2011
Bài gửi: 31
:
Send a message via Yahoo to toancdt
Trích:
Nguyên văn bởi qloi View Post
gởi code cho các bác rùi nhá
cho mình xin code với bạn ơi! toancdt09@gmail.com
__________________
[email]toancdt09@gmail.com
toancdt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-11-2012, 11:19 AM   #8
nhocyhang
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 3
:
cho mình xin code với nhochung757@gmail.com
nhocyhang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-11-2012, 02:49 PM   #9
tienrau2
Nhập môn đệ tử
 
Tham gia ngày: Nov 2012
Bài gửi: 3
:
cho mình xin code với nha
mình mới tập tành thôi ah

tienrau2@gmail.com
tienrau2 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-11-2012, 02:50 PM   #10
tienrau2
Nhập môn đệ tử
 
Tham gia ngày: Nov 2012
Bài gửi: 3
:
Smile

Trích:
Nguyên văn bởi qloi View Post
gởi code cho các bác rùi nhá
cho mình xin code với nha
mình mới tập tành thôi ah

tienrau2@gmail.com
tienrau2 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-12-2012, 07:39 PM   #11
lequockha
Nhập môn đệ tử
 
Tham gia ngày: Apr 2012
Bài gửi: 3
:
Trích:
Nguyên văn bởi qloi View Post
hôm nọ có bạn hỏi mình về code đồng hồ sử dụng ds1307 trên yahoo mà mình quên mất nick zậy ai cần thì pm mình gởi qua cho.dạo này chỉ vào diễn đàn bằng di động nên không post đc
cho tớ xin được không..nếu bạn đọc được thì gửi qua cho mình mail:lequockha@gmail.com
thanks bạn nhìu
lequockha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-12-2012, 10:19 AM   #12
tvhai1701
Nhập môn đệ tử
 
Tham gia ngày: Jul 2012
Bài gửi: 1
:
em đang cần tài liệu encodor để làm đồ án trên plc mitsubishi. anh chị nào có tài liệu về encodor bộ đếm sung tốc độ cao. và encodor tương đối và tuyệt đối thì gưi mail cho em nha. tvhai1701@gmail.com thanks mọi người
tvhai1701 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-01-2013, 06:21 PM   #13
qloi
Đệ tử 3 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 55
:
gởi code cho các bác đến sau rồi nhá
__________________
heart.touching.2010@gmail.com!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-01-2013, 11:30 PM   #14
lamnhatquan91
Nhập môn đệ tử
 
Tham gia ngày: Dec 2012
Bài gửi: 5
:
cho mình xin code với bạn ơi . lamnhatquan47@gmail.com .
thank nhiều nha !!!
lamnhatquan91 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-01-2013, 09:46 AM   #15
qloi
Đệ tử 3 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 55
:
dạo này khá bận mà thấy mấy bác xin code nhiều nên mình post luôn code lên đây lun. code này viết ở dạng giản lược chỉ sử dụng có 2 nút và hiển thị giờ phút giây, các bác có thể phát triển thêm, có gì không biết post lên đây mình sẽ trả lời , một nút mode để vào chế độ chỉnh giờ và một nút incre để tăng giá trị(không có nút decre) khi tăng tới giới hạn nó sẽ trở về 0 lại. nếu mún thêm nút các bác có thể bổ sung thêm nha.
File Kèm Theo
File Type: rar 1307.rar (2.9 KB, 162 lần tải)
__________________
heart.touching.2010@gmail.com!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 02:32 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam