CHƯƠNG 1 - TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu chung Bộ vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối với các bài toán va hệ thống lớn. Tuy nhiên đối với các ứng dụng nhỏ, tầm tính toán không đòi hỏi khả năng toán lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khổi mạch điện giao tiếp phức tạp khác nhau. Các khối này bào gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc.
Để kết nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh tường về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống được tạo ra khá phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết kế. Kết quả là giá thành sản phẩm cuối cùng cao, không phù hợp để áp dụng cho các hệ thống nhỏ. Vì một số nhược điểm nên các nhà chế tạo tích hợp một ít bộ nhớ và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được gọi là Microcontroller – Vi điều khiển.
Một số đặc điểm khác nhau giữa vi xử lý và vi điều khiển: Phần cứng: Bộ vi xử lý chính là khối xử lý trunng tâm CPU, nó chỉ là một thành phần trong hệ vi xử lý. Nó cần kết hợp với các thành phần khác của hệ thống để thực thi công việc. Bộ vi điều khiển là một vi mạch đơn chứa bên trong đầy đủ các thành phần: CPU, ROM, RAM, mạch phối ghép vào/ra, bộ đếm/định thời, mạch điều khiển và ưu tiên ngắt. Hay vi điều khiển là một hệ vi xử lý hoàn chỉnh, một máy tính one-chip.
Các đặc trứng của tập lệnh: Bộ vi xử lý: tập lệnh hoạt động trên các đơn vị dữ liệu kiểu byte, word, double word,. Các lệnh thường đa dạng, linh hoạt, kích thước không cố định. Bộ vi điều khiển: tập lệnh cung cấp các điều khiển xuất nhập, xử lý hướng bit hoặc một vài bit. Các lệnh có kích thước không đổi (hoặc thay đổi ít).
Ứng dụng: Vi xử lý: dùng làm CPU trong các hệ thống xử lý dữ liệu với khối lượng lớn, đa năng, tốc độ cao. Vi điều khiển: dùng trong các thiết kế nhỏ, ít thành phần, tiêu tốn ít công suất, hướng điều khiển.2 Lý do chọn đề tài Hiện nay vi điều khiển rất phổ biến ở Việt Nam. Việc thiết kế những Kit phát triển cho vi điều khiển là vấn đề ngày càng được quan tâm của nhiều nhóm tác giả. Việc nghiên cứu học tập vi xử lý nói chung, các họ vi điều khiển nói riêng trong đó điển hình là họ PIC là rất cần thiết cho sinh viên đại học Sư Phạm Kỹ Thuật TPHCM.
Để có thể học tập, nghiên cứu và thiết kế tốt về các họ vi điều khiển cần các thiết bị thí nghiệm thực hành cũng như các công cụ trợ giúp thiết kế vi điều khiển. Trước nhu cầu thực tế trên chúng em tiến hành nghiên cứu và thiết kế Kit phát triển The Sun dựa trên vi điều khiển PIC 16F887 với mục tiêu: Nhằm phục vụ hiệu quả cho việc giảng dạy ở trường đại học đồng thời giúp cho các bạn sinh viên có cơ hội vừa học vừa thực hành môn học. Tạo cơ hội khám phá và học hỏi cho sinh viên, giúp sinh viên nắm bắt bài học một cách hiệu quả. Ưu điểm: Kit nhỏ gọn, được tích hợp đầy đủ các module đã được học trên trường, giá thành rẻ, sinh viên có thể nghiên cứu, ứng dụng mọi lúc mọi nơi.3 Mục tiêu nghiên cứu Mục đích trước hết khi thực hiện đề tài này là để hoàn tất chương trình môn học để đủ điều khiện ra trường.
Cụ thể khi nghiên cứu đề tài chúng em muốn phát huy những thành quả ứng dụng của vi điều khiển PIC 16F887 để tạo ra những sản phẩm cho các bạn sinh viên khóa sau. Không những thế nó còn là tài liệu cho các bạn sinh viên tham khảo. Ngoài ra quá trình thực hiện đề tài là một cơ hội để chúng em tự kiểm tra lại những kiến thức đã học ở trường. Đồng thời phát huy tính sáng tạo, khả năng giải quyết một vấn đề theo nhu cầu đặt ra.4 Nhiệm vụ nghiên cứu Trong thời gian thực hiện đề tài nhóm đã đưa ra các nhiệm vụ như sau: Thiết kế sơ đồ nguyên lý mạch.
Thi công board: Làm mạch in, hàn linh kiện. Xây dựng các bài thí nghiệm mẫu: Các bài thí nghiệm về module LED đơn trực tiếp. Các bài thí nghiệm về module LED đơn gián tiếp. Các bài thí nghiệm về module tải công suất.
Các bài thí nghiệm về module nút nhấn đơn. Các bài thí nghiệm về module 4 LED 7 đoạn. Các bài thí nghiệm về module LCD. Các bài thí nghiệm về module ADC.
Các bài thí nghiệm về xung PWM. Các bài thí nghiệm về module đếm xung ngoại.5 Phương pháp nghiên cứu Trong đề tài nhóm em lựa chọn các phương pháp nghiên cứu sau: Phương pháp phân tích lý thuyết: phân tích nguồn tài liệu lý thuyết về vi xử lý PIC 16F887, IC, tụ điện, điện trở,. để phục vụ cho việc thiết kế. Phương pháp quan sát: Quan sát và khảo sát một số mạch thực tế để phục vụ cho việc sắp xếp các khối linh kiện trên mạch khoa học và thẩm mỹ hơn.
Phương pháp thực nghiệm: sau khi đã thiết kế được mạch nguyên lý và có sẵn linh kiện thì bắt đầu hàn mạch và thử nghiệm. Trong quá trình thử nghiệm sẽ phát hiện ra lỗi, những phần không cần thiết để khắc phục và có một mạch hoàn thiện hơn.6 Tính cấp thiết của đề tài Như chúng ta đã biết môn học vi xử lý tại trường Đại Học Sư Phạm Kỹ Thuật có tỉ lệ sinh viên rớt khá cao, do đó nhu cầu thực hành môn học vi xử lý là vô cùng cao. Ngoài những giờ học lý thuyết trên trường sinh viên cần thực hành ngay để có thể hiểu sâu và rõ hơn về những kiến thức mình vừa được học, chính điều đó mới đảm bảo sinh viên có thể đậu môn học vi xử lý với điểm số cao. Trên nhu cầu thực tế đó sự ra của kit phát triển The Sun là vô cùng cấp thiết.
3 ` CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT 2.1 Một số kit phát triển cho vi điều khiển 2.1 Tại sao có các kit phát triển? Sự ra đời của kit phát triển mang đến một phương thức dễ dàng, ít tốn kém cho những người yêu thích, sinh viên và giới chuyện nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành. Ví dụ phổ biến bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp chạy trên các máy tính cá nhân thông thường. Để việc học tập, nghiên cứu, thiết kế ứng dụng vi xử lý nói chung và các họ vi điều khiển nói riêng đạt hiệu quả cần phải có nhiều thiết bị hỗ trợ.
Trong đó kit phát triển là một thiết bị hữu hiệu hỗ trợ rất tốt cho mục đích trên.2 Các kit phát triển phổ biến Dùng cho AVR: Arduino UNO: Có thể sử dụng 3 vi điều khiển họ AVR là ATmega8, ATmega168, ATmega328.1 Kit arduino UNO R3 4 ` Arduino Mega 2560: Sử dụng chip ATmega1280.2 Kit arduino mega 2560 AVR BK-AVR128: Sử dụng chip ATmega128A Hình 2.3 Kit AVR BK-AVR128 5 ` Dùng cho ARM: STM32F4 Discovery: Sử dụng chip STM32F4 Hình 2.4 Kit STM32F4 Discovery STM32F103VET6: Sử dụng chip STM32F103VET6 Hình 2.5 Kit STM32F103VET6 6 ` Dùng cho MSP430: MSP430G2 Launchpad: sử dụng chip MSP430G2553 Hình 2.6 Kit MSP430G2 Launchpad MSP-EXP430FG4618: Sử dụng 2 chip MSP430FG4618 và MSP430F2013 Hình 2.7 Kit MSP-EXP430FG4618 7 ` Dùng cho PIC: Kit PIC V4: Sử dụng được cho cả 2 dòng 16f và 18f 40 chân Hình 2.3 Yêu cầu thông thường của 1 kit phát triển vi điều khiển Kit phát triển cần được thiết kế gồm 1 khối CPU và nhiều module ứng dụng sử dụng được phần lớn khả năng và tài nguyên của họ vi điều khiển, phải có cấu trúc mở cho phép hỗ trợ mọi người phát triển thêm các thiết kế ứng dụng riêng. Để sử dụng một kit phát triển vi điều khiển, cần phải có các phần mềm hỗ trợ cho việc giao tiếp giữa máy tính và kit phát triển, các phần mềm hỗ trợ việc phát triển ý tưởng lập trình và thiết bị kết nối như dây cáp.2 Sơ lược về vi điều khiển PIC 16F887 2.1 Giới thiệu về PIC PIC là tên viết tắt của “Programmable Intelligent Computer” do hãng General Instrument đặt tên cho vi điều khiển đầu tiên của họ. Hãng Micro tiếp tục phát triển sản phẩm này và cho đến ngày nay đã tạo ra gần 100 loại sản phẩm khác nhau. PIC 16F887 là một dòng khá phổ biến, đầy đủ tính năng phục vụ cho hầu hết các ứng dụng thực tế.
Đây là dòng PIC khá dễ cho người mới làm quen với PIC để phục vụ việc học tập và tạo nền tảng cho họ vi điều khiển PIC của mình.2 Cấu trúc phần cứng Đây là vi điều khiển thuộc họ PIC 16FXXX với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh được thực thi trong một chu trình xung clock. Tốc độ hoạt động tối đa cho phép là 20Mhz với một chu kỳ lệnh là 200ns. Bộ nhớ flash chương trình 8 ` là 8192 words và bộ nhớ dữ liệu là 368 byte SRAM + 256 bytes EEPROM.
Số PORT I/O là 5 với 33 pin I/0. Đặc tính ngoại vi: Timer0: bộ nhớ 8 bit với bộ chia trước 8 bit. Timer1: bộ đếm/ định thời 16 bit gồm 2 thanh ghi 8 bit (TMR1H và TMR1L) – có thể đọc và ghi. Timer2: bộ đếm 8 bit có bộ chia trước (prescaler) và có bộ chia sau (postscaler).
Hai bộ Capture/ so sánh/ điều chế độ rộng xung. Các chuẩn giao tiếp nối tiếp SSP (Synchrounos Serial Port), ISP và I2C. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên ngoài.
14 kênh chuyển đổi ADC 10 bit. 2 bộ so sánh.