Giáo trình Vi điều khiển PIC pot

35 605 4
Giáo trình Vi điều khiển PIC pot

Đ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

Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 1 Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 2 MỤC LỤC Bài 1.Giới thiệu vi ñiều khiển PIC 4 1.Giới thiệu các loại chip PIC 4 2. Giới thiệu vi ñiều khiển PIC16F877 5 3.Tổ chức bộ nhớ PIC16F877 8 3.1.Tổ chức bộ nhớ chương trình 8 3.2.Bộ nhớ dữ liệu 8 3.2.Một số thanh ghi quan trọng 8 4.Lập trình cho PIC 9 4.1.Giới thiệu 18 4.2.Phần mềm lập trình cho PIC 18 4.3.Giới thiệu phần mềm CCS 18 Bài 2.Giao tiếp vào ra IO 27 1.Giao tiếp IO 27 1.1.Giới thiệu 27 1.2.Các cổng vào ra 23 2.Sơ ñồ mạch 29 3.Lập trình 30 4.Nạp chương trình cho chip 35 Bài 3.Giao tiếp với led 7 thanh 39 1.Nguyên lý 39 2.Nguyên lý hoạt ñộng 39 Bài 4.Giao tiếp với bàn phím 42 Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 3 1.Sơ ñồ nguyên lý 42 2.Nguyên lý hoạt ñộng 42 3.Mã nguồn 43 4.Kỹ thuật chống rung 44 Bài 5.Bộ chuyển ñổi ADC 46 1.Sử dụng ADC với CCS 46 2.Hàm hỗ trợ 46 Bài 6.ðiều chế ñộ rộng xung (PWM) 50 1.ðôi nét về PWM 50 2.Sơ ñồ khối PWM 52 3.Hàm trong CCS 54 Bài 7.Giao tiếp máy tính 58 1.Giao tiếp RS-232 58 2.Hàm hỗ trợ 58 Bài 8.Giao tiếp I2C 64 1.Giới thiệu chung 64 2.ñặc ñiểm giao tiếp I2C 64 3.Start ,stop 66 4.ðịnh dạng dữ liệu truyền 67 5.ðịnh dạng ñịa chỉ cho thiết bị 62 6.Truyền dữ liệu trên bus I2C ,master-slave 69 7.Chế ñộ Multi-master 72 8.Modul I2C trong vi ñiều khiển PIC 72 9.ñặc ñiểm phần cứng 72 10.Cách sử dụng I2C trong CCS 73 Bài 9.Giao tiếp LCD 74 Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 4 1.Giới thiệu LCD 16x2 74 2.LCD với CCS (4 bit) 80 3.Ví dụ 82 Khái niệm vi ñiều khiển (microcontroller – MC) ñã khá quen thuộc với các sinh viên CNTT, ñiện tử, ñiều khiển tự ñộng cũng như Cơ ñiện tử… Nó là một trong những IC thích hợp nhất ñể thay thế các IC số trong việc thiết kế mạch logic. Ngày nay ñã có những MC tích hợp ñủ tất cả các chức năng của mạch logic. Nói như vậy không có nghĩa là các IC số cũng như các IC mạch số lập trình ñược khác như PLD… không cần dùng nữa. MC cũng có những hạn chế mà rõ ràng nhất là tốc ñộ chậm hơn các mạch logic… MC cũng là một máy tính – máy tính nhúng vì nó có ñầy ñủ chức năng của một máy tính. Có CPU, bộ nhớ chương trình, bộ nhớ dữ liệu, có I/O và các bus trao ñổi dữ liệu. Cần phân biệt khái niệm MC với khái niệm vi xử lý (microprocessor – MP) như 8088 chẳng hạn. MP chỉ là CPU mà không có các thành phần khác như bộ nhớ I/O, bộ nhớ. Muốn sử dụng MP cần thêm các chức năng này, lúc này người ta gọi nó là hệ vi xử lý (microprocessor system). Do ñặc ñiểm này nên nếu ñể lựa chọn giữa MC và MP trong một mạch ñiện tử nào ñó thì tất nhiên người ta sẽ chọn MC vì nó sẽ rẻ tiền hơn nhiều do ñã tích hợp các chức năng khác vào trong chip. Trong phạm vi môn học kiến trúc máy tính, chúng em xin chọn một loại MC ñể tìm hiểu với mục ñích cuối cùng là hiểu hết các chức năng của MC này và thiết kế, lắp ráp một mạch ño nhiệt ñộ dùng MC. Có rất nhiều loại MC ñể lựa chọn như họ 8051 của Atmel, Philips AVR của Atmel, dòng 68000 (32bit) của Motorola Ở ñây xin chọn PIC của hãng microchip (www.microchip.com) vì sự phổ biến của nó. Có một ñiều khá thú vị là trong sản phẩm trò chơi ñiện tử PlayStation của Sony cũng có PIC.Theo ñánh giá thì PIC là dòng MC 8 bit sử dụng nhiều nhất trên thế giới tại thời ñiểm năm 2006 này. Việt Nam có lẽ cũng không phải là một ngoại lệ. 1.Giới thiệu các loại chip PIC Như ñã nói ở phần trước, ở ñây ta sẽ chọn vi ñiều khiển PIC ñể tìm hiểu, tuy nhiên việc chọn loại nào trong họ này cũng là một ñiều cần quan tâm. PIC có rất nhiều dòng từ PIC12xx, PIC16xx, PIC18xx ñến dsPIC… theo thứ tự ñộ phức tạp của từng dòng chip tăng lên, việc tìm hiểu chức năng của Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 5 từng dòng này nằm ngoài phạm vi kiến thức của chúng em do ñó ở ñây xin chọn loại cao nhất trong dòng 16 ñó là PIC16F877 (mid-range). Nó là loại vi ñiều khiển loại trung với kích cỡ 1 lệnh là 14 bit (dòng 12 kích cỡ lệnh là 12bit, 18 có kích cỡ 16bit) Chữ F trong tên gọi thể hiện bộ nhớ chương trình ở ñây là bộ nhớ FLASH (có thể xoá và nạp lại xxxx lần) 2. Giới thiệu về PIC16F877 Hình 1.2.PIC16F877 a.PIC16F877 mang tất cả các ñặc ñiểm chung của các dòng PIC. - Nó là máy tính có tập lệnh rút gọn (RISC). ðiều ñó có nghĩa là số lệnh của nó hạn chế ñến mức tối thiểu ( 35 lệnh). Tại sao là RISC lại có lợi và phát triển sau này? Như ta ñã biết ñể có thể thực hiện một chức năng nào ñó thì vi ñiều khiển cần phải thực hiện các lệnh trong bộ nhớ chương trình (code memory) ñược lưu dưới dạng các số nhị phân của nó bằng các bộ giải mã (decoder). ðiều ñó cũng có nghĩa là nếu MC càng có nhiều tập lệnh càng cần nhiều bộ decoder ñể giải mã. Như vậy số mạch giải mã tích hợp trong chip sẽ cần nhiều lên. ðiều này làm cho chip cần tiêu thụ nhiều năng lượng hơn cũng như chip sẽ dễ bị nóng hơn. Như vậy nếu như ứng dụng cần tiêu thụ ít năng lượng thì người ta sẽ chọn RISC. Và có lẽ một phần nguyên nhân là do mạch của nó ñơn giản hơn nên RISC như PIC chẳng hạn ñược mọi người ñánh giá là loại MC chống nhiễu tốt nhất trong dòng 8 bit. Tất nhiên Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 6 RISC cũng có ñiều không tốt, như ñể thực hiện một phép tính toán có thể phức tạp hơn một chút như lệnh nhân 2 số 8 bit hay chia số 16 bit cho 8 bit chẳng hạn thì cần viết các hàm cần một chút thủ thuật tính toán (ðó là nếu viết trực tiếp bằng ngôn ngữ Assembly còn nếu viết bằng các ngôn ngữ cấp cao như C thì sẽ không cần). Khi ñã xây dựng một trình dịch bằng ngôn ngữ C chẳng hạn thì những việc khó khăn về thuật toán hoàn toàn do trình biên dịch (compiler) xử lý nghĩa là nếu xét về mặt tốn công sức lập trình về các thuật toán thì RISC cũng xem không tốn công hơn so với CISC. Có thể hình dung chuyển từ CISC sang RISC là quá trình chuyển sự phức tạp từ phần cứng sang sự phức tạp về phần mềm. Trái lại CISC lại có số lượng các thanh ghi cũng như bộ nhớ ít hơn cần có ít hơn RISC vì: ðể thao tác một chức năng nào ñó CISC cần thao tác với số thanh ghi nhỏ hơn RISC. Ngoài ra bộ nhớ chương trình cũng giảm hơn rất nhiều. Tưởng tượng nếu RISC cần thực hiện 1 phép toán nào ñó mà cần 5 lệnh chẳng hạn. Thay vì ñó trong máy tính CISC người ta thiết kế một bộ giải mã lệnh ñể giải mã lệnh thay cho cả 5 lệnh này, như vậy rõ ràng trong máy tính CISC cần có thêm 1 bộ giải mã lệnh nhưng mã nguồn lưu trữ trong chương trình lại giảm ñi ñược 1/5. Gần ñây lại xuất hiện xu hướng ngược lại là chuyển từ phần mềm về phần cứng và có lẽ sự lựa chọn tốt nhất trong tương lai sẽ là trung gian giữa hai loại ñể trung hoà các ñặc tính của cả RISC lẫn CISC. Chính vì là RISC nên các lệnh của PIC ñã ñược tối giản hoá, tất cả các lệnh trừ các lệnh thay ñổi con trỏ chương trình(Program Counter - PC) ñều tốn 1 chu kỳ máy ( các lệnh thay ñổi PC tốn 2 chu kỳ máy). ðiều này là khác với CISC có thể có những lệnh tốn nhiều chu kỳ máy vì thực ra bản thân lệnh của CISC ñó cũng có thể coi là bao gồm nhiều lệnh của RISC vậy. PIC là MC mang cấu trúc Havard là cấu trúc có các ñường bus dữ liệu và bus chương trình riêng lẻ. ðiều này làm cho chương trình có thể ñược thực hiện ñồng thời các thao tác giải mã thực hiện lệnh với các thao tác ñọc dữ liệu cùng lúc. ðiều này khác với cấu trúc Von Neumann có 2 ñường bus này chung do ñó cùng lúc chỉ thực hiện 1 công việc. (Vẽ sơ ñồ tìm nạp) . ðây là nguyên nhân làm cho cấu trúc Von neumann thực hiện 1 lệnh lâu hơn máy mang cấu trúc Harvard. Tất nhiên người ta chỉ thấy ñược cái lợi của cấu trúc Harvard khi mà công nghệ sản xuất chip ñã ñược phát triển lên. Cũng cần phải nhớ là MC ñã ñược phát triển từ những dòng ñời trước rồi và sau này nó có thêm các chức năng khác vào vậy một câu hỏi ñược ñặt ra là nếu không có các chức năng phần cứng này thì trước ñây người ta sẽ làm Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 7 thế nào ñể thực hiện các chức năng cần thiết? Thực tế người ta vẫn làm ñược các công việc ñó nhưng là bằng phần mềm. Người viết mã sẽ phải thực hiện các chức năng ñó bằng một số phương pháp nào ñấy. Còn khi tích hợp sẵn vào trong phần cứng rồi thì việc thực hiện sẽ ñơn giản hơn trước ñây. ðiều này có vẻ như lại ñi ngược với khuynh hướng ñã nêu ở trên ñối với các bộ giải mã lệnh. Quá trình giải mã lệnh chuyển từ phức tạp phần cứng sang phức tạp phần mềm. Còn quá trình thực hiện các chức năng khác lại chuyển từ phức tạp phần mềm sang phần cứng. Hai quá trình này không có gì mâu thuẫn với nhau mà ngược lại nó là một sự bổ sung cho nhau. Có thể sau này ta sẽ thấy rõ hơn ñiều này nhưng ở ñây xin ñược nói sơ qua nguyên nhân. Quá trình giải mã lệnh nếu như dùng trong RISC thì sự phức tạp phần mềm ở ñây ngoài các giải thuật (là ñiều không ñáng ngại vì qua thời gian các giải thuật này sẽ ñược tích luỹ dần dần cũng như xây dựng ñược các compiler ngôn ngữ cấp trung và cấp cao như C, Pascal) là khó khăn ra thì các phép tính cần những thứ trung gian thực hiện lúc này là bộ nhớ chính xác hơn là các thanh ghi (càng ngày càng rẻ và dễ chế tạo). Còn ở quá trình thực hiện các chức năng khác thì nếu không có phần cứng thêm vào thì các phần cứng hiện thời ñược sử dụng sẽ mất công vào việc này mà sẽ không thực hiện ñược việc khác. Chúng ta sẽ thấy rõ ñiều này hơn ở sau. PIC16F877 có ñặc ñiểm phần cứng và các chức năng: - 368 bytes bộ nhớ dữ liệu RAM. 8K Words bộ nhớ chương trình FLASH (trong ñó mỗi word của dòng mid-range là 14bit), 256 bytes EEPROM - Có 3 bộ ñịnh thời Timer0, Timer1, Timer2 - Có khả năng xử lý ngắt từ nhiều nguồn ngắt khác nhau như ngắt ngoài, ngắt tràn Timer, ngắt ngoại vi như ngắt ADC…. - Chức năng CCP gồm Comparator (Bộ so sánh), Capture và PWM (ðiều biến ñộ rộng xung) - Chức năng giao tiếp ñồng bộ nối tiếp SSP (Synchnorous Serial Port) bao gồm 2 giao tiếp SPI và giao tiếp I2C - Chức năng bộ truyền/phát không ñồng bộ ña năng nối tiếp USART (Universal Serial Asynchnorous Receiver/Transmitter) ở dạng mô ñun phần cứng phục vụ cho giao tiếp theo chuẩn RS- 232, do ñó ta không cần quan tâm ñến các thao tác cấp thấp khi sử dụng RS-232. ðây là chức năng hữu ích trong việc giao tiếp với PC của MC Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 8 - Bộ chuyển ñổi ADC 10 bit chuyển ñổi tín hiệu tương tự thành tín hiệu số 10 bit. Nguồn ñiện áp tham chiếu có thể chọn từ nguồn ngoài hoặc từ nguồn Vdd và Vss cấp cho PIC - Chức năng giao tiếp song song PSP (Parralel Slave Port) - Chức năng Watchdog Timer 1. Tổ chức bộ nhớ 2. Giao tiếp vào ra I/O 3. Sử dụng Timer 4. Ngắt 5. Sử dụng EEPROM và FLASH ñể lưu tham số 6. Môñun CCP (Capture/Compare/PWM) 7. Bộ biến ñổi tương tự - số ADC 10bit, 8bit 8. Giao tiếp không ñồng bộ với máy tính qua chuẩn RS-232 bằng USART 9. Các giao tiếp nối tiếp ñồng bộ SPI và I2C 10. Tóm gọn về tập lệnh ðể có thể có cách ñọc dễ hiểu, trong quá trình giới thiệu chi tiết các chức năng tích hợp trong chip, ta sẽ giới thiệu luôn các lệnh cần thiết tương ứng cần dùng. 3.Tổ chức bộ nhớ của PIC 16F877 3.1.Tổ chức bộ nhớ chương trình Nhìn vào sơ ñồ bên ta có thể hình dung về bộ nhớ chương trình của PIC:Bộ nhớ chương trình có 8KWords (1 word = 14 bits) ñược phân thành 4 trang có ñịa chỉ như bên. Cần nhớ với con trỏ chương trình PC là 13 bit thì kích cỡ ñịa chỉ tối ña ñánh ñược là 2 13 = 8K do ñó ta có thể thấy với dòng mid-range thì kích thước bộ nhớ chương trình PIC16F877 ñã là tối ña có thể ñạt ñược ñến, với những loại kém hơn trong mid-range thì bộ nhớ ít hơn do ñó khi PC tăng vượt quá giá trị bộ nhớ của nó sẽ xảy ra hiện tượng quay vòng trở lại phần ñầu của bộ nhớ chương trình Có 8 stack. Stack là nơi ta lưu PC lúc cần phục vụ cho các thao tác ngắt cũng như chương trình con. Chỉ có 8 mức stack ñiều ñó có nghĩa là nếu có 9 lần ñẩy vào stack thì lần ñầu tiên sẽ bị mất ñịa chỉ trở về và chương trình sẽ bị chạy sai. PIC không có cờ ngắt báo xảy ra tràn stack. 3.2.Bộ nhớ dữ liệu PIC là loại chip có bộ xử lý chỉ quản lý một không gian ñịa chỉ duy nhất, gọi là không gian ñịa chỉ bộ nhớ. Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 9 Bộ nhớ dữ liệu phân thành 4 banks như hình bên phân thành hai vùng là vùng các thanh ghi trạng thái và ñiều khiển, vùng 2 là vùng các thanh ghi ña mục ñích. Nếu muốn thực hiện một chức năng nào ñó thông thường ta cần thao tác với các thanh ghi ñiều khiển ñể thiết lập một số cài ñặt cần thiết, còn vùng các thanh ghi ña mục ñích GPR (General Purpose Register) thường ñể lưu các biến trung gian phục vụ cho các thao tác tính toán. Microchip xem vùng không gian nhớ RAM như là các thanh ghi mặc dù chức năng của nó thực sự không phải như các thanh ghi, nó chỉ dùng ñể chứ dữ liệu. Nếu muốn thao tác với thanh ghi nào trước tiên ta phải xem nó thuộc bank nào trong 4 bank sau ñó ta phải chuyển ñến bank ñó bằng cách thao tác với 2 bít RP1 và RP0 của thanh ghi trạng thái STATUS như bảng dưới với các lệnh BCF STATUS, RP1 BSF STATUS, RP0 sẽ chuyển về bank 1. Các tên STATUS, RP1, RP0 khi dịch ra không có ý nghĩa gì với PIC mà nó chỉ là các tên ñịnh danh ñã ñược khai báo trong tệp tiêu ñề (mà ta sẽ phải include ở ñầu chương trình) của MPASM (Trình biên dịch assembler) tương ứng với giá trị ñịa chỉ của thanh ghi ñó, cũng có thể chuyển các bank bằng cách sử dụng macro ñã ñược trình biên dịch hợp ngữ BANKSEL. Nếu ta viết BCF 0x03, 6 BSF 0x03, 5 Thì cũng hoàn toàn tương ñương với lệnh trên (lúc này không cần thiết include nữa) 3.3.Một số thanh ghi quan trọng a) Thanh ghi trạng thái Cũng giống như tất cả các bộ vi xử lý khác, ở ñây ta có thanh ghi trạng thái STATUS tại các ñịa chỉ 03h, 83h,103h, 183h nằm ở cả 4 bank. Thanh ghi trạng thái có ñịa chỉ tại 4 bank ñể ta có thể tiện trong quá trình thao tác, hơn nữa ngay bản thân các bit xác ñịnh vị trí bank cũng nằm trong thanh ghi trạng thái IRP: Bit lựa chọn bank ñược dùng trong chế ñộ truy nhập ñịa chỉ gián tiếp Microcontroller Training Center DKS GROUP http://www.dks.edu.vn 10 RP1:RP0 Bit lựa chọn bank ñược dùng trong chế ñộ truy nhập ñịa chỉ trực tiếp TO : Bit Time-out 1 = Sau khi bật nguồn hoặc lệnh CLRWDT, hoặc lệnh SLEEP 0 = 1 time-out của WDT xảy ra (WDT = watch dog timer) PD : Bit Power-down 1 = Sau khi bật nguồn hoặc lệnh CLRWDT 0 = Sự thực hiện lệnh SLEEP Z : Cờ trạng thái zero 1 = Thao tác logic hoặc số học bằng 0 0 = khác 0 DC : Bit carry/borrow chữ số 1 = carry từ 4 bit thấp 0 = không carry từ 4 bit thấp C : Carry/borrow 1 = carry từ bit MSb 0 = không carry từ bit MSb b)Thanh ghi trạng thái OPTION Nó chức các bit ñiều khiển ñể cấu hình RBPU : Bit enable ñiện trở kéo lên ở PORTB INTEDG : Bit xác ñịnh cạnh lên của ngắt ngoài tại chân RB0/INT T0CS : Bit lựa chọn nguồn clock của timer0 T0SE : PSA: Bit gán tỷ lệ Prescaler 1 = Gán cho WDT 0 = Gán cho môñun Timer0 PS2:PS0 Bit lựa chọn tỷ lệ gán c)Thanh ghi INTCON(Thanh ghi ñiều khiển ngắt chung) GIE : Bit enable tất cả các nguồn ngắt, nếu muốn disable tất cả các nguồn ngắt chỉ cần disable nguồn ngắt này, còn nếu enable 1 nguồn ngắt nào ñó thì enable bit này sẽ là lệnh cuối cùng PEIE: Bit enable các ngắt ngoại vi TMR0IE: Bit enable ngắt trnà của timer0 INTE: Bit enable ngắt ngoài trên chân RB0/INT RBIE: Bit enable ngắt thay ñổi trên cổng PORTB TMR0IF: Bit cờ báo ngắt của timer0 [...]... c l p trình C m nh cho Vi ñi u khi n PIC Nh ng ưu và như c ñi m c a CCS s ñư c ñ c p ñ n trong các ph n dư i ñây 4.3.2.Gi i thi u v CCS CCS là trình biên d ch l p trình ngôn ng C cho Vi ñi u khi n PIC c a hãng Microchip.Chương trình là s tích h p c a 3 trình biên d ch riêng bi t cho 3 dòng PIC khác nhau ñó là: - PCB cho dòng PIC 12-bit opcodes - PCM cho dòng PIC 14-bit opcodes - PCH cho dòng PIC 16... ? S ra ñ i c a m t lo i vi ñi u khi n ñi kèm v i vi c phát tri n ph n m m ng d ng cho vi c l p trình cho con vi ñi u khi n ñó Vi ñi u khi n ch hi u và làm vi c v i hai con s 0 và 1 Ban ñ u ñ vi c l p trình cho VðK là làm vi c v i dãy các con s 0 và 1 Sau này khi ki n trúc c a Vi ñi u khi n ngày càng ph c t p, s lu ng thanh ghi l nh nhi u lên, vi c l p trình v i dãy các s 0 và 1 không còn phù h p n a,... ngư i l p trình mu n di n ñ t.V i m c ñích ñưa ra m t form tài li u chu n cho vi c l p trình b ng CCS, qua tham kh o b n m u cho l p trình b ng ASM c a anh Falleaf trên di n ñàn WWW.PICVIETNAM.COM Tôi ñưa ra ñây m t form tài li u cho vi c vi t l p trình b ng CCS ði kèm văn b n này còn có các files ngu n cho văn b n m u, bao g m files cho PIC1 6F877A, 16F876A, 16F88 V sau khi l p trình b n ch vi c copy... T t c 3 trình biên d ch này ñu c tích h p l i vào trong m t chương trình bao g m c trình so n th o và biên d ch là CCS, phiên b n m i nh t là PCWH Compiler Ver 3.227.Gi ng như nhi u trình biên d ch C khác cho PIC, CCS giúp cho ngư i s d ng n m b t nhanh ñư c vi ñi u khi n PIC và s d ng PIC trong các d án Các chương trình ñi u khi n s ñư c th c hi n nhanh chóng và ñ t hi u qu cao thông qua vi c s d... cho PIC b n chi vi c tham kh o qua PIC Wizard , xem code và copy ñưa vào Project DKS GROUP 25 http://www.dks.edu.vn Microcontroller Training Center Mô t n i dung chương trình - #include 16f877a.h : ði kèm chương trình d ch, ch a khai báo v các thanh ghi trong m i con PIC, dùng cho vi c c u hình cho PIC - #include def_877a.h: Files do ngư i l p trình t o ra, ch a khai báo v các thanh ghi trong PIC giúp... ngôn ng l p trình C HTPIC thư ng ñư c tích h p trong môi trư ng MPLAB-IDE ñ so n th o chương trình -MPLAB IDE DKS GROUP 12 http://www.dks.edu.vn Microcontroller Training Center Hình 2.3.Giao di n ph n m m MPLAB IDE Giáo trình này s ch y u hư ng d n các b n l p trình PIC b ng ngôn ng C S d ng ph n m m CCS phiên b n 3 4.3.Gi i thi u ph n m m CCS 4.3.1.Vì sao ta s d ng CCS ? S ra ñ i c a m t lo i vi ñi u... trình cho PIC (vi t b ng ngôn ng C).Ph n m m CCS có b thư vi n hàm r t phong phú ,h tr ñ y ñ các tính năng như giao ti p RS-232 ,LCD ,ch c năng I/O, Timer ,thu n ti n ñ làm các ng d ng l n.Hi n nay CCS ñã có phiên b n 4 ñư c c p nh t b thư vi n hàm m i DKS GROUP 11 http://www.dks.edu.vn Microcontroller Training Center Hình 2.2.Giao di n ph n m m CCS -HT -PIC HT -PIC là ph n m m biên d ch cho PIC s d ng... Khi l p trình và biên d ch, CCS s t o ra r t nhi u files khác nhau, do ñó n u ñ chung các Project trong m t thư m c s DKS GROUP 14 http://www.dks.edu.vn Microcontroller Training Center r t m t th i gian trong vi c tìm ki m sau này ðây cũng là quy t c chung khi ta làm vi c v i b t kỳ ph n m m nào, thi t k m ch hay l p trình. Vi c ñ u tiên b n c n làm là kh i ñ ng máy tính và b t chương trình PIC C Compiler... Tab General cho phép ta l a ch n lo i PIC mà ta s d ng và m t s l a ch n khác như ch n t n s th ch anh dao ñ ng, thi t l p các bit CONFIG nh m thi t l p ch ñ ho t ñ ng cho PIC DKS GROUP 16 http://www.dks.edu.vn Microcontroller Training Center -Device: Li t kê danh sách các lo i PIC 12F, 16F, 18F… Ta s ch n tên Vi ñi u khi n PIC mà ta s d ng trong d án L y ví d ch n PIC1 6F877A -Oscilator Frequency: T n... Và ngôn ng l p trình Assembly ñây ta không nói nhi u ñ n Assmebly Sau này khi ngôn ng C ra ñ i, nhu c u dùng ngôn ng C ñ thay cho ASM trong vi c mô t các l nh l p trình cho Vi ñi u khi n m t cách ng n g n và DKS GROUP 13 http://www.dks.edu.vn Microcontroller Training Center d hi u hơn ñã d n ñ n s ra ñ i c a nhi u chương trình so n th o và biên d ch C cho Vi ñi u khi n : Keil C, HT -PIC, MikroC,CCS… . loại vi ñiều khiển ñi kèm với vi c phát triển phần mềm ứng dụng cho vi c lập trình cho con vi ñiều khiển ñó. Vi ñiều khiển chỉ hiểu và làm vi c với hai con số 0 và 1. Ban ñầu ñể vi c lập trình. Bài 1.Giới thiệu vi ñiều khiển PIC 4 1.Giới thiệu các loại chip PIC 4 2. Giới thiệu vi ñiều khiển PIC1 6F877 5 3.Tổ chức bộ nhớ PIC1 6F877 8 3.1.Tổ chức bộ nhớ chương trình 8 3.2.Bộ. là trình biên dịch lập trình ngôn ngữ C cho Vi ñiều khiển PIC của hãng Microchip.Chương trình là sự tích hợp của 3 trình biên dịch riêng biệt cho 3 dòng PIC khác nhau ñó là: - PCB cho dòng PIC

Ngày đăng: 04/07/2014, 00:20

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan