Vi điều khiển 89V51RB2 với 4 port điều khiển
GVHD:PHẠM QUANG TRÍ B NỘI DUNG PHẦN I: CƠ SỞ LÝ THUYẾT GIỚI THIỆU VỀ CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH Vi điều khiển 89V51RB2 với Port điều khiển I Sơ đồ chức hệ vi xử lý Định nghĩa hệ vi xử lý Khả lập trình để thao tác liệu mà không cần can thiệp người Khả lưu trữ phục hồi liệu Tổng quan hệ vi xử lý Phần cứng: Các thiết bị ngoại vi để giao tiếp với người Phần mềm: Chương trình để xử lý liệu • CPU(central processing unit): đơn vị xử lý trung tâm • Ram (Random Access Memory) nhớ truy xuất ngẫu nhiên • Rom (Read Only Memore) nhớ đọc • Interface circuity: Mạch điện giao tiếp • Peripheral devices (input) thiết bị ngoại vi (thiết bị nhập) • Peripheral devices(output) thiết bị ngoại vi(thiết bị xuất) • Addressbus: bus địa • Data bus: bus liệu • Control bus: bus điều khiển PAGE GVHD:PHẠM QUANG TRÍ Đơn vị xử lý trung tâm • CPU đóng vai trò chủ đạo hệ vi xử lý, quản lý tất hoạt động hệ thực thao tác liệu • CPU vi mạch điện tử có độ tích hợp cao Khi hoạt động CPU đọc mã lệnh ghi dạng bít từ nhớ, sau thực giải mã lệnh thành dãy xung điều khiển tương ứng với thao tác lệnh để điều khiển khối khác • IR/IP: Thanh ghi lệnh/ trỏ lệnh • PC(Program counter): đếm chương trình • Instruction decode and control unit: đơn vị giải mã lệnh điều khiển • ALU: đơn vị số học logic • Khi hoạt động CPU thực liên tục thao tác: tìm nạp lệnh giải mã- thực lệnh Thao tác tìm nạp lệnh: Nội dung ghi PC CPU đưa lên bus địa Tín hiệu điều khiển đọc(read) chuyển sang trạng thái tích cực PAGE GVHD:PHẠM QUANG TRÍ Mã lệnh(opcode) từ nhớ đưa lên bus liệu Nội dung ghi PC tăng lên đơn vị để chuẩn bị tìm nạp lệnh từ nhớ Thao tác giải mã-thực lênh: Mã lệnh từ ghi IR đưa vào đơn vị giải mã lệnh điều khiển Đơn vị giải mã lệnh điều khiển thực giải mã opcode tạo tín hiệu để điều khiển việc xuất nhập liệu ALU ghi Căn tín hiệu điều khiển này, ALU thực thao tác xác định Một chuỗi lệnh(opcode) kết hợp lại với để thực công việc có nghĩa gọi chương trình(program) hay phần mềm Bộ nhớ bán dẫn quan trọng vi xử lý, chương trình liệu lưu trongh nhớ Bộ nhớ bán dẫn hệ vi xử lý bao gồm: ROM(Read Only Memore) lưu giữ chương trình hoạt động hệ thống, RAM(Random Access Memory): lưu trữ liệu phần chương trình điều khiển hệ thống, ứng dụng kết tính toán II Vi điều khiển 89V51RB2 PAGE GVHD:PHẠM QUANG TRÍ 1.1 Port : Là port có chân từ 32 đến 39 Có chức đường I/O Là đường liệu Là đường địa thấp 1.2 Port : Là port có chân từ đến Có chức đường I/O 1.3 Port : Là port có chân từ 21 đến 28 Có chức đường I/O Là đường địa cao 1.4 Port : Là port có chân từ 10 đến 17 Có chức đường I/O Ngoài có chức đặc biệt sau: Bít Tên Chức chuyển đổi P3.0 RXD Dữ liệu nhận cho port nối tiếp P3.1 TXD Dữ liệu phát cho port nối tiếp P3.2 INTO Ngắt bên P3.3 INT1 Ngắt bên P3.4 T0 Ngõ vào timer/counter P3.5 T1 Ngõ vào timer/counter P3.6 WR Xung ghi nhớ liệu P3.7 RD Xung đọc nhớ liệu PAGE GVHD:PHẠM QUANG TRÍ Chân PSEN: - PSEN( Program Store Enable) cho phép nhớ chương trình, chân số 29 - Chức năng: Là tín hiệu cho phép truy xuất(đọc) nhớ chương trình Rom Là tín hiệu xuất, tích cực mức thấp PSEN=0 thời gian CPU tìm-nạp lệnh từ ROM PSEN=1 CPU sử dụng Ram Khi sử dụng nhớ chương trình bên ngoài, chân PSEN thường nối với chân OE ROM phép CPU đọc mã lệnh từ Ram Chân ALE: - ALE( Address Latch Enable) cho phép chốt địa chỉ, chân số 30 - Chức năng: Là tín hiệu cho phép chốt địa để thực việc giải đa hợp cho chốt địa byte thấp bus liệu đa hợp( AD0-AD7) Là tín hiệu xuất, tích cực mức cao ALE=0 thời gian bus AD0-AD7 đóng vai trò bus DO-D7 ALE=1 thời gian bus AD0-AD7 đóng vai trò bus A0-A7 Khi lập trình cho ROM chip chân ALE đóng vai trò ngỏ vào xung lập trình(PGM) Khi lấy liệu từ Ram ngoài( MOVX) thực xung ALE bỏ qua Chân EA - EA (External Access) truy xuất ngoài, chân số 31 - Chức năng: Là tín hiệu cho phép truy xuất (sử dụng) nhớ chương trình Rom Là tín hiệu nhập, tích cực mức thâp EA=0 Chíp sử dụng chương trình Rom EA=1 Chíp sử dụng chương trình Ram PAGE GVHD:PHẠM QUANG TRÍ Lưu ý: chân EA phải luôn nối lên chân Vcc ( Sử dụng chương trình Rom trong), Vss ( Sử dụng chương trình Rom ngoài) Chân XTAL1, XTAL2 - XTAL1(Crystal) Tinh thể thạch anh chân số 18-19 - Chức năng: Dùng để nối với thạch anh dao động tạo xung clock bên ngoài, cung cấp tín hiệu cho xung clock cho chip hoạt động XTAL1 Ngõ vào mạch tạo xung clock XTAL2 Ngõ mạch tạo xung clock Chân RST - RST ( Thiết lập lại) chân số - Chức năng: Là tín hiệu cho phép thiết lập lại trạng thái ban đầu cho hệ thống Là tín hiệu nhập, tích cực mức cao RST=0 chíp hoạt động bình thường RST=1 chíp thiết lập lại trạng thái ban đầu Vcc, GND (Nguồn, mass ) chân số 40-20 III Ổn dòng ULN2803 PAGE GVHD:PHẠM QUANG TRÍ Nhìn vào sơ đồ cấu tạo ULN2803 ta thấy đầu vào mức đầu mức ngược lại Nó qua cổng Not + Chân input (Mức 1) ==> chân output 18 (mức 0) ngược lại + Chân inphut (mức 1) ==> chân output 17 (mức 0) ngược lại + +Chân input (mức 1) ==> Chân output 11 (mức 0) ngược lại Do ULN2803 có tác dụng ổn dòng khoảng thời gian ngắn Tác dụng làm cho LED sáng quét phải sáng hàng LED nên sụt dòng lớn làm cho LED tối IV IC 74LS138 Dùng IC 74LS138 (3 đầu vào, đầu ra) để giải mã cho cột ma trận LED Do thời điểm có IC giải mã làm việc nên ta phải thiết kế mạch phân kênh để chọn IC làm việc SƠ ĐỒ CHÂN: PAGE GVHD:PHẠM QUANG TRÍ PAGE GVHD:PHẠM QUANG TRÍ 10 C 7G C 6G C 5G C 4G 15 C 3G 18 C 2G 21 C 1G 24 C 0G MATRIXLED V LED ma trận x R R R R R R R 13 16 19 C 7R 22 11 C 6R C 5R C 4R C 3R 14 C 2R 17 C 1R 20 23 C 0R R 12 Để thực h iệ n quét hàng quét cột ma trận LED t h iết kế sau: PAGE GVHD:PHẠM QUANG TRÍ Các LED hàng nối chân dương với Các LED cột nối chân âm với hình vẽ PAGE 10 GVHD:PHẠM QUANG TRÍ START CHƯƠNG TRÌNH CON XỬ LÝ MÃ ĐỦ THỜI GIAN DELAY R7=10 MÃ PHÍM #0FFH NẠP DỮ LIỆU MÃ PHÍM =0FFH TẠO THỜI GIAN DELAY END PAGE 16 GVHD:PHẠM QUANG TRÍ CHƯƠNG TRÌNH LƯU MÃ CHỮ`TRÊN RAM START Lấy byte ký tự lưu lên vùng RAM tạm thời Lấy từ vùng Ram tạm thời nap lên vùng Ram để hiển thị END PAGE 17 GVHD:PHẠM QUANG TRÍ III CHƯƠNG TRÌNH $MOD51FX ORG 00 JMP MAIN ORG 3H LCALL THUDL RETI CLK BIT P3.2 KDBD BIT P3.3 DATA_PHIM DATA 40H HESO DATA 41H BYTE_CAO DATA 42H BYTE_THAP DATA 43H SOBYTE DATA 44H ORG 30H ;********** MAIN: MOV 8EH,#0 MOV TMOD,#11H MOV IE,#81H SETB IT0 SETB TF0 MOV P2,#0 MOV HESO,#1 MOV R7,#0 MOV DATA_PHIM,#0FFH LAP1: MOV R6,#0 MOV DPTR,#0 LAP2: MOV A,#0FFH MOVX @DPTR,A INC DPTR INC R6 CJNE R6,#32,LAP2 MOV BYTE_CAO,DPH MOV BYTE_THAP,DPL MOV R3,#0 LAP3: LCALL XULYMA CJNE R3,#9,LAP3 PAGE 18 GVHD:PHẠM QUANG TRÍ ;*********** LAP4: MOV DPTR,#0 LAP5: MOV R0,#10 LAP6: LCALL HIENTHI DJNZ R0,LAP6 CJNE R3,#0,HT_TIEP JMP LAP1 HT_TIEP: INC DPTR MOV A,DPL CJNE A,BYTE_THAP,LAP5 MOV A,DPH CJNE A,BYTE_CAO,LAP5 JMP LAP4 ;******************** THUDL: PUSH ACC CJNE R7,#0,TDL1 INC R7 JMP THOATTDL TDL1: CJNE R7,#9,TDL2 INC R7 JMP THOATTDL TDL2: CJNE R7,#10,TDL3 MOV R7,#0 MOV A,DATA_PHIM CJNE A,#76H,TDL2A MOV R3,#0 TDL2A: JMP THOATTDL TDL3: MOV C,KDBD MOV A,DATA_PHIM RRC A MOV DATA_PHIM,A INC R7 THOATTDL: POP ACC PAGE 19 GVHD:PHẠM QUANG TRÍ RET ;******************** XULYMA: PUSH ACC JNB TF0,THOAT1 DJNZ HESO,THOAT2 MOV HESO,#1 CJNE R7,#10,THOAT1 MOV A,DATA_PHIM CJNE A,#0FFH,XLM1 JMP THOAT1 XLM1: LCALL NAPDL MOV DATA_PHIM,#0FFH MOV HESO,#10 THOAT2: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) CLR TF0 SETB TR0 THOAT1: POP ACC RET ;****************** NAPDL: MOV SOBYTE,#7 CJNE A,#5AH,NDL1 MOV R3,#9 MOV DPH,BYTE_CAO MOV DPL,BYTE_THAP MOV R5,#64 NDL0: MOV A,#0FFH MOVX @DPTR,A INC DPTR DJNZ R5,NDL0 RET NDL1: CJNE A,#76H,NDL2 MOV R3,#0 RET NDL2: CJNE A,#1CH,NDL3 PAGE 20 GVHD:PHẠM QUANG TRÍ MOV DPTR,#KT_A LCALL LUUKT RET NDL3: CJNE A,#32H,NDL4 MOV DPTR,#KT_B LCALL LUUKT RET NDL4: CJNE A,#21H,NDL5 MOV DPTR,#KT_C LCALL LUUKT RET NDL5: CJNE A,#23H,NDL6 MOV DPTR,#KT_D LCALL LUUKT RET NDL6: CJNE A,#24H,NDL7 MOV DPTR,#KT_E LCALL LUUKT RET NDL7: CJNE A,#2BH,NDL8 MOV DPTR,#KT_F LCALL LUUKT RET NDL8: CJNE A,#34H,NDL9 MOV DPTR,#KT_G LCALL LUUKT RET NDL9: CJNE A,#33H,NDL10 MOV DPTR,#KT_H LCALL LUUKT RET NDL10: CJNE A,#43H,NDL11 MOV DPTR,#KT_I LCALL LUUKT RET PAGE 21 GVHD:PHẠM QUANG TRÍ NDL11: CJNE A,#3BH,NDL12 MOV DPTR,#KT_J LCALL LUUKT RET NDL12: CJNE A,#42H,NDL13 MOV DPTR,#KT_K LCALL LUUKT RET NDL13: CJNE A,#4BH,NDL14 MOV DPTR,#KT_L LCALL LUUKT RET NDL14: CJNE A,#3AH,NDL15 MOV DPTR,#KT_M LCALL LUUKT RET NDL15: CJNE A,#31H,NDL16 MOV DPTR,#KT_N LCALL LUUKT RET NDL16: CJNE A,#44H,NDL17 MOV DPTR,#KT_O LCALL LUUKT RET NDL17: CJNE A,#4DH,NDL18 MOV DPTR,#KT_P LCALL LUUKT RET NDL18: CJNE A,#15H,NDL19 MOV DPTR,#KT_Q LCALL LUUKT RET NDL19: CJNE A,#2DH,NDL20 MOV DPTR,#KT_R PAGE 22 GVHD:PHẠM QUANG TRÍ LCALL LUUKT RET NDL20: CJNE A,#1BH,NDL21 MOV DPTR,#KT_S LCALL LUUKT RET NDL21: CJNE A,#2CH,NDL23 MOV DPTR,#KT_T LCALL LUUKT RET NDL23: CJNE A,#3CH,NDL24 MOV DPTR,#KT_U LCALL LUUKT RET NDL24: CJNE A,#2AH,NDL25 MOV DPTR,#KT_V LCALL LUUKT RET NDL25: CJNE A,#1DH,NDL26 MOV DPTR,#KT_W LCALL LUUKT RET NDL26: CJNE A,#22H,NDL27 MOV DPTR,#KT_X LCALL LUUKT RET NDL27: CJNE A,#35H,NDL28 MOV DPTR,#KT_Y LCALL LUUKT RET NDL28: CJNE A,#1AH,NDL29 MOV DPTR,#KT_Z LCALL LUUKT RET NDL29: PAGE 23 GVHD:PHẠM QUANG TRÍ CJNE A,#45H,NDL30 MOV DPTR,#KT0 LCALL LUUKT RET NDL30: CJNE A,#16H,NDL31 MOV DPTR,#KT1 LCALL LUUKT RET NDL31: CJNE A,#1EH,NDL32 MOV DPTR,#KT2 LCALL LUUKT RET NDL32: CJNE A,#26H,NDL33 MOV DPTR,#KT3 LCALL LUUKT RET NDL33: CJNE A,#25H,NDL34 MOV DPTR,#KT4 LCALL LUUKT RET NDL34: CJNE A,#2EH,NDL35 MOV DPTR,#KT5 LCALL LUUKT RET NDL35: CJNE A,#36H,NDL36 MOV DPTR,#KT6 LCALL LUUKT RET NDL36: CJNE A,#3DH,NDL37 MOV DPTR,#KT7 LCALL LUUKT RET NDL37: CJNE A,#3EH,NDL38 MOV DPTR,#KT8 LCALL LUUKT PAGE 24 GVHD:PHẠM QUANG TRÍ RET NDL38: CJNE A,#46H,NDL39 MOV DPTR,#KT9 LCALL LUUKT RET NDL39: CJNE A,#29H,THOAT_NDL MOV SOBYTE,#3 MOV DPTR,#KT_ LCALL LUUKT THOAT_NDL: RET ;********************* HIENTHI: PUSH 00 PUSH 01 PUSH 02 PUSH 05 PUSH 06 MOV R5,DPH MOV R6,DPL MOV R0,#0 MOV R1,#0 MOV R2,#0F7H SCAN: MOVX A,@DPTR CPL A MOV P1,A MOV A,R1 ORL A,#0F8H ANL A,R2 MOV P0,A LCALL DELAY MOV P1,#0 MOV P0,#0FFH INC DPTR INC R1 CJNE R1,#8,SCAN MOV R1,#0 MOV A,R2 RL A PAGE 25 GVHD:PHẠM QUANG TRÍ MOV R2,A CJNE R2,#07FH,SCAN MOV DPH,R5 MOV DPL,R6 POP 06 POP 05 POP 02 POP 01 POP 00 RET ;********************** DELAY: PUSH PUSH MOV R0,#2 DL1: MOV R1,#180 DJNZ R1,$ DJNZ R0,DL1 POP POP RET ;******************* LUUKT: PUSH PUSH 05 MOV R0,#50H MOV R5,#0 LKT1: MOV A,R5 MOVC A,@A+DPTR MOV @R0,A INC R0 INC R5 MOV A,R5 CJNE A,SOBYTE,LKT1 MOV R0,#50H MOV DPH,BYTE_CAO MOV DPL,BYTE_THAP DEC SOBYTE LKT2: MOV A,@R0 MOVX @DPTR,A PAGE 26 GVHD:PHẠM QUANG TRÍ INC R0 INC DPTR DJNZ SOBYTE,LKT2 MOV BYTE_CAO,DPH MOV BYTE_THAP,DPL POP POP RET ;************************ MA_HT: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH KT_A: DB 0E0H,0D7H,0B7H,0D7H,0E0H,0FFH KT_B: DB 80H,0B6H,0B6H,0B6H,0C9H,0FFH KT_C: DB 0C1H,0BEH,0BEH,0BEH,0DDH,0FFH KT_D: DB 80H,0BEH,0BEH,0BEH,0C1H,0FFH KT_E: DB 80H,0B6H,0B6H,0B6H,0BEH,0FFH KT_F: DB 80H,0B7H,0B7H,0B7H,0BFH,0FFH KT_G: DB 0C1H,0BEH,0BEH,0B6H,0D1H,0FFH KT_H: DB 80H,0F7H,0F7H,0F7H,80H,0FFH KT_I: DB 0BEH,0BEH,80H,0BEH,0BEH,0FFH KT_J: DB 0BDH,0BEH,81H,0BFH,0BFH,0FFH KT_K: DB 80H,0E7H,0DBH,0BDH,0FEH,0FFH KT_L: DB 80H,0FEH,0FEH,0FEH,0FDH,0FFH KT_M: DB 80H,0DFH,0EFH,0DFH,80H,0FFH KT_N: DB 80H,0DFH,0EFH,0F7H,80H,0FFH KT_O: DB 0C1H,0BEH,0BEH,0BEH,0C1H,0FFH KT_P: PAGE 27 ;A ;B ;C ;D ;E ;F ;G ;H ;I ;J ;K ;L ;M ;N ;O GVHD:PHẠM QUANG TRÍ DB KT_Q: DB KT_R: DB KT_S: DB KT_T: DB KT_U: DB KT_V: DB KT_W: DB KT_X: DB KT_Y: DB KT_Z: DB KT_: DB KT1: DB KT2: DB KT3: DB KT4: DB KT5: DB KT6: DB KT7: DB KT8: DB KT9: DB KT0: DB 80H,0B7H,0B7H,0B7H,0CFH,0FFH ;P 0C1H,86H,0BAH,0BDH,0C2H,0FFH ;Q 80H,0B7H,0B3H,0B5H,0CEH,0FFH ;R 0CDH,0B6H,0B6H,0B6H,0D9H,0FFH ;S 0BFH,0BFH,80H,0BFH,0BFH,0FFH ;T 81H,0FEH,0FEH,0FEH,81H,0FFH ;U 83H,0FDH,0FEH,0FDH,83H,0FFH ;V 81H,0FEH,0F1H,0FEH,81H,0FFH ;W 9CH,0EBH,0F7H,0EBH,9CH,0FFH ;X 8FH,0F7H,0F8H,0F7H,8FH,0FFH ;Y 0BCH,0BAH,0B6H,0AEH,9EH,0FFH ;Z 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 0FEH,0DEH,80H,0FEH,0FEH,0FFH 0DEH,0BCH,0BAH,0B6H,0CEH,0FFH 0DDH,0BEH,0B6H,0B6H,0C9H,0FFH 0F3H,0EBH,0DBH,80H,0FBH,0FFH 8DH,0AEH,0AEH,0AEH,0B1H,0FFH 0C1H,0B6H,0B6H,0B6H,0D9H,0FFH 0BFH,0BFH,0B0H,0AFH,9FH,0FFH 0C9H,0B6H,0B6H,0B6H,0C9H,0FFH 0CDH,0B6H,0B6H,0B6H,0C1H,0FFH 0C1H,0AEH,0B6H,0BAH,0C1H,0FFH PAGE 28 GVHD:PHẠM QUANG TRÍ DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH END PAGE 29 GVHD:PHẠM QUANG TRÍ C TỔNG KẾT Ưu điểm: Thao tác dễ dàng, đơn giản Nguồn nuôi nhỏ 12V khá an toàn Ứng dụng rộng rãi Dễ dàng cập nhật thông tin tức thời Nhược điểm: Giá thành đắt Mạch phức tạp nên đòi hỏi phải có kỹ thuật chuyên môn Ánh sáng yếu Ngày với nhu cầu quảng cáo ngày lớn ứng dụng led ma trận ngày phổ biến mạch quang báo đặc biệt quang báo giao tiếp với bàn phím máy tinh nhập ký tự mà mong muốn Với nguyên lý led ma trận 8x8 ta tạo bảng quang báo lớn dùng nhiều lĩnh vực khác PAGE 30 [...]... nap lên vùng Ram để hiển thị END PAGE 17 GVHD:PHẠM QUANG TRÍ III CHƯƠNG TRÌNH $MOD51FX ORG 00 JMP MAIN ORG 3H LCALL THUDL RETI CLK BIT P3.2 KDBD BIT P3.3 DATA_PHIM DATA 40 H HESO DATA 41 H BYTE_CAO DATA 42 H BYTE_THAP DATA 43 H SOBYTE DATA 44 H ORG 30H ;********** MAIN: MOV 8EH,#0 MOV TMOD,#11H MOV IE,#81H SETB IT0 SETB TF0 MOV P2,#0 MOV HESO,#1 MOV R7,#0 MOV DATA_PHIM,#0FFH LAP1: MOV R6,#0 MOV DPTR,#0 LAP2:... LUUKT RET NDL8: CJNE A,#34H,NDL9 MOV DPTR,#KT_G LCALL LUUKT RET NDL9: CJNE A,#33H,NDL10 MOV DPTR,#KT_H LCALL LUUKT RET NDL10: CJNE A, #43 H,NDL11 MOV DPTR,#KT_I LCALL LUUKT RET PAGE 21 GVHD:PHẠM QUANG TRÍ NDL11: CJNE A,#3BH,NDL12 MOV DPTR,#KT_J LCALL LUUKT RET NDL12: CJNE A, #42 H,NDL13 MOV DPTR,#KT_K LCALL LUUKT RET NDL13: CJNE A,#4BH,NDL 14 MOV DPTR,#KT_L LCALL LUUKT RET NDL 14: CJNE A,#3AH,NDL15 MOV DPTR,#KT_M... MOV DPTR,#KT3 LCALL LUUKT RET NDL33: CJNE A,#25H,NDL 34 MOV DPTR,#KT4 LCALL LUUKT RET NDL 34: CJNE A,#2EH,NDL35 MOV DPTR,#KT5 LCALL LUUKT RET NDL35: CJNE A,#36H,NDL36 MOV DPTR,#KT6 LCALL LUUKT RET NDL36: CJNE A,#3DH,NDL37 MOV DPTR,#KT7 LCALL LUUKT RET NDL37: CJNE A,#3EH,NDL38 MOV DPTR,#KT8 LCALL LUUKT PAGE 24 GVHD:PHẠM QUANG TRÍ RET NDL38: CJNE A, #46 H,NDL39 MOV DPTR,#KT9 LCALL LUUKT RET NDL39: CJNE A,#29H,THOAT_NDL... NDL16: CJNE A, #44 H,NDL17 MOV DPTR,#KT_O LCALL LUUKT RET NDL17: CJNE A,#4DH,NDL18 MOV DPTR,#KT_P LCALL LUUKT RET NDL18: CJNE A,#15H,NDL19 MOV DPTR,#KT_Q LCALL LUUKT RET NDL19: CJNE A,#2DH,NDL20 MOV DPTR,#KT_R PAGE 22 GVHD:PHẠM QUANG TRÍ LCALL LUUKT RET NDL20: CJNE A,#1BH,NDL21 MOV DPTR,#KT_S LCALL LUUKT RET NDL21: CJNE A,#2CH,NDL23 MOV DPTR,#KT_T LCALL LUUKT RET NDL23: CJNE A,#3CH,NDL 24 MOV DPTR,#KT_U... DPL,BYTE_THAP MOV R5,# 64 NDL0: MOV A,#0FFH MOVX @DPTR,A INC DPTR DJNZ R5,NDL0 RET NDL1: CJNE A,#76H,NDL2 MOV R3,#0 RET NDL2: CJNE A,#1CH,NDL3 PAGE 20 GVHD:PHẠM QUANG TRÍ MOV DPTR,#KT_A LCALL LUUKT RET NDL3: CJNE A,#32H,NDL4 MOV DPTR,#KT_B LCALL LUUKT RET NDL4: CJNE A,#21H,NDL5 MOV DPTR,#KT_C LCALL LUUKT RET NDL5: CJNE A,#23H,NDL6 MOV DPTR,#KT_D LCALL LUUKT RET NDL6: CJNE A,#24H,NDL7 MOV DPTR,#KT_E... THI CÔNG MẠCH I SƠ ĐỒ NGUYÊN LÝ Mạch giao tiếp với keyboard PC PAGE 12 GVHD:PHẠM QUANG TRÍ Mạch quang báo dùng 4 led ma trận PAGE 13 GVHD:PHẠM QUANG TRÍ II LƯU ĐỒ CHƯƠNG TRÌNH CHÍNH START Nạp giá trị vào TMOD,IE,8E Nạp 32 byte trắng vào Ram Xử lý mã phím Enter được nhấn Hiển thị 32 khoảng trắng + chuổi nhập từ bàn phím + 32 khoảng trắng Esc được nhấn PAGE 14 GVHD:PHẠM QUANG TRÍ START Chương trình nạp...GVHD:PHẠM QUANG TRÍ VI Keyboard PC Cấu trúc ngõ ra của bàn phím PC PS/2 1 Clock 2 GND 3 Data 4 N/C 5 +5V (VCC) 6 N/C Cấu trúc truyền số liệu của bàn phím: START D0 D1 D2 D3 D4 START : bit start (luôn luôn bằng 0) D0 – D7 : bit dữ liệu PAR : bit parity (luôn lẻ) STOP : bit stop (luôn luôn bằng 1) KEYBOARD... thành đắt Mạch phức tạp nên đòi hỏi phải có kỹ thuật chuyên môn Ánh sáng yếu Ngày nay với nhu cầu quảng cáo ngày càng lớn thì ứng dụng của led ma trận ngày càng phổ biến trong các mạch quang báo đặc biệt là quang báo giao tiếp với bàn phím máy tinh có thể nhập những ký tự mà mình mong muốn Với nguyên lý của led ma trận 8x8 ta có thể tạo ra một bảng quang báo lớn dùng trong nhiều lĩnh vực... BYTE_CAO,DPH MOV BYTE_THAP,DPL MOV R3,#0 LAP3: LCALL XULYMA CJNE R3,#9,LAP3 PAGE 18 GVHD:PHẠM QUANG TRÍ ;*********** LAP4: MOV DPTR,#0 LAP5: MOV R0,#10 LAP6: LCALL HIENTHI DJNZ R0,LAP6 CJNE R3,#0,HT_TIEP JMP LAP1 HT_TIEP: INC DPTR MOV A,DPL CJNE A,BYTE_THAP,LAP5 MOV A,DPH CJNE A,BYTE_CAO,LAP5 JMP LAP4 ;******************** THUDL: PUSH ACC CJNE R7,#0,TDL1 INC R7 JMP THOATTDL TDL1: CJNE R7,#9,TDL2 INC R7 JMP THOATTDL... A,#3CH,NDL 24 MOV DPTR,#KT_U LCALL LUUKT RET NDL 24: CJNE A,#2AH,NDL25 MOV DPTR,#KT_V LCALL LUUKT RET NDL25: CJNE A,#1DH,NDL26 MOV DPTR,#KT_W LCALL LUUKT RET NDL26: CJNE A,#22H,NDL27 MOV DPTR,#KT_X LCALL LUUKT RET NDL27: CJNE A,#35H,NDL28 MOV DPTR,#KT_Y LCALL LUUKT RET NDL28: CJNE A,#1AH,NDL29 MOV DPTR,#KT_Z LCALL LUUKT RET NDL29: PAGE 23 GVHD:PHẠM QUANG TRÍ CJNE A, #45 H,NDL30 MOV DPTR,#KT0 LCALL LUUKT RET NDL30: ... đưa vào đơn vị giải mã lệnh điều khiển Đơn vị giải mã lệnh điều khiển thực giải mã opcode tạo tín hiệu để điều khiển vi c xuất nhập liệu ALU ghi Căn tín hiệu điều khiển này, ALU thực thao tác... trình điều khiển hệ thống, ứng dụng kết tính toán II Vi điều khiển 89V51RB2 PAGE GVHD:PHẠM QUANG TRÍ 1.1 Port : Là port có chân từ 32 đến 39 Có chức đường I/O Là đường liệu Là đường địa thấp 1.2 Port. .. Là đường địa thấp 1.2 Port : Là port có chân từ đến Có chức đường I/O 1.3 Port : Là port có chân từ 21 đến 28 Có chức đường I/O Là đường địa cao 1 .4 Port : Là port có chân từ 10 đến 17 Có chức