1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

CHƯƠNG II TỔNG QUAN về VI điều KHIỂN PIC

22 658 6

Đ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 22
Dung lượng 817,19 KB

Nội dung

[Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 2.1 Vi điều khiển Pic 2.1.1 Sơ lược Pic PIC họ vi điều khiển RISC sản xuất công ty Microchip Technology Dòng PIC PIC1650 phát triển Microelectronics Division thuộc General_Instrument PIC bắt nguồn từ chữ viết tắt “Programmable Intelligent Computer” (Máy tính khả trình thông minh) sản phẩm hãng General Instruments đặt cho dòng sản phẩm họ PIC1650 Lúc này, PIC 1650 dùng để giao tiếp với thiết bị ngoại vi cho máy chủ 16 bit CP1600, vậy, người ta gọi PIC với tên “Peripheral Interface Controller” (Bộ điều khiển giao tiếp ngoại vi) CP1600 CPU tốt, lại hoạt động xuất nhập, PIC 8-bit phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600 PIC sử dụng microcode đơn giản đặt ROM, mặc dù, cụm từ RISC chưa sử dụng thời giờ, PIC thực vi điều khiển với kiến trúc RISC, chạy lệnh chu kỳ máy (4 chu kỳ dao động) Năm 1985 General Instruments bán phận vi điện tử họ, chủ sở hữu hủy bỏ hầu hết dự án – lúc lỗi thời Tuy nhiên, PIC bổ sung EPROM để tạo thành điều khiển vào khả trình Ngày nhiều dòng PIC xuất xưởng với hàng loạt module ngoại vi tích hợp sẵn (như USART, PWM, ADC…), với nhớ chương trình từ 512 Word đến 32K Word 2.1.2 PIC 16F877A PIC 16F877A dòng PIC phổ biến (đủ mạnh tính năng, 40 chân, nhớ đủ cho hầu hết ứng dụng thông thường) Cấu trúc tổng quát PIC 16F877A sau: - K Flash ROM - 368 Bytes RAM - 256 Bytes EEPROM - ports (A, B, C, D, E) vào với tín hiệu điều khiển độc lập - định thời bits (Timer Timer 2) - Một định thời 16 bits (Timer 1) hoạt động chế độ tiết kiệm lượng (SLEEP MODE) với nguồn xung Clock - bô CCP( Capture / Compare/ PWM) - biến đổi AD 10 bits, ngõ vào - so sánh tương tự (Compartor) - định thời giám sát (WatchDog Timer) - Một cổng song song bits với tín hiệu điều khiển - Một cổng nối tiếp - 15 nguồn ngắt - Có chế độ tiết kiệm lượng - Nạp chương trình cổng nối tiếp ICSP(In-Circuit Serial Programming) Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC - Được chế tạo công nghệ CMOS - 35 tập lệnh có độ dài 14 bits - Tần số hoạt động tối đa 20MHz 2.1.2.1 Sơ đồ chân : Hình 2.1.2.1: Sơ đồ chân Pic PIC16F877A họ vi điều khiển có 40 chân, chân có chức khác nhau.Trong có số chân đa công dụng: chân hoạt động đường xuất nhập chân chức đặc biệt dùng để giao tiếp với thiết bị ngoại vi.(chi tiết xem phần phụ lục) 2.1.2.2 Sơ đồ khối Pic: Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.1.2.2: Sơ đồ khối Pic 2.1.3 Một số đặc điểm đặc biệt P16F877A 2.1.3.1 Dao động PIC16F877A hoạt động bốn chế độ dao động khác nhau: LP,XT,HS,RC Trong chế độ LP, XT HS sử dụng thạch anh dao động nối vào chân OSC1 OSC2 để tạo dao động Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.1.3.1:Sơ đồ mạch dao động Việc lựa chọn tụ dao động thạch anh dựa vào bảng sau: Bảng 1: Cách chọn giá trị tụ cho thạch anh Lưu ý: Tụ có giá trị lớn tăng tính ổn định dao động làm tăng thời gian khởi động Chế độ dao động RC sử dụng giải pháp tiết kiệm ứng dụng không cần xác thời gian Hình 2.1.3.1:Dao động RC 2.1.3.2Reset PIC16F877A có lọc nhiễu phần MCLR Bộ lọc nhiễu phát bỏ qua tín hiệu nhiễu Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Ngõ vào MCLR chân PIC16F877A Khi đưa chân xuống thấp ghi bên VĐK tải giá trị thích hợp để khởi động lại hệ thống (Lưu ý: Reset WDT không làm chân MCLR xuống mức thấp) Hình 2.1.3.2: Sơ đồ chân Reset 2.1.3.3 Interupt PIC16F877A có nhiều nguồn ngắt khác Đây số ngắt tiêu biểu : - Ngắt xảy chân INT - Ngắt Timer0 - Ngắt Timer1 - Ngắt Timer2 - Ngắt thay đổi trạng thái chân PortB - Ngắt so sánh điện - Ngắt Port song song - Ngắt USART - Ngắt nhận liệu - Ngắt truyền liệu - Ngắt chuyển đổi ADC - Ngắt hình LCD - Ngắt hoàn tất ghi EEPROM - Ngắt module CCP - Ngắt Module SSP Hình 2.1.3.3: Sơ đồ ngắt 2.1.3.4 Sleep Đây chế độ hoạt động VĐK lệnh sleep thực thi Khi cho phép hoạt động, đếm WDT bị xóa WDT tiếp tục hoạt động bit PD (STATUS ) reset không, bit TO Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC set, oscillator ngưng hoạt động PORT giữ nguyên trạng thái trước lệnh sleep thực thi Do chế độ sleep dòng cung cấp cho VĐK nhỏ nên ta cần thực bước sau trước VĐK thực thi lệnh sleep • Đưa tất chân trạng thái VDD VSS • Cần đảm bảo mạch ngoại vi điều khiển dòng điện VĐK dòng điện nhỏ không đủ khả cung cấp cho mạch ngoại vi hoạt động • Tạm ngưng hoạt động khối A/D không cho phép xung clock bên tác dụng vào VĐK • Để ý chức điện trở kéo lên PORTB • Pin MCLR phải mức logic cao 2.1.3.5 Watch dog Timer (WDT) Bên Pic có mạch RC, mạch cung cấp xung Clock độc lập với xung Clock cung cấp cho Pic Khi Watchdog Timer (viết tắt WDT) cho phép (enabled), đếm 00 tăng lên FFh, tăng từ FFh đến 00 ( FFh+1) Pic bị Reset làm gì, có cách ngăn không cho WDT đếm tới 00 Khi Pic bị kẹt thoát khỏi tình trạng WDT tiếp tục đếm mà không bị điều ngăn cấm đếm tới FF đến FF+1, reset Pic làm cho chương trình phải khởi động lại từ đầu Để sử dụng WDT cần làm việc • Thứ nhất, cần thời gian để reset WDT ? • Thứ hai, xoá WDT ? • Cuối cùng, phải nói cho Pic biết chương trình cho phép WDT hoạt động Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.1.3.5: Sơ đồ WDT 2.1.4 Bộ nhớ Pic16F877A Bộ nhớ Pic 16f877a bao gồm nhớ chương trình nhớ liệu 2.1.4.1 Bộ nhớ chương trình Bộ nhớ chương trình Pic16F877A nhớ Flash, dung lượng nhớ 8K word chia thành trang Để mã hóa địa 8K word nhớ chương trình,bộ đếm chương trình có dung lượng 13bit Khi Reset đếm chương trình trở địa 00H có ngắt đếm chương trình đến địa 04H Hình 2.1.4.1: Bộ nhớ chương trình Pic 2.1.4.2 Bộ nhớ liệu Bộ nhớ liệu Pic nhớ EEPROM chia làm bank Mỗi bank có dung lượng 128 byte bao gồm ghi đặc biệt ghi mục đích chung Hình 2.1.4.2: Bộ nhớ liệu Pic 2.1.4.2.1 Vùng Ram mục đích chung Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Vùng RAM đa mục đích có chiều rộng bit truy nhập trực tiếp gián tiếp thông qua ghi FSR Vùng RAM đa mục đích phân phối Bank sau: - Bank 0: 96 Bytes từ địa 20h đến địa 7Fh - Bank 1: 80 Bytes từ địa A0h đến địa EFh - Bank 2: 96 Bytes từ địa 110h đến địa 16Fh - Bank 3: 96 Bytes từ địa 190h đến địa 1EFh 2.1.4.2.2 Vùng ghi chức Các ghi chức đặc biệt sử dụng xử lý trung tâm CPU module ngoại vi để điều khiển hoạt động VĐK Các ghi chức đặc biệt chia làm loại: loại thứ dùng cho chức CPU, loại thứ dùng cho chức ngoại vi 2.1.4.3 Bộ đếm chương trình Bộ đếm chương trình PC (program counter) có độ dài 13 bit, dùng để chứa địa lệnh thực thi Byte thấp chứa ghi PCL đọc/ghi cách trực tiếp Các bit cao (bit 12:8) chứa ghi PCLATH, đọc ghi gián tiếp cách sử dụng ghi PCLATH Khi có Reset xảy ra, bit cao đếm chương trình PC bị xóa Xem thêm hai dụ sau để hiểu thêm hoạt động đếm chương trình PC Hình 2.1.4.3: Sơ đồ đếm chương trình 2.1.4.4 Bộ nhớ Stack Stack cho phép lệnh gọi chương trình ngắt hoạt động Stack chứa địa mà chương trình quay thực từ sau chương trình hay ngắt Đối với PIC16F877A Stack có độ sâu lớp Stack không nằm nhớ chương trình lẫn nhớ liệu 2.2 Các khối chức Pic16F877A 2.2.1 Các cổng xuất nhập Pic16F877A Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 2.2.1.1 PORTA ghi TrisA PORTA có độ rộng bit , port vào hai chiều Thanh ghi liệu trực tiếp tương ứng TRISA Cho tất bit TRISA chân tương ứng PORTA ngõ vào Cho tất bit TRISA chân tương ứng PORTA ngõ Việc đọc ghi PORTA đọc trạng thái chân , ngược lại việc ghi lên ghi qua port chốt Tất hoạt động ghi hoạt động đọc-điều chỉnh-ghi Bởi , liệu ghi đến port có nghĩa chân port đọc , giá trị chỉnh sửa ghi vào port chốt liệu Chân RA4 đa hợp với xung clock ngõ vào Timer0 thành chân RA4/T0CKI Chân RA4/T0CKI ngõ vào có Trigger Schmitt ngõ có dạng thoát mở Tất chân khác PORTA có ngõ vào TTL có ngõ điều khiển CMOS Những chân khác PORTA đa hợp với ngõ vào tương tự ngõ vào tương tự VREF Hoạt động chân chọn cách xoá đặt bit điều khiển ghi ADCON1 ( A/D Control Register1 ) Thanh ghi TRISA điều khiển hướng chân RA , chúng sử dụng ngõ vào tương tự Người sử dụng cần phải bit ghi TRISA luôn đặt sử dụng chúng ngõ vào tương tự Hình 2.2.1.1: PortA ghi TrisA Các ghi SFR liên quan đến PortA Trường CĐKT Cao Thắng Trang [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC PortA (05H): chứa giá trị Pin PortA TrisA (85H): Điều khiển xuất nhập CMCON (9CH): ghi điều khiển so sánh CVRCON (9DH): ghi điều khiển so sánh điện áp ADCON1 (9FH): ghi điều khiển ADC 2.2.1.2 PortB ghi TrisB PORTB có độ rộng bit , port vào hai chiều Ba chân PORTB đa hợp với chức lập trình mức điện thấp (Low Voltage Programming ) : RB3/PGM , RB6/PGC RB7/PGD Mỗi chân PORTB có điện trở kéo lên yếu bên Một bit điều khiển đơn mở tất điện trở kéo lên Điều thực cách xóa bit RBPU (OPTION_REG) Những điện trở kéo lên tự động tắt chân port cấu ngõ Các điện trở bị cấm có Power-on Reset Bốn chân PORTB , RB7:RB4 ,có ngắt để thay đổi đặc tính Chỉ chân cấu ngõ vào gây ngắt Những chân vào ( RB7:RB4 ) so sánh với giá trị chốt trước lần đọc cuối PORTB Các kết không phù hợp ngõ chân RB7: RB4 OR với để phát ngắt Port Change RB với cờ ngắt RBIF ( INTCON ) Ngắt đánh thức thiết bị từ trạng thái nghĩ ( SLEEP ) Trong thủ tục phục vụ ngắt , người sử dụng xóa ngắt theo cách sau:  Đọc ghi lên PORTB Điều kết thúc điều kiện không hòa hợp  Xóa bit cờ RBIF Trường CĐKT Cao Thắng Trang 10 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.2.1.2: PortB ghi TrisB Các ghi SFR liên quan đến PortB: PortB (06H,106H):chứa giá trị Pin PortB TrisB (86H,186H): điều khiển xuất nhập Option_reg (81H,181H):điều khiển ngắt ngoại vi 2.2.1.3 PortC ghi TrisC PORTC có độ rộng bit , port hai chiều Thanh ghi liệu trực tiếp tương ứng TRISC Cho tất bit TRISC chân tương ứng PORTC ngõ vào Cho tất bit TRISC chân tương ứng PORTC ngõ PORTC đa hợp với vài chức ngoại vi , chân PORTC có đệm Trigger Schmitt ngõ vào Khi I2C cho phép , chân PORTC cấu hình với mức I2C bình thường , với mức SMBus cách sử dụng bit CKE (SSPSTAT) Khi chức ngoại vi cho phép , cần phải quan tâm đến việc định nghĩa bit TRIS cho chân PORTC Một vài thiết bị ngoại vi ghi đè lên bit TRIS để tạo nên chân ngõ , thiết bị ngoại vi khác ghi đè lên bit TRIS tạo nên chân ngõ vào Khi bit TRIS ghi đè bị tác động thiết bị ngoại vi cho phép ,những lệnh đọc-thay thế-ghi ( BSF , BCF , XORWF ) với TRISC nơi đến cần phải tránh Người sử dụng cần phải vùng ngoại vi tương ứng để đảm bảo cho việc đặt TRIS bit Trường CĐKT Cao Thắng Trang 11 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.2.1.3: PortC ghi TrisC Các ghi SFR liên quan đến PortC: PortC (07H): chứa giá trị Pin PortC TrisC (87H): điều khiển xuất nhập 2.2.1.4 PortD ghi TrisD PORTD TRISD PIC16F873 PIC16F876 PORTD port bit với đệm Trigger Schmitt ngõ vào Mỗi chân cấu hình riêng lẻ ngõ vào ngõ ra.PORTD cấu port vi xử lý rộng bit ( parallel slave port ) cách đặt bit điều khiển PSPMIDE ( TRISE ) Trường CĐKT Cao Thắng Trang 12 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.2.1.4: Thanh ghi TrisD Các ghi SFR liên quan đến PortD PortD (08H): chứa giá trị Pin PortD TrisD (88H): điều khiển xuất nhập 2.2.1.5 PortE Thanh Ghi TrisE PORTE TRISE PIC16F873 PIC16F876 PORTE có ba chân (RE0/RD/AN5 , RE1/WR/AN6 , RE2/CS/AN7 ) chân cấu hình riêng lẻ ngõ vào ngõ Những chân có đệm Trigger Schmitt ngõ vào Những chân PORTE đóng vai trò ngõ vào điều khiển vào cho port vi xử lý bit PSPMODE ( TRISE ) set Trong chế độ ,người sử dụng cần phải bit TRISE set , chân cấu ngõ vào số Cũng bảo đảm ADCON1 cấu hình cho vào số Trong chế độ , đệm ngõ vào TTL Những chân PORTE đa hợp với ngõ vào tương tự Khi chọn cho ngõ vào tương tự , chân đọc giá trị ‘0’ TRISE điều khiển hướng chân RE chân sử dụng ngõ vào tương tự Người sử dụng cần phải giữ chân cấu ngõ vào sử dụng chúng ngõ vào tương tự Trường CĐKT Cao Thắng Trang 13 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 2.2.2 Hình 2.2.1.5: Thanh ghi TrisE Các ghi SFR liên quan đến PortE: PortE (09H): chứa giá trị Pin PortE TrisE (89H): điều khiển xuất nhập xác lập thông số cho chuẩn giao tiếp PSP ADCON1 (9FH): Thanh ghi điều khiển khối ADC Bộ định thời Timer0 Module Timer định thời/ đếm bit, có khả đọc ghi , có tiền định tỉ lệ (Prescaler) bit lập trình được, có bit lựa chọn nguồn xung clock ngoài, có ngắt Timer tràn, có bit lựa chọn cạnh tác động xung clock Trường CĐKT Cao Thắng Trang 14 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 2.2.3 Hình 2.2.2: Sơ đồ khối Timer0 Chế độ định thời chọn cách xóa bit T0CS (OPTION_REG ) Trong chế độ ghi TMR0 tăng lên sau chu kì (prescaler tác dụng tỉ lệ :1) Nếu ghi TMR0 ghi giá trị mới, giá trị ghi không tăng chu kỳ lệnh kế tiếp.Vì để khắc phục tượng hiệu chỉnh giá trị nhập vào ghi TMR0 Chế độ đếm lựa chọn cách set bit T0CS (OPTION_REG ) Trong chế độ đếm, ghi TMR0 tăng lên có cạnh lên cạnh xuống xuất chân T0CKL ( cạnh lên cạnh xuống lựa chọn bit T0SE (OPTION_REG , xóa bit T0SE lựa chọn cạnh lên) Khi tiền định tỉ lệ không sử dụng, ngõ vào xung clock ngoại giống ngõ tiền định tỉ lệ Nguồn xung clock ngoại đồng với xung clock nội cách: lấy mẫu chu kỳ Q2 Q4 xung clock nội Do đó, T0CKI phải mức cao Tosc mức thấp Tosc Bộ định thời Timer1 Timer định thời/ đếm 16 bit bao gồm hai ghi bit (TMR1H TMR1L), có khả đọc ghi Cặp ghi TMR1H TMR1L tăng từ 0000h lên FFFFh sau tràn 0000h Nếu cho phép (bit TMR1IE set), ngắt xảy giá trị TMR1 tràn từ FFFFh 0000h, lúc cờ ngắt TMR1IF bật lên Trường CĐKT Cao Thắng Trang 15 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.2.3: Sơ đồ khối Timer1 Chế độ định thời lựa chọn cách xóa bit TMR1CS (T1CON) Trong chế độ này, xung clock cung cấp cho Timer Fosc/4, bit đồng T1SYNC (T1CON) tác dụng xung clock nội luôn đồng Chế độ đếm :Timer hoạt động chế độ đồng bất đồng tùy thuộc vào việc cài đặt bit TMR1CS (T1CON) Đếm đồng : Chế độ lựa chọn cách set bit TMR1CS xóa bit T1SYNC Trong chế độ giá trị Timer tăng có xung cạnh lên chân T1OSI/RC1 ( bit T1OSCEN set) chên trân T1OSO (nếu bit T1OSCEN xóa) Xung clock ngoại đồng với xung clock nội, hoạt động đồng thực sau tiền định tỉ lệ xung (prescaler) Trong chế độ ngủ hoạt động đồng bị tắt cho dù có xung clock Timer không tăng Điều có nghĩa chế độ đếm đồng không hoạt động chế độ ngủ (SLEEP) Khi chế độ sử dụng xung clock lựa chọn cho Timer chế độ đếm đồng bộ, phải đảm bảo xung clock đồng với xung clock nội Đếm bất đồng : Nếu bit T1SYNC set, xung clock không đồng hóa Bộ định thời tiếp tục đếm suốt trình Sleep VĐK có khả tạo ngắt định thời tràn làm VĐK thoát khỏi trạng thái ngủ * Một số đặc điềm lưu ý đọc ghi vào Timer : - Việc đọc ghi TMR1H TMR1L định thời chạy từ nguồn xung clock không đồng cho giá trị tức thời (không phải Trường CĐKT Cao Thắng Trang 16 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC ngưng Timer lại) Tuy nhiên, phải ý việc đọc Timer phải bao gồm lần đọc giá trị bit, phát sinh vấn đề Timer bị tràn lần đọc - Để ghi vào Timer tốt nên dừng Timer lại ghi giá trị mong muốn Chúng ta ghi giá trị váo Timer chạy việc tạo giá trị không ta mong muốn 2.2.4 Bộ định thời Timer2 Timer định thời bit bao gồm tiền định tỉ lệ hậu định tỉ lệ, Timer cung cấp thời gian hoạt động cho chế độ PWM module CCP chọn Thanh ghi TMR2 ghi đọc ghi được, bị xóa tác đông reset Xung clock ngõ vào (Fosc/4) có tùy chọn tỉ lệ 1:1, 1:4, 1:16, lựa chọn bit điều khiển T2CKPS1 : T2CKPS0 (T2CON) Timer có ghi khoảng thời gian bit PR2, ghi có khả đọc ghi Timer tăng từ 00h đến giá trị ghi PR2 reset 00h chu kỳ tăng Hình 2.2.4: Sơ đồ khối Timer2 2.2.5 Khối CCP Module CCP xây dựng để hỗ trợ cho việc đo lường điều khiển thời gian hoạt động tín hiệu, đo chu kỳ hoạt động tín hiệu, tạo tín hiệu có tần số khác nhau, điều khiển tốc độ động DC… Mỗi module CCP có môt ghi 16 bit hoạt động như: - Một ghi Capture 16 bit - Một ghi Compare 16 bit - Một ghi điểu khiển chu kỳ nhiệm vụ PWM PIC16F877A có module CCP CCP1 CCP2: Trường CĐKT Cao Thắng Trang 17 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Bảng 2: Các Timer tương ứng với loại CCP Module CCP1: Thanh ghi CCPR1 bao gồm ghi bit: CCPR1L CCPR1H Thanh ghi CCP1CON điều khiển hoạt động cùa module CCP1 Các xung đặc biệt xảy thuật toán so sánh reset Timer Module CCP2: Thanh ghi CCPR2 bao gồm ghi bit: CCPR2L CCPR2H Thanh ghi CCP2CON điều khiển hoạt động cùa module CCP2 Các xung đặc biệt xảy thuật toán so sánh reset Timer bắt đầu chuyển đổi ADC (nếu chuyển đổi ADC cho phép) Để module CCP hoạt động chế độ Capture Timer phải thiết lập chế độ định thời chế độ đếm đồng bộ, không chế độ Capture không làm việc Khi chế độ Capture sử dụng, chân CCP phải mặc định ngõ vào Trong chế độ Capture, hai ghi CCPRxH CCPRxL ghi lại giá trị 16 bit Timer có môt kiện xuất chân CCPx (giá trị Timer không bị reset) Một kiện định nghĩa bởi: - Bất xung cạnh xuống - Bất xung cạnh lên - Bất xung cạnh lên - Bất 16 xung cạnh lên Sự kiện lựa chọn bit điều khiển CCPxM3:CCPxM0 (CCPxCON) Khi kiện xuất giá trị Timer ghi lại cờ CCPxIF bật lên, cờ phải xóa phần mềm trước kiện khác xảy không giá trị lưu trước bị xóa Khi thay đổi hoạt động chế độ Capture tạo ngắt nên muốn thay đổi hoạt động chế độ Capture trước hết phải vô hiệu hóa ngắt xóa cờ ngắt Trường CĐKT Cao Thắng Trang 18 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.2.5 (a): Sơ đồ khối Capture Để module CCP hoạt động chế độ Compare Timer phải thiết lập chế độ định thời chế độ đếm đồng bộ, không chế độ Compare không làm việc Khi chế độ Compare sử dụng, chân CCP phải mặc định ngõ vào Trong chế độ Compare giá trị ghi TMR1 so sánh với giá trị lưu sẵn ghi 16 bit CCPRx, hai giá trị nhau, ngắt xảy cho phép.Chân CCPx sẽ: - Lên mức cao - Xuống mức thấp - Hay giữ nguyên trạng thái Trạng thái chân CCP phụ vào bit CCPxM3:CCPxM0 Việc xóa ghi CCPxCON đẩy trạng thái chân CCP xuống mức thấp Đặc biệt chế độ này, giá trị ghi TMR1 CCPRx xung tín hiệu tạo Xung reset cặp ghi TMR1H TMR1L Điều cho phép Hình 2.2.5 (b): Sơ đồ khối Compare Trường CĐKT Cao Thắng Trang 19 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Chế độ điều chế độ rộng xung PWM, chân CCP tạo tín hiệu có độ phân giải 10 bit Chân CCP phải mặc định ngõ Việc xóa ghi CCPxCON đẩy chân ngõ CCPx xuống mức mặc định thấp Hình 2.2.5 (c): Sơ đồ khối PWM Chu kỳ PWM định ghi PR2 Chu kỳ tính công thức: Chu kỳ PWM = [(PR2 + 1)*4*Tosc*giá trị tỉ lệ TMR2) Tần số PWM = 1/ chu kỳ PWM Lưu ý: Bộ postcaler Timer tác dụng việc định tần số PWM Bộ prescaler kết hợp với ghi TMR2 để tạo đếm 10 bit tương ứng Giá trị chu kỳ nhiệm vụ PWM quy định 10 bit : bit ghi CCPRxL bit ghi CCPxCON (DCxB1, DCxB0) Chu kỳ nhiệm vụ PWM tính theo công thức sau: Ton PWM = ( Giá trị DCxB9:DcxB0) * Tosc * giá trị tỉ lệ tiền định TMR2 Trường CĐKT Cao Thắng Trang 20 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Giá trị DCxB9:DcxB0 thay đổi tùy ý giá trị không tải vào ghi CCPRxH trạng thái cân xảy ghi PR2 TMR2 Trong chế độ PWM ghi CCPRxH ghi đọc 2.2.6 Bộ ADC Trên VĐK có biến đổi ADC 10bit, ngõ vào Analog, ngõ vào nối với ngõ vào chuyển đổi Sau chuyển đổi tạo kết 10 bit tương ứng với giá trị Ananlog đầu vào Điện tham chiếu đầu vào lựa chọn phần mềm (từ Vdd, Vss chân AN2, AN3 Module ADC module có khả hoạt động chế độ ngủ Để hoạt động chế độ ngủ Sleep, xung clock cung cấp cho ADC phải nhận từ dao động nội RC ADC Module ADC bao gồm ghi: - Thanh ghi chứa byte cao kết ADRESH - Thanh ghi chứa byte thấp kết ADRESL - Thanh ghi chứa bit điều khiển ADCON0 - Thanh ghi chứa bit điều khiển ADCON1 Hai ghi ADRESH ADRESL chứa giá trị 10 bit kết ADC Khi trình chuyển đổi hoàn tất, kết ADC lưu lại cặp ghi Bit GO/DONE bị xóa cờ ngắt ADIF bật lên Sau module ADC cấu mong muốn, phải lựa chọn kênh chuyển đổi A/D trước chuyển đổi ADC xảy Các chân Analog phải chọn ngõ vào cách set bit ghi TRIS tương ứng Để tiến hành chuyển đổi ADC, tiến hành theo bước sau: Bước 1: Cấu hình cho module ADC: - Cấu hình cho chân ngõ vào/ điện chuẩn I/O số (ADCON1) - Lựa chọn kênh ngõ vào A/D (ADCON0) - Lựa chọn tần số chuyển đổi (ADCON0) - Cấp nguồn cho module ADC (ADCON0) Bước 2: Cấu hình ngắt ADC (nếu cần): - Xóa cờ ngắt ADIF - Set bit GIE (Cho phép ngắt toàn cục) - Set bit ADIE (Cho phép ngắt chuyển đổi ADC) Bước 3: Đợi thời gian Acquisition (lấy mẫu) cần thiết Bước 4: Bắt đầu trình chuyển đổi ADC: Set bit GO/ DONE (ADCON0) Bước 5: Đợi trình ADC hoàn tất: Chạy vòng lập đợi bit GO/DONE bị xóa cờ ngắt ADIF bật lên Bước : Đọc kết ghi ADRESH ADRESL, xóa bit ADIF ( cần thiết) Trường CĐKT Cao Thắng Trang 21 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Bước 7: Nếu muốn tiếp tục thực chuyển đổi ADC chu kỳ quay lại bước bước Sơ đồ khối biến đổi ADC 10 bit: Hình 2.2.6: Sơ đồ khối ADC Trường CĐKT Cao Thắng Trang 22 ... [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC PortA (05H): chứa giá trị Pin PortA TrisA (85H): Điều khiển xuất nhập CMCON (9CH): ghi điều khiển so sánh CVRCON (9DH): ghi điều khiển so sánh... Điều kết thúc điều kiện không hòa hợp  Xóa bit cờ RBIF Trường CĐKT Cao Thắng Trang 10 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.2.1.2: PortB ghi TrisB Các ghi SFR liên quan. .. Trang 11 [Type text] CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC Hình 2.2.1.3: PortC ghi TrisC Các ghi SFR liên quan đến PortC: PortC (07H): chứa giá trị Pin PortC TrisC (87H): điều khiển xuất nhập

Ngày đăng: 07/09/2017, 15:43

TỪ KHÓA LIÊN QUAN

w