1. Trang chủ
  2. » Tất cả

Hệ thống nhúng

16 3 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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 2,3 MB

Nội dung

MỤC LỤC CHƯƠNG TÌM HIỂU CHUNG 8051 Đôi nét họ điều khiển 8051 Vi điều khiển 8051 xem huyền thoại chip vi điều khiển 8051 đạt đến độ hồn chỉnh cần thiết mẫu hình tiêu biểu cho nhiều chip vi điều khiển phát triển sau Chính tài liệu hướng dẫn thường sử dụng 8051, tảng 8051 cốt lõi để tìm hiểu vi điều khiển Vào năm 1980 Intel cơng bố chíp 8051 (80C51), vi điều khiển họ vi điều khiển MCS-51 Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất nhập, port nối tiếp định thời 16 bit Tiếp theo sau đời chip 8052, 8053, 8055 với nhiều tính cải tiến Hiện Intel khơng cịn cung cấp loại Vi điều khiển họ MCS51 nữa, thay vào nhà sản xuất khác Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas, Semiconductors cấp phép làm nhà cung cấp thứ hai cho chip họ MSC-51 Chip Vi điều khiển sử dụng rộng rãi giới Việt Nam Vi điều khiển hãng Atmel với nhiều chủng loại vi điều khiển khác Hãng Atmel có chip Vi điều khiển có tính tương tự chip Vi điều khiển MCS-51 Intel, mã số chip thay đổi chút Atmel sản xuất Mã số 80 chuyển thành 89, chẳng hạn 80C52 Intel sản xuất Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính chương trình tương tự Tương tự 8051,8053,8055 có mã số tương đương Atmel 89C51, 89C53, 89C55 Vi điều khiển Atmel sau ngày cải tiến bổ sung thêm nhiều chức tiện lợi cho người dùng Dung RAM lượng Dung ROM lượng Chế độ nạp 89C51 128 byte kbyte Song song 89C52 128 byte kbyte Song song 89C53 128 byte 12 kbyte Song song 89C55 128 byte 20 kbyte Song song Sau khoảng thời gian cải tiến phát triển, hãng Atmel tung thị trường dòng Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến đặc biệt có thêm khả nạp chương trình theo chế độ nối tiếp đơn giản tiện lợi cho người sử dụng Dung lượng RAM Dung ROM lượng Chế độ nạp 89S51 128 byte kbyte Nốp tiếp 89S52 128 byte kbyte Nối tiếp 89S53 128 byte 12 kbyte Nối tiếp 89S55 128 byte 20 kbyte Nối tiếp Tất Vi điều khiển có đặc tính giống phần mềm (các tập lệnh lập trình nhau), cịn phần cứng bổ sung với chip có mã số hai số cuối cao hơn, Vi điều khiển sau có nhiều tính vượt trội Vi điều khiển hệ trước Các Vi điều khiển 89Cxx bảng có cấu tạoROM RAM 98Sxx bảng 2, nhiên 98Sxx bổ sung số tính có thêm chế độ nạp nối tiếp Cấu trúc bên 8051 Vi xử lý (viết tắt µP hay uP), đơi cịn gọi vi xử lý, linh kiện điện tử máy tính chế tạo từ tranzito thu nhỏ tích hợp lên vi mạch tích hợp đơn CPU vi xử lý nhiều người biết đến nhiều thành phần khác máy tính có vi xử lý riêng nó, ví dụ video card có vi xử lý Hệ vi xử lý = CPU + Bộ nhớ (Memory) + I/O 8051 coi hệ vi xử lý Sơ đồ chân 8051 Mặc dù thành viên họ MSC-51 vi điều khiển 8051 có nhiều kiểu đóng vỏ khác nhau, chẳng hạn hai hàng chân DIP (Dual In-Line Pakage) dạng vỏ dẹt vuông QFP (Quad Flat Pakage) dạng chíp khơng có chân đỡ LLC (Leadless Chip Carrier) có 40 chân cho chức khác vào I/0, đọc , ghi , địa chỉ, liệu ngắt Tuy nhiên, hầu hết nhà phát triển dụng chíp đóng vỏ 40 chân với hai hàng chân DIP, nên khảo sát Vi điều khiển với 40 chân dạng DIP Hình 1.1: Sơ đồ cấu tạo chân 8051  Chân đến 8: gọi Cổng (Port 1), Tám chân có chức xuất nhập Cổng xuất nhập theo bit byte Ta đánh tên cho chân Port P1.X (X = đến 7)  Chân 9: chân vào reset 8051 Khi tín hiệu đưa lên mức cao chu kỳ máy, ghi vi điều khiển tải giá trị thích hợp để khởi động hệ thống Hay nói cách khác vi điều khiển bị reset chân kích hoạt mức cao Hình 1.2: Sơ đồ mạch reset ngồi 8051  Chân 10 đến 17: gọi Cổng (Port 3) Tám chân chức xuất nhập chân cổng (chân đến 8) chân cịn có chức riêng nữa, cụ thể sau: Bit Tên Chức P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RxD Chân nhận liệu cho cổng nối tiếp TxD Chân truyền liệu cho cổng nối tiếp INT0 Chân ngắt bên INT1 Chân ngắt bên T0 Ngõ vào Timer/counter T1 Ngõ vào Timer/counter WR Xung ghi nhớ liệu RD Xung đọc nhớ liệu ngồi Bảng 1.1: Bảng mơ tả chức riêng cổng  Chân 18 19 (XTAL1 & XTAL2) Hai chân sử dụng để nối với dao động ngồi Hình 1.3: Mạch dao động cấp cho 8051 Thông thường dao động thạch anh nối tới chân đầu vào XTAL1 (chân 19) XTAL2 (chân 18) với hai tụ gốm giá trị khoảng 30pF Một phía tụ điện nối xuống đất hình Các hệ thống xây dựng 8051 thường có tần số thạch anh từ 10 đến 40 MHz, thông thường ta dùng thạch anh 12 Mhz  Chân 20: nối vào chân 0V nguồn cấp  Chân 21 đến chân 28: gọi cổng (Port 2) Tám chân cổng có cơng dụng, chức cổng xuất nhập cổng cổng cịn byte cao bus địa sử dụng nhớ  Chân 29 (PSEN): Chân PSEN chân điều khiển đọc chương trình nhớ ngồi, nối với chân OE ROM phép đọc byte mã lệnh ROM PSEN mức thấp thời gian đọc mã lệnh Khi thực chương trình ROM nội PSEN trì mức cao  Chân 30 (ALE): Chân ALE cho phép tách đường liệu đường địa Port Port  Chân 31 (EA): Tín hiệu chân EA cho phép chọn nhớ chương trình nhớ hay ngồi vi điều khiển Nếu chân EA nối mức cao (nối nguồn Vcc), vi điều khiển thi hành chương trình ROM nội Nếu chân EA mức thấp (được nối GND) vi điều khiển thi hành chương trình từ nhớ  Chân 32 đến 39: gọi cổng (Port 0) Cổng gồm chân có cơng dụng, ngồi chức xuất nhập, cổng bus đa hợp liệu địa chỉ, chức sử dụng 8051 giao tiếp với biết bị ngồi có kiến trúc Bus vi mạch nhớ Vì cổng P0 máng mở khác so với cổng P1, P2 P3 nên chân cổng phải nối với điện trở kéo sử dụng chân chân vào/ra Điện trở tùy thuộc vào đặc tính ngõ vào thành phần ghép nối với chân port Thường ta dùng điện trở kéo khoảng 4K7 đến 10K Hình 1.4: Nối điện trở kéo cho cổng 8051  Chân 40: chân nguồn vi điều khiển, nối vào chân Vcc nguồn CHƯƠNG CÁC CÔNG CỤ CẦN THIẾT ĐỂ HỌC 8051 Phần cứng a Board Hình 2.1: Các loại Board thường gặp b Cơng cụ nạp Hình 2.2: Mạp nạp USB ISP • Mạch nạp USB ISP  Giá rẻ, nạp nhanh, nạp cho họ AVR  Không cần driver Phần mềm a KEIL C Các bạn hiểu nôm na rằng, trình biên dịch phần mềm mà viết chương trình điều khiển để nạp xuống cho VĐK Ta khơng thể viết chương trình cho VĐK word, excel mà loại VĐK khác lại phải dùng phần mềm chuyên dụng riêng để viết chương trình cho Đối với dịng VĐK 8051 có vài trình biên dịch khác nhau, nhất, phổ biến trình biên dịch KeilC Từ phần mềm ta viết chương trình loại ngơn ngữ C ASM (Trong suốt phần tiếp theo, tơi hướng dẫn bạn viết chương trình dùng ngơn ngữ C trình biên dịch keilC để nạp chương trình cho VĐK.\) Ở có vài bạn hỏi lại phải viết phần mềm chuyên dụng này(?) Tôi xin trả lời VĐK khơng thể hiểu ngơn ngữ mà viết chương trình, hiểu mã máy (mà nhà sản xuất tạo ra), phần mềm có chức "phiên dịch" dịng lệnh mà ta viết C ASM sang "ngôn ngữ mã máy"( tạo file hex) từ ta dùng mạch nạp để nạp file hex cho VĐK b ProgIsp Là phần mềm nạp chip với giá rẻ, nạp nhanh, nạp cho họ AVR, không cần driver c Proteus Proteus VSM (Virtual Simulation Machine) Labcenter Electronics phần mềm mô mạch điện ưa thích So với phần mềm mơ mạch điện tử khác, Proteus có nhiều ưu điểm trội như: mô nhiều linh kiện điện tử thiết bị hiển thị, kết mô trực quan mạch điện tử thật Và tính mà chúng ta, người học vi điều khiển, quan tâm khả mô chip vi điều khiển với chương trình người dùng nạp Proteus hỗ trợ nhiều chip vi điều khiển 8051, AVR, PIC, HC11, ARM7/LPC2000 Nếu 10 bạn muốn học AVR mà khơng có điều kiện kinh nghiệm để làm mạch phát triển bạn muốn kiểm tra chương trình trước nạp vào mạch phát triển Proteus lựa chọn không thề bỏ qua CHƯƠNG XÂY DỰNG ỨNG DỤNG LED HÌNH TRÁI TIM Cơ sở lý thuyết 1.1 Cấu tạo mạch 32 LED trái tim Ma trận LED bao gồm nhiều led đơn bố trí thành hình trái tim Cách thức điều khiển led mức dương chung, tức tất đầu dương led nối với nguồn, đầu âm nối với vi điểu khiển Như hình vẽ sau: Hình 3.1: Sơ đồ mạch 32 LED trái tim dùng 8051 điểu khiển Nguyên lý hoạt động Ở phần sở lý thuyết, làm quen với sơ đồ chân mạch thị 32 LED trái tim Bài tốn u cầu hiển thị hình trái tim theo nhiều hiệu ứng khác Dựa nguyên lý để thị thành hình trái tìm từ 32 LED, thị LED lần lượt, hay cụm LED, hay tất LED hiển thị theo ý đồ người lập trình 11 Các hiệu ứng thị LED đơn giản 12 Hình 3.2: Các hiệu ứng đơn giản Xây dựng chương trình #include char HieuUng[] = {0x03,0x06,0x0C,0x18,0x30,0x60,0xC0}; char Create[] = {0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00}; int time = 5000; void delay(int time){ while(time ); } void blink(unsigned char times){ unsigned char i; for(i=0; i

Ngày đăng: 27/09/2017, 10:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w