« Home « Kết quả tìm kiếm

LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS


Tóm tắt Xem thử

- LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT BÀI 1: NHẬP MÔN VI ĐIỀU KHIỂN PIC I.
- Giới thiệu về vi điều khiển PIC 1.1 Giới thiệu về vi điều khiển Bộ vi điều khiển viết tắt là Micro-controller là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của hệ thống .Theo các tập lệnh của người lập trình, bộ vi điêu khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó .
- Trong các thiết bị điện và điện tử, các bộ vi điều khiển điều khiển hoạt động của ti vi, máy giặt, đầu đọc lase, lò vi ba, điện thoại …Trong hệ thống sản xuất tự động, bộ vi điều khiển sử dụng trong robot, các hệ thống đo lường giám sát .Các hệ thống càng thông minh thì vai trò của vi điều khiển ngày càng quan trọng.
- Hiện nay trên thị trường có rất nhiều họ vi điều khiển như: 6811 của Motorola, 8051 của Intel, Z8 của Zilog, PIC của Microchip Technology .
- 1.2 Giới thiệu về vi điều khiển PIC PIC bắt nguồn từ chữ viết tắt của “Programmable Intelligent Computer.
- Máy tính khả trình thông minh) là sản phẩm của hãng General Instrument đặt cho dòng sản LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT phẩm đầu tiên của họ là PIC 1650.
- Lúc này Pic dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy người ta gọi PIC với tên là “ Peripheral Interface Controller.
- bộ điều khiển giao tiếp ngoại vi.
- Tuy nhiên PIC được bổ sung EEPROM để tạo thành một bộ điều khiển vào ra khả trình.
- Ngày nay có rất nhiều dòng PIC được sản xuất với hàng loạt các modul ngoại vi được tích hợp sẵn ( như :USART, PWM, ADC…) với bộ nhớ chương trình từ 512 word đến 32k word.
- LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT PIC sử dụng tập lệnh RISC, với dòng PIC low-end (độ dài mã lệnh 12 Bit ví dụ PIC12Cxxx) và mid-range (độ dài mã lệnh 14 bit , ví dụ PIC16Fxxx), tập lệnh bao gồm khoảng 35 lệnh, và 70 lệnh đối với dòng PIC high-end( có độ dài mã lệnh 16bit PIC18Fxxxx).
- Tập lệnh bao gồm các lệnh tính toán trên các thanh ghi, và các hằng số, hoặc các vị trí ô nhớ, cũng như có các lệnh điều kiện, nhảy/ gọi hàm, và các lệnh quay trở về, nó cũng có các chức năng phần cứng khác như ngắt hoặc sleep( chế độ hoạt động tiết kiệm điện.
- Microchip cung cấp môi trường lập trình MPLAB0, nó bao gồm phần mềm mô phỏng và trình dịch ASM Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng chúng ta có thể điểm qua một vài nét như sau.
- 8/16 bit timer  Modun giao tiếp ngoại vi nối tiếp không đồng bộ: USART  Modun giao tiếp ngoại vi song song (kiểu máy in.
- Bộ chuyển đổi ADC 10 bit nội gồm 8 kênh đầu vào  Module ngoại vi MSSP dùng cho các giao tiếp I2C, SPI  Modul CCP có chức năng o Comparator (so sánh) o Capture o PWM: dùng trong điều khiển động cơ Một số dòng vi điều khiển PIC hỗ trợ thêm.
- Hỗ trợ điều khiển động cơ 3 pha, 1 pha  Hỗ trợ giao tiếp USB  Hỗ trợ điều khiển Ethernet LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT  Hỗ trợ giao tiếp CAN LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT  Hỗ trợ giao tiếp LIN  Hỗ trợ giao tiếp IRDA  DSP những tính năng xử lý tín hiệu số 1.3 Các thành phần cơ bản của một mạch ứng dụng vi điều khiển PIC: 1.4 Các khái niệm cơ bản: Cổng xuất nhập I/O: Trong vi điều khiển PIC16F877A có 5 cổng.
- RA5  Cổng B gồm 8 chân: RB0, RB1,..RB7  Cổng C gồm 8 chân: RC0, RC1, ..RC7  Cổng D gồm 8 chân: RD0, RD1,..RD7  Cổng E gồm 3 chân: RE0, RE1, RE2 Mỗi cổng thực chất được quản lý bởi các thanh ghi PORTA, PORTB, PORTC, PORTD, PORTE nằm trong bộ nhớ RAM của vi điều khiển.
- Xem hình sau: LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT Bộ nhớ RAM của vi điều khiển PIC 16F877A gồm 4 bank nhớ.
- Nhìn vào các bank nhớ ta có thể thấy các thanh ghi được đặt tên và các thanh ghi đa mục đích (General Purpose Register.
- Các thanh ghi được đặt tên là các thanh ghi đặc biệt dùng để điều khiển, quản lý LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT hoặc thể hiện trạng thái của các khối chức năng trong vi điều khiển ví dụ PORTA LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT là đại diện cho các chân cổng A, PORTB là đại diện cho các chân cổng B v.v.
- Các thanh ghi này có địa chỉ xác định và không được dùng cho các mục đích khác  Các thanh ghi đa mục đích được dùng để đặt biến trong một chương trình ứng dụng của vi điều khiển.
- Trở lại vấn đề về các cổng, tới đây ta có thể đưa ra nhận xét: Thanh ghi PORTA phản ánh trạng thái của các chân cổng A, nghĩa là muốn tín hiệu đầu ra của các chân cổng A như thế nào ta chỉ việc đưa giá trị vào các bit tương ứng trên thanh ghi PORTA.
- Cũng như khi đọc giá trị của thanh ghi PORTA ta sẽ biết được trạng thái của các chân cổng A.
- Ví dụ: Muốn RA0 ở mức logic 1 (mức 5V), RA1 ở mức logic 0 (mức 0V), RA2 ở mức logic 1, RA3 ở mức logic 0, RA4 ở mức logic 1, RA5 ở mức logic 1, ta chỉ việc gán giá trị 000110101 cho thanh ghi PORTA.
- Tính đa chức năng của một chân trên vi điều khiển: Nhìn vào sơ đồ chân của vi điều khiển, ta có thể thấy một số chân của vi điều khiển có tên gồm nhiều phần với dấu gạch chéo.
- Ví dụ: RA0/AN0, RC7/RX/DT, RC6/TX/CK Đây chính là tính đa chức năng của một chân trên vi điều khiển hay còn gọi là sự dồn kênh.
- Ý nghĩa của nó là: Bình thường nếu không được cài đặt thì tấc cả các chân trên 5 cổng A, B, C, D, E là các chân vào ra số I/O.
- Nếu trong chương trình ta có cài đặt một chức năng nào đó như RS232, ADC hoặc PWM v.v thì các chân tương ứng với chức năng đó sẽ hoạt động theo chức năng đó.
- Khi đó LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT chân này sẽ không được dùng làm chân vào ra số như bình thường nữa.
- LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT Ví dụ: bình thường chân RA0/ANO là chân vào ra số RA0, nếu chức năng ADC với kênh vào tín hiệu analog là kênh 0 được cài đặt khi đó chân RA0 /AN0 sẽ là chân vào của bộ ADC, tức là hoạt động theo chức năng AN0.
- Tương tự như vậy, khi cài đặt giao tiếp với thiết bị ngoại vi theo chuẩn RS232, chân vào ra số RC7/RX/DT sẽ hoạt động như đầu vào dữ liệu RS232 tức là chức năng RX của chân này.
- Cài đặt vào/ra cho các chân vào ra số trên các cổng: Các chân vào/ra số trên vi điều khiển PIC phải được cài đặt là chân vào hoặc chân ra thì mới hoạt động đúng chức năng.
- Việc một chân trên cổng X (X=A,B,..E) được qui định là đầu ra hay đầu vào phụ thuộc vào bit tương ứng trên thanh ghi TRISX (X=A,B,..E) là 0 hay 1.
- Ví dụ: Muốn 4 chân thấp (bit thấp) trên cổng B (RB0-RB3) là chân vào, 4 chân cao (bit cao) trên cổng B (RB4-RB7) là chân ra thì giá trị các bit trên thanh ghi TRISB sẽ là Gợi ý dễ nhớ là: Để chân RB.m (m=0-7) là đầu ra, tức Output thì giá trị TRISB.m là 0 Là đầu vào, tức Input thì giá trị TRISB.m là 1 Tương tự như vậy đối với các chân trên các cổng còn lại 2.
- Ngôn ngữ lập trình cho vi điều khiển PIC- CCS: 2.1 Các ngôn ngữ lập trình cho vi điều khiển PIC: Ngôn ngữ lập trình cho vi điều khiển PIC có 2 loại.
- Ngôn ngữ lập trình cấp thấp- Hợp ngữ: có phần mềm MPLAB - Ngôn ngữ lập trình bậc cao: có nhiều loại, được phát triển theo ngôn ngữ C, như: CCS, HTPIC, PIC BASIC v.v Ưu điểm của hợp ngữ là giúp người học và lập trình hiểu rõ hơn về cấu trúc bên trong của vi điều khiển PIC, cũng như tối ưu hóa bộ nhớ chương trình.
- Tuy nhiên, nhìn chung phương pháp tiếp cận hợp ngữ là khó và khả năng phát triển ứng dụng là hạn chế, mất LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT thời gian.
- Vì vậy, khóa học sẽ tập trung vào sử dụng ngôn ngữ bậc cao mà cụ thể là CCS để nghiên cứu và phát triển các ứng dụng trên PIC.
- Kế thừa tấc cả đặc điểm của ngôn ngữ C- là ngôn ngữ cơ bản, quen thuộc mà sinh viên đã được đào tạo - Xây dựng sẵn các hàm phục vụ cho việc sử dụng dễ dàng các khối chức năng đặc biệt của Vi điều khiển PIC như khối ADC, PWM, RS232, SPI - Có khả năng kết hợp với ngôn ngữ hợp ngữ, tạo sự mềm dẻo trong phát triển ứng dụng - Khả năng phát triển, nâng cấp ứng dụng là dễ dàng - Ngày càng được cập nhật với nhiều tính năng ưu việt và hiệu quả hơn.
- 2.2 Cơ bản về ngôn ngữ lập trình CCS: 2.2.1 Ví dụ về một chƣơng trình viết trên ngôn ngữ CCS.
- Đây là chú thích chương trình //Bắt đầu các chỉ thị tiền xử lý của chương trình #include.
- cho file định nghĩa thiết bị 16f877a.h vào chương trình #fuses HS,NOLVP,NOWDT// Cấu hình cho vi điều khiển PIC #use delay (clock=4000000.
- Bắt đầu chương trình con hiển thị void display(int n.
- sử dụng hàm xuất giá trị ra cổng B LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT output_low(PIN_A4.
- sử dụng hàm đưa giá trị chân RA4 xuống mức thấp LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT delay_ms(2.
- sử dụng hàm đưa giá trị chân RA4 lên mức cao output_b((MAP[n%10.
- Kết thúc chương trình con hiển thị.
- Bắt đầu chương trình chính.
- Đây là nơi vi điều khiển bắt đầu chạy lệnh.
- LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT PRINTF(LCD_PUTCHAR,"PHIM BAM.
- LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT while( TRUE.
- LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT lcd_init.
- LẬP TRÌNH VI ĐIỀU KHIỂN PIC CCS Website: http://dientutdt.com Fanpage: https://www.facebook.com/DienTuTDT delay_ms(200).
- DAT_THU=0.
- HƢỚNG DẪN LẬP TRÌNH VI ĐIỀU KHIỂN PIC VỚI PHẦN MỀM CCS CÔNG TY TNHH CÔNG NGHỆ CAO ATECKO www.atecko.com.vn HƢỚNG DẪN LẬP TRÌNH VI ĐIỀU KHIỂN PIC VỚI PHẦN MỀM CCS CÔNG TY TNHH CÔNG NGHỆ CAO ATECKO www.atecko.com.vn