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 )
- Auto weak-up on start bit
- Auto-Bound detect
+RS232 sử dụng khối dao động nội( không cần thạch anh ngoài)
2.1.2 Đặc điểm PIC18F4431:
- Là CPU sử dụng tập lệnh RISC và có tốc độ xử lý cao và công suất nhờ sử dụng
công nghệ CMOS FLASH/EFPROM
-
Tập lệnh có 75 lệnh
-
Một chu kì lệnh bằng 4 chu kì xung. Sử dụng bộ dao động 40MHz thì chu kì lệnh
là 0.1us
-
Tần số bộ dao động cho phép tới 40MHz
-
8Kx14 word bộ nhớ FLASH lập trình
- 768 bytes bộ nhớ Ram, trong đó bộ nhớ EFPROM lên đến 256 bytes
-
Trang bị đến 34 ngắt với8 cấp độ ngắt
-
5 port I/O
-
Trang bị 3 bộ định thời, 1 bộ 8 bit, 2 bộ 16 bit
-
2 modul Capture/compare/pwm
-
Bộ chuyển đổi 10 bít ADC với tốc độ 5 ->10 us
-
Cổng serian đồng bộ với chế độ SPI và I2C (master/slaver) thực hiện bằng phần
cứng
-
Chế độ truyền nhận động bộ /bất đồng bộ với 9 bit địa chỉ kiểm tra
-
Cổng song song (PSP) 8 bit
-
Các chế độ định địa chỉ trực tiếp, gián tiếp, tướng đối
-
Cho phép đọc/ghi bộ nhớ chương trình
-
Có chế độ bảo vệ mã lập trình
-
Chế độ SLEEP (tạm nghỉ) để tiết kiệm điện năng
-
Cho phép chọn lựa chế độ dao động(nội , ngoại)
-
Được sản xuất với nhiều loại khác nhau với cùng 1 mã vi điều khiển, tùy thuộc số
tính năng được trang bị them, các kiểu đế cắm: PDIP(40 chân),PLCC và QFP(cùng
44 chân)
2.2.Sơ đồ khối của PIC18F4431
Hình 8: Sơ đồ khối của PIC18F4431
2.3.Sơ đồ chức năng chân của PIC 18F4431
2.3.1.Sơ đồ chân:
Hình 9: Sơ đồ chức năng chân của PIC 18F4431
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