ko biết vs ASM thì nó tốn thế nào nhưng vs bảng này ở C thì nó đơn giản và nhẹ hơn nhiều, C có kiểu cấu trúc rất tiện
89s52+ds18b20 nhiệt độ + lịch âm + lịch dương+ thứ
Collapse
X
-
mình làm thì thường đọc từ con RTC ra rồi lưu nó vào 1 biến đọc lần lượt hết các giá trị sau đó lấy giá trị của biến đó ra để hiển thị. như bạn làm thì đọc ra rồi hiển thị luôn à, nhưng nói chung làm cách nào cũng được, ở trong con RTC thì thứ 1 là chủ nhật thì ta chỉ so sánh nó với 1, nếu =1 thì nhảy đến lấy số 8, nếu#1 thì nhảy đến hiển thị t2 3 4 5 6 7 bình thườngNguyên văn bởi vanhoi01 Xem bài viếtbạn có thể nói chi thiết và cụ thể hơn chút nữa được ko bạn?
mình chưa hiểu lắm mình phải tạo một biến thu riêng biệt à. mình chỉ biết doc tuần từ trong rtc ra thôi.
Comment
-
thì mình chỉ đọc từ rtc ra luu vào 1 biến rồi hiển thị thôi.viết theo của bạn thì mình hiểu nhưng cái khó ở đây thì mình làm ic giải mã 74247 lên mình thấy khó.còn trên c thì mình chiu.nhớ lại hời trước học c quá trời mà giờ bảo viết 1 chương trình trên c thì chiu thua không nhớ được gì nữa rồi.Nguyên văn bởi lengo90 Xem bài viếtmình làm thì thường đọc từ con RTC ra rồi lưu nó vào 1 biến đọc lần lượt hết các giá trị sau đó lấy giá trị của biến đó ra để hiển thị. như bạn làm thì đọc ra rồi hiển thị luôn à, nhưng nói chung làm cách nào cũng được, ở trong con RTC thì thứ 1 là chủ nhật thì ta chỉ so sánh nó với 1, nếu =1 thì nhảy đến lấy số 8, nếu#1 thì nhảy đến hiển thị t2 3 4 5 6 7 bình thườngY!M: xindungquentoi_hp16
Mail:
Sites:
Comment
-
Dùng IC giải mã thì code đơn giản hơn dùng cách tra bảng "code led7seg" chứ bạn.Nguyên văn bởi vanhoi01 Xem bài viếtthì mình chỉ đọc từ rtc ra luu vào 1 biến rồi hiển thị thôi.viết theo của bạn thì mình hiểu nhưng cái khó ở đây thì mình làm ic giải mã 74247 lên mình thấy khó.còn trên c thì mình chiu.nhớ lại hời trước học c quá trời mà giờ bảo viết 1 chương trình trên c thì chiu thua không nhớ được gì nữa rồi.
Bạn viết code ASM thật nhiều đi, sau đó quay lại dùng C bạn sẽ thấy nó thật tiện và dễ. Tuy nhiên với những dòng Rom ít thì Asm có lợi điểm là xuất mã nhỏ gọn hơn dùng C.PCT COMPUTER
(Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)
Comment
-
bạn có thể cho một đoạn vi dụ đuọc ko bạn?Nguyên văn bởi pctcom Xem bài viếtDùng IC giải mã thì code đơn giản hơn dùng cách tra bảng "code led7seg" chứ bạn.
Bạn viết code ASM thật nhiều đi, sau đó quay lại dùng C bạn sẽ thấy nó thật tiện và dễ. Tuy nhiên với những dòng Rom ít thì Asm có lợi điểm là xuất mã nhỏ gọn hơn dùng C.
Comment
-
nó đơn giản hơn chứ, bạn chỉ cần bỏ dòng movc a,@a+dptr đi lấy a xuất thẳng ra port nối con 74247 thôi, vd mình dùng asm mà dùng c ở đâu mà chịuNguyên văn bởi vanhoi01 Xem bài viếtthì mình chỉ đọc từ rtc ra luu vào 1 biến rồi hiển thị thôi.viết theo của bạn thì mình hiểu nhưng cái khó ở đây thì mình làm ic giải mã 74247 lên mình thấy khó.còn trên c thì mình chiu.nhớ lại hời trước học c quá trời mà giờ bảo viết 1 chương trình trên c thì chiu thua không nhớ được gì nữa rồi.
Comment
-
-
em làm mạch hiển thị lên lcd,nhưng không hiểu sao chỉ hiển thị 85 oC thôi,trong datasheet thì đây là nhiệt độ ở lần đọc đầu tiên,có ai giúp em với,em chậy mô phỏng thì được,ra mạch thật thì như thế hjx,em nghĩ là con DS của em nó không chịu chuyển đổi nhiệt độ mô trường ra số lưu vào thanh ghi của nó nên trong thanh ghi chỉ đọc được giá trị mặc định khi sản xuất xong thôi.ro ràng trong mô phỏng code của em đã ra lệnh cho nó chuyển đổi rồi mà,chạy mô phỏng ngon ơ,thê mà hjx có ai giúp em với,em biết ơn lắm
Comment
-
Anh Pctcom cho em hỏi: Em đã làm cái đông hồ DS1307 của anh hướng dẫn ở trang nàyhttp://www.dientuvietnam.net/forums/...19/index2.html
đã chạy được và em có sửa code cho hợp với phân cứng của em. Giờ em thêm phần code Thuật toán tính Âm lịch từ Dương lịch dùng phương pháp tra bảngcủa anh vào nhưng số ngày và tháng âm lịch hiển thị toàn số 00, nếu em thêm dòng lệnh LCALL DOI_DL_AL vào trong CT chi1nh
LOOP_HIEN_THI: ; chuong trinh chinh chay tai day
;==========================================
MOV A,FLAG_SET
CJNE A,#0,L_HT
CALL INIT_PORT
LCALL DOI_DL_AL
L_HT:
LCALL HIEN_THI
LCALL SCAN_KEY
SJMP LOOP_HIEN_THI
;==========================================
thì toàn bộ số hiển thị những ký tự lạ thôi. Đây là code và file mô phỏng của em nhờ anh xem và giúp em sửa với.
Cảm ơn anh nhiều!Attached Files
Comment
-
Lịch vạn niên+ ds18b20
mình đang làm cái mạch DH lịch vạn niên, mô phong thì chạy trơn tru rồi, nhưng đến khi làm mạch thực tế thì gặp phải vấn đề sau:
chỗ nhiệt đọ mình dùng DS18B20 khi mô phỏng thì ko có vấn đề gì hết? nhưng khi gắn vào mạch chạy thử thì led 7 đoạn bị nháy, kéo theo các led giờ, phút giây cũng nháy theo, nhưng khi mình bỏ đoạn code này:
//================================================== =
//cap nhap nhiet do
init_18b20();
write_18b20(0xCC);
write_18b20(0x44);
init_18b20();
write_18b20(0xCC);
write_18b20(0xBE);
a=read_18b20();
b=read_18b20();
nhiet_thuc=b<<4;
nhiet_thuc+=(a&0xf0)>>4;
nhiet_thuc=(int)(nhiet_thuc);
//================================================== =
thì các led led giờ, phút giây, .... ko bị nháy nữa và led hiện thì nhiết độ lúc này là 00
như vậy mình mong các bạn chỉ guíp cho mình sửa lại code như thế nào để các led ko bị nháy nữa? và mạch vẫn update nhiệt đọ môi trường?
thank!
mình gởi file mô phỏng sao nó báo lỗi gì đó, nên mình gởi file.PDF mong các bạn thông cảm nha!Last edited by van long; 15-06-2013, 21:27.
Comment
-
bạn là người làm ra cái này mà không biết sửa như thế nào sao?mình tháy chắc là bạn copy của người khác rồi...Nguyên văn bởi van long Xem bài viếtmình đang làm cái mạch DH lịch vạn niên, mô phong thì chạy trơn tru rồi, nhưng đến khi làm mạch thực tế thì gặp phải vấn đề sau:
chỗ nhiệt đọ mình dùng DS18B20 khi mô phỏng thì ko có vấn đề gì hết? nhưng khi gắn vào mạch chạy thử thì led 7 đoạn bị nháy, kéo theo các led giờ, phút giây cũng nháy theo, nhưng khi mình bỏ đoạn code này:
//================================================== =
//cap nhap nhiet do
init_18b20();
write_18b20(0xCC);
write_18b20(0x44);
init_18b20();
write_18b20(0xCC);
write_18b20(0xBE);
a=read_18b20();
b=read_18b20();
nhiet_thuc=b<<4;
nhiet_thuc+=(a&0xf0)>>4;
nhiet_thuc=(int)(nhiet_thuc);
//================================================== =
thì các led led giờ, phút giây, .... ko bị nháy nữa và led hiện thì nhiết độ lúc này là 00
như vậy mình mong các bạn chỉ guíp cho mình sửa lại code như thế nào để các led ko bị nháy nữa? và mạch vẫn update nhiệt đọ môi trường?
thank!
mình gởi file mô phỏng sao nó báo lỗi gì đó, nên mình gởi file.PDF mong các bạn thông cảm nha!Y!M: xindungquentoi_hp16
Mail:
Sites:
Comment
Bài viết mới nhất
Collapse
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
Hôm qua, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
Hôm qua, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
-
bởi dinhthuong80Chào cả nhà, chúc cuối tuần vui vẻ!
Hôm nay mình lên đây nhờ ai biết chỉ dùm biến trở 5 chân này tên gọi là gì, có thể mua ở đâu vậy? Xin cám ơn nhiều! ...-
Channel: Hướng dẫn tìm thông tin linh kiện
-

Comment