March 2024 | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Calendar |
|
Latest topics | » simviettel.net bán sim đẹp Viettel, số đẹp Vinaphone, sim số đẹp Mobifone 10 sốThu Nov 07, 2013 2:59 pm by simviettel.net » đo nhiệt độFri Nov 09, 2012 11:56 pm by trongthanh » Mạch cầu H kích FET dùng IR2110Tue Aug 07, 2012 7:26 pm by Ultra » HƯỚNG DẪN THIẾT KẾ FANLED CỦA CLBTue Jan 10, 2012 11:17 pm by dcthuan.cdt » Thông báo! Giải bóng đá CUP KSTN mùa giải 2011Mon Nov 07, 2011 8:52 pm by lethanhtoan » điểm danh xem ai đang làm gìThu Sep 22, 2011 12:18 pm by vanquy311 » về ngày hội việc làm và phỏng vấn thử thành công thậtThu Sep 22, 2011 12:07 pm by vanquy311 » cần trao đổiThu Sep 22, 2011 11:19 am by blue » cùng nhau hoàn thành tốt luận vănWed Sep 21, 2011 2:56 pm by biganaru |
| | BÀI TẬP VI XỬ LÝ CHƯƠNG 3 | |
|
+11kil89 Nhok_kid vinh03 eros_89_abk nhphat hungreohd muilevan friendlovely0404 pumhunglevu Lee blue 15 posters | |
Tác giả | Thông điệp |
---|
blue giám đốc điều hành
Tổng số bài gửi : 96 Join date : 28/12/2009 Age : 34 Đến từ : ninh thuận
| Tiêu đề: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Thu May 27, 2010 7:06 pm | |
| | |
| | |
Tác giả | Thông điệp |
---|
hongphucltv trưởng phòng
Tổng số bài gửi : 40 Join date : 01/01/2010
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Wed Jun 09, 2010 7:31 am | |
| - muilevan đã viết:
- Lee đã viết:
- deking đã viết:
- LEE giải thích giúp mình tại sao lại nhập R5=6;R6=16;R7=11 mà sao k phải là 5,15,10?mình chưa hiểu lắm!
thanks! Àh, về cái này thì bạn xem lại lệnh DJNZ Rr,label. Lệnh này thực hiện giảm giá trị trong thanh ghi Rr trước rồi mới so sánh với 0. Nếu khác 0 thì nhảy đến label, bằng 0 thì nhảy xuống lệnh kế tiếp. Cho R5=6 thì vòng lặp sẽ thực hiện 5 lần, tương tự với R6, R7. Cứ sau 5s, P1.0 đổi trạng thái; sau 10s, P1.1 đổi trạng thái; sau 15s P1.2 đổi trạnh thái. Vậy thôi.
mình hiểu ý bạn nói!bạn đã đúng với sóng 10s,15s vì bạn đặt CPL sau DJNZ!còn với sóng 5s thì mình nghĩ R5=5 mới đúng vì bạn để lệnh CPL trước DJNZ R5 nên sau 6 lần thì P1.0 mới đổi trạng thái(hoặc bạn chuyển CPL P1.0 ra sau DJNZ R5).... mov r5,3 loop: ... ... djnz r5,loop vậy thì vòng loop thực hiện đúng 3 lần chứ r5=3--loop-->(trừ)-->r5=2---loop-->(trừ)-->r5=1--loop-->(trừ)-->r5=0(dừng) | |
| | | Lee phó tổng giám đốc
Tổng số bài gửi : 106 Join date : 29/12/2009 Age : 34 Đến từ : Tây Ninh
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Wed Jun 09, 2010 10:44 am | |
| Không hiểu ý Phúc. Đã sữa lại code theo như góp ý của Mùi. Phúc xem lại đi. | |
| | | hongphucltv trưởng phòng
Tổng số bài gửi : 40 Join date : 01/01/2010
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Wed Jun 09, 2010 10:51 am | |
| - Lee đã viết:
- Không hiểu ý Phúc. Đã sữa lại code theo như góp ý của Mùi. Phúc xem lại đi.
ý mình là cái lệnh "DJNZ Rn,LABEL" thì trừ trước rồi so sánh với 0 sau. tùy theo cái nhãn của vòng lặp đặt ở trước hay sau lệnh DJNZ mà vòng lặp chạy bao nhiêu lần. nếu đặt trước thì chạy Rn lần, đặt sau thì chạy Rn-1 lần. với bài của Hiệp thì đúng^^ | |
| | | Admin Admin
Tổng số bài gửi : 247 Join date : 27/12/2009
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Thu Jun 10, 2010 7:38 am | |
| Tôi không ưa gì lắm cái vụ viết code, nhưng có ý kiến thế này:
Các bạn nên tạo thành 1 cái "barem" cho 1 dạng bài, giống như dàn bài vậy, có đầy đủ các chi tiết, khi cần dùng, ta chỉ có việc tra cái dàn bài đó và bỏ đi hay thêm vào những chỗ ta cần, như thế sẽ hay hơn các bạn giải từng bài riêng lẻ. Thử nha, với truyền nối tiếp:
MOV TMOD, # 20H ; TIMER CHẾ ĐỘ 2
MOV TH1,# TỐC ĐỘ BAUD (TRA BẢNG)
MOV SCON, # CHẾ ĐỘ TRUYỀN NHẬN
SETB TR1; CHẠY TIMER
[........... CÁC CÔNG VIỆC CẦN XỬ LÝ ( TRA BẢNG, CHUẨN BỊ DỮ LIỆU VÀ THANH GHI A....)
.............GỌI CHƯƠNG TRÌNH GỞI / NHẬN DỮ LIỆU PORT NỐI TIẾP
.............XỬ LÝ DỮ LIỆU NHẬN/ CHUẨN BỊ DỮ LIỆU GỞI
...............................................................................................]
*************************************** SEND: MOV SBUF,A ; NẠP DỮ LIỆU VÀ GỞI
JNB TI,$ ; ĐỢI GỞI XONG
CLR TI ; CHUẨN BỊ CHO LẦN GỞI KẾ TIẾP
RET
*************************************** RECIEVE : JNB RI, RECIEVE ; ĐỢI TỚI KHI NHẬN XONG
MOV A, SBUF ; CHÉP DỮ LIỆU LÊN AAC
CLR RI ; CHUẨN BỊ NHẬN TIẾP
RET
NÀO CÙNG CHO Ý KIẾN!!! | |
| | | Wanabe thử việc
Tổng số bài gửi : 3 Join date : 09/06/2010
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Fri Jun 11, 2010 12:16 am | |
| - pumhunglevu đã viết:
- Có đính chính 1 tí ở bài 4.4
Tốc độ baud f=(1/32)x307000x2=19200 Đồng ý với đính chính ni. đoạn code: MOV A,PCON SETB ACC.7; set SMOD lên 1 MOV PCON,A dùng để nhân đôi tốc độ baud trong tuyền nối tiếp. có thể tính tần số được timer sử dụng để đặt tốc độ baud như sau: SMOD=0: f(XTAL)/(12*32) SMOD=1:f(XTAL)/(12*16) ví dụ có lệnh: MOV TH1,#-n; tốc độ baud= f(timer1)/n. | |
| | | ngdai89 phó phòng
Tổng số bài gửi : 27 Join date : 28/01/2010
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Sun Jun 13, 2010 3:02 pm | |
| ;Bai 3.11a ORG 0000h LOOP: CLR P1.0 CALL DELAY_600us SETB P1.0 CALL DELAY_1400US SJMP LOOP END DELAY_600us: MOV TMOD,#00010000B MOV TH1,#HIGH(-600) MOV TL1,#LOW(-600) SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 RET DELAY_1400us: MOV TMOD,#00010000B MOV TH1,#HIGH(-1400) MOV TL1,#LOW(-1400) SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 RET ;Bai3.11b ORG 0000h MOV R0,#200 LOOP1: MOV R1,#25 LOOP: CLR P1.0 CALL DELAY_1200us SETB P1.0 CALL DELAY_800US DJNZ R1,LOOP DJNZ R0,LOOP1 END DELAY_800us: MOV TMOD,#00010000B MOV TH1,#HIGH(-600) MOV TL1,#LOW(-600) SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 RET DELAY_1200us: MOV TMOD,#00010000B MOV TH1,#HIGH(-1400) MOV TL1,#LOW(-1400) SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 RET ;Bai3.14 ORG 0000H LOOP: CLR P1.0 CALL DELAY_1400US SETB P1.0 CALL DELAY_600US SJMP LOOP END DELAY_600us: MOV TMOD,#00000001B MOV TH0,#HIGH(-600) MOV TL0,#LOW(-600) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET DELAY_1400us: MOV TMOD,#00000001B MOV TH0,#HIGH(-1400) MOV TL0,#LOW(-1400) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET note: thầy chưa sửa, ko bit có sai hem đây | |
| | | pumhunglevu trưởng phòng
Tổng số bài gửi : 32 Join date : 03/01/2010 Age : 34 Đến từ : Nha trang
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Mon Jun 14, 2010 7:50 am | |
| | |
| | | ngdai89 phó phòng
Tổng số bài gửi : 27 Join date : 28/01/2010
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Mon Jun 14, 2010 8:37 am | |
| | |
| | | Wanabe thử việc
Tổng số bài gửi : 3 Join date : 09/06/2010
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Tue Jun 15, 2010 6:00 pm | |
| - muilevan đã viết:
- friendlovely0404 đã viết:
- org 0000h
MOV TMOD,#06H;đặt cấu hình nhận xung clock từ T0 MOV TL0,#-60;đếm 60 lần thì tràn MOV TH0,#-60 SETB TR0 ;chạy timer LOOP: JNB TF0,$ ;đợi tràn CLR TF0 ;xóa cờ báo tràn ACALL SAVE JMP LOOP SAVE: MOV R0,#52H ;xét biến giây INC @R0 CLR C ;xóa cờ c vì lệnh subb có ảnh hưởng bởi cờ MOV A,#60 SUBB A,@R0 ;kiểm tra biến giây có =60 không JNZ EXIT ;biến giây không =60 thì thoát MOV @R0,#0H MOV R0,#51H;xét biến phút INC @R0 CLR C MOV A,#60 SUBB A,@R0 JNZ EXIT MOV @R0,#0H MOV R0,#50H ;xét biến giờ INC @R0 CLR C MOV A,#24 SUBB A,@R0;kiểm tra với 24 JNZ EXIT MOV @R0,#0 EXIT: RET P/S:Thầy đã sửa.Thầy Mỹ nói có thể dùng ngắt.anh em nghiên cứu thêm. bạn có thể dùng CJNE thay vì CLR C,SUBB ,JNZ!!
Anh em tham khảo mình dùng ngắt:
;BAI 3.15 DEM TOI GIAN DUNG NGAT COUNTER 0 VA MOD2 ORG 0000H JMP MAIN ORG 000BH JMP T0ISR MAIN: MOV TMOD,#00000110B;COUNTER O,MOD 2 MOV TH0,#-60 ;DEM 60 LAN THI TRAN MOV TL0,#-60 MOV IE,#10000010B ;CHO PHEP NGAT TIMER 0 SETB TR0;CHO TIMER 0 CHAY JMP $; DOI TRAN T0ISR: GIO EQU 50H;QUAN LY GIO PHUT EQU 51H;QUAN LY PHUT GIAY EQU 52H; PUSH ACC;CAT ACC CHO AN TOAN INC GIAY ;CAP NHAT GIAY MOV A,GIAY CJNE A,#60,EXIT;CHUA 60S QUAY VE MOV GIAY,#00H INC PHUT;CAP NHAT PHUT MOV A,PHUT CJNE A,#60,EXIT;CHUA DEN 60 PHUT THI QUAY VE MOV PHUT,#00H INC GIO ;CAP NHAT GIO MOV A,GIO CJNE A,#24,EXIT;DEN 23:59:59 THI VE 0:00:00 MOV GIO,#00H POP ACC;TRA LAI GIA TRI DAU CHO ACC EXIT: RETI END bài ni (dùng ngắt) dùng biến có vẻ không đúng yêu cầu bài cho lắm, không biết đoạn code dưới ni có tốt hơn hok: ORG 0000H LJMP MAIN ORG 000BH LJMP ISR_T0 MAIN: MOV TMOD,#06H MOV TH1,#-60 MOV TL1,#-60 MOV R7,#0 MOV R6,#0 MOV R5,#0 SETB TR0 MOV IE,#82H SJMP $ ISR_T0: INC R7 CJNE R7,#60,TIEPTUC MOV R7,#0 INC R6 CJNE R6,#60,TIEPTUC MOV R6,#0 INC R5 CJNE R5,#24,TIEPTUC MOV R5,#0 TIEPTUC: MOV 52H,R7 MOV 51H,R6 MOV 50H,R5 RETI END | |
| | | hungreohd trưởng phòng
Tổng số bài gửi : 40 Join date : 30/12/2009 Age : 34 Đến từ : binh thuan
| Tiêu đề: HỎI Fri Jun 18, 2010 10:48 pm | |
| 4.6 hải dưới sao không dùng MOVC mà dùng MOVX dậy.MOVC đâu có phân biệt nội ngoại chỉ cần là bộ nhớ mã | |
| | | Admin Admin
Tổng số bài gửi : 247 Join date : 27/12/2009
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Fri Jun 18, 2010 10:48 pm | |
| Bài 4.6 OUTSTR: MOV SCON,#02H //02H=0000 0010 B SET TI=1 LOOP: MOVX A,@DTPR JNB TI,$ CLR TI MOV SBUF,A INC DPTR CJNE A,#00H,LOOP RET Bài 4.7 INLINE: MOV R0,#50H MOV SCON,#11H //11H=0001 0001 B SET RI=1 VA CHO PHEP DOC TU CONG NOI TIEP LOOP: JNB RI,$ CLR RI MOV A,SBUF MOV @R0,A INC R0 CJNE A,#0DH,LOOP //ma ascii cua CR la 0Dh theo nhu thay noi MOV @R0,#00H RET
THẦY ĐÃ SỬA!
Movx chỉ dùng cho bộ nhớ ram ngoài, còn bộ nhớ mã bên ngoài hay trong gì đều phải dùng movc hết, xem lại nha
| |
| | | Nhok_kid phó giám đốc
Tổng số bài gửi : 66 Join date : 29/12/2009 Age : 34 Đến từ : Hà Tĩnh
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Sat Jun 19, 2010 12:50 am | |
| Thực ra đối với RAM có thể xài đồng thời nội và ngoại. nên cần có lệnh phân biệt MOV và MOVX. còn đối với ROM. 1 lúc chỉ xài 1 thằng. Quyết định bởi kết nối chân EA. EA xuống MASS thì truy xuất ROM ngoài và ngc lại thì ROM nội. nên dùng chung 1 lệnh là MOVC Vd: 8031 ko có ROM nội nên EA (external access enable) luôn dc nối MASS (đề thi) | |
| | | muilevan trưởng phòng
Tổng số bài gửi : 39 Join date : 29/12/2009 Age : 35 Đến từ : Quảng Ngãi
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Sat Jun 19, 2010 10:01 am | |
| - Wanabe đã viết:
bài ni (dùng ngắt) dùng biến có vẻ không đúng yêu cầu bài cho lắm, không biết đoạn code dưới ni có tốt hơn hok: ORG 0000H LJMP MAIN ORG 000BH LJMP ISR_T0 MAIN: MOV TMOD,#06H MOV TH1,#-60 MOV TL1,#-60 MOV R7,#0 MOV R6,#0 MOV R5,#0 SETB TR0 MOV IE,#82H SJMP $ ISR_T0: INC R7 CJNE R7,#60,TIEPTUC MOV R7,#0 INC R6 CJNE R6,#60,TIEPTUC MOV R6,#0 INC R5 CJNE R5,#24,TIEPTUC MOV R5,#0 TIEPTUC: MOV 52H,R7 MOV 51H,R6 MOV 50H,R5 RETI END mình thấy cũng k khác gì mấy!!nếu như bạn đưa mấy cái lẹnh MOV ở dưới lên trên,TIEPTUC chỉ là RETI thôi thì sẽ tốt hơn của mình!!!đôi khi minh muốn rõ ràng thì nó lại trở nên rờm rà!thanks! P/S: lệnh POP ACC đặt sai vị trí,nằm trong nhãn EXIT mới đúng!!! | |
| | | Wanabe thử việc
Tổng số bài gửi : 3 Join date : 09/06/2010
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Sun Jun 20, 2010 11:48 am | |
| - muilevan đã viết:
- Wanabe đã viết:
bài ni (dùng ngắt) dùng biến có vẻ không đúng yêu cầu bài cho lắm, không biết đoạn code dưới ni có tốt hơn hok: ORG 0000H LJMP MAIN ORG 000BH LJMP ISR_T0 MAIN: MOV TMOD,#06H MOV TH1,#-60 MOV TL1,#-60 MOV R7,#0 MOV R6,#0 MOV R5,#0 SETB TR0 MOV IE,#82H SJMP $ ISR_T0: INC R7 CJNE R7,#60,TIEPTUC MOV R7,#0 INC R6 CJNE R6,#60,TIEPTUC MOV R6,#0 INC R5 CJNE R5,#24,TIEPTUC MOV R5,#0 TIEPTUC: MOV 52H,R7 MOV 51H,R6 MOV 50H,R5 RETI END
mình thấy cũng k khác gì mấy!!nếu như bạn đưa mấy cái lẹnh MOV ở dưới lên trên,TIEPTUC chỉ là RETI thôi thì sẽ tốt hơn của mình!!!đôi khi minh muốn rõ ràng thì nó lại trở nên rờm rà!thanks! P/S: lệnh POP ACC đặt sai vị trí,nằm trong nhãn EXIT mới đúng!!! Khac chu ban. neu ban de lenh MOV o tren thi se co truong hop gia tri cap nhat ve la: 24h:60p:60s, co dong ho nao bi khung vay khong ban | |
| | | muilevan trưởng phòng
Tổng số bài gửi : 39 Join date : 29/12/2009 Age : 35 Đến từ : Quảng Ngãi
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Mon Jun 21, 2010 10:06 am | |
| - Wanabe đã viết:
- muilevan đã viết:
- Wanabe đã viết:
bài ni (dùng ngắt) dùng biến có vẻ không đúng yêu cầu bài cho lắm, không biết đoạn code dưới ni có tốt hơn hok: ORG 0000H LJMP MAIN ORG 000BH LJMP ISR_T0 MAIN: MOV TMOD,#06H MOV TH1,#-60 MOV TL1,#-60 MOV R7,#0 MOV R6,#0 MOV R5,#0 SETB TR0 MOV IE,#82H SJMP $ ISR_T0: INC R7 CJNE R7,#60,TIEPTUC MOV R7,#0 INC R6 CJNE R6,#60,TIEPTUC MOV R6,#0 INC R5 CJNE R5,#24,TIEPTUC MOV R5,#0 TIEPTUC: MOV 52H,R7 MOV 51H,R6 MOV 50H,R5 RETI END
mình thấy cũng k khác gì mấy!!nếu như bạn đưa mấy cái lẹnh MOV ở dưới lên trên,TIEPTUC chỉ là RETI thôi thì sẽ tốt hơn của mình!!!đôi khi minh muốn rõ ràng thì nó lại trở nên rờm rà!thanks! P/S: lệnh POP ACC đặt sai vị trí,nằm trong nhãn EXIT mới đúng!!! Khac chu ban. neu ban de lenh MOV o tren thi se co truong hop gia tri cap nhat ve la: 24h:60p:60s, co dong ho nao bi khung vay khong ban Neu ban biet dat dung cho thi se khong co chuyen do xay ra!!!cung la do cach quan ly bien cua ban thoi!con minh thay doi truc tiep tren o nho 52h,51h,50h... Con nua,minh gop y dat lai vi tri cac lenh MOV la vi: trong 1 phut chi can thuc hien 1 lenh MOV 51,R6,trong 1h chi can 1 lenh MOV 50h,R5;vay 1h ban thuc hien (3600-60)+(3600-1) lenh MOV k can thiet(MOV A8,R mat 2 chu ky may).....y minh la vay..... Chuong trinh cua ban k co gi sai ca...sap thi roi.....chuc moi nguoi thi tot... Than!!! | |
| | | friendlovely0404 trưởng phòng
Tổng số bài gửi : 42 Join date : 01/01/2010 Age : 34
| Tiêu đề: bai 3.7 vi khong dong y voi cach giai tren lop nen dang len de binh luan Tue Jun 22, 2010 1:16 pm | |
| ORG 000H CLR P1.7 MOV TMOD,#01H LOOP:JNB P1.6,$ JB P1.6 ,$ SETB P1.7 DELAY:MOV R7,#100 CLR F0 AGAIN: MOV TL0,#LOW(-10000) MOV TH0,#HIGH(-10000) SETB TR0 WAIT:JNB P1.6,CHUADOI SETB F0 CHUADOI:JB TF0,TRAN JNB F0,WAIT JB P1.6,CHUADOI CLR TR0 SJMP DELAY TRAN: CLR TF0 CLR TR0 DJNZ R7, AGAIN CLR P1.7 SJMP LOOP END Mình đã mô phỏng với ngõ ra đưa ra led thấy đúng và không bị ảnh hưởng khi nhấn rồi giữ luôn nút.các bạn đóng góp ý kiến. | |
| | | Lee phó tổng giám đốc
Tổng số bài gửi : 106 Join date : 29/12/2009 Age : 34 Đến từ : Tây Ninh
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 Wed Jun 23, 2010 11:31 am | |
| Ý tưởng: mình sẽ dùng 1 bit để lưu trạng thái trước của P1.6 ( cờ C chẳng hạn) và so sánh trạng thái của cờ C vời P1.6. Chỉ gọi delay trở lại khi C=1 và P1.6=0. Mọi người góp ý xem đoạn code này chạy dc ko.
MOV C, P1.6 Wait2: JNC NEXT JB P1.6,NEXT SJMP DELAY NEXT: MOV C,P1.6 // cập nhật trạng thái hiện tại của P1.6 vào C JNB TF0, Wait2
Còn mọi thứ khác thì như trong sách ! P/S: Thiện post code lên thì chú thích code hoặc nêu ý tưởng để dễ nắm bắt chứ kiểu này thì đọc code mệt quá! | |
| | | Sponsored content
| Tiêu đề: Re: BÀI TẬP VI XỬ LÝ CHƯƠNG 3 | |
| |
| | | | BÀI TẬP VI XỬ LÝ CHƯƠNG 3 | |
|
Similar topics | |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| |