Báo cáo thí nghiệm vi xử lý

35 552 0
Báo cáo thí nghiệm vi xử lý

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ BÁO CÁO THÍ NGHIỆM VI XỬ LÍ Lớp : DD07TD Nhóm : 01 Tổ : 07 Họ tên SV: Nguyễn Thành Nam Vũ Xuân Tầm Dương Lâm Phương Nguyễn Thanh Nam Phương Lê Bá Tấn MSSV: 40701531 40702162 40701876 Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 Phần 1: Nhóm 07 Làm việc với Vi điều khiển 89C51 Bài 1: Thí Nghiệm với nút nhấn LED đơn Thí nghiệm 1: Viết chương trình thực việc đọc liên tục trạng trạng thái nút nhấn P1.0 hiển thị LED nối chân P1.1 Code: ORG 2000H ;Doc trang thai cua chan P1.0 va xuat P1.1 LOOP: MOV C, P1.0 MOV P1.1, C SJMP LOOP END Thí nghiệm 2: Viết chương trình tạo xung vuông 1Hz chân P1.0,biết tần số dao động dùng KIT 11.059MHz Code: ORG 2000H ;Tao xung vuong 1Hz tren P1.0 dung vong lap LAP: CPL P1.0 ACALL DL500 SJMP LAP DL500: PUSH 05 PUSH 06 PUSH 07 MOV R5, #10 L2: MOV R6, #100 L1: MOV R7, #250 DJNZ R7, $ DJNZ R6, L1 DJNZ R5, L2 Thí nghiệm Vi xử lí – Học kì hè 09-10 POP 07 POP 06 POP 05 RET END Thí nghiệm 2: (Mở rộng) Thay đổi tần số xung vuông thành 0.5Hz, với chu kì nhiệm vụ 30% Code: ORG 2000H ;Tao xung tan so 0.5Hz tren P1.0 voi chu ki nhiem vu 30% LAP: SETB P1.0 ; LCALL DL150 ; CLR P1.0 ; LCALL DL350 ; SJMP LAP ; DL150: PUSH 07 PUSH 06 PUSH 05 MOV R5, #2 ; L1_2: MOV R6, #150 ; L1_1: MOV R7, #250 ; DJNZ R7, $ ; DJNZ R6, L1_1; DJNZ R5, L1_2; POP 05 POP 06 POP 07 RET DL350: PUSH 07 PUSH 06 PUSH 05 MOV R5, #7 ; L2_2: MOV R6, #100 ; L2_1: MOV R7, #250 ; DJNZ R7, $ ; DJNZ R6, L2_1; DJNZ R5, L2_2; POP 05 POP 06 POP 07 RET END Thí nghiệm 3: Viết chương trình tạo xung vuông Hz dùng Timer0 Code: ORG 2000H ;Tao xung vuong 1Hz tren P1.0 su dung Timer0 LAP: CPL P1.0 CALL DL500 SJPM LAP DL500: MOV TMOD, #01H ;Goi Timer0, Mode1 PUSH 05 MOV R5, #10 LOOP: MOV TH0, #HIGH(-50000) MOV TL0, #LOW(-50000) Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 SETB TR0 JNB TF0, $ CLR TF0 CLR TR0 DJNZ R5, LOOP POP R5 RET END Thí nghiệm 3: (Mở rộng) Tận dụng ngắt Timer để tạo xung Code: ORG 2000H ;Tao xung 1Hz tren P1.0 dung ngat Timer0 LJMP MAIN ORG 200BH INC R5 CJNE R5, #10, ISRT0 MOV R5, #1 CPL P1.0 ISRT0: CLR TR0 CLR TF0 MOV TH0, #HIGH(-50000) MOV TL0, #LOW(-50000) SETB TR0 RETI ORG 2030H MAIN: MOV TMOD ,#01H SETB TF0 MOV IE, #82H SJMP $ END Thí nghiệm 4: Viết chương trình làm cho LED nối đến chân P1.0 chớp tắt với tần số thay đổi cách nhấn P1.1 (tăng) P1.2 (giảm) Code: ORG 2000H ;Tao xung tren P1.0 va thay doi theo P1.1 (tang), P1.2 (giam) MOV TMOD, #01H MOV A,#10 LOOP: JNB P1.1,TANG JNB P1.2,GIAM ;Tan so 1Hz lam trung binh,neu ko nhan nut nao thi van giu nguyen tan so cu CALL XUNG SJMP LOOP TANG: ;Xet xem A co la 255 hay chua CJNE A, #255, TANG1 SJMP LOOP ; A khac 255 TANG1: INC A CALL XUNG SJMP LOOP Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 GIAM: CJNE A, #1, GIAM1 SJMP LOOP GIAM1: DEC A CALL XUNG SJMP LOOP XUNG: MOV R5, A DL50: MOV TH0, #HIGH(-50000) MOV TL0, #LOW(-50000) SETB TR0 JNB TF0, $ CLR TR0 CLR TF0 DJNZ R5, DL50 CPL P1.0 RET END Bài 2: Thí nghiệm hiển thị dùng LED đoạn Thí nghiệm 1: Viết chương trình thực đếm từ đến hiển thị LED đoạn,mỗi lần cách 2s Code: ORG 2000H ;bo dem tu toi 9, hien thi tren LED doan, moi lan cach 2s CLR A MAIN: MOV R1, #10 MOV A,#0E0H LOOP: MOV DPTR, #0000H MOVX @DPTR, A INC A CALL DL2000 DJNZ R1,LOOP SJMP MAIN DL2000: PUSH 05 ;Delay 2s PUSH 06 PUSH 07 MOV R5, #20 DL2: MOV R6, #200 DL1: MOV R7, #250 DJNZ R7, $ DJNZ R6, DL1 DJNZ R5, DL2 POP 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 POP 06 POP 05 RET END Thí nghiệm 2: Viết chương trình hiển thị giá trị 1234 LED đoạn Code: ORG 2000H ;Bai 2, Thi nghiem ;Hien thi 1234 len LED doan AGAIN: CLR A MOV R1, #4 LOOP: MOV DPTR, #TABLE MOVC A,@A+DPTR DJNZ R1,NEXT SJMP AGAIN ;lien tuc de tao hinh anh tren mat NEXT: CALL XUAT CALL DL3 INC DPTR SJMP LOOP XUAT: PUSH DPH PUSH DPL MOV DPTR, #0000H MOVX @DPTR, A POP DPL POP DPH RET DL3: PUSH 05 PUSH 06 MOV R5, #12 L1: MOV R6, #250 DJNZ R6, $ DJNZ R5, L1 POP 06 POP 05 RET TABLE: DB 71H,0B2H,0D3H,0E4H END Thí nghiêm 2: Mở rộng Code: ORG 2000H ;Bai Thi nghiem mo rong ;Hien thi gia tri la ma BCD nen R7_R6 LED ;R7=1_2, R6=3_4 MOV R7, #00010010B MOV R6, #00110100B CALL BP_2_B LOOP: ;Copy R5=>A,roi OR voi 70H MOV A,R5 ORL A, #70H CALL XUAT Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 ;Copy R4=>A,OR voi 0B0H MOV A, R4 ORL A, #0B0H CALL XUAT ;Copy R3=>A,OR voi 0D0H MOV A, R3 ORL A, #0D0H CALL XUAT ;Copy R2=>A,OR voi 0E0H MOV A,R2 ORL A, #0E0H CALL XUAT SJMP LOOP BP_2_B: ;R7=>R5_R4,R6=>R3_R2 MOV A,R7 PUSH ACC ANL A, #0FH MOV R4, A POP ACC ANL A, #0F0H SWAP A MOV R5,A MOV A,R6 PUSH ACC ANL A, #0FH MOV R2, A POP ACC ANL A, #0F0H SWAP A MOV R3,A RET XUAT: ;Xuat + Delay 3ms MOV DPTR, #0000H MOVX @DPTR, A ;Delay 3ms PUSH 00 PUSH 01 MOV R0, #6 L1: MOV R1, #250 DJNZ R1, $ DJNZ R0, L1 POP 01 POP 00 RET END Thí nghiệm 3: Viết chương trình thể giá trị nhị phân ghi R7 LED đoạn Code: ORG 2000H ;Bai Thi nghiem ;Hien thi gia tri nhi phan R7 len LED doan MOV R7, #0A0H ;Example R7= 160 Thí nghiệm Vi xử lí – Học kì hè 09-10 MOV A, R7 CALL BIN_2_BCD LOOP: ;R6=>A,OR voi 0B0H roi xuat LED_2 MOV A, R6 ORL A, #0B0H CALL XUAT ;R5=>A,OR voi 0D0H xuat LED_3 MOV A, R5 ORL A, #0D0H CALL XUAT ;R4=>A,OR voi 0E0H xuat LED_4 MOV A, R4 ORL A, #0E0H CALL XUAT SJMP LOOP BIN_2_BCD: ;R7=R6_R5_R4 MOV B, #10 DIV AB MOV R4,B MOV B, #10 DIV AB MOV R6, A MOV R5, B RET XUAT: ;Xuat + Delay 3ms MOV DPTR, #0000H MOVX @DPTR, A ;Delay 3ms PUSH 02 PUSH 03 MOV R2, #6 L1: MOV R3, #250 DJNZ R3, $ DJNZ R2, L1 POP 03 POP 02 RET END Bài 3: Thí nghiệm hiển thị dùng LCD Thí nghiệm 1: Code: ORG 2000H ;**************************************************** ;Hien thi chuoi "Hello" tren LCD ;**************************************************** EN BIT P3.4 RS BIT P3.5 CALL INIT_LCD Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 MAIN: MOV CLR MOVC CJNE SJMP CALL INC SJMP LOOP: NEXT: Nhóm 07 DPTR, #TABLE A A, @A+DPTR A, #0, NEXT $ WRITE_LCD DPTR LOOP ; -INIT_LCD: SETB EN CLR RS MOV A, #38H CALL SEND_COM MOV A, #06H CALL SEND_COM MOV A, #0EH CALL SEND_COM RET SEND_COM: PUSH PUSH SETB CLR MOV MOVX CLR LCALL POP POP RET DPH DPL EN RS DPTR, #8000H @DPTR, A EN WAIT_LCD DPH DPL PUSH PUSH SETB SETB MOV MOVX CLR LCALL POP POP RET DPH DPL EN RS DPTR, #8000H @DPTR, A EN WAIT_LCD DPH DPL MOV MOV DJNZ DJNZ RET R6, R7, R7, R6, DB END 'Hello',0 WRITE_LCD: WAIT_LCD: DL1: TABLE: • #200 #250 $ DL1 Thí nghiệm thêm: viết chương trình hiển thị lên LCD chữ “DHBK TPHCM” dịch trái dịch phải: Thí nghiệm Vi xử lí – Học kì hè 09-10 MOVX @DPTR,A ACALL DELAY_100US MOVX A,@DPTR MOV DPTR,#8000H ACALL CHIA MOV A, #80H ACALL WRITE_CMD SJMP LAP LCD_INIT: MOV A, #38H ACALL WRITE_CMD MOV A, #0CH ACALL WRITE_CMD MOV A, #04H ACALL WRITE_CMD MOV A, #01H ACALL WRITE_CMD RET WAIT_LCD: LOOP: MOV R7,#100 MOV R6, #250 DJNZ R6,$ DJNZ R7, LOOP RET WRITE_CHAR: SETB RS MOVX @DPTR,A SETB EN CLR EN ACALL WAIT_LCD RET WRITE_CMD: CLR RS MOVX @DPTR,A SETB EN CLR EN ACALL WAIT_LCD RET DELAY_100US: MOV R6,#200 DJNZ R6,$ RET CHIA: PUSH ACC PUSH B MOV B,#51 DIV AB ORL A,#30H ACALL WRITE_CHAR MOV A,#0A5H ACALL WRITE_CHAR MOV A,B Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 MOV B,#5 DIV AB ORL A,#30H ACALL WRITE_CHAR POP B POP ACC RET END Bài 6: Thí nghiệm với LED ma trận Thí nghiệm 1: Viết chương trình hiển thị chữ A LED ma trận Code: ORG 2000H ;======================================== ;Xuat ky tu A tren LED ma tran ;======================================== MAIN: MOV A, #01H MOV R0, #0 LAP: ACALL QUET_COT ACALL QUET_HANG INC R0 ACALL DELAY CJNE R0, #5, LAP SJMP MAIN ; QUET_COT: PUSH DPH PUSH DPL RR A MOV DPTR, # MOVX @DPTR, A POP DPH POP DPL RET QUET_HANG: PUSH PUSH PUSH MOV ACALL MOVX POP POP POP RET ACC DPH DPL DPTR, # DU_LIEU_HANG @DPTR, A ACC DPH DPL Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 DU_LIEU_HANG: PUSH PUSH MOV MOV MOVC POP POP RET DPH DPL A, R0 DPTR, #CHAR_A A, @A+DPTR DPH DPL DELAY: MOV LAPC1: MOV DJNZ DJNZ RET R7, R6, R6, R7, #4 #250 $ LAPC1 CHAR_A: DB 03H, 0EDH, 0EEH, 0EEH, 0EDH, 03H END Thí nghiệm 2: Viết lại chương trình hiển thị chữ A LED ma trận có sử dụng chương trình Code: ORG 2000H ;========================================== ;Xuat ky tu A tren LED ma tran (dung CTCon) ;========================================== MAIN: MOV R0, #8 MOV R1, #30H MOV DPTR, #CHAR_A MOV A, #0 LAP: MOVC A, @A+DPTR MOV @R1, A INC R1 INC A DJNZ R0, LAP ACALL XUAT ; XUAT: PUSH ACC PUSH R0 PUSH R1 MOV A, #01H MOV R0, #0 MOV R1, #30H LAPC: ACALL QUET_COT ACALL QUET_HANG INC R0 INC R1 ACALL DELAY CJNE R0, #7, LAPC PUSH ACC PUSH R0 Thí nghiệm Vi xử lí – Học kì hè 09-10 PUSH SJMP RET R1 XUAT QUET_COT: PUSH PUSH RR MOV MOVX POP POP RET DPH DPL A DPTR, # @DPTR, A DPH DPL QUET_HANG: PUSH PUSH PUSH MOV MOV MOVX POP POP POP RET ACC DPH DPL DPTR, # A, @R1 @DPTR, A ACC DPH DPL DELAY: MOV LAPC1: MOV DJNZ DJNZ RET Nhóm 07 R7, R6, R6, R7, #4 #250 $ LAPC1 CHAR_A: DB 03H, 0EDH, 0EEH, 0EEH, 0EDH, 03H END Bài 7: Thí nghiệm với động DC Thí nghiệm1: Viết chương trình cho phép động chạy theo chiều thuận vòng 2s, nghỉ 2s, chạy theo chiều ngược 2s, nghỉ 2s lặp lại Code: MAIN: NEXT: ORG 2000H MOV TMOD, #01H MOV R1, #40 MOV DPTR, #0E000H CLR A CALL THUAN Thí nghiệm Vi xử lí – Học kì hè 09-10 MOVX CALL CALL MOVX CALL CALL MOVX CALL CALL MOVX CALL SJMP @DPTR, DELAY NGHI @DPTR, DELAY NGHICH @DPTR, DELAY NGHI @DPTR, DELAY NEXT Nhóm 07 A A A A NGHICH: NGHI: THUAN: DELAY: LAP: SETB ACC.0 CLR ACC.1 RET CLR ACC.0 CLR ACC.1 RET CLR ACC.0 SETB ACC.1 RET PUSH 01 MOV TH0, #HIGH(-50000) MOV TL0, #LOW(-50000) SETB TR0 JNB TF0, $ CLR TR0 CLR TF0 DJNZ R1,LAP POP 01 RET Thí nghiệm2: Viết chương trình điều khiển động với phương pháp PWM, thời gian bật xung 50% chu kỳ Code: ORG 2000H LJMP MAIN ORG 200BH LJMP ISR_T0 ORG 201BH LJMP ISR_T1 MAIN: MOV TMOD,#11H MOV IE,#10001010B MOV DPTR,#0E000H SJMP $ ISR_T0: CLR TR0 MOV TH0,#HIGH(-50000) Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 MOV TL0,#LOW(-50000) SETB TR0 RETI ISR_T1: CLR TR1 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 MOV TH1,#HIGH(-25000) MOV TL1,#LOW(-25000) SETB TR1 CLR A SETB ACC.0 CLR ACC.1 MOVX @DPTR,A RETI END Thí nghiệm3: Viết chương trình điều khiển động với phương pháp PWM, thời gian bật xung 20%, 50%, 80% chu kỳ Mỗi độ rộng xung cách 5s Quy trình lặp lại lien tục Code: nhờ nút nhấn P1.4 P1.5 Khi không nhấn nút, tốc độ động không đổi Khi nút P1.4 nhấn giữ tốc độ động tăng dần.Khi nút P1.5 nhấn giữ lại tốc độ động giảm dần Thí nghiệm4: Viết chương trình thực việc tăng giảm dần tốc độ động Code: org 2000h ljmp main org 200bh ljmp isr_t0 org 201bh ljmp isr_t1 org 2030h ic573 equ 0E000H main: mov tmod, #11h mov r1, #0 ;r1 la bien trang thai ;r1=0=> 0% ,r1=1=> 40%, r1=2=> 60%, r1=3=>80%, r1=4=>100% mov ie,#8Ah clr a mov th0, #high(-1000) mov tl0, #low(-1000) setb tr0 sjmp $ isr_t0: ;nap lai gia tri clr tr0 Thí nghiệm Vi xử lí – Học kì hè 09-10 clr tf0 mov th0, #high(-1000) mov tl0, #low(-1000) setb tr0 state1: state2: state3: state4: 20per: 40per: 80per: 100per: kt: call cjne sjmp cjne sjmp cjne sjmp cjne sjmp sjmp check r1, #0,state1 20per r1, #1,state2 40per r1, #1,state3 60per r1, #1,state4 80per 100per mov th1,#high(-200) mov tl1, #low(-200) sjmp kt mov th1,#high(-400) mov tl1, #low(-400) sjmp kt mov th1,#high(-800) mov tl1, #low(-800) sjmp kt mov th1,#high(-1000) mov tl1, #low(-1000) setb tr1 reti check: jnb p1.4,tang jnb p1.5,giam sjmp kt1 tang: call delay jb p1.4,tang1 het_tang: mov r1, #4 sjmp kt1 tang1: inc r1 cjne r1, #5,het_tang sjmp kt1 giam: call delay jb p1.5,giam1 het_giam: mov r1, #0 sjmp kt1 giam1: dec r1 cjne r1, #255,het_giam sjmp kt1 kt1: ret isr_t1: clr tr1 clr tf1 cpl acc.0 Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 mov dptr, #ic573 movx @dptr,a reti delay: PUSH 07 PUSH 06 PUSH 05 MOV R5, #20 ; L2_2: MOV R6, #250 ; L2_1: MOV R7, #250 ; DJNZ R7, $ ; DJNZ R6, L2_1; DJNZ R5, L2_2; POP 05 POP 06 POP 07 RET end Bài tập làm thêm lớp: 1.Viết chương trình đếm số lần nhấn P1.0 xuất LED hàng chục ,hàng đơn vị (giả sử số lần nhấn TSTT->TTST->TTTS->STTT->… Code: #include #use delay(clock=4000000) #use fast_io(C) void main() { int value=1; set_tris_C(0x00); output_C(0x00); while(1) { output_C(value); delay_ms(500); if(value!=0x08) value[...]... ) Kết quả từng lần nhảy được hiển thị ra LED 7 đoạn với Giờ - Phút – Giây tương ứng LED3LED2- LED1 Phần 1: Làm vi c với PIC 16F690 Bài 7: Thí nghiệm với LED đơn Thí nghiệm1 : Vi t chương trình chớp tắt LED được nối đến chân RC2 của PIC 16F690 với tần số chớp tắt là 1Hz Code: Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 #include #use delay(clock=4000000) #use fast_io(C) void main() { set_tris_C(0x00);... DJNZ R6,$ RET CHIA: PUSH ACC PUSH B MOV B,#51 DIV AB ORL A,#30H ACALL WRITE_CHAR MOV A,#0A5H ACALL WRITE_CHAR MOV A,B Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 MOV B,#5 DIV AB ORL A,#30H ACALL WRITE_CHAR POP B POP ACC RET END Bài 6: Thí nghiệm với LED ma trận Thí nghiệm 1: Vi t chương trình hiển thị chữ A ra LED ma trận Code: ORG 2000H ;======================================== ;Xuat ky tu A tren... WRITE_CMD: ACALL WAIT_LCD CLR RS MOVX @DPTR,A SETB EN CLR EN RET RECEIVE: JNB RI,RECEIVE MOV A, SBUF CLR RI RET SEND: JNB TI,SEND MOV SBUF,A Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 CLR TI RET END Bài 5: Thí nghiệm điều khiển ADC Thí nghiệm 1: Vi t chương trình thực hiện đọc điện áp của biến trở trên kênh 0 và hiển thị ra led 7 đoạn Code: ORG 2000H MAIN: LOOP: MOV TMOD,#20H MOV DPTR,#4000H... set_tris_A(0x08); set_tris_C(0x00); output_C(0xFF); while(1) { while(input(pin_A3)); while(!input(pin_A3)) { value++; if(value==16) value=0; output_C(value); } } } Bài 8: Thí nghiệm với LED 7 đoạn Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 Thí nghiệm1 : Vi t chương trình thực hiện mạch đếm lên từ 0 đến F (số Hex), kết quả xuất ra LED 7 đoạn, giá trị bộ đếm tăng lên 1 đơn vị cách nhau mỗi 0.5s Code: #include... if(!input(pin_A1)) { while(1) { value2 ; if(value2==0) value2=16; output_C(value2); delay_ms(1000); if(!input(pin_A1)) { value2=16; value=0; goto Laplai; } } } } } Bài 9: Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 Thí nghiệm với ADC Thí nghiệm1 : Vi t chương trình đọc giá trị điện áp của biến trở RP1 và xuất mức điện áp tương ứng với giá trị điện áp đọc được ra LED 7 đoạn ( dung ADC với độ phân giải 10 bits)... WRITE_COM Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 MOV A,#06H CALL WRITE_COM RET WRITE_COM: PUSH DPH PUSH DPL MOV DPTR, #8000H CLR RS SETB EN MOVX @DPTR, A CLR EN CALL WAIT_LCD POP DPL POP DPH RET WAIT_LCD: MOV R6 ,#250 LOOP: MOV R7,# 250 DJNZ R7,$ DJNZ R6, LOOP RET WRITE_LCD: PUSH DPH PUSH DPL MOV DPTR ,#8000H SETB RS SETB EN MOVX @DPTR,A CLR EN LCALL WAIT_LCD Nhóm 07 Thí nghiệm Vi xử lí – Học kì... RET ACC DPH DPL DPTR, # DU_LIEU_HANG @DPTR, A ACC DPH DPL Nhóm 07 Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 DU_LIEU_HANG: PUSH PUSH MOV MOV MOVC POP POP RET DPH DPL A, R0 DPTR, #CHAR_A A, @A+DPTR DPH DPL DELAY: MOV LAPC1: MOV DJNZ DJNZ RET R7, R6, R6, R7, #4 #250 $ LAPC1 CHAR_A: DB 03H, 0EDH, 0EEH, 0EEH, 0EDH, 03H END Thí nghiệm 2: Vi t lại chương trình hiển thị chữ A ra LED ma trận có sử dụng chương... R0 Thí nghiệm Vi xử lí – Học kì hè 09-10 PUSH SJMP RET R1 XUAT QUET_COT: PUSH PUSH RR MOV MOVX POP POP RET DPH DPL A DPTR, # @DPTR, A DPH DPL QUET_HANG: PUSH PUSH PUSH MOV MOV MOVX POP POP POP RET ACC DPH DPL DPTR, # A, @R1 @DPTR, A ACC DPH DPL DELAY: MOV LAPC1: MOV DJNZ DJNZ RET Nhóm 07 R7, R6, R6, R7, #4 #250 $ LAPC1 CHAR_A: DB 03H, 0EDH, 0EEH, 0EEH, 0EDH, 03H END Bài 7: Thí nghiệm với động cơ DC Thí. .. JNB TF0, $ CLR TR0 CLR TF0 DJNZ R1,LAP POP 01 RET Thí nghiệm2 : Vi t chương trình điều khiển động cơ với phương pháp PWM, trong đó thời gian bật của xung là 50% chu kỳ Code: ORG 2000H LJMP MAIN ORG 200BH LJMP ISR_T0 ORG 201BH LJMP ISR_T1 MAIN: MOV TMOD,#11H MOV IE,#10001010B MOV DPTR,#0E000H SJMP $ ISR_T0: CLR TR0 MOV TH0,#HIGH(-50000) Thí nghiệm Vi xử lí – Học kì hè 09-10 Nhóm 07 MOV TL0,#LOW(-50000)... Bài 4: Thí nghiệm giao tiếp qua cổng nối tiếp Thí nghiệm 1: Vi t chương trình phát chuỗi ký tự “Hello, world” lên máy tính thông qua Hyper Terminal với tốc độ 19200pbs Code: MAIN: NEXT: SEND: ORG 2000H MOV TMOD, #20H MOV SCON, #42H MOV TH1, #-3 SETB TR1 MOV DPTR, #TABLE CLR A MOVC A, @A+DPTR CJNE A, #0, SEND SJMP $ JNB TI,$ CLR TI MOV SBUF,A INC DPTR SJMP NEXT TABLE: DB 'HELLO, WORLD',0 END Thí nghiệm

Ngày đăng: 20/06/2016, 15:10

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan