1. Trang chủ >
  2. Kỹ thuật >
  3. Điện - Điện tử - Viễn thông >

Hình 9: Sơ đồ chức năng chân của PIC 18F4431

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.55 MB, 79 trang )


2.3.2.Chức năng các chân của Pic 18F4431

a. Port A (RA0 – RA5) : chân 2 –> chân 7

-



chân chức I/O năng output ,input



- Đầu vào các kênh chuyển đổi ADC

- Có tất cả 6 chân, từ RA0 -> RA5. Trong đó RA2 và RA3 dùng để tiếp nhận

điện áp so sánh Vref+ và Vref-



- RA2 ,RA3,RA4 là chân đầu vào module feedback chuyên đọc ecoder tần số

cao



- RA4 còn là ngõ vào của xung clock cho timer0. RA5 có thể làm chân chọn

slave cho port serial đồng bộ

b.Port B (RB0 – RB7) : chân 33 –> chân 40



- Các chân đầu vào ,ra input output

- chân ra cuả các modul điều xung power pwm (RB0->PWM0,



RB1-



>PWM1, RB3->PWM3, RB4->PWM5



- RB7 và RB6 chân nạp chương trình trực tiếp PGC,PGD

c.Port C (RC0 – RC7) : chân 15,16,17,18 và chân 23,24,25,26



- Là port I/O có 8 chân input,output

- RC0 dùng làm đầu vào bộ dao động xung clock cho Timer1.

- RC1 và RC2 là 2 chân của bộ CCP1 và CCP2

- RC3 là chân ngắt ngoài INT0 và đầu vào xung clock cho bộ Timer 0

- RC4 chân ngắt ngoài INT1 và còn là chân SDI serial data in của modul

truyền thông SPI



- RC5 chân ngắt ngoài INT2, và chân SCK serial clock của module truyền

thông SPI



- RC6 và RC7 là chân TX và RX của modul truyền thông USART chuẩn

RS232 ,chân SDO serial data out module SPI



d.Port D (RD0 – RD7) : chân 19.20.21.22 và chân 27,28,29,30



- Là port I/O

- RD1 đầu vào xung clock ngoài của bộ timer 5

- RD2, RD3 là các chân SDA, SCL của truyền thong I2C

- RD5, RD6,RD7 là đầu ra của modul power Pwm4,pwm6,pwm7

e.Port E (RE0 – RE2) : chân 8 –> chân 10



- Là các chân I/O

- Đầu vào các kênh ADC AN6, AN7, AN8

f.Nguồn :



- VDD : chân 32

- VSS : chân 31

- AVDD : chân 11

- AVSS : chân 12

g.Dao đông ngoài :



- chân OSC1 : chân 13

+ chân OSC2 : chân 14



Hình 10: Mạch dao động

h.Chân RESET: chân 1



2.3.3 Bộ định thời trong PIC

Pic 18f4431 có 4 bộ định thời:



a. Timer0

Có các chức năng sau:



• Bộ timer/couter 8bit hoặc 16 bit

• Có thể đọc hoặc ghi được

• Nguồn xung clock có thể lấy từ bên trong hoặc bên ngoài

• Ngắt tràn từ ffh->00 với 8 bit và từ ffffh ->0000h với chế độ 16 bit

• Chọn cạnh cho xung clock ngoài

• Thanh ghi điều khiển T0CON

• Sơ đồ thanh ghi T0CON



Bảng 02: Thanh ghi T0CON

Bit 7 : TMR0ON bit điều khiển cho phép on/off

1= cho phép timer0 hoạt động

0 = không cho phép timer0 hoạt động

Bit6 T016BIT : chọn chế độ 16 bit timer0

1 = timer0 chế độ 8 bit timer/counter

0 = timer0 chế độ 16 bit timer/counter

Bit5 T0CS : timer0 bit chọn nguồn xung clock cho timer

1 = nguồn xung clock ngoài lấy từ pin T0CKI

0 = lấy từ dao động nội (CLK0)

Bit 4 T0SE : timer0 bit chọn cạnh xung clock ngoài

1 = cạnh xung HIGH_TO_LOW trên pin T0CKI

0 = cạnh xung LOW_TO_HIGH on pin T0CKI

Bit 3 PSA : bit cho phép chia tần trước của timer0

1 = cho phép chia tần trước

0 = cho phép chia tần trước và đầu vào clock của timer0 lấy từ đầu ra prescale

Bit 2 T0PS2:T0PS0: Timer0 chọn hệ số chia tần lock cho timer

111 = 1:256 Prescale value // chia trước 256



110 = 1:128 Prescale value // chia trước 128

101 = 1:64 Prescale value

100 = 1:32 Prescale value

011 = 1:16 Prescale value

010 = 1:8 Prescale value

001 = 1:4 Prescale value

000 = 1:2 Prescale value



b. Timer1

Có các chức năng sau :



• timer/counter 16 bit

• có thể đọc ghi và xóa được

• xung clock cho timer có thể chọn bên ngoài hay bên trong

• ngắt tràn từ ffffh ->0000h

• thanh ghi điều khiển T1CON

Sơ đồ thanh ghi điều khiển khiển T1CON

REGISTER 12-1:

R/W-0

RD16

bit 7



R-0



T1CON: TIMER1 CONTROL REGISTER

R/W-0



R/W-0



R/W-0



R/W-0



T1RUN T1CKPS T1CKPS T1OSCE T1SYN

1



0



N



Thanh ghi T1CON

bit 7



RD16: 16-Bit định chế độ hoạt động 8 hay16 bit

1 = cho phép timer 1 hoạt động ở chế độ 16 bit

0 = cho phép timer 1 hoạt động ở chế độ 8 bit



bit 6



T1RUN: Timer1 Clock

1 = nguồn clock được lấy từ dao động timer1

0 = nguồn clock lấy từ nguồn khác



C



R/W-0



R/W-0



TMR1C

S



TMR1O



N

bit 0



bit 5-4



T1CKPS1:T1CKPS0: lựa chon tỉ lệ chia clock đầu vào cho timer 1

11 = 1:8 Prescale value



// chia trước 8 lần



10 = 1:4 Prescale value

01 = 1:2 Prescale value

00 = 1:1 Prescale value

bit 3



T1OSCEN: bit cho phép

dao động timer1

1 = cho phép bộ dao động Timer1

0 = khóa bộ dao động timer1



bit 2



T1SYNC: bit chọn đồng bộ ngoài xung clock của timer1

When TMR1CS = 1 (dùng dao động nội):

1 = không đồng bộ với clock ngoài ở chân input

0 = đồng bộ với clock ngoài

Sử dụng khi TMR1CS = 0 (clock nội):



Bit 1



TMR1CS : chọn nguồn xung clockcho timer 1

1 = nguồn xung clock ngoài từ chân RC0/T1OSO/T13CKI

0 = clock nội lấy từ thạch anh (FOSC/4)



c. Timer2





hoạt động ở chế độ 8 bit







Có thể đọc hoặc ghi







Co thể lập trình chia tần trước prescaler (1:1, 1:4, 1:16) postscaler (1:1 to 1:16)







Thanh ghi điều khiển T2CON



Sơ đồ thanh ghi điều khiển T2CON

REGISTER 13-1:



T2CON: TIMER2 CONTROL REGISTER



U-0



R/W-0



R/W-0



R/W-0



R/W-0







TOUTP



TOUTP



TOUTP



S3



S2



S1



R/W-0



R/W-0



R/W-0



TOUTP



TMR2O T2CKP



T2CKP



S0



N



S1



bit 7



Legend:

R = Readable

-n = Value at

bit



W = Writable

‘1’

bit = Bit is set



U = Unimplemented bit, read as ‘0’

‘0’ = Bit is cleared x = Bit is unknown



POR

Thanh ghi T2CON

bit 7



không sử dụng để dự trữ



bit 6-3



TOUTPS3:TOUTPS0: lựa chọn số lần timer tràn xẩy ra ngắt

0000 = 1:1 Postscale // tràn 1 lần

0001 = 1:2 Postscale // tràn 2 lần

……

1111 = 1:16 Postscale



Bit 2



TMR2ON : cho phép timer2 hoạt động

1 = Timer2 is on

0 = Timer2 is off



S0

bit 0



bit 1-0



T2CKPS1:T2CKPS0: lựa chọn tỉ lệ chia clock đầu vào timer2

00 = Prescaler is 1



// chia trước 1



01 = Prescaler is 4



// cứ 4 clock thì co 1 clock được đưa vào timer2



1x = Prescaler is 16



d. Timer 5

Có các chức năng sau:



• Hoạt động chế độ timer/counter 16 bit

• Bộ đếm có chế độ đồng bộ và không đồng bộ

• Cho phép chọn tỉ lệ chia tần

• Thanh nghi điều khiển T5CON

REGISTER 14-1:



R/W-0



T5CON: TIMER5 CONTROL REGISTER



R/W-0



R/W-0



R/W-0



R/W-0



T5SEN RESEN



T5MO



T5PS1



T5PS0 T5SYNC(



bit 7



(1)



D



2)

Thanh ghi T5CON



bit 7



T5SEN: Timer5 chế độ ngủ

1 = cho phép timer5 ở chế độ sleep

0 = không cho phép Timer5 Sleep



Bit 6



RESEN: reset bit 1 bằng sự kiện

1 = không cho phép sự kiện reset bit 1

0 = cho phép reset đặc biệt với bit 1



bit 5



R/W-0



T5MOD: bit chọn chế độ hoạt động



R/W-0



R/W-0



TMR5



TMR5O



CS



N

bit 0



1 = cho phép chế độ hoạt động không liên tục

0 = cho phép chế độ hoạt động liên tục

bit 4-3



T5PS1:T5PS0: bit chọn chia tần trước cho timer5

11 = 1:8

10 = 1:4

01 = 1:2

00 = 1:1



Bit 2



T5SYNC: chọn xung clock đồng bộ ngoài cho timer 5

Khi TMR5CS = 1:

1 = không đồng bộ với nguồn xung ngoài vào

0 = đồng bộ với nguồn xung ngoài vào

Khi TMR5CS = 0:

Timer 5 sử dụng clock từ bộ dao động thạch anh



bit 1



TMR5CS: lựa chọn nguồn xung clock cho timer 5

1 = xung đếm timer ngoài ở chân T5CKI

0 = xung clock nội từ thạch anh (TCY)



bit 0



TMR5ON: bit cho phép timer 5 hoạt động

1 = cho phép timer 5 hoạt động

0 = không cho phép timer 5 hoạt động



4.3.4 Ngắt (interrupts)

Pic18F4431 có nhiều nguồn ngắt khác nhau .có mức độ ưu tiên khác nhau ,vector

ngắt có ưu tiên cao nhất ở địa chỉ 000008h , vector ngắt có địa chỉ thấp nhất ở địa chỉ

0000018h . mổi khi có sự kiện ngắt thì vi điều khiển sẽ dừng chương trình chính để thực

hiên chương trinh ngắt.

Có 10 thanh ghi điều khiển ngắt: RCON, INTCON,INTCON2,INTCON3,

PIR1,PIR2,PIR3, PIE1,PIE2,PIE3,IPR1,IPR2,IPR3

mỗi nguồn ngắt có 3 bít điều khiển ngắt :



• Bit cờ chỉ sự kiện ngắt suất hiện

• Bit cho phép thực thi chương trình rẽ nhánh đến địa chỉ vector ngắt khi cờ ngắt đã

bật



• Bit ưu tiên để chọn mức ưu tiên cao hay thấp

Sơ đồ thanh ghi INTCON



REGISTER 9-1:



R/W-0



INTCON: INTERRUPT CONTROL REGISTER



R/W-0



R/W-0



R/W-0



R/W-0



R/W-0



R/W-0



R/W-x



GIE/GIE PEIE/GI



TMR0I



INT0IE



RBIE



TMR0I



INT0IF



RBIF(1



H

bit 7



EL



E



F



)

bit 0



Thanh ghi INTCON

2.4. Các modul cơ bản của PIC18F4431

2.4.1 Power control PWM modul

- Power control PWM modul đơn giản là tạo ra nhiều xung động bộ có độ rộng xung thay

đổi được( PWM: pulse Width Modulation). Các ngõ ra của PWM ứng dụng trong điều

khiển động cơ và các ứng dụng điều khiển công suất. Modul PWM này hỗ trợ điều khiển

các ứng dụng sau:



+ Động cơ KĐB 1 pha và 3 pha

+ Swithched Reluctance Motor

+ Động cơ DC không chổi than

+ UPS ( Uninterruptible Power Suppliers)

+ Mutiple DC Brush motor



• Các thông số cơ bản của PWM



+ Có 8 ngõ I/O PWM với 4 duty cycle khác nhau

+ Độ phân giải 14 bit dựa trên periode

+ Thời gian dead time có thể lập trình ( ứng dụng trong trường hợp PWM

đối nghịch -> chống trùng dẫn)

+ Ngắt hỗ trợ update không đối ( asymmertrical update) xứng trong chế độ

canh giữa



Trong modul PWM có 4 bộ tạo duty cycle riêng biệt, chúng được đánh số từ 0 ->3,

Modul này có 8 ngõ ra, được đánh số từ 0->7. Trong chế độ đối nghịch các pin chẵn –pin

lẻ là 1 cặp. VD: PWM0 đối nghịch với PWM1 ; PWM2 đối nghịch với PWM3….

Bộ tạo dead time sẽ chèn 1 khoản “off”giữa lúc xung PWM của xung pin này đang

cạnh xuống và xung PWM của chân đối nghịch đang ở cạnh lên ( trong 1 cặp chân đối

nghịch). Điều này ngăn chặn trùng dẫn -> các khoá công suất được bảo vệ.



3. Một số giải thuật phương án lập trình.



Với đề thi năm nay chúng ta có thể sử dụng một số giải thuật sau:

+ Giải thuật dò đường:



- Bám vạch

- Đếm số vạch ngang

- Tăng tốc trên những đoạn đường thẳng để Rôbôt đạt tốc độ cao nhất

- ….

+ Ngắt ngoài sử dụng cho encoder

Đối với mỗi con robot cụ thể chúng ta sẽ áp dụng giải thuật một cách linh hoạt. Điều này

sẽ được thể hiện rõ trong từng phần lập trình cho mỗi



Xem Thêm
Tải bản đầy đủ (.docx) (79 trang)

×