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 mèomướpDạ chú rủ cô ấy đi ăn uống, cà phê, xem phim...nhớ nắm tay, rồi thì ôm hôn,...trong vòng 1 tuần mà ko nắm tay được, 1 tháng mà ko ôm đc thì dẹp ngay và luôn ạ. Nhắn tin, gọi điện ít thôi ạ, trả lời quá lâu hoặc ko trả lời cũng dẹp ngay ạ. Nên thể hiện chú là người có điều kiện nữa ạ...
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 18:50 -
-
bởi songchodep76Cảm ơn bác đã nhiệt thành chia sẻ kinh nghiệm bản thân mình cho mọi người.
Tuy nhiên, theo tiếp xúc hạn hẹp của em với mosfet thì vấn đề bác đo vôn ở cực D và thấy đỉnh nó 70V/55V Vds max, như thí nghiệm và trong hình của bác...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 09:46 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cho tới thời điểm này, quả thật Đình Thường đây quá thất vọng, không hào hứng với Suno-AI lắm bởi ra lệnh Creat mấy chục lần với các thay đổi thì mới chọn được 2 bản hát đúng giai điệu tầm 80% để cắt ghép tạo thành bài hát...
-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 17:01 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Kính chào cả nhà, nhân dịp Tết đang về, sắp 23 tháng chạp rồi, xin gởi lời chúc xuân qua bài hát sau ạ:
Bao nhiêu hân hoan
Chúc Mừng Năm Mới, xuân sang!
Nơi nơi hát vang
nâng chén vui chúc câu An Lành.
Vạn Sự đều Hanh Thông,
Rạng...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 16:46 -
-
bởi ittcChán quá các bác, em nhạt nhẽo quá nên tán em nào cũng tạch, tuyệt vọng vô cùng, nay lại được mấy anh đồng nghiệp cty đối tác mách cho em gái kia sinh năm 2K đầu, em chả biết nhóm đối tượng này phải tán ra sao bây giờ ?
Tính ra em...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 00:18 -
-
bởi bqvietCó thể, ví dụ phần phản hồi gồm vi mạch cách ly quang, zener thứ cấp, transistor và điện trở phản hồi dòng ... Bất kỳ linh kiện nào nhóm đó hỏng dẫn tới mất đường phản hồi. TNY chính hãng phát hiện được chuyện đó nhưng linh kiện...
-
Channel: Điện tử công suất
05-02-2026, 18:36 -
-
bởi Nexus 6Pcho e hỏi, khi mạch có linh kiện nào đó hư thì có làm hỏng led đắt tiền (osram) không?
-
Channel: Điện tử công suất
05-02-2026, 10:42 -
-
bởi chinhnguyen9· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%):
* Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...-
Channel: Hướng dẫn sử dụng diễn đàn
04-02-2026, 09:16 -
-
bởi Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
03-02-2026, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
03-02-2026, 14:57 -

Comment