Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh, một bàn phím 16 phím để tạo thành 1 máy tính thực hiện các phép tính đơn giản

49 1.1K 16
Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh, một bàn phím 16 phím để tạo thành 1 máy tính thực hiện các phép tính đơn giản

Đ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

Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công nông lâm ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày.Một trong những ứng dụng rất cần thiết trong cuộc sống, đặc biệt cho học sinh sinh viên. Với môn học Vi xử lý này, nhóm chúng em đã được giao làm đồ án với đề tài “Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh, một bàn phím 16 phím để tạo thành 1 máy tính thực hiện các phép tính đơn giản.

MỤC LỤC LỜI NĨI ĐẦU…………………………………………………………… CHƯƠNG 1: Phân tích yêu cầu công nghệ……………………………… 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 Phân tích giới hạn thiết bị đặc điểm tham số………….3 Phân tích đặc điểm thiết bị tham số…………………… .3 Giới hạn…………………………………………………………… 17 Các ngoại vi ghép nối với vi điều khiển…………………………….17 Ma trận phím……………………………………………………… 17 Vi điều khiển 89S52…………………………………………………19 Chuẩn RS-232……………………………………………………….20 Led thanh………………………………………………………… 23 CHƯƠNG 2: Thiết kế hệ thống…………………………………………….26 2.1 Phân tích giới hạn tính tốn lựa chọn thiết bị……………………26 2.1.1 Phân tích giới hạn……………………………………………………26 2.1.2 Tính chọn thiết bị…………………………………………………….26 2.2 Phương pháp quét bàn phím ghép nối VĐK với bàn phím……….26 2.2.1 Phương pháp quét bàn phím………………………………………….26 2.2.2 Ghép nối VĐK với bàn phím…………………………………………29 2.3 Xây dựng mạch nguyên lý thuyết minh……………… 31 2.4 Xây dựng thuật toán………………………………………………… 31 2.4.1 Thuật toán cho khối nhập liệu…………………………………… 31 2.4.2 Thuật toán cho khối hiển thị………………………………………… 33 2.5 Viết chương trình…………………………………………………… 34 2.6 Nạp code mô mạch Proteus 8.0……………………….49 CHƯƠNG 3: Kết Luận…………………………………………………… 50 3.1 Các kết đạt được………………………………………………….50 3.1 Các hạn chế phương pháp khắc phục…………………………… 50 LỜI NÓI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố càn thiết góp phần cho hoạt động người đạt hiệu cao Các điều khiển sử dụng vi điều khiển đơn giản để vận hành sử dụng lại điều phức tạp Các vi điều khiển theo thời gian với phát triển công nghệ bán dẫn tiến triển nhanh, từ vi điều khiển bit đơn giản đến vi điều khiển 32 bit, sau 64 bit Điện tử trở thành ngành khoa học đa nhiệm vụ Điện tử đáp ứng đòi hỏi không ngừng từ lĩnh vực công - nông - lâm - ngư nghiệp nhu cầu cần thiết hoạt động đời sống ngày Một ứng dụng cần thiết sống, đặc biệt cho học sinh- sinh viên Với môn học Vi xử lý này, nhóm chúng em giao làm đồ án với đề tài “Ứng dụng họ vi điều khiển 8051 ghép nối LED thanh, bàn phím 16 phím để tạo thành máy tính thực phép tính đơn giản" Qua chúng em xin gửi lời cảm ơn sâu sắc đến cô giáo Tống Thị Lý người hướng dẫn tận tình cho nhóm em đến hồn thành đồ án Nhóm chúng em xin chân thành cảm ơn! CHƯƠNG 1: PHÂN TÍCH U CẦU CƠNG NGHỆ 1.1 Phân tích giới hạn đặc điểm thiết bị tham số 1.1.1 Phân tích đặc điểm thiết bị tham số Máy tính bỏ túi cơng cụ học tập quen thuộc học sinh, sinh viên, đặt biệt sinh viên kỹ thuật Trong đời sống hàng ngày, vật cần thiết cho việc tính tiền vụ mua bán Trong sản xuất, dùng để tính tốn số sản phẩm làm Và cịn nhiều ứng dụng khác máy tính bỏ túi, cho thấy phổ biến, cần thiết Dựa yếu tố đó, nhóm chúng em lựa chọn phương án làm việc: Lựa chọn phương án làm việc : Hiện thị trường có nhiều chủng loại máy tính điện tử với chức ứng dụng khác theo mà cách thực hiện, lựa chọn phương án chọn linh kiện điện tử khác nhau.Với mục tiêu nhóm thực đề tài định chọn phương án dùng họ vi điều khiển 8051 để nghiên cứu thực đề tài “Thiết kế máy tính điện tử ” Lý nhóm thực đề tài chọn họ vi điều khiển 8051 : + Vi điều khiển 8051 dòng vi điều khiển tương đối mạnh với nhiều tính cịn thơng dụng thị trường Do dễ dàng mở rộng thiết kế ứng dụng khác + Hoạt động hiệu ổn định mà giá thành lại tương đối rẻ so với vi điều khiển khác Phù hợp cho đối tượng học sinh, sinh viên + Cách lập trình đa dạng với nhiều ngơn ngữ khác C, Assambly giúp cho người dùng linh động lựa chọn ngơn ngữ lập trình cho phù hợp với khả sở thích A, Giới thiệu vi điều khiển 8051 Vào năm 1981,hãng Intel giới thiệu số vi điều khiển gọi 8051 Bộ vi điều khiển có 128 byte RAM, 4K byte ROM chíp, hai định thời, cổng nối tiếp cổng (đều rộng bắt vào tất đặt chíp Lúc coi "hệ thống chíp" 805 xử lý bit có nghĩa CPU làm việc với bit liệu thời điểm Dữ liệu lớn bít chia thành liệu bit xử lý 805 có tất cổng vào - I/O cổng rộng bit Mặc dù 805 có ROM chíp cực đại 64 K byte, nhà sản xuất lúc cho xuất xưởng với 4K byte ROM chíp 8051 trở nên phổ biến sau Intel cho phép nhà sản xuất khác sản xuất bán dạng biến 8051 mà họ thích với điều kiện họ phải để mã lại tương thích với 8051 Điều dẫn đến đời nhiều phiên 8051 với tốc độ khác dung lượng ROM chíp khác bán nửa nhà sản xuất Điều quan trọng có nhiều biến thể khác 8051 tốc độ dung lương nhớ ROM chíp, tất chúng tương thích với 8051 ban đầu lệnh AT89C51 cung cấp đặc tính chuẩn : Kbyte nhớ đọc xóa lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, TIME/COUNTER 16 Bit, vecto ngắt có cấu trúc mức ngắt, Port nối tiếp bán song công, mạch dao động tạo xung Clock dao động ON-CHIP Các đặc điểm chip AT89C51 tóm tắt sau : • • • • • • • • • • 4Kbyte nhớ lập trình nhanh, có khả tới 1000 chu kỳ ghi/xóa Tần số hoạt động từ: 0Hz đến 24MHz mức khóa nhớ lập trình Timer/counter 16 bit 128 Byte RAM nội Port xuất /nhập I/O bit Giao tiếp nối tiếp 64KB vùng nhớ mã 64KB vùng nhớ liệu ngoại 4µs cho hoạt động nhân chia EXTERNAL INTERRUPT ON - CHIP CONTROL RAM TIMER TIMER CPU OSC I/O SERIAL PORTS PORT BUS CONTROL P P P P ADDRESS/DATA TXD RXD COUNTER INPUTS ETC INTERRUPTS Hình 1.1: Sơ đồ khối cấu trúc bên 8051 Ngồi 8051 ra, cịn có vi điều khiển khác thuộc họ 80xx là: 8052 & 8031 Nhưng giới hạn đề tài lựa chọn 8051, nên nhóm chúng em trình bày cụ thể 8051 B, Sơ đồ khối vi điều khiển 89C51 Hình 1.2: Sơ đồ khối chi tiết vi điều khiển 8051 C, Sơ đồ chức chân - Sơ đồ chân: Hình 1.3: Sơ đồ chân vi điều khiển 89C51 - Chức năng:  Chân 40 : nối với nguồn nuôi +5V  Chân 20 : nối đất (Mass, GND)  Chân 29 (PSEN – Program Store Enable) : tín hiệu điều khiển xuất 8051, cho phép chọn nhớ nối chung với chân OE (Output Enable) EPROM phép đọc byte chương trình Các xung tín hiệu PSEN hạ thấp suốt thời gian thi hành lệnh Những mã nhị phân chương trình đọc từ EPROM qua bus liệu chốt vào ghi lệnh 8051 mã lệnh (Chú ý việc đọc đọc lệnh – khác với đọc liệu, VXL đọc bit opcode lệnh đưa chúng vào hàng đợi lệnh thông qua Bus địa liệu )  Chân 30 (ALE – Address Latch Enable) tín hiệu điều khiển xuất 8051, cho phép kênh Bus địa Bus liệu Port  Chân 31 (EA – Eternal Access) đưa xuống thấp cho phép chọn nhớ mã 8051  Đối với 8051 :EA = 5V : chọn ROM nội, EA = 0V : chọn ROM ngoại  32 chân lại chia làm cỗng vào : Vào , dùng chân để đọc mức logic (0;1 tương ứng với 0V;5V) vào hay xuất mức logic (0,1)     P0 từ chân 39 -> 32 tương ứng chân P0_0 -> P0_7 P1 từ chân -> tương ứng chân P1_0 -> P1_7 P2 từ chân 21 -> 28 tương ứng chân P2_0 -> P2_7 P3 từ chân 10 ->17 tương ứng chân P3_0 -> P3_7 Riêng cổng có chức chân hình vẽ :  P3.0 – RxD : chân nhận liệu nối tiếp giao tiếp RS232         (COM) P3.1 – TxD : phân truyền liệu nối tiếp giao tiếp RS232 P3.2 – INT0 : interupt 0, ngắt P3.3 – INT1 : interupt 1, ngắt P3.4 – T0 : Timer0, đầu vào timer0 P3.5 – T1 : Timer1, đầu vào Timer1 P3.6 – WR : Write, điều khiển ghi liệu P3.7 – RD : Read, điều khiển đọc liệu Chân 18, 19 nối với thạch anh tạo thành mạch tạo dao động cho vi điều khiển  Tần số thạch anh thường dùng ứng dụng : 11.0592Mhz (Giao tiếp với cổng COM máy tính) 12Mhz Tần số tối đa 24Mhz Tần số lớn vi điều khiển xử lí nhanh P0 P1 P2 P3 Port’s Bit P0.0 P1.0 P2.0 P3.0 D0 P0.1 P1.1 P2.1 P3.1 D1 P0.2 P1.2 P2.2 P3.2 D2 P0.3 P1.3 P2.3 P3.3 D3 P0.4 P1.4 P2.4 P3.4 D4 P0.5 P1.5 P2.5 P3.5 D5 P0.6 P1.6 P2.6 P3.6 D6 P0.7 P1.7 P2.7 P3.7 D7 Bảng 1.1 : Các cổng (Port) mức xuất logic tương ứng D, Cấu trúc nhớ Các vi điều khiển thuộc họ 8051 tổ chức thành khơng gian chương trình liệu Kiến trúc vi xử lý bit 8051 cho phép truy nhập tính tốn nhanh khơng gian liệu nhờ việc phân chia không gian nhớ chương trình liệu Tuy nhiên nhớ truy nhập hệ thống 16 bit địa thực nhờ ghi trỏ 10 MOV Z5,#0 MOV Z6,#0 MOV Z7,#0 MOV D0,#0 ; GIA TRI HIEN THI MOV D1,#0 MOV D2,#0 MOV D3,#0 MOV R2,#0 MAIN: CALL CTHT CALL CTNGT MOV A,Z7 CJNE A,#"=",MAIN CALL CTTT JMP MAIN ; CHUONG TRINH QUET PHIM ; NEU CO PHIM DUOC NHAN R0 = GIA TRI PHIM ; NEU K NUT NAO DC NHAN R0=0 CTQP: ;QUET HANG MOV P1,#11111110B JNB P1.4,PHIM7 JNB P1.5,PHIM8 JNB P1.6,PHIM9 JNB P1.7,PHIM10 ;QUET HANG 35 MOV P1,#11111101B JNB P1.4,PHIM4 JNB P1.5,PHIM5 JNB P1.6,PHIM6 JNB P1.7,PHIM11 ;QUET HANG MOV P1,#11111011B JNB P1.4,PHIM1 JNB P1.5,PHIM2 JNB P1.6,PHIM3 JNB P1.7,PHIM12 ;QUET HANG MOV P1,#11110111B JNB P1.4,PHIM16 JNB P1.5,PHIM15 JNB P1.6,PHIM14 JNB P1.7,PHIM13 MOV R0,#0 SJMP EX_CTQP PHIM1: MOV R0,#"1" ; DOING SOMETHING SJMP EX_CTQP PHIM2: MOV R0,#"2" SJMP EX_CTQP PHIM3: 36 MOV R0,#"3" SJMP EX_CTQP PHIM4: MOV R0,#"4" SJMP EX_CTQP PHIM5: MOV R0,#"5" SJMP EX_CTQP PHIM6: MOV R0,#"6" SJMP EX_CTQP PHIM7: MOV R0,#"7" SJMP EX_CTQP PHIM8: MOV R0,#"8" SJMP EX_CTQP PHIM9: MOV R0,#"9" SJMP EX_CTQP PHIM15:; '0 MOV R0,#"0" SJMP EX_CTQP PHIM10:; '/ MOV R0,#"/" SJMP EX_CTQP 37 PHIM11:; '* MOV R0,#"*" SJMP EX_CTQP PHIM12:; 'MOV R0,#"-" SJMP EX_CTQP PHIM13:; '+ MOV R0,#"+" SJMP EX_CTQP PHIM14:; '= MOV R0,#"=" SJMP EX_CTQP PHIM16:; 'C MOV R0,#"C" MOV Z0,#0 MOV Z1,#0 MOV Z2,#0 MOV Z3,#0 MOV Z4,#0 MOV Z5,#0 MOV Z6,#0 MOV Z7,#0 MOV D0,#0 MOV D1,#0 MOV D2,#0 MOV D3,#0 ; GIA TRI NHAP VAO ; GIA TRI HIEN THI 38 MOV R2,#0 EX_CTQP: RET ; CHUONG TRINH NHAP GIA TRI TINH TOAN ; NHAN GIA TRI QUET PHIM(R0) , TANG SO LAN NHAN PHIM R2 ; KIEM TRA, CHONG GIU PHIM ; TANG BIEN DEM ; CTNGT: LCALL CTQP CJNE R0,#0,NHAP SJMP EX_NGT NHAP: INC R2 ; TAN GIA TRI BIEN DEM CJNE R2,#1,LUU2 ; R2 = ; HIEN THI CLR C MOV A,R0 SUBB A,#30H MOV D0,A ; SO THU MOV Z0,D0 SJMP EX_NGT LUU2: CJNE R2,#2,LUU3 ; R2 = 39 ; HIEN THI CLR C MOV A,R0 SUBB A,#30H MOV D1,A ; SO THU MOV Z1,D1 SJMP EX_NGT LUU3: CJNE R2,#3,LUU4 ; R2 = ; HIEN THI CLR C MOV A,R0 SUBB A,#30H MOV D2,A ;SO THU MOV Z2,D2 SJMP EX_NGT LUU4: CJNE R2,#4,LUU5 MOV Z3,R0 ; R2 = ; XOA HIEN THI DO NHAN PHIM MOV D0,#0 MOV D1,#0 MOV D2,#0 SJMP EX_NGT 40 LUU5: CJNE R2,#5,LUU6 ; R2 = ; HIEN THI CLR C MOV A,R0 SUBB A,#30H MOV D0,A ; SO THU MOV Z4,D0 SJMP EX_NGT LUU6: CJNE R2,#6,LUU7 ; R2 = ; HIEN THI CLR C MOV A,R0 SUBB A,#30H MOV D1,A ; SO THU MOV Z5,D1 SJMP EX_NGT LUU7: CJNE R2,#7,LUU8 ; R2 = ; HIEN THI CLR C MOV A,R0 41 SUBB A,#30H MOV D2,A ; SO THU MOV Z6,D2 LUU8: CJNE R2,#8,EX_NGT MOV Z7,R0 EX_NGT: KT: LCALL CTQP CJNE R0,#0,KT RET ; CHUONG TRINH KIEM TRA TINH TOAN ; CTTT: ; TINH SO THU NHAT X1 = Z0*100+Z1*10+Z2 CLR C MOV A,Z0 MOV B,#100 MUL AB MOV X1,A ;X1=Z0*100 MOV A,Z1 MOV B,#10 CLR C MUL AB ;Z1*10 CLR C ADD A,X1 ;A = X1(Z0*100) + A(Z1*10) 42 CLR C ADD A,Z2 ;A = A + Z2 MOV X1,A ; TINH SO THU HAI X2 = Z4*100+Z5*10+Z6 CLR C MOV A,Z4 MOV B,#100 MUL AB MOV X2,A ;X2=Z4*100 MOV A,Z5 MOV B,#10 CLR C MUL AB ;Z5*10 CLR C ADD A,X2 ;A = X1(Z4*100) + A(Z5*10) CLR C ADD A,Z6 ;A = A + Z6 MOV X2,A MOV A,Z3 ADD8: ; TINH CONG CJNE A,#"+",SUB8 CLR C MOV A,X1 ADD A,X2 JC ERR ;NEU TRAN BIEN SE BAO LOI MOV B,#10 43 DIV AB MOV D2,B MOV B,#10 DIV AB MOV D1,B MOV D0,A SJMP EX_TT SUB8: ; TINH TRU CJNE A,#"-",AND8 CLR C MOV A,X1 SUBB A,X2 JC ERR ;NEU TRAN BIEN SE BAO LOI MOV B,#10 DIV AB MOV D2,B MOV B,#10 DIV AB MOV D1,B MOV D0,A SJMP EX_TT AND8: ; TINH NHAN CJNE A,#"*",DIV8 CLR C MOV A,X1 MOV B,X2 44 MUL AB JB OV,ERR ;NEU TRAN BIEN SE BAO LOI MOV B,#10 DIV AB MOV D2,B MOV B,#10 DIV AB MOV D1,B MOV D0,A SJMP EX_TT DIV8: ; TINH CHIA CJNE A,#"/",ERR CLR C MOV A,X1 MOV B,X2 DIV AB JC ERR ;NEU TRAN BIEN SE BAO LOI ; HIEN THI PHAN THAP PHAN MOV A,B MOV B,#10 MUL AB MOV B,X2 DIV AB MOV D3,A ; HIEN THI PHAN NGUYEN MOV A,X1 45 MOV B,X2 DIV AB MOV B,#10 DIV AB JC ERR ;NEU TRAN BIEN SE BAO LOI MOV D2,B MOV B,#10 DIV AB MOV D1,B MOV D0,A SJMP EX_TT ERR: MOV D0,#10 MOV D1,#10 MOV D2,#10 MOV D3,#10 EX_TT: MOV Z0,#0 MOV Z1,#0 MOV Z2,#0 MOV Z3,#0 MOV Z5,#0 MOV Z6,#0 MOV Z7,#0 MOV R2,#0 RET 46 CTHT: ;MOV R7,#10 QUAY: MOV A,D3 MOV DPTR,#MALED MOVC A,@A+DPTR MOV P0,A SETB P2.3 CALL DELAY CLR P2.3 MOV A,D2 MOVC A,@A+DPTR;11101000 ANL A,#07FH; 01111111 MOV P0,A SETB P2.2 CALL DELAY CLR P2.2 MOV A,D1 MOVC A,@A+DPTR MOV P0,A SETB P2.1 CALL DELAY CLR P2.1 MOV A,D0 MOVC A,@A+DPTR MOV P0,A 47 SETB P2.0 CALL DELAY CLR P2.0 ;DJNZ R7,QUAY’’’’’’’’’’’’’’’’’’’’’’’’’’’’ RET MALED:DB 11000000B,11111001B,10100100B,10110000B,10011001B,10010010B,10000010B, 11111000B,10000000B,10010000B,10111111B DELAY: MOV R1,#100 LAP: NOP NOP DJNZ R1,LAP RET END 2.6 Nạp chạy mơ proteus 48 Hình 2.5: Nạp code chạy mô mạch Proteus 8.0 49 ... P2.0 ;DJNZ R7,QUAY’’’’’’’’’’’’’’’’’’’’’’’’’’’’ RET MALED:DB 11 000000B ,11 111 001B ,10 10 010 0B ,10 110 000B ,10 011 001B ,10 010 010 B ,10 000 010 B, 11 111 000B ,10 000000B ,10 010 000B ,10 111 111 B DELAY: MOV R1, #10 0 LAP:... P1, #11 111 110 B JNB P1 .4, PHIM7 JNB P1.5,PHIM8 JNB P1.6,PHIM9 JNB P1 .7, PHIM10 ;QUET HANG 35 MOV P1, #11 111 101B JNB P1 .4, PHIM4 JNB P1.5,PHIM5 JNB P1.6,PHIM6 JNB P1 .7, PHIM 11 ;QUET HANG MOV P1, #11 111 011 B... P1, #11 111 011 B JNB P1 .4, PHIM1 JNB P1.5,PHIM2 JNB P1.6,PHIM3 JNB P1 .7, PHIM12 ;QUET HANG MOV P1, #11 110 111 B JNB P1 .4, PHIM16 JNB P1.5,PHIM15 JNB P1.6,PHIM 14 JNB P1 .7, PHIM13 MOV R0,#0 SJMP EX_CTQP PHIM1:

Ngày đăng: 05/04/2016, 14:16

Từ khóa liên quan

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

Tài liệu liên quan