vi xử lý hệ thống điều khiển dữ liệu dạng nối tiếp

11 479 1
vi xử lý hệ thống điều khiển dữ liệu dạng nối tiếp

Đ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

KHOA CÔNG NGHỆ ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP T T À À I I L L I I Ệ Ệ U U H H Ư Ư Ớ Ớ N N G G D D Ẫ Ẫ N N T T H H Í Í N N G G H H I I Ệ Ệ M M - - T T H H Ự Ự C C H H À À N N H H L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Giáo trình thực hành vi xử lý. 2 Biên soạn: Phạm Quang Trí A. MỤC ĐÍCH: • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. • Ưùng dụng port nối tiếp của vi điều khiển để mở rộng port nhập và xuất. • Điều khiển việc thu phát nối tiếp. B. YÊU CẦU: • Nắm vững tập lệnh của vi điều khiển MCS-51. • Biết cách hoạt động của port nối tiếp ở các chế độ khác nhau. • Biết cách lập trình điều khiển việc xuất nhập dữ liệu thông qua port nối tiếp ở các chế độ khác nhau. L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 1: Chương trình điều khiển (ứng dụng mở rộng port xuất) xuất liên tục các giá trị 00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH và FFH ra 8 LED thơng qua port nối tiếp và sử dụng vi mạch 4094, mỗi lần xuất cách nhau 1s. Giáo trình thực hành vi xử lý. 3 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mơ hình thí nghiệm. • Dùng dây bus 8 nối J45 (PARALLEL OUT 2) ở khối thanh ghi dịch với J12 (BAR LED 2) ở khối dãy LED. • Dùng dây bus 1 nối J39 (SERIAL IN 1) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 1 (IN) của J39 với bit 0 (RXD) của J66). • Dùng dây bus 1 nối J39 (SERIAL IN 1) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 2 (CLK) của J39 với bit 1 (TXD) của J66). • Dùng dây bus 1 nối J39 (SERIAL IN 1) ở khối thanh ghi dịch với nguồn +5V ở khối nguồn (chú ý là ta chỉ nối bit 3 (STB) của J39 với nguồn +5V của khối nguồn). • Dùng hai dây bus 3 nối J115 (POWER) ở khối thanh ghi dịch và J103 (POWER) ở khối LED dãy với nguồn +5V ở khối nguồn. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS PARALLEL OUT 1 POWER SERIAL IN 1 PARALLEL OUT 2 SERIAL IN 2 PARALLEL IN SERIAL OUT 1.2 Sơ đồ ngun của hệ thống: D7 D0 D1 D2 D3 D4 D5 D6 AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 D0 D7 D6 D5 D4 D3 D2 D1 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz C3 10uF R1 10k +5V D1 R2 330 +5V D2 R3 330 +5V D3 R4 330 +5V D4 R5 330 +5V D5 R6 330 +5V D6 R7 330 +5V D7 R8 330 +5V D8 R9 330 +5V 2 3 4 5 6 7 8 9 1 RP1 10K +5V MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾPMẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP D 2 CLK 3 STB 1 OE 15 Q0 4 Q1 5 Q2 6 Q3 7 Q4 14 Q5 13 Q6 12 Q7 11 QS 9 QS 10 U3 4094 +5V (ỨNG DỤNG MỞ RỘNG PORT XUẤT) (ỨNG DỤNG MỞ RỘNG PORT XUẤT)(ỨNG DỤNG MỞ RỘNG PORT XUẤT) (ỨNG DỤNG MỞ RỘNG PORT XUẤT) L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 1: Chương trình điều khiển (ứng dụng mở rộng port xuất) xuất liên tục các giá trị 00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH và FFH ra 8 LED thơng qua port nối tiếp và sử dụng vi mạch 4094, mỗi lần xuất cách nhau 1s. Giáo trình thực hành vi xử lý. 4 Biên soạn: Phạm Quang Trí D7 D0 D1 D2 D3 D4 D5 D6 AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 D0 D7 D1 D2 D3 D4 D5 D6 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz C3 10uF R1 10k +5V D1 R2 330 +5V D2 R3 330 +5V D3 R4 330 +5V D4 R5 330 +5V D5 R6 330 +5V D6 R7 330 +5V D7 R8 330 +5V D8 R9 330 +5V 2 3 4 5 6 7 8 9 1 RP1 10K +5V SRG8 R C1/-> & 1D 1 3 2 4 5 6 10 8 11 12 9 13 U2 74164 +5V MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾPMẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP (ỨNG DỤNG MỞ RỘNG PORT XUẤT) (ỨNG DỤNG MỞ RỘNG PORT XUẤT)(ỨNG DỤNG MỞ RỘNG PORT XUẤT) (ỨNG DỤNG MỞ RỘNG PORT XUẤT) 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 1: Chương trình điều khiển (ứng dụng mở rộng port xuất) xuất liên tục các giá trị 00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH và FFH ra 8 LED thông qua port nối tiếp và sử dụng vi mạch 4094, mỗi lần xuất cách nhau 1s. Giáo trình thực hành vi xử lý. 5 Biên soạn: Phạm Quang Trí ;*************************************************** ;CHUONG TRINH DIEU KHIEN THU PHAT DU LIEU DANG NOI TIEP (MO RONG PORT XUAT) ;*************************************************** ;KET NOI: LED -> PARALLEL OUT ; RXD -> IN ; TXD -> CLK ;*************************************************** ORG 00H MAIN: MOV SCON,#12H ;KHOI TAO SERIAL PORT (MODE0, REN = 1, TI = 1, RI = 0) MOV DPTR,#DATABYTE ;NAP DIA CHI VUNG DU LIEU MOV R0,#00H ;OFFSET VUNG DU LIEU WAIT: JNB TI,WAIT ;KIEM TRA CO TI (KIEM TRA PHAT XONG) CLR TI ;XOA CO TI MOV A,R0 ;LAY OFFSET MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU MOV SBUF,A ;PHAT DU LIEU RA SERIAL PORT ACALL DELAY INC R0 ;CHUYEN SANG DU LIEU KE TIEP CJNE R0,#9,WAIT ;KIEM TRA DA PHAT XONG HET CAC DU LIEU TRONG VUNG DU LIEU SJMP MAIN ;*************************************************** DELAY: PUSH 00H MOV R0,#100 MOV TMOD,#01H DEL: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,DEL POP 00H RET DATABYTE: DB 00H,01H,03H,07H,0FH,1FH,3FH,7FH,0FFH END 1.4 Lưu chương trình và biên dịch chương trình. 1.5 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có. 1.6 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt động. 1.7 Nạp chương trình vào vi điều khiển. 1.8 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển. 1.9 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 đến bước 9. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 3) L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 2: Chương trình điều khiển (ứng dụng mở rộng port nhập) thực hiện liên tục việc nhập dữ liệu từ 8 cơng tắc thơng qua port nối tiếp và sử dụng vi mạch 74165, dữ liệu nhập vào này sẽ được xuất ra 8 LED. Giáo trình thực hành vi xử lý. 6 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mơ hình thí nghiệm. • Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J11 (BAR LED 1) ở khối dãy LED. • Dùng dây bus 8 nối J41 (PARALLEL IN) ở khối thanh ghi dịch với J34 (SWITCH) ở khối cơng tắc. • Dùng dây bus 1 nối J43 (SERIAL OUT) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 0 (CLK) của J43 với bit 1 (TXD) của J66). • Dùng dây bus 1 nối J43 (SERIAL OUT) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 1 (LD) của J43 với bit 2 (INT0\) của J66). • Dùng dây bus 1 nối J43 (SERIAL OUT) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 2 (OUT) của J43 với bit 0 (RXD) của J66). • Dùng ba dây bus 3 nối J115 (POWER) ở khối thanh ghi dịch, J106 (POWER) ở khối cơng tắc và J103 (POWER) ở khối LED dãy với nguồn +5V ở khối nguồn. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS PARALLEL OUT 1 POWER SERIAL IN 1 PARALLEL OUT 2 SERIAL IN 2 PARALLEL IN SERIAL OUT 3 POWERSWITCH 3 1 1.2 Sơ đồ ngun của hệ thống: AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 D0 D7 D6 D5 D4 D3 D2 D1 SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0 SW0 SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0 D0 D1 D2 D3 D4 D5 D6 D7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz C3 10uF R1 10k +5V D0 R2 330 +5V D1 R3 330 +5V D2 R4 330 +5V D3 R5 330 +5V D4 R6 330 +5V D5 R7 330 +5V D6 R8 330 +5V D7 R9 330 +5V 2 3 4 5 6 7 8 9 1 RP1 10K +5V SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0 MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾPMẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP (ỨNG DỤNG MỞ RỘNG PORT NHẬP) (ỨNG DỤNG MỞ RỘNG PORT NHẬP)(ỨNG DỤNG MỞ RỘNG PORT NHẬP) (ỨNG DỤNG MỞ RỘNG PORT NHẬP) SI 10 D0 11 D1 12 D2 13 D3 14 D4 3 D5 4 D6 5 D7 6 SO 9 CLK 2 QH 7 INH 15 SH/LD 1 U3 74165 2 3 4 5 6 7 8 9 1 RP3 10K +5V L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 2: Chương trình điều khiển (ứng dụng mở rộng port nhập) thực hiện liên tục việc nhập dữ liệu từ 8 công tắc thông qua port nối tiếp và sử dụng vi mạch 74165, dữ liệu nhập vào này sẽ được xuất ra 8 LED. Giáo trình thực hành vi xử lý. 7 Biên soạn: Phạm Quang Trí 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. ;*************************************************** ;CHUONG TRINH DIEU KHIEN THU PHAT DU LIEU DANG NOI TIEP (MO RONG PORT NHAP) ;*************************************************** ;KET NOI: LED -> P1 ; RXD -> OUT ; TXD -> CLK ; INT0 -> LD ; SW -> PARALLEL IN ;*************************************************** ORG 00H MAIN: MOV SCON,#02H ;KHOI TAO SERIAL PORT (MODE0, REN = 0, TI = 1, RI = 0) MP1: CLR P3.2 ;INT = LD = 0 NOP ;NAP GIA TRI CHO VI MACH CHUYEN DOI (PARALLEL -> SERIAL) SETB P3.2 ;INT = LD = 1 SETB REN ;REN = 1 - CHO PHEP THU DU LIEU WAIT: JNB RI,WAIT ;KIEM TRA CO RI (KIEM TRA THU XONG) CLR REN ;REN = 0 - KHONG CHO PHEP THU CLR RI ;XOA CO RI MOV A,SBUF ;DOC DU LIEU DA THU DUOC TU SERIAL PORT MOV P1,A ;XUAT RA LED SJMP MP1 END 1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 3) L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH). Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội có địa chỉ bắt đầu là 40H. Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte. Dữ liệu sau khi nhập vào được xuất ra 8 LED (có sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội. Giáo trình thực hành vi xử lý. 8 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mơ hình thí nghiệm. • Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J11 (BAR LED 1) ở khối dãy LED. • Dùng dây bus 1 nối J66 (PORT3 / FUNCTION) ở khối vi điều khiển với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 0 (RXD) của J66 với bit 1 (TXD) của J66). • Dùng dây bus 1 nối J76 (MONENTARY SW) ở khối nút nhấn với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 0 (KEY0) của J76 với bit 2 (INT0\) của J66). • Dùng dây bus 1 nối J66 (PORT3 / FUNCTION) ở khối vi điều khiển với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 1 (TXD) của J66 với bit 0 (RXD) của J66). • Dùng hai dây bus 3 nối J114 (POWER) ở khối nút nhấn và J103 (POWER) ở khối LED dãy với nguồn +5V ở khối nguồn. MOMENTARY SW POWER PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS 33 1.2 Sơ đồ ngun của hệ thống: AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D1 D2 D3 D4 D5 D6 D7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz C3 10uF R1 10k +5V D0 R2 330 +5V D1 R3 330 +5V D2 R4 330 +5V D3 R5 330 +5V D4 R6 330 +5V D5 R7 330 +5V D6 R8 330 +5V D7 R9 330 +5V 2 3 4 5 6 7 8 9 1 RP1 10K +5V MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾPMẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP (ỨNG DỤNG MỞ RỘNG PORT NHẬP) (ỨNG DỤNG MỞ RỘNG PORT NHẬP)(ỨNG DỤNG MỞ RỘNG PORT NHẬP) (ỨNG DỤNG MỞ RỘNG PORT NHẬP) RUN R10 10k +5V L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH). Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội có địa chỉ bắt đầu là 40H. Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte. Dữ liệu sau khi nhập vào được xuất ra 8 LED (có sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội. Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. L. HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP. Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH). Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội có địa chỉ bắt đầu là 40H. Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte. Dữ liệu sau khi nhập vào được xuất ra 8 LED (có sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội. Giáo trình thực hành vi xử lý. 10 Biên soạn: Phạm Quang Trí ;*************************************************** ;CHUONG TRINH DIEU KHIEN THU PHAT DU LIEU DANG NOI TIEP. ;*************************************************** ;KET NOI: LED -> P1 ; RXD -> TXD ; KEY0 -> INT0 (ACT = 0) ;*************************************************** ORG 00H MAIN: MOV TMOD,#20H ;TIMER 1: MODE 2 - TAO TOC DO BAUD SERIAL PORT MOV TH1,#-26 ;BAUD RATE = 1200 SETB TR1 ;TIMER HOAT DONG MOV SCON,#52H ;SERIAL: MODE 1, TI = 1, RI = 0, REN = 1 MP1: MOV DPTR,#DATABYTE ;NAP DIA CHI VUNG DU LIEU MP2: MOV R0,#50 ;BIEN LAP - CHONG DOI PHIM KEY_NHAN: JB INT0,$ ;CHO PHIM DUOC NHAN DJNZ R0,KEY_NHAN ;GIAM BIEN LAP - CHONG DOI (PHIM DA NHAN) MOV R0,#50 ;BIEN LAP - CHONG DOI PHIM KEY_NHA: JNB INT0,$ ;CHO PHIM DUOC NHA DJNZ R0,KEY_NHA ;GIAM BIEN LAP - CHONG DOI (PHIM DA NHAN) ;PHIM DA DUOC NHAN VA NHA HOAN TAT MOV A,#0 ;OFFSET CUA DU LIEU MOVC A,@A+DPTR ;LAY DU LIEU TRONG VUNG DU LIEU ACALL TRANS_DATA ;GOI CTC PHAT DU LIEU QUA SERIAL PORT ACALL RECEI_DATA ;GOI CTC THU DU LIEU QUA SERIAL PORT MOV 40H,A ;NAP DU LIEU THU DUOC VAO O NHO 40H MOV P1,40H ;XUAT PORT HIEN THI INC DPTR ;CHUYEN SANG DU LIEU KE TIEP MOV A,DPL ;KIEM TRA DA PHAT/THU XONG VUNG DU LIEU CJNE A,#LOW(DATABYTE+9),MP2 SJMP MP1 ;QUAY TRO LAI ;*************************************************** TRANS_DATA: ;CTC PHAT DU LIEU JNB TI,$ ;KIEM TRA PHAT XONG CLR TI ;XOA TI DE CHUAN BI CHO LAN PHAT KE TIEP MOV SBUF,A ;PHAT DU LIEU RET ;*************************************************** RECEI_DATA: ;CTC THU DU LIEU JNB RI,$ ;KIEM TRA THU XONG CLR RI ;XOA RI DE CHUAN BI CHO LAN THU KE TIEP MOV A,SBUF ;THU DU LIEU RET ;*************************************************** DATABYTE: ;VUNG DU LIEU DB 00H,01H,03H,07H,0FH,1FH,3FH,7FH,0FFH END 1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: • Bài 1: Hãy viết chương trình điều khiển việc truyền dữ liệu dạng nối tiếp giữa hai chip vi điều khiển với nhau (phương pháp nối dây cho từng vi điều khiển tương tự bài mẫu 3): o Vi điều khiển 1: Viết chương trình tạo một bảng dữ liệu gồm 9 bytes (00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH). Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (TXD) để truyền sang cho vi điều khiển 2, việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất một byte. Đồng thời, vi điều khiển 1 liên tục kiểm tra và thu dữ liệu vào từ port nối tiếp (RXD) các dữ liệu do vi điều khiển 2 gửi sang và cất vào RAM nội có địa chỉ bắt đầu là 40H, dữ liệu sau khi nhập vào được xuất ra 8 LED đồng thời với việc ghi vào RAM nội. [...]... TXD là ngõ ra xung clock o Vi t chương trình: Cho LD\ = 0 nh p d li u t các công t c Cho LD\ = 1 chu n b th c hi n vi c ghi d ch Nh p d li u t port n i ti p ch thanh ghi d ch Xu t d li u ra các LED Ph n thu phát n i ti p: o N i chân RXD c a vi i u khi n 1 v i chân TXD c a vi i u khi n 2 o N i chân TXD c a vi i u khi n 1 v i chân RXD c a vi i u khi n 2 Giáo trình th c hành vi x 11 Biên so n: Ph m Quang... 00H) Th c hi n vi c xu t t ng byte c a b ng này ra port n i ti p (TXD) truy n sang cho vi i u khi n 1, vi c xu t d li u ư c i u khi n b ng nút nh n KEY1, m i l n xu t m t byte ng th i, vi i u khi n 2 liên t c ki m tra và thu d li u vào t port n i ti p (RXD) các d li u do vi i u khi n 2 g i sang và c t vào RAM n i có a ch b t u là 40H, d li u sau khi nh p vào ư c xu t ra 8 LED ng th i v i vi c ghi vào... 07H, 0FH, 1FH, 3FH, 7FH, FFH) Th c hi n vi c xu t t ng byte c a b ng này ra port n i ti p (chân TXD) r i thu vào port n i ti p (chân RXD) và c t vào RAM n i có a ch b t u là 40H Vi c xu t d li u ư c i u khi n b ng nút nh n KEY0, m i l n xu t/nh p m t byte D li u sau khi nh p vào ư c xu t ra 8 LED (có s d ng b m o) ng th i v i vi c ghi vào RAM n i Vi i u khi n 2: Vi t chương trình t o m t b ng d li u... thanh ghi d ch: RXD là ngõ ra d li u n i ti p, TXD là ngõ ra xung clock o Vi t chương trình: xu t d li u ra port n i ti p ch thanh ghi d ch Ph n m r ng port nh p: o Port thu phát n i ti p c a 8051 có th s d ng m r ng thành nhi u port nh p song song th c hi n i u này, s d ng port n i ti p ch thanh ghi d ch (Shift Register – Mode 0) và vi m ch chuy n i song song t ra n i ti p (Serial Out – Parallel In) như... vào ư c xu t ra 8 LED ng th i v i vi c ghi vào RAM n i Bài 2: Sinh vi n t mình suy nghĩ và phát tri n thêm chương trình o • 3 Hư ng d n: Ph n m r ng port xu t: o Port thu phát n i ti p c a 8051 có th s d ng m r ng thành nhi u port xu t song song th c hi n i u này, s d ng port n i ti p ch thanh ghi d ch (Shift Register – Mode 0) và vi m ch chuy n i t n i ti p ra song song (Serial In – Parallel Out) . D7 D0 D1 D2 D3 D4 D5 D6 AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 D0 D7 D6 D5 D4 D3 D2 D1 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz C3 10uF R1 10k +5V D1 R2 330 +5V D2 R3 330 +5V D3 R4 330 +5V D4 R5 330 +5V D5 R6 330 +5V D6 R7 330 +5V D7 R8 330 +5V D8 R9 330 +5V 2 3 4 5 6 7 8 9 1 RP1 10K +5V MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾPMẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP D 2 CLK 3 STB 1 OE 15 Q0 4 Q1 5 Q2 6 Q3 7 Q4 14 Q5 13 Q6 12 Q7 11 QS 9 QS 10 U3 4094 +5V (ỨNG. 3 2 4 5 6 10 8 11 12 9 13 U2 74164 +5V MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾPMẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP (ỨNG. SW0 MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾPMẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP (ỨNG

Ngày đăng: 09/05/2014, 21:13

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan