Chào các bạn mình mới được học về môn Vi điều khiển nhưng học trung cấp thì chỉ học sơ sài cho biết thôi chứ không thể nào rành về nó được. Mình có khúc mắc về mạch này, có 5 led đơn, 1 phím bấm, khi mới cấp nguồn thì mạch chưa sáng led, khi bấm nút 1 lần thì led 1 sáng, bấm lần 2 thì led 2 sáng( led 1 tắt), bấm lần 3 thì led 3 sáng( led 1 va 2 tắt), các bạn có thể cho mình đoạn code để mình tìm hiểu về phím bấm và led đơn đươc không? Xin cám ơn tất cả các bạn.
Thông báo
Collapse
No announcement yet.
Tập viết chương trình cho 8051
Collapse
X
-
Bác vào đây ngâm cúư nha: Trao đổi học tập - chi tiếtNguyên văn bởi minhb Xem bài viếtcám ơn bạn, mình nối 5LED vào P0 từ P0.0-P0.4, và bàn phím nối vào P0.5, bạn làm ơn viết bằng ngôn ngữ ASM cho mình tập xem chứ mình chưa rành đâu, chỉ có 1 phím bấm thôi, Xin chào và chúc các bạn ngủ ngon.
Comment
-
Nguyên văn bởi minhb Xem bài viếtChào các bạn mình mới được học về môn Vi điều khiển nhưng học trung cấp thì chỉ học sơ sài cho biết thôi chứ không thể nào rành về nó được. Mình có khúc mắc về mạch này, có 5 led đơn, 1 phím bấm, khi mới cấp nguồn thì mạch chưa sáng led, khi bấm nút 1 lần thì led 1 sáng, bấm lần 2 thì led 2 sáng( led 1 tắt), bấm lần 3 thì led 3 sáng( led 1 va 2 tắt), các bạn có thể cho mình đoạn code để mình tìm hiểu về phím bấm và led đơn đươc không? Xin cám ơn tất cả các bạn.sài P0 cần gắn trở thanhCode:NUT_BAM EQU P0.5 ORG 0 MAIN: MOV P0,#00H LOOPM1: MOV A,#01H LOOPM0: JB NUT_BAM,$ CALL DEBOUNCE JNB NUT_BAM,$ MOV P0,A RL A CJNE A,#00100000B,LOOPM0 SJMP LOOPM1 DEBOUNCE: MOV 30H,#250 LOOPD0: MOV 31H,#250 DJNZ 31H,$ DJNZ 30H,LOOPD0 RET END
Last edited by chung1608; 03-08-2012, 12:18.
Comment
-
cái này là bạn dùng đếm sự kiện tỏng 89c51:
mạch : LEDOK.DSNCode://DEM SU KIEN #include<at89x51.h> void main() { unsigned char led[10]={0xaa,0x55,0xE7,0xC3,0x81,0X7E,0X3C,0X18,0x00,0x0FF}; unsigned char i; TMOD=0x06; TL0=0xF6; TH0=TL0; TR0=1; while (1) { i=TL0-0xF6; if (TF0==1) { TR0=0; TF0=0; TR0=1; } else { P2=led[i]; } } }
Free Cloud Storage - MediaFireyahoo: boulevard.electronic
Học tập & nghiên cứu
phần mềm mình upload lên để chia sẻ:
Comment
-
delay chống nảy phímNguyên văn bởi jimmyli Xem bài viếtchung1608 cho mình hỏi đoạn code chỗ này có chức năng như thế nào vậy??
Comment
-
Cám ơn bác Chung rất nhiều, code của bác đưa e thử đã chạy rất tốt, nhưng bác ơi, bác làm ơn cho e phần chú thích ở mỗi hàng câu lệnh được không? Thêm câu hỏi ngớ ngẩn nữa mong bác đừng chê e nha: ngay chỗ những câu lệnh nàyNguyên văn bởi chung1608 Xem bài viếtsài P0 cần gắn trở thanhCode:NUT_BAM EQU P0.5 ORG 0 MAIN: MOV P0,#00H LOOPM1: MOV A,#01H LOOPM0: JB NUT_BAM,$ CALL DEBOUNCE JNB NUT_BAM,$ MOV P0,A RL A CJNE A,#00100000B,LOOPM0 SJMP LOOPM1 DEBOUNCE: MOV 30H,#250 LOOPD0: MOV 31H,#250 DJNZ 31H,$ DJNZ 30H,LOOPD0 RET END
"DJNZ 31H,$
DJNZ 30H,LOOPD0"
e có thể thay đổi địa chỉ của số 31H và 30H được không? và chữ $ trong lệnh đó có ý nghĩa gì?
Comment
-
cám ơn bác nhiều nha, e sẽ tập trung vào đó xem thêm. giờ không có điều kiện học tiếp không biết tới bao giờ mới có thể tự viết được một chương trình đơn giản như led nháy (đơn giản đối với các cao thủ trên này thôi). Giá như ngày xưa học ở trường trung cấp nhà trường đừng cho môn này vào "thực đơn" của e thì..... thà không biết về nó còn hơn dở sống dở chết phải không các bác!!!!!!!!Nguyên văn bởi phucan2104 Xem bài viếtBác vào đây ngâm cúư nha: Trao đổi học tập - chi tiết
Comment
-
chú nói mà mình ko hiểu chú muốn đổi 2 ô nhớ 30H 31H hay chú đổi giá trị của 2 ô nhớ này là #250Nguyên văn bởi minhb Xem bài viếtCám ơn bác Chung rất nhiều, code của bác đưa e thử đã chạy rất tốt, nhưng bác ơi, bác làm ơn cho e phần chú thích ở mỗi hàng câu lệnh được không? Thêm câu hỏi ngớ ngẩn nữa mong bác đừng chê e nha: ngay chỗ những câu lệnh này
"DJNZ 31H,$
DJNZ 30H,LOOPD0"
e có thể thay đổi địa chỉ của số 31H và 30H được không? và chữ $ trong lệnh đó có ý nghĩa gì?
$ là nhảy tại chỗ thay thế cho
Here: DJNZ 31H,here
Comment
-
Cho em hỏi trở thanh có phải là trở băng không ?tại sao xài P0 lại phải dùng trở này?Nguyên văn bởi chung1608 Xem bài viếtsài P0 cần gắn trở thanhCode:NUT_BAM EQU P0.5 ORG 0 MAIN: MOV P0,#00H LOOPM1: MOV A,#01H LOOPM0: JB NUT_BAM,$ CALL DEBOUNCE JNB NUT_BAM,$ MOV P0,A RL A CJNE A,#00100000B,LOOPM0 SJMP LOOPM1 DEBOUNCE: MOV 30H,#250 LOOPD0: MOV 31H,#250 DJNZ 31H,$ DJNZ 30H,LOOPD0 RET END
Comment
-
trở thanh là trở băng, P0 phải dùng vì chân của P0 thuộc loại cực thu hở, cực thu hở là gì thì search google dùngNguyên văn bởi tuanhvt Xem bài viếtCho em hỏi trở thanh có phải là trở băng không ?tại sao xài P0 lại phải dùng trở này?
Comment
Bài viết mới nhất
Collapse
-
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 nay, 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
...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 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 -
-
bởi chinhnguyen9Công thức
Gain (dB) = 20 × log₁₀(A)
Thí dụ 1; 60dB
log₁₀(A)=60/20=3
⇒ A=V_out / V_in = 10³ = 1.000
Thí dụ 2; 100dB
log₁₀(A)=100/20=5
⇒ A=V_out / V_in = 105 = 100.000
Tí dụ 3; LM 358
Large Signal Open Loop Voltage Gain AVOL V/mV RL = 2.0...-
Channel: Hướng dẫn sử dụng diễn đàn
19-03-2026, 08:44 -
-
Trả lời cho Mạch 3s bị giảm điện áp đầu rabởi minhtri0405chả biết bạn xử lý được chưa , kích sạc hoặc điện áp > điện áp khối pin vào 2 chân P - P+ , nhiều mạch phải yêu cầu có kích lần đầu sau đó mới chạy...
-
Channel: Điện tử dành cho người mới bắt đầu
18-03-2026, 10:01 -

Comment