hix..!!!củ chuối em viết hơi lộn.mấy cái thanh ghi đó em cũng biết rồi nhưng các bác nói cũng không thừa nhiều cái vỡ ra thật.RẤT CÁM ƠN SỰ NHIỆT TÌNH CỦA CÁC BÁC !!!
Anh em nào có kinh nghiệm về ngắt trong trao đổi cho mọi người cùng học hỏi?
Collapse
X
-
em xét ngon lành con time mà có cần phải xét tmod đâu bác.em nghĩ tmod chỉ khai báo khi sủ dụng xet các chế độ time thôi các bác à.
em có một chương trình thế này các bác xem hộ e với em mô phỏng kelc ngon thế mà khi nạp ra ngoàn nó chạy linh tinh cả em không biết sai chỗ nào nữa;
org 0000h
mov P0,#00h ;LUC DAU CHO CAC CONG =0
mov p1,#00h
MOV P2,#00H
;***************KHAI BAO BIT DAU RA*****************************************
D_CUA BIT P0.0
D_NHA BIT P0.1
D_PHONG_NGU BIT P0.2
D_NGU BIT P0.3
D_BAO_DONG BIT P0.4
D_NHA_WC BIT P0.5
NOI_COM BIT P0.6
D_CAU_THANG BIT P0.7
MO_REM_1 BIT P1.0
DONG_REM_1 BIT P1.1
MO_REM_2 BIT P1.2
DONG_REM_2 BIT P1.3
;********DAU RA CAM BIEN*********************
CB_MO_CUA BIT P2.0
CB_D_NHA BIT P2.1
CB_D_PHONG_NGU BIT P2.2
CB_D_NGU BIT P2.3
CB_CHONG_TROM BIT P2.4
CB_NHA_WC BIT P2.5
CB_DEM_NGAY BIT P2.6
CB_CAU_THANG BIT P2.7
CB_MAT_THU BIT P3.3
;************************************************
main:
XET_CHE_DO_TU_DONG:
;************CHUONG TRINH SANG DEN***************************
JNB CB_DEM_NGAY,CT_BAN_DEM
JB CB_DEM_NGAY,CT_BAN_NGAY
CT_BAN_NGAY:
MOV P0,#00H ;TAT TAT CA CAC DEN
CLR DONG_REM_1 ;KHOA LIEN DONG CHONG QUAY NGUOC
CALL DELAY ;TRE MOT LUC DE DAM BAO DA KHOA CHIEU NGUOC
SETB MO_REM_1 ;MO REM
CALL DELAY ;TIME MO REM
JMP XET_CHE_DO_TU_DONG
CT_BAN_DEM: ;KIEM TRA TAT CA CAC CAM BIEN DE XET CAC DEN
SETB D_CUA ;DEN CUA TU SANG
DEN_NHA:
DJNZ R4,KT6
CALL DELAY1
MOV R0,#7
LAP4: ;BAT
CLR D_CAU_THANG
CALL DELAY2
SETB D_CAU_THANG
CALL DELAY2
DJNZ R0,LAP3
call delay2
KT6: JnB CB_D_NHA,DEN_PHONG_NGU ;TIM TIN HIEU CB_D_NHA
setb D_NHA
MOV R1,#2
jmp KT1
DEN_PHONG_NGU:
DJNZ R1,KT1 ;NEU R0=0 THI TRE MOT 1S 1S+4LAN LAP ~ 5S. NEU RO #0 THI NHAY TOI XET CAM BIEN # LUON MA KHONG DEM NUA
;INC R0
CALL DELAY1
CLR D_NHA
KT1: JnB CB_D_PHONG_NGU,DEN_NGU
SETB D_PHONG_NGU
MOV R2,#1
jmp KT2
DEN_NGU:
DJNZ R2,KT2
CALL DELAY1
CLR D_PHONG_NGU
KT2: JnB CB_D_NGU,DEN_BAO_DONG
SETB D_NGU
MOV R3,#2
JMP KT3
DEN_BAO_DONG:
DJNZ R3,KT3
CALL DELAY1
CLR D_NGU
KT3: JnB CB_CHONG_TROM,DEN_NHA_WC
SETB D_BAO_DONG
MOV R4,#2
jmp KT4
DEN_NHA_WC:
DJNZ R4,KT4
CALL DELAY1
CLR D_BAO_DONG
KT4: JnB CB_NHA_WC,DEN_CAU_THANG
SETB D_NHA_WC
MOV R5,#2
JMP KT5
DEN_CAU_THANG:
DJNZ R5,KT5
MOV R0,#7
CALL DELAY1
CLR D_NHA_WC
KT5: JNB CB_CAU_THANG,D1
LAP3:
MOV R4,#2 ;BAT
CLR D_CAU_THANG
CALL DELAY2
SETB D_CAU_THANG
CALL DELAY2
DJNZ R0,LAP3
call delay2
D1: JMP MAIN
delay2:
GEC:
MOV 20H,#03H
DEL3:
MOV 21H,#25H
DEL2:
MOV 22H,#0FFH
DEL1:
JNB P3.3,GEC ;tao khoang do bit cao
DJNZ 22H,DEL1
DJNZ 21H,DEL2
DJNZ 20H,DEL3
RET
delay:
mov r0,#165
k6: nop
nop
nop
djnz r0,k6
ret
delay1:
MOV R1,#5
MOV R2,#0
MOV R3,#0
LOOO:
DJNZ R3,LOOO
DJNZ R2,LOOO
DJNZ R1,LOOO
RET
longdelay:
mov r1,#70
k7: mov r2,#255
k8: djnz r2,k8
djnz r1,k7
ret
end
chương trình của em là nếu cảm biến phòng này xét thì nó sẽ setb den của phòng này nếu cảm biến phòng này không xét nữa thì nó sẽ clr đèn phòng này trong mấy giây.trong thời gian trễ đó nó sẽ đi làm việc khác là xét các cảm biến khác. ý tưởng của em là cho nó thực hiện vòng lặp và đếm số vòng lặp đó để xét trạng thái các đèn(tắt đèn) như vậy thì trong quá trình xét các vòng lặp đó nó vẫn đi xét được các cảm biến # và thay đổi trạng thái các đền khác.em tét trực tiếp trên kelc ngon rồi (tét theo kiểu kiểm tra từng lệnh thực hiện )thế mà nạp chương trình ra ngoài nó chạy lại không đúng cụ thể là có mỗi DEN_NHA_WC và DEN_BAO_DONG: hoạt động đúng thôi mà em chịu không biết tại sao các cảm biến khác có xét dèn sáng lên rồi nhung không tắt đươc các bác ạ.các bác xem gỡ rối hộ e phát, hay các bác có ý tưởng nào khác về xét trễ một đèn mà trong thời gian trễ đó mình có thể đi làm việc khác không gần như là cho phép vi diều khiển làm 2 việc cùng một lúc đấy.bam đầu em định dùng trễ time nhưng không biết làm thế nào.các bác nào có ý tưởng hay nào giúp em cùng mọi người cùng biết nhé,em nghĩ vấn đề này là rất cần thiết và được nhiều người quan tâm đấy.vì trên thực tế vi điều khiển chỉ thực hiện dc một viêc trong cùng một time nhất định thôi...Last edited by toan258; 17-10-2011, 18:16.đùa chứ tớ hơi ngu...thông cảm nha..heee...
Comment
-
các bác cho em hỏi chút nữa là trước khi xảy ra ngắt thì stack se dc lưu địa chỉ hiện tại và nạp dịa chỉ vecto ngắt vào để khi thực hiện xong ngắt nó có thể trở về đoạn chương trình mà nó đang thực hiện dở trước đó để thực hiện tiếp. nhưng bây giờ em không muốn nó trở về đoạn chương trình đó nữa mà sẽ nhảy đến một địa chỉ đặt nào đó thì phải làm thế nào.mong các bác giúp đỡ..!!!đùa chứ tớ hơi ngu...thông cảm nha..heee...
Comment
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi thuaimiVẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:33 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
25-10-2026, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
25-10-2026, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
24-10-2026, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
24-10-2026, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
Comment