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
Thông báo
Collapse
No announcement yet.
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ày http://www.dientuvietnam.net/forums/ho-tro-hoc-tap-165/dong-ho-so-hien-thi-led-7-thanh-36519/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, 22: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
-
Trả lời cho Vấn đề về tốc độ quaybởi nguyendinhvanSử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
-
Channel: Điện tử truyền hình
Hôm qua, 19:50 -
-
bởi Andrea14Chào mọi người,
Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...-
Channel: Điện tử truyền hình
12-12-2025, 12:42 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -

Comment