1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ MÁY TÍNH CỘNG TRỪ 4 CHỮ SỐ SỬ DỤNG IC 89C51

39 6 0

Đ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Ó CODE, LƯU ĐỒ VÀ FILE MÔ PHỎNG MỤC TIÊU ĐỀ TÀI: Ứng dụng vào thực tế Vi Xử Lí 8051 đã được học.  Biết cách sử dụng, tương tác, lập trình với VXL.  Biết sử dụng, ghép nối bàn phím 4x4 và LCD với VXL. 1.2.YÊU CẦU CỦA ĐẶT RA:Thiết kế máy tính bỏ túi sử dụng VXL 8051 Máy tính bỏ túi có các chức năng cơ bản như sau:  2 phép tính cơ bản: Cộng “+”, Trừ ““.  Cộng trừ số có 4 chữ số . Bàn phím bao gồm 10 phím số (từ 0 đến 9), 2 phím phép tính ( + ), 1 phím bằng (=), 1 phím xóa từng số, phím xóa tất cả  Sử dụng LCD 16x2 để hiện thị phép tính và kết quả.

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN MƠN HỌC THIẾT KẾ MÁY TÍNH CỘNG TRỪ CHỮ SỐ Ngành: KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA Chun ngành: TỰ ĐỘNG HĨA CƠNG NGHIỆP Giảng viên hướng dẫn: Lưu Hồng Minh Sinh viên thực hiện: Nguyễn Đình Minh MSSV: 1951050067 Lớp: TD19 Trần Nguyễn Nhật Khang MSSV: 1951050100 Lớp: TD19 Trần Quang Linh MSSV: 1951050073 Lớp: TD19 TP Hồ Chí Minh, 2021 Mục lục Lời nói đầu CHƯƠNG GIỚI THIỆU 1.1 MỤC TIÊU ĐỀ TÀI: 1.2 YÊU CẦU CỦA ĐẶT RA: CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH .3 2.2 ĐẶC ĐIỂM, CẤU TẠO, CHỨC NĂNG CỦA CÁC LINH KIỆN 2.2.1 2.3 Vi điều khiển AT89C51 2.2.1.1 Giới thiệu chung 89C51 .3 2.2.1.2 Tổ chức nhớ nhớ: 2.2.1.3 Tập lệnh 89C51 CƠ CẤU HIỆN THỊ LCD 16X2: 2.3.1 Hình dáng kích thước: 2.3.2 Bàn phím 4x4: 11 CHƯƠNG 3.1 THIẾT KẾ VÀ MÔ PHỎNG .12 GHÉP NỐI VỚI VI ĐIỀU KHIỂN .12 3.1.1 Mạch tạo dao động thạch anh 12MHz: 12 3.1.2 Cấp nguồn 5V cho vi điều khiển (Vcc: 5V chân 40; GND: 0V chân 20) 12 3.2 MA TRẬN PHÍM 4X4: 12 3.2.1 Sơ đồ nguyên lý: 13 3.2.2 Nguyên tắc hoạt động: 13 3.3 GHÉP NỐI, TƯƠNG TÁC LCD16X2: 14 3.4 Vi điều khiển: .14 3.5 Mạch reset 15 3.6 MẠCH MÔ PHỎNG 15 3.7 LƯU ĐỒ THUẬT TOÁN: 16 3.8 CODE CHƯƠNG TRÌNH 17 3.8.1 Tóm lượt cách làm 17 3.8.2 Chương trình 17 Lời cảm ơn 35 Lời nói đầu Ngày với tiến khoa học kỹ thuật, đặc biệt ngành vi điều khiển Đời sống xã hội ngày phát triển cao dựa ứng dụng khoa học vào đời sống Vì mà cơng nghệ điện tử mang tính tự động ngày ứng dụng rộng rãi Trong số có đóng góp khơng nhỏ kỹ thuật vi điều khiển Các vi điều khiển ứng dụng rộng rãi thâm nhập ngày nhiều lĩnh vực kỹ thuật đời sống xã hội Hầu hết thiết bị điều khiển tự động từ thiết bị văn phịng thiết bị gia đình dung vi điều khiển nhằm đem lại tiện nghi cho người thời đại công nghiệp hóa, đại hóa Ngồi với phát triển ngành kinh tế, giáo dục, y học,… làm tăng số lượng cơng việc tính tốn xử lý số liệu phải tiếp cận số lớn lẻ mà khơng thể tính tốn tay Thế nên đồ án:” Thiết kế máy tính cộng trừ chữ số“ phần giải vấn đề CHƯƠNG GIỚI THIỆU 1.1 MỤC TIÊU ĐỀ TÀI:  Ứng dụng vào thực tế Vi Xử Lí 8051 học  Biết cách sử dụng, tương tác, lập trình với VXL  Biết sử dụng, ghép nối bàn phím 4x4 LCD với VXL 1.2 YÊU CẦU CỦA ĐẶT RA:  Thiết kế máy tính bỏ túi sử dụng VXL 8051  Máy tính bỏ túi có chức sau:  phép tính bản: Cộng “+”, Trừ “-“  Cộng trừ số có chữ số  Bàn phím bao gồm 10 phím số (từ đến 9), phím phép tính ( + - ), phím (=), phím xóa số, phím xóa tất  Sử dụng LCD 16x2 để thị phép tính kết CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH  Vi điều khiển AT89C51  LCD 16x2 - Bàn phím keypad  Các loại tụ điện, điện trở, biến trở…  Thạnh anh 12Mhz  Nguồn chiều 5V 2.2 ĐẶC ĐIỂM, CẤU TẠO, CHỨC NĂNG CỦA CÁC LINH KIỆN 2.2.1 Vi điều khiển AT89C51 2.2.1.1 Giới thiệu chung 89C51 Vi điều khiển (VĐK) hệ vi xử lý tổ chức chip IC VĐK AT89C51 tương thích với họ MCS51 có đặc điểm sau :  Có 40 chân  KB EPROM bên  Dải tần số hoạt động từ 0Mhz đến 24 Mhz  Có 128 byte RAM - định thời 16 bit  Mạch giao tiếp nối tiếp - 64 KB vùng nhớ liệu ngoại  64 KB vùng nhớ mã  Bộ xử lý bit thao tác bit riêng  μs cho hoạt động nhân chia  210 vị trí nhớ định địa chỉ, vị trí bit  Có ghi chức năng, chế điều khiển ngắt  Các thời gian dung lĩnh vực chia tần số tạp thời gian thực Máy Tính Bỏ Túi Sơ đồ chân 89C51 89C51 có tất 40 chân có chức đường xuất nhập Trong có 24 chân có tác dụng kép (có nghĩa chân có chức năng), đường hoạt động đường xuất nhập đường điều khiển thành phần bus liệu bus địa GND ( chân 20) : chân nối đất 0V Port port có chức chân 32 – 39 8951 Trong thiết kế cỡ nhỏ khơng dùng nhớ mở rộng có chức đường IO Đối với thiết kế cỡ lớn có nhớ mở rộng, kết hợp bus địa chỉvà bus dữliệu Port port IO chân 1-8 Các chân ký hiệu P1.0, P1.1, P1.2, … dùng cho giao tiếp với thiết bị cần Port khơng có chức khác, chúng dùng cho giao tiếp với thiết bị bên ngồi Port port có tác dụng kép chân 21 - 28 dùng đường xuất nhập byte cao bus địa thiết bị dùng nhớ mở rộng Port port có tác dụng kép chân 10 - 17 Các chân port có nhiều chức năng, cơng dụng chuyển đổi có liên hệ với đặc tính đặc biệt 8951 bảng sau: PSEN ( Program store enable ): PSEN tín hiệu ngõ chân 29 có tác dụng cho phép đọc nhớ chương trình mở rộng thường nói đến chân 0E\ (output enable) Eprom cho phép đọc byte mã lệnh PSEN mức thấp thời gian Microcontroller 8951 lấy lệnh Các mã lệnh chương trình đọc từ Eprom qua bus liệu chốt vào ghi lệnh bên 8951 để giải mã lệnh Khi 8951 thi hành chương trình ROM nội PSEN mức logic ALE ( Address latch enable ) : Khi 8951 truy xuất nhớ bên ngồi, port có chức bus địa bus liệu phải tách đường liệu địa Tín hiệu ALE ởchân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp đường địa chỉvà liệu kết nối chúng với IC chốt Tín hiệu chân ALE xung khoảng thời gian port đóng vai trị địa thấp nên chốt địa hồn tồn tự động Các xung tín hiệu ALE có tốc độbằng 1/6 lần tần số dao động chip dùng làm tín hiệu clock cho phần khác hệ thống Chân ALE dùng làm ngõ vào xung lập trình cho Eprom 8951 EA ( External access) : Chọn nhớ Nếu EA = 5V: chọn ROM nội Nếu EA =0V: chọn ROM 10 RST ( Reset ) : Ngõ vào RST chân ngõ vào Reset 8951 Khi ngõ vào tín hiệu đưa lên cao chu kỳ máy, ghi bên nạp giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự động Reset 11 X1, X2 : Bộ dao động tích hợp bên 8951, sử dụng 8951 người thiết kế cần kết nối thêm thạch anh tụ hình vẽ sơ đồ Tần số thạch anh thường sử dụng cho 8951 12Mhz 12 Vcc : chân nguồn nối lên 5V 2.2.1.2 Tổ chức nhớ nhớ: Tổ chức nhớ nhớ bên chip bao gồm ROM, RAM EPROM RAM chip bao gồm vùng RAM đa chức năng, vùng RAM với bit định địa chỉ, ghi (bank) ghi chức đặc biệt Có đặc tính đáng lưu ý:  Các ghi port I/O định địa theo kiểu ánh xạ nhớ truy xuất vị trí nhớ nhớ  Vùng track thường RAM chip thay RAM ngồi vi xử lý Vùng RAM đa mục đích :  Có 80 byte, địa từ 30H đến 7FH Bất vị trí vùng RAM ta truy xuất tự cách sử dụng định địa trực tiếp gián tiếp  Vùng RAM đại chỉ: Chip 8951 chứa 210 vị trí định địa có 128byte chứa byte địa 20H đến 2FH (16bytex8=128bits), phần lại chứa ghi chức đặc biệt  Công dụng:  Truy xuất bit riêng rẽ thông qua phần mềm Máy Tính Bỏ Túi  Các port định địa bit, làm đơn giản việc giao tiếp băng phần mền với thiết bị xuất nhập đơn bit Các ghi chức đặc biệt (SFR): Không phải tất 128 địa từ 80H đến FFH định nghĩa mà chit có 21 địa định nghĩa Các ghi chức đặc biệt bao gồm:  Từ trạng thái chương trình PSW: có địa D0H  Thanh ghi B: Có địa F0H dùng chung với chứa A phép toán nhân chia  Con trỏ Stack (SP): ghi 8bit địa 81H, chứa địa liệu đỉnh stack  Con trỏ liệu DPTR: Dùng để truy xuất nhớ chương trình ngồi nhớ liệu ngồi DPTR ghi 16bit có địa 82H (bytethấp) 83H (bytecao)  Các ghi port : Port : đại 80H Port : địa 90H Port 2: địa A0H Port 3: địa chi B0H  Các ghi định thời: 89C51có định thời/đếm dùng để định khoảng thời gian đếm kiện  Bộ định thời 0: địa 8AH (TL0) 8CH (TH0) - Bộ định thời 1: địa 8bH (TL1) 8DH (TH1) Hoạt động định thời thiết lập ghi chế độ định thời TMOD địa 89H ghi điều khiển định thời TCON địa 88H (chỉ cóTCON định địa bit) Máy Tính Bỏ Túi 10  Các ghi port nối tiếp: 89C51 có port nối tiếp để truyền thơng với thiết bị thiết bị đầu cuối model  Các nghi ngắt: có cấu trúc ngắt với mức ưu tiên ngun nhân ngắt Các ngắt bị vơ hiệu hóa sau reset hệ thống phép cách vào ghi IE địa A8H Mức ưu tiên ngắt thiết lập ghi IP địa B8H  Thanh ghi điều khiển nguồn: PCON có địa 87H 2.2.1.3 Tập lệnh 89C51 Các kiểu định địa chỉ: Trong tập lệnh có chế độ đánh địa  Thanh ghi đại  Địa trực tiếp  Địa gián tiếp  Địa tức thời  Địa tuyệt đối  Địa tương đối  Địa dài  Địa tham chiếu Các nhóm lệnh 89C51  Nhóm lệnh số học  Nhóm lệnh logic  Nhóm lệnh di chuyển liệu  Nhóm lệnh xử lý bit  Nhóm lệnh rẽ nhánh 2.3 CƠ CẤU HIỆN THỊ LCD 16X2: unsigned int x,y,tinh,ktra; long kq,so1,so2; LCD_khoitao(); LCD_guichuoi("DO AN V.X.L"); delay_ms(1000); LCD_Send1Byte(0xC0); // ep tro ve dau dong thu // LCD_guichuoi("Minh-Khang-Linh"); delay_ms(1000); LCD_xoamanhinh(); while(1) // vong lap vo han // { if(P1_0==0) { delay_ms(10); while(P1_0==0) LCD_Send1Byte(0x05); // dich hien thi sang phai // LCD_Send1Byte(0x06); // tang tro // LCD_guikitu('1'); // if(ktra==0) { x++; if(x==1){so1=1;} if(x>1){so1=so1*10+1;} } if(ktra==2) { y++; if(y==1){so2=1;} if(y>1){so2=so2*10+1;} } 22 } ////////////////////////// if(P1_2==0) { delay_ms(10); while(P1_2==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('2'); //2 if(ktra==0) { x++; if(x==1){so1=2;} if(x>1){so1=so1*10+2;} } if(ktra==2) { y++; if(y==1){so2=2;} if(y>1){so2=so2*10+2;} } } ///////////////////////////// if(P1_1==0) { delay_ms(10); while(P1_1==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); 23 LCD_guikitu('3'); //3 if(ktra==0) { x++; if(x==1){so1=3;} if(x>1){so1=so1*10+3;} } if(ktra==2) { y++; if(y==1){so2=3;} if(y>1){so2=so2*10+3;} } } ///////////////////////////// if(P1_3==0) { delay_ms(10); while(P1_3==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('4'); //4 if(ktra==0) { x++; if(x==1){so1=4;} if(x>1){so1=so1*10+4;} } if(ktra==2) { 24 y++; if(y==1){so2=4;} if(y>1){so2=so2*10+4;} } } ///////////////////////////// if(P1_5==0) { delay_ms(10); while(P1_5==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('5'); //5 if(ktra==0) { x++; if(x==1){so1=5;} if(x>1){so1=so1*10+5;} } if(ktra==2) { y++; if(y==1){so2=5;} if(y>1){so2=so2*10+5;} } } ///////////////////////////// if(P1_4==0) { delay_ms(10); 25 while(P1_4==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('6'); //6 if(ktra==0) { x++; if(x==1){so1=6;} if(x>1){so1=so1*10+6;} } if(ktra==2) { y++; if(y==1){so2=6;} if(y>1){so2=so2*10+6;} } } ///////////////////////////// if(P1_6==0) { delay_ms(10); while(P1_6==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('7'); //7 if(ktra==0) { x++; if(x==1){so1=7;} if(x>1){so1=so1*10+7;} 26 } if(ktra==2) { y++; if(y==1){so2=7;} if(y>1){so2=so2*10+7;} } } ///////////////////////////// if(P1_7==0) { delay_ms(10); while(P1_7==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('8'); //8 if(ktra==0) { x++; if(x==1){so1=8;} if(x>1){so1=so1*10+8;} } if(ktra==2) { y++; if(y==1){so2=8;} if(y>1){so2=so2*10+8;} } } ///////////////////////////// 27 if(P3_1==0) { delay_ms(10); while(P3_1==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('9'); //9 if(ktra==0) { x++; if(x==1){so1=9;} if(x>1){so1=so1*10+9;} } if(ktra==2) { y++; if(y==1){so2=9;} if(y>1){so2=so2*10+9;} } } ///////////////////////////// if(P3_0==0) { delay_ms(10); while(P3_0==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu('0'); //0 if(ktra==0) { 28 x++; if(x==1){so1=0;} if(x>1){so1=so1*10;} } if(ktra==2) { y++; if(y==1){so2=0;} if(y>1){so2=so2*10;} } } ///////////////////////////// if(P3_5==0) { delay_ms(10); while(P3_5==0) LCD_Send1Byte(0x05); LCD_Send1Byte(0x06); LCD_guikitu(0x2B); // + tinh='+'; ktra=2; } if(P3_4==0) { delay_ms(10); while(P3_4==0) LCD_Send1Byte(0x05); 29 LCD_Send1Byte(0x06); LCD_guikitu(0x2D); // - tinh='-'; ktra=2; } if(P3_6==0) //= { delay_ms(10); if(tinh=='-') { if(so1>=so2) { kq=so1-so2; LCD_chonvitri(1,0); LCD_guichuoi("Dap an="); } if(so1

Ngày đăng: 06/06/2022, 10:38

Xem thêm:

HÌNH ẢNH LIÊN QUAN

2.3.1. Hình dáng và kích thước: - THIẾT KẾ MÁY TÍNH CỘNG TRỪ 4 CHỮ SỐ SỬ DỤNG IC 89C51
2.3.1. Hình dáng và kích thước: (Trang 11)
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình là loại LCD thông dụng. - THIẾT KẾ MÁY TÍNH CỘNG TRỪ 4 CHỮ SỐ SỬ DỤNG IC 89C51
r ất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình là loại LCD thông dụng (Trang 11)
Bảng mã lệnh trong LCD 16×2: - THIẾT KẾ MÁY TÍNH CỘNG TRỪ 4 CHỮ SỐ SỬ DỤNG IC 89C51
Bảng m ã lệnh trong LCD 16×2: (Trang 14)

TỪ KHÓA LIÊN QUAN

w