Tình hình là e đang có bài tập viết giao tiếp AT89C51 với led 7 đoạn đếm giờ phút giây bằng ngôn ngử ASM nhưng không biết viết ntn. Bro nào có mạch đó cho e với có dk không .thank nhiều
Thông báo
Collapse
No announcement yet.
Help mach dong dong ho
Collapse
X
-
em viết được một đoạn như thế này nhưng sao khi hiển thị lên đếm giây xong được một phút mà led đếm phút sáng rồi lại tắ nhỉ. em kung không biết nửa, bro nào giúp em với
link DONG HO.rar★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★
-
đã sửa lại code của chú, tham khảo rồi viết thêm cho led hour, viết hoài ko chạy thì post lên hỏi tiếp
Code:ORG 00H main: MOV P3,#00H MOV R1,#0 MOV R2,#0 MOV DPTR,#MALED7SEG LOOP: CALL GIAIMA CALL GIAIMA1 MOV R5,#25 LOOP1: CALL HIENTHI CALL HIENTHI1 DJNZ R5,LOOP1 INC R1 CJNE R1,#60,LOOP MOV R1,#0 INC R2 CJNE R2,#60,LOOP MOV R2,#0 SJMP LOOP HIENTHI: MOV P0,42H SETB P3.1 CALL DELAY CLR P3.1 MOV P0,41H SETB P3.0 CALL DELAY CLR P3.0 RET HIENTHI1: MOV P0,44H SETB P3.3 CALL DELAY CLR P3.3 MOV P0,43H SETB P3.2 CALL DELAY CLR P3.2 RET GIAIMA: MOV A,R1 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 41H,A MOV A,B MOVC A,@A+DPTR MOV 42H,A RET GIAIMA1: MOV A,R2 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 43H,A MOV A,B MOVC A,@A+DPTR MOV 44H,A RET DELAY: MOV R7,#20 LAP: MOV R6,#250 DJNZ R6,$ DJNZ R7,LAP RET MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
Comment
-
thanhk bác nhiều nhá.Nguyên văn bởi chung1608 Xem bài viếtđã sửa lại code của chú, tham khảo rồi viết thêm cho led hour, viết hoài ko chạy thì post lên hỏi tiếp
Code:ORG 00H main: MOV P3,#00H MOV R1,#0 MOV R2,#0 MOV DPTR,#MALED7SEG LOOP: CALL GIAIMA CALL GIAIMA1 MOV R5,#25 LOOP1: CALL HIENTHI CALL HIENTHI1 DJNZ R5,LOOP1 INC R1 CJNE R1,#60,LOOP MOV R1,#0 INC R2 CJNE R2,#60,LOOP MOV R2,#0 SJMP LOOP HIENTHI: MOV P0,42H SETB P3.1 CALL DELAY CLR P3.1 MOV P0,41H SETB P3.0 CALL DELAY CLR P3.0 RET HIENTHI1: MOV P0,44H SETB P3.3 CALL DELAY CLR P3.3 MOV P0,43H SETB P3.2 CALL DELAY CLR P3.2 RET GIAIMA: MOV A,R1 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 41H,A MOV A,B MOVC A,@A+DPTR MOV 42H,A RET GIAIMA1: MOV A,R2 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 43H,A MOV A,B MOVC A,@A+DPTR MOV 44H,A RET DELAY: MOV R7,#20 LAP: MOV R6,#250 DJNZ R6,$ DJNZ R7,LAP RET MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
Last edited by thuongdtqb; 19-03-2012, 17:05.★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★
Comment
-
mà bác có thể giải thích dùm mấy lệnh bác thêm cho em với dk khôngLast edited by thuongdtqb; 19-03-2012, 17:11.★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★
Comment
-
em viết thêm led hour như thế này nhưng chạy bị giật. Em không biết do gì nửa bác coi dùm em với. Mà cho em hỏi lun là dòng lệnh: MOV R5,#25 có nghỉ là gì vậy và lệnh giảm R5: DJNZ R5,LOOP1 để làm gì . thank bac nhiều
Code:ORG 00H main: MOV P3,#00H MOV R1,#0 MOV R2,#0 MOV R3,#0 MOV DPTR,#MALED7SEG LOOP: CALL GIAIMAGIAY CALL GIAIMAPHUT CALL GIAIMAGIO MOV R5,#25 LOOP1: CALL HIENTHIGIAY CALL HIENTHIPHUT CALL HIENTHIGIO DJNZ R5,LOOP1 INC R1 CJNE R1,#60,LOOP MOV R1,#0 INC R2 CJNE R2,#60,LOOP MOV R1,#0 MOV R2,#0 INC R3 CJNE R3,#60,LOOP MOV R3,#0 SJMP LOOP HIENTHIGIAY: MOV P0,42H SETB P3.1 CALL DELAY CLR P3.1 MOV P0,41H SETB P3.0 CALL DELAY CLR P3.0 RET HIENTHIPHUT: MOV P0,44H SETB P3.3 CALL DELAY CLR P3.3 MOV P0,43H SETB P3.2 CALL DELAY CLR P3.2 RET HIENTHIGIO: MOV P0,46H SETB P3.5 CALL DELAY CLR P3.5 MOV P0,45H SETB P3.4 CALL DELAY CLR P3.4 RET GIAIMAGIAY: MOV A,R1 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 41H,A MOV A,B MOVC A,@A+DPTR MOV 42H,A RET GIAIMAPHUT: MOV A,R2 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 43H,A MOV A,B MOVC A,@A+DPTR MOV 44H,A RET GIAIMAGIO: MOV A,R3 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 45H,A MOV A,B MOVC A,@A+DPTR MOV 46H,A RET DELAY: MOV R7,#20 LAP: MOV R6,#250 DJNZ R6,$ DJNZ R7,LAP RET MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★
Comment
-
vấn đề quét led bị giật và MOV R5,#25 để làm gì là hai vấn đề liên quan tới nhau. Chú tìm hiểu lại phương pháp quét led cụ thể là phần thời gian lưu ảnh sẽ hiểu. Sửa chương trình ko chỉ rặp khuôn cái đã sửa, mà phải sửa lại cái đã được sửa rồi.
Comment
-
lúc đầu dùng 4 lần gọi delay để tạo trì hoãn 1 giây, làm như thế tần số quét led thấp sẽ bị nháy, vì thế cần phải giảm delay mà giảm delay thì thời gian tăng nhỏ hơn 1 giây nên phải có R5 để đếm số lần quét led cho việc tính delayNguyên văn bởi thuongdtqb Xem bài viếtThì thời gian lưu ảnh của mắt là 24 hình/S. Nhưng em vẩn không hỉu R5 ở đây để làm gì.Bác có thể giải thích cho em vớ dk không
(20*250*2)*4*25=1000000uS
Comment
-
Thank bác nhé. Nếu như vậy có phải bây giờ em phải giảm thời gian delay sao cho gọi 8 lần delay đủ cho thời gian trì hoản 1s phải không bác. Em làm như thế này có được không?Nguyên văn bởi chung1608 Xem bài viếtlúc đầu dùng 4 lần gọi delay để tạo trì hoãn 1 giây, làm như thế tần số quét led thấp sẽ bị nháy, vì thế cần phải giảm delay mà giảm delay thì thời gian tăng nhỏ hơn 1 giây nên phải có R5 để đếm số lần quét led cho việc tính delay
(20*250*2)*4*25=1000000uS
Code
(10*250*2)*8*25=1000000uSCode:ORG 00H MAIN: MOV P3,#00H MOV R1,#0 MOV R2,#0 MOV R3,#0 MOV DPTR,#MALED7SEG LOOP: CALL GIAIMAGIAY CALL GIAIMAPHUT CALL GIAIMAGIO CALL DELAY MOV R5,#25 LOOP1: CALL HIENTHIGIAY CALL HIENTHIPHUT CALL HIENTHIGIO CALL DELAY DJNZ R5,LOOP1 INC R1 CJNE R1,#60,LOOP MOV R1,#0 INC R2 CJNE R2,#60,LOOP MOV R1,#0 MOV R2,#0 INC R3 CJNE R3,#60,LOOP MOV R3,#0 SJMP LOOP HIENTHIGIAY: MOV P0,42H SETB P3.1 CALL DELAY CLR P3.1 MOV P0,41H SETB P3.0 CALL DELAY CLR P3.0 RET HIENTHIPHUT: MOV P0,44H SETB P3.3 CALL DELAY CLR P3.3 MOV P0,43H SETB P3.2 CALL DELAY CLR P3.2 RET HIENTHIGIO: MOV P0,46H SETB P3.5 CALL DELAY CLR P3.5 MOV P0,45H SETB P3.4 CALL DELAY CLR P3.4 RET GIAIMAGIAY: MOV A,R1 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 41H,A MOV A,B MOVC A,@A+DPTR MOV 42H,A RET GIAIMAPHUT: MOV A,R2 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 43H,A MOV A,B MOVC A,@A+DPTR MOV 44H,A RET GIAIMAGIO: MOV A,R3 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 45H,A MOV A,B MOVC A,@A+DPTR MOV 46H,A RET DELAY: MOV R7,#10 LAP: MOV R6,#250 DJNZ R6,$ DJNZ R7,LAP RET MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
Mà cho em hỏi cái biểu tượng $ trong chương trình delay có nghỉa gì vậyLast edited by thuongdtqb; 21-03-2012, 08:48.★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★
Comment
-
$ là nhãn nhảy về đầu dòngNguyên văn bởi thuongdtqb Xem bài viếtThank bác nhé. Nếu như vậy có phải bây giờ em phải giảm thời gian delay sao cho gọi 6 lần delay đủ cho thời gian trì hoản 1s phải không bác. Mà cho em hỏi cái biểu tượng $ trong chương trình delay có nghỉa gì vậy
Comment
-
Mà cho em hỏi đoạn code nàyNguyên văn bởi chung1608 Xem bài viếtlúc đầu dùng 4 lần gọi delay để tạo trì hoãn 1 giây, làm như thế tần số quét led thấp sẽ bị nháy, vì thế cần phải giảm delay mà giảm delay thì thời gian tăng nhỏ hơn 1 giây nên phải có R5 để đếm số lần quét led cho việc tính delay
(20*250*2)*4*25=1000000uS
Nếu tính như bác vậy thì em nghỉ là mới chạy chương trình vào thì thời gian delay là: (20*250*2)*4=40000uS. Sau khi thực hiện lệnh DJNZ R5,LOOP1 thì R5 giảm đi một đơn vị thì quay trở nhản LOOP1. Lúc này thời gian trì hoản delay sẻ là: (20*250*2)*2*24=500000uS. Tổng cộng time sau khi R5=0 là: 40000+500000=540000uS thôi ah. Không biết em tính thế có đứng không mong bác chỉ giáo dùm em với.Code:LOOP: CALL GIAIMAGIAY CALL GIAIMAPHUT MOV R5,#25 LOOP1: CALL HIENTHIGIAY CALL HIENTHIPHUT DJNZ R5,LOOP1 INC R1 CJNE R1,#60,LOOP MOV R1,#0
★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★
Comment
-
chú bấm máy lộn 20*250*2*24=960000Nguyên văn bởi thuongdtqb Xem bài viếtMà cho em hỏi đoạn code này
Nếu tính như bác vậy thì em nghỉ là mới chạy chương trình vào thì thời gian delay là: (20*250*2)*4=40000uS. Sau khi thực hiện lệnh DJNZ R5,LOOP1 thì R5 giảm đi một đơn vị thì quay trở nhản LOOP1. Lúc này thời gian trì hoản delay sẻ là: (20*250*2)*2*24=500000uS. Tổng cộng time sau khi R5=0 là: 40000+500000=540000uS thôi ah. Không biết em tính thế có đứng không mong bác chỉ giáo dùm em với.Code:LOOP: CALL GIAIMAGIAY CALL GIAIMAPHUT MOV R5,#25 LOOP1: CALL HIENTHIGIAY CALL HIENTHIPHUT DJNZ R5,LOOP1 INC R1 CJNE R1,#60,LOOP MOV R1,#0
Comment
-
Thì lúc mới chạy chương trình vào thì thời gian delay là: (20*250*2)*4=40000uS rồi.Phia sau em bấm máy nhầm nhưng em tính lại là sau lệnh DJNZ R5,LOOP1 thì thời gian sẻ là: (20*250*2)*2*24=480000 và tổng cộng thời gian là 480000+40000=520000uS < 1000000uS như bác tính ah.Nguyên văn bởi chung1608 Xem bài viếtchú bấm máy lộn 20*250*2*24=960000
Ah cho em hỏi luôn nha: $ là nhản nhảy về đầu dòng, em vẩn không hiểu nhưng cụ thể trong chương trình delay đó $ là nhảy về đầu dòng nào ahLast edited by thuongdtqb; 22-03-2012, 10:42.★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★
Comment
-
20*250*2 là thời gian của chương trình delayNguyên văn bởi thuongdtqb Xem bài viếtthì lúc mới đầu là 40000uS rồi.
Ah em nhầm nhưng em tính lại là sau lệnh DJNZ R5,LOOP1 thì thời gian sẻ là: (20*250*2)*2*24=480000 và tổng cộng thời gian là 480000+40000=520000uS < 1000000uS như bác tính ah.
delay trong quét led đc gọi 4 lần
cho là lúc đầu làm mấy 40000uS như chú nói thì 24 lần làm kết tiếp là
20*250*2*4*24= 960000uS
Comment
Bài viết mới nhất
Collapse
-
bởi theidiotcatViệc lựa chọn một chiếc laptop gaming phù hợp với nhu cầu, ngân sách chưa bao giờ là dễ dàng. Và điều đó càng khó hơn trong năm 2026 khi mà mức giá liên tục tăng.
Nếu bạn chưa biết nên chọn một chiếc laptop gaming như thế nào...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:29 -
-
bởi theidiotcatVới mức ngân sách 20 - 30 triệu đồng trong năm 2026, các bạn sinh viên và dân văn phòng có thể tìm thấy nhiều lựa chọn cao cấp, mạnh mẽ, pin “trâu”, đặc biệt là các mẫu laptop AI hỗ trợ cho học tập và làm việc.
Trong phân...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:25 -
-
bởi theidiotcatDưới đây là một số mẫu laptop nổi bật trong phân khúc dưới 20 triệu giúp các bạn văn phòng, sinh viên và đặc biệt là tân sinh viên có thể dễ dàng lựa chọn được mẫu laptop phù hợp với nhu cầu và ngân sách của mình.
Thị...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:07 -
-
bởi theidiotcatViệc chọn mua một bộ máy tính phục vụ cho các nhu cầu làm việc văn phòng và sử dụng cơ bản hàng ngày đang trở nên dễ dàng và tiết kiệm hơn bao giờ hết. Thay vì phải đau đầu trích ngân sách để mua cả vi xử lý lẫn card đồ họa rời...
-
Channel: Đánh giá sản phẩm DTVN
25-06-2026, 11:23 -
-
bởi theidiotcatViệc nâng cấp từ một dàn máy tính cũ lên cấu hình mới luôn khiến nhiều người đắn đo về mức chi phí bỏ ra. Nếu bạn đang tìm kiếm một sự lột xác hoàn toàn về hiệu năng mà vẫn cân đối được dòng tiền, combo giữa vi xử lý Ryzen...
-
Channel: Đánh giá sản phẩm DTVN
25-06-2026, 11:06 -
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanVí dụ một trang như thế này
...-
Channel: Điện tử công suất
24-06-2026, 19:57 -
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanỔ bi có loại chịu lực dọc, loại chịu lực ngang.
Bạn kiếm một quyển Data cũng một hãng vòng bi nào đó. Họ sẽ cấp cho bạn đủ thông số kỹ thuật.
Khi lựa chọn được mã sản phẩm, bạn chỉ việc tìm mua mã đó, hoặc đặt hàng....-
Channel: Điện tử công suất
24-06-2026, 19:52 -
-
bởi GargiChào mọi người, tôi đang gặp một vấn đề kỹ thuật và muốn được nghe ý kiến của mọi người.
Tôi đã lắp một đĩa xích vào trục đầu ra của hộp số hành tinh bánh răng xoắn dùng cho truyền động xích. Sau vài tháng hoạt động, ổ bi đầu ra bị hỏng.
Bản thân...-
Channel: Điện tử công suất
24-06-2026, 13:22 -
-
bởi vi van phamSau hàng chục năm, không biết có ai còn nghĩ gì về tôi? Riêng tôi, nhớ nhiều về dientuviet nam. net. Ngày ấy tìm 1 người bạn đam mê về điện từ khó như trúng số độc đăc. Tôi đã trúng số độc đắc khi được mời về dientuvietnam.net...
-
Channel: Tâm tình dân kỹ thuật
23-06-2026, 22:43 -

Comment