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 Abril9Chào mọi người, động cơ bước có hộp số (https://www.oyostepper.es/category-2...eductores.html) trên thiết bị của tôi đã được sử dụng khoảng sáu tháng. Gần đây, tôi nhận thấy dầu rò rỉ từ trục đầu ra. Mỡ bôi trơn đã bị chảy và nhỏ giọt...
-
Channel: Các hệ thống tự động hóa khác
hôm nay, 13:26 -
-
bởi AbirChào mọi người, gần đây tôi có một ý tưởng mới.
Tôi muốn nâng cấp thiết bị của mình để tăng tốc độ, vì vậy tôi đã thay đổi nguồn cấp cho mạch điều khiển từ 24V lên 48V. Động cơ vẫn giữ nguyên và dòng điện định...-
Channel: Điện tử công nghiệp
hôm nay, 09:49 -
-
bởi nguyendinhvanCó một chi tiết sai cơ bản trong kỹ thuật điện tử....
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 19:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài hát mới, nhạc Phật: Về Giữa Chiêm Bao, sáng tác: Hoàng Đình Thường.
[Verse 1] Nhân gian bao thay đổi
ĐỜI là giấc CHIÊM BAO
Người mê lầm tranh đấu
KHỔ ĐAU mãi LUÂN HỒI.
VÔ THƯỜNG nào ai thấu
THAM vơ...-
Channel: Tâm tình dân kỹ thuật
25-03-2026, 19:01 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi davidcopyBạn muốn hỏi nguyên lý làm việc của mạch nào...
-
Channel: Hỗ trợ học tập
24-03-2026, 22:50 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
23-03-2026, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:03 -

Comment