Bác Thang học ktvta khóa bn đấy?trg GT a?ma bac bao sua lai code +mach ở đâu vậy?có thấy gì đâu.Em gửi code ở page trước rồi còn j.thôi, để em gửi lại vậy.file zip new folder kia gồm 1file vẽ mạch proteus,1file abc.hex de nap cho chip,1 file ảnh mạch em vẽ.em đã gửi code rồi.nhưng thôi, cứ gửi lại cho tiện.code này em làm giống bác vdgiap.nhưng tình hình lại ko được như mong đợi.các bác ktra lại cho em xem tn.Em nghĩ nát óc mà chả hiểu sai ở đâu
Thông báo
Collapse
No announcement yet.
Ds1307
Collapse
X
-
Nguyên văn bởi khanh248 Xem bài viếtBác Thang học ktvta khóa bn đấy?trg GT a?ma bac bao sua lai code +mach ở đâu vậy?có thấy gì đâu.Em gửi code ở page trước rồi còn j.thôi, để em gửi lại vậy.file zip new folder kia gồm 1file vẽ mạch proteus,1file abc.hex de nap cho chip,1 file ảnh mạch em vẽ.em đã gửi code rồi.nhưng thôi, cứ gửi lại cho tiện.code này em làm giống bác vdgiap.nhưng tình hình lại ko được như mong đợi.các bác ktra lại cho em xem tn.Em nghĩ nát óc mà chả hiểu sai ở đâuNỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
cám ơn bác thắng rất nhiều. em làm được rồi. em chạy thêm được cả ngày nữa. Nhưng có 1 điều khá là lạ. Khi em thử vẽ 1 cái mạch khác, hệt mạch của bác, nạp ctrình của bác vào Atmega thì nó lại chẳng hiện giờ.chỉ hiện 00:00:00.em chụp lại ảnh đây.Mà muốn chạy cả ngày giờ, cũng lại phải dùng mạch của bác mới đc. lạ thậtAttached Files
Comment
-
Nguyên văn bởi khanh248 Xem bài viếtKhi em thử vẽ 1 cái mạch khác, hệt mạch của bác, nạp ctrình của bác vào Atmega thì nó lại chẳng hiện giờ.chỉ hiện 00:00:00.em chụp lại ảnh đây.Mà muốn chạy cả ngày giờ, cũng lại phải dùng mạch của bác mới đc. lạ thậtNỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
bác thang oi, cho em hoi lai 1 chut. cái code lcd_putchar(0x30+(t/10)%10) và lcd_putchar(0x30+t%10); và các lệnh tương tự như thế khi hiển thị ngày giờ ý nghĩa là j được ko? e chỉ hiểu sơ sơ là dùng để hiển thị lân lượt ngày, giờ thôi, chứ chưa hiểu tại sao lại là 0x30+(t/10)%10 . bác jải thích lại giùm em nhé
Comment
-
Một lệnh lcd_putchar() chỉ ghi được một ký tự (1 chữ số). Vì h,m hay s có 2 chữ số vì vậy ta phải dùng phép t%10 để lấy hàng đơn vị và (t/10)%10 để lấy hàng chục rồi ghi lần lượt lên LCD. LCD hiển thị giá trị theo mã ASCII, mã này lớn hơn mã DEC 30 đơn vị, vì vậy để hiển thị số 2 trong DEC chẳng hạn thì ta phải băm giá trị 0x30+2 ra LCD. Do đó ta có lệnh: lcd_putchar(0x30 + t%10)... Nếu t=12 chẳng hạn thì lcd_putchar(0x30 + t%10) sẽ cho kết quả trên LCD là 2. và lcd_putchar(0x30+ (t/10)%10) cho kết quả là 1.Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
cảm ơn bác.em mới học lập trình hợp ngữ.bác nói thế em hiểu rồi.Còn 1 cái nữa là lệnh rtc_init(3,1,0); là để kích hoạt con ds1307, nhưng tại sao lại là 3,1,0 ạ?Em đang đọc sak về lập trình C cho vi đk, nhưng dài quá,vốn english cũng còn quá tệ, chắc phải còn nhờ bác và mọi ng nhiều.
Còn 1 điều nữa em muốn hỏi,khi mình làm mạch mô phỏng trên proteus,tại sao ko cần nối nguồn mà AVR, ds1307,lcd vẫn chạy đc?phải chăng nó mặc định tự cấp nguồn cho chip? Mà nêu làm mạch thực tế, chắc chắn phải có crystal ạ?mà trong proteus liệu nó có tự tạo xung tại các cổng XTAL1 & 2 ko?
Comment
-
cảm ơn bác.em mới học lập trình hợp ngữ.bác nói thế em hiểu rồi.Còn 1 cái nữa là lệnh rtc_init(3,1,0); là để kích hoạt con ds1307, nhưng tại sao lại là 3,1,0 ạ?
Còn 1 điều nữa em muốn hỏi,khi mình làm mạch mô phỏng trên proteus,tại sao ko cần nối nguồn mà AVR, ds1307,lcd vẫn chạy đc?phải chăng nó mặc định tự cấp nguồn cho chip?
Mà nêu làm mạch thực tế, chắc chắn phải có crystal ạ?mà trong proteus liệu nó có tự tạo xung tại các cổng XTAL1 & 2 ko?Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
hi tui là Ngọc
Cũng ham mo nhiều cái diễn đàn này lắm, các bát hà tuôi thấy các anh mới tiem hiểu và cũng có nhưng người tiềm hiểu từ rất lâu, nếu cứ tìm tòi từng cái mạnh nhỏ vậy cũng rất tốt, lại hiểu nhiều. Nhưng mà có một ý kiến tui xin được nói với các bát rắng nếu cứ như vậy hoài thì rất mất thời gian âu chi chung ta tập hợp lại để làm một cái mạch kid tổng hợp bán lại cho nhưng ai thích nghiên cứu, và trong đó phải có phần lập trình căng bản và nân cao. tuoi rất tâm đắt vấn để này. vì có rất nhiều điều phải tìm hiểu và nghiên cứu mà cứ như vầy hỏi thì chả đi tới đâu được, bởi cái lĩnh vực này rất là sâu và rộng, vậy nhé nếu ai có quan tâm hay gọi cho tui SDT:01217874939 cám ơn các bạn đã theo giỏi
Comment
-
Nguyên văn bởi phong25_2 Xem bài viếtcac a ơi,e viet 1 đoạn ctrinh đơn giản để test con 1307, tuy nhien nó ko chạy dc. mong mọi ng chỉ giúp
#asm
.equ __i2c_port=0x18
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <mega16.h>
#include <ds1307.h>
#include <delay.h>
void main(void) {
unsigned char h,m,s;
DDRA=0xff;
i2c_init();
i2c_start();
i2c_write(0xd0);
i2c_write(0);
i2c_write(0x7f);
i2c_stop();
rtc_init(0,0,0);
rtc_set_time(0,0,0);
while (1)
{
rtc_get_time(&h,&m,&s);
PORTA=s;
delay_ms(200);
};
}
Comment
-
Nguyên văn bởi koten306 Xem bài viếtặc,tớ nhơ không nhầm thì &h,&m,&s nghĩa là cậu phải đưa biến vào trong đó.ví dụ,khai 3 biết h,m,s thuộc kiểu nguyên,chứa giá trị giờ phút giây.thì lệnh đó phải là rtc_get_time(h,m,s).nếu dùng codevision thì xem thử example của ds1307 ý
Thêm dấu '&' trước tên biến có nghĩa là tham chiếu đến địa chỉ của biến.
Nếu sử dụng hàm rtc_set_time thì là rtc_set_time(h,m,s)More friends more foods
Comment
-
Nguyên văn bởi kimhuynguyen Xem bài viếtViết rtc_get_time(&h,&m,&s) là đúng vì h, m, s là các biến sẽ nhận lại kết quả từ hàm rtc_get_time (chứ không phải truyền kết quả).
Thêm dấu '&' trước tên biến có nghĩa là tham chiếu đến địa chỉ của biến.
Nếu sử dụng hàm rtc_set_time thì là rtc_set_time(h,m,s)
Comment
-
Nguyên văn bởi kimhuynguyen Xem bài viếtViết rtc_get_time(&h,&m,&s) là đúng vì h, m, s là các biến sẽ nhận lại kết quả từ hàm rtc_get_time (chứ không phải truyền kết quả).
Thêm dấu '&' trước tên biến có nghĩa là tham chiếu đến địa chỉ của biến.
Nếu sử dụng hàm rtc_set_time thì là rtc_set_time(h,m,s)
Comment
Bài viết mới nhất
Collapse
-
bởi yeurap7em chưa biết chọn loại điện trở bao nhiêu W để khi cấp 1 W đầu vào,4 con trở dán ko bị hỏng .
trên web em tìm thì có nhiêu loại trở dán ví dụ 0805 1w ,1206 0.25 w, 1210 0.5w ..vv ....
(theo e biết là đầu vào 1 w mà chia làm 2, thì đầu...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:53 -
-
bởi yeurap7em xin bổ sung:
R1: 100 ohm
R2: 200 ohm
R3: 360 ohm
R4:560 ohm
PCB: chất liệu RF 35,độ dày lớp đồng 0,04 mm,độ rộng đường đi min 0,5 mm ạ-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:52 -
-
bởi yeurap7em có 1 bản mạch bộ chia 2 như trong ảnh,yêu cầu cấp 1 W vào port 1,thì 4 con điện trở dán SMD kia phải nhỏ nhất là loại bao nhiêu W để không bị đánh thủng ạ,em xin cảm ơn ạ..!...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 13:40 -
-
Trả lời cho Hỏi thăm các cao nhân, các bác sống bằng gì?bởi vi van phamngành nào cũng bị AI lấn sân. Chỉ có sức lao động không sợ bị chèn ép, vì vậy nếu học IT thì cứ học cho giỏi vào, lập trình AI cho nó biết sức lao động 1 giờ là bao nhiêu usd.
( đang chờ Nhathung, vặn đinh vào tám....)...-
Channel: Xu hướng, nhu cầu và thị trường
26-09-2024, 21:15 -
-
Trả lời cho Job Remote online 100% cho aebởi milanBố đời, hr tự làm đi cho khỏe
-
Channel: Tuyển dụng
26-09-2024, 06:40 -
-
Trả lời cho Hỏi thăm các cao nhân, các bác sống bằng gì?bởi minoziluThời kỳ khoa học công nghệ phát triển, hiện nay công nghệ AI lại càng phát triển nhưng nhiều người vẫn cho con em thi vào IT vì thấy ngành này hot nhưng đó là chuyện của quá khứ rồi, hiện tại tất cả các ngành nghề có liên quan đến công...
-
Channel: Xu hướng, nhu cầu và thị trường
25-09-2024, 23:06 -
-
Trả lời cho Job Remote online 100% cho aebởi GDSgrptôi bảo up to 18tr chứ có phải mặc định 18tr đâu b?.Muốn biết thêm thì liên hệ Hr...
-
Channel: Tuyển dụng
25-09-2024, 15:05 -
-
Trả lời cho Job Remote online 100% cho aebởi milan200-300k/ngày sao được 18t tháng vậy bạn?
Yêu cầu như nào post lên đi-
Channel: Tuyển dụng
25-09-2024, 14:44 -
Comment