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
-
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 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -

Comment