Tải bản đầy đủ (.pdf) (20 trang)

Đề cương bài giảng mô đun: Điều khiển hệ thống Cơ điện tử sử dụng vi điều khiển - Trường Đại học Công nghiệp Thực phẩm Tp. Hồ Chí Minh

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.11 MB, 20 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI </b>
<b>TRƯỜNG CAO ĐẲNG KỸ NGHỆ II </b>


<b>KHOA ĐIỆN – ĐIỆN TỬ </b>




<b>ĐỀ CƯƠNG BÀI GIẢNG MODUL: </b>



<b>ĐIỀU KHIỂN HỆ THỐNG CĐTSDVĐK</b>



<b>GVBS: </b>

<i><b>Bùi Ngọc An </b></i>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>MỤC LỤC </b>


Chương 1. GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC CỦA MICROCHIP


1. Giới thiệu về PIC ... 4


2. Các loại PIC thông dụng ... 4


3. Ứng dụng của PIC ... 5


Chương 2. KIẾN TRÚC PHẦN CỨNG CỦA PIC 18F4520
1. Sơ đồ khối ... 6


2. Sơ đồ chân ... 9


3. Tổ chức bộ nhớ ... 9


4. Khối tạo dao động ... 13



5. Hoạt động Reset ... 15


6. Các Port vào / ra ... 17


Chương 3. PHẦN MỀM MPLAB VÀ TRÌNH DỊCH MCC18
1. Cài đặt MPLAB ... 29


2. Sử dụng MPLAB ... 29


3. Trình dịch MCC18 ... 40


Chương 4. HOẠT ĐỘNG VÀO RA
1. Lập Trình xuất ... 50


2. Lập Trình nhập ... 50


3. Hoạt động xuất/nhập ... 51


4. Bài tập ứng dụng ... 52


Chương 5: HOẠT ĐỘNG ĐỊNH THỜI
1. Giới thiệu ... 53


2. Timer 0 ... 53


3. Timer 1 ... 60


4. Lập trình với timer ... 64



Chương 6: LẬP TRÌNH VỚI LCD 1602
1. Khái niệm ... 69


2. Nguyên lý hoạt động ... 70


3. Nguyên tắc hiển thị trên LCD ... 70


4. Ví dụ lập trình điều khiển hiển thị trên LCD ... 71


Chương 7: HOẠT ĐỘNG NGẮT
1. Khái niệm ... 75


2. Tổ chức ngắt của PIC 18F4520 ... 75


3. Ngắt ngoài ... 77


4. Các thanh ghi liên quan ... 77


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Chương 8: MODULE CCP (CAPTURE / COMPARE / PWM)


1. Giới thiệu ... 91


2. Các thanh ghi liên quan ... 93


3. Sử dụng các bộ PWM ... 94


4. Lập trình điều chế độ rộng xung ... 96


Chương 9: BỘ CHUYỂN ĐỔI TƯƠNG TỰ - SỐ (ADC)
1. Giới thiệu ... 99



2. Các thanh ghi liên quan ... 101


3. Điều khiển hoạt động chuyển đổi A/D ... 104


4. Lập trình sử dụng ADC ... 111


Chương 10: TRUYỀN THÔNG NỐI TIẾP VÀ GIAO TIẾP GIỮA 2 VI ĐIỀU
KHIỂN PIC
1. Giới thiệu ... 116


2. Các thanh ghi liên quan ... 118


3. Tốc độ baud ... 121


4. Ngắt USART ... 128


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>Chương 1 </b>



<b>GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC CỦA MICROCHIP </b>



<b>1. GIỚI THIỆU VỀ PIC </b>


PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy
tính thơng minh khảtrình” do hãng General Instrument đặt tên cho vi điều khiển
đầu tiên của họ. PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi
điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và
từ đó hình thành nên dịng vi điều khiển PIC ngày nay.


<i>Hình 1.1. Vi điều khiển PIC </i>



<b>2. CÁC LOẠI PIC THƠNG DỤNG </b>


Các kí hiệu của vi điều khiển PIC:


 PIC12xxxx: độ dài lệnh 12 bit.


 PIC16xxxx: độ dài lệnh 14 bit.


 PIC18xxxx: độ dài lệnh 16 bit.


C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)
F: PIC có bộ nhớ flash


LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp
LV: như LF, đây là kí hiệu cũ


Bên cạnh đó một số vi điều khiển có kí hiệu xxFxxx là EEPROM, nếu có chữ A
ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash).


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Ở Việt Nam phổ biến nhất là họ vi điều khiển PIC do hãng Microchip sản xuất.
Cách lựa chọn một vi điều khiển PIC phù hợp: Trước hết cần chú ý đến sốchân
của vi điều khiển cần thiết cho ứng dụng. Có nhiều vi điều khiển PIC với số lượng
chân khác nhau, thậm chí có vi điều khiển chỉ có 8 chân, ngồi ra cịn có vi điều
khiển 28, 40, 44, … chân. Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể
nạp xóa chương trình được nhiều lần hơn, tiếp theo cần chú ý đến các khối chức
năng được tích hợp sẵn trong vi điều khiển, các chuẩn giao tiếp bên trong và sau
cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép.


<b>3. ỨNG DỤNG CỦA PIC </b>



Ngày nay PIC được ứng dụng rất rộng rãi trong thực tế, từ những vật dụng đơn
giản cho đến những hệ thống điều khiển phức tạp trong công nghiệp.


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Chương 2 </b>



<b>KIẾN TRÚC PHẦN CỨNG CỦA PIC 18F4520 </b>



<b>1. SƠ ĐỒ KHỐI </b>


<i>Hình 2.1. Sơ đồ khối của PIC18F4520 </i>
Các khối chính trên PIC 18F4520 bao gồm:


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

 Tần số làm việc tối đa 40 MHz, sản xuất bằng công nghệ nanoWatt.


 Thiết kế theo kiến trúc Havard, tập lệnh RISC.


 Sử dụng kỹ thuật đường ống lệnh (Instruction Pipelining).


 Đơn vị logic học (ALU: Arithmetic Logical Unit).


 Thanh ghi làm việc (WREG: work register ).


 Bộ nhân bằng phần cứng (8x8 Multiply), kết quả được chứa trong cặp thanh
ghi (PRODH, PRODL).


 Thanh ghi đếm chương trình (PC: Program Counter) có 21 bit bao gồm
thanh ghi PCL(PC-Low) chứa các bit từ 7-0, thanh ghi PCH (PC-High)
chứa các bit từ 15-8, thanh ghi PCU (PC-upper) chứa các bit từ 20-16.



 Thanh ghi con trỏ ngăn xếp STKPTR (Stack Pointer).


 31 mức ngăn xếp (31 level stack).


 Thanh ghi lựa chọn băng (BSR: Bank Select Register).


 Thanh ghi con trỏ dữ liệu gián tiếp FSR (Indirect Data Memory Address
Pointer).


 Bộ nhớ (Memory):


 Bộ nhớ chương trình (Program Memory) bao gồm 32 Kbytes bộ nhớ ROM
(Read-only Memory) kiểu Flash.


 Bộ nhớ dữ liệu (Data Memory) bao gồm 1536 byte SRAM (Static Random
Access Memory), 256 byte EEPROM.


 Bộ phát xung hệ thống (Oscillator): Nguồn xung từ bên ngoài hoặc từ bộ
phát xung của hệ thống sẽ được đi qua bộ nhân hoặc chia tần số để lựa chọn
lấy tần số thích hợp để làm xung hệ thống.


 Nguồn xung chính được đưa vào chip qua chân OSC1 và OSC2.


 Nguồn xung phụ được đưa vào chip qua các chân T1OSI, T1OSO.


 Bộ phát xung nội INTRC tần số 31kHz.


 Bộ phát xung nội trên chíp tần số 8 MHz.


 Watchdog Timer (WDT): là một bộ timer có chức năng đặc biệt, khi bị tràn sẽ


khởi động lại hệ thống. Thời gian khởi động lại hệ thống có thể lựa chọn được
từ 4ms đến 131,072s. WDT sẽ được khởi tạo ở đầu chương trình, trong thân
chương trình sẽ được “chèn” các lệnh reset WDT sao cho khi vi điều khiển
thực hiện các đúng tuần tự các lệnh, WDT chưa bị tràn. Mục đích chính của
việc sử dụng WDT là tránh cho vi điều khiển vơ tình thực hiện phải một vịng
lặp chết (dead loop) mà khơng thốt ra được.


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

 Bộ Debugger (In-Circuit Debugger): Mạch Debugger trên chíp sẽ giúp người
lập trình kiểm sốt lỗi chương trình bằng cách cho vi điều khiển hoạt động ở
chế độ chạy từng lệnh, nhóm lệnh hay tồn bộ chương trình.


 Khối phát hiện tín hiệu reset: Mạch phát hiện tín hiệu reset có khả năng phát
hiện 03 nguồn reset:


 Reset từ chân MCLR.


 Reset khi bật nguồn (POR: Power-on Reset).


 Reset khi nguồn yếu (BOR : Brown-out Reset).


 Khối quản lý lỗi bộ phát xung (Fail-Safe Clock Monitor): Khối này được sự
dụng để quản lý an toàn bộ phát xung hệ thống.


 Khối định thời khởi động bộ phát xung (Oscillator Start-up Timer): Khối này
sử dụng để tạo thời gian trễ chờ cho bộ phát xung ổn định.


 Thiết bị ngoại vi (Peripheral): PIC18f4520 được tích hợp các thiết bị ngoại vi
sau:


 Bộ phát hiện điện áp cao/thấp HLVD(High/low-Voltage Detect).



 Bộ nhớ lưu dữ liệu khi tắt nguồn EEPROM.


 04 bộ đếm, định thời 16 bit: Timer0, Timer1, Timer2 và Timer3.


 01 bộ so sánh tín hiệu tương tự (Comparator).


 02 bộ CCP1, CCP2 (Capture, Compare, PWM : Chụp, So sánh, xung Pwm);
01 bộ ECCP (Enhanced CCP).


 01 cổng truyền thông nối tiếp đồng bộ (Master Synchronous Serial Port) có
thể hoạt động được ở chế độ SPI hoặc I2C.


 01 cổng truyền thông nối tiếp đồng bộ/không đồng bộ tăng EUSART
(Enhanced Universal Synchronous Asynchronous Receiver Transmitter),
giúp vi điều khiển PIC có thể giao tiếp với nhau hoặc giao tiếp với cổng
COM của máy tính.


 13 kênh biến đổi tương tự - số (ADC) độ phân giải 10 bit.


 Khối giao tiếp vào/ra số: Vi điều khiển PIC18F4520 có 5 cổng vào/ra A, B, C,
D và E. Mỗi cổng có một thanh ghi đệm dữ liệu tương ứng là PORTA, PORTB,
PORTC, PORTD và PORTE, các thanh ghi này được định địa chỉ theo byte và
theo bit.


 PORTA : RA7 - RA0.


 PORTB : RB7 - RB0.


 PORTC : RC7 - RC0.



 PORTD : RD3 - RD0.


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>2. SƠ ĐỒ CHÂN </b>


Sơ đồ chân dạng PDIP (Lead Plastic Dual In-Line Package).


<i>Hình 2.2. Sơ đồ chân PIC 18F4520 dạng PDIP </i>


<b>3. TỔ CHỨC BỘ NHỚ </b>


Bộ nhớ của vi điều khiển PIC 18F4520 bao gồm 3 loại:


 Bộ nhớ chương trình (Program memory)


 Bộ nhớ dữ liệu RAM (Data RAM)


 Bộ nhớ dữ liệu EEPROM (Data EEPROM)


Bộ nhớ của PIC 18F4520 được thiết kế theo kiến trúc Havard, bộ nhớ chương
trình và bộ nhớ dữ liệu được thiết kế riêng đường Bus, cho phép CPU truy cập
cùng lúc tới bộ nhớ chương trình và bộ nhớ dữ liệu. Bộ nhớ dữ liệu EEPROM
được sử dụng để lưu trữ dữ liệu khi mất điện.


<i><b>Bộ nhớ chương trình </b></i>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

Vector Reset của PIC 18F4520 được đặt ở địa chỉ 0000h, khi reset nội dung của
thanh ghi đếm chương trình PC sẽ được xóa về 0. Các thanh ghi của PIC 18F4520
sẽ được tải lại các giá trị mặc định.



<i>Hình 2.3. Sơ đồ tổ chức bộ nhớ chương trình và ngăn xếp </i>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<i>Hình 2.4. Giản đồ xung đọc mã lệnh và thực hiện lệnh của PIC 18F4520 </i>


<i><b>Bộ nhớ dữ liệu RAM </b></i>


<i>Hình 2.5. Sơ đồ tổ chức bộ nhớ dữ liệu RAM </i>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

liệu, vùng các thanh ghi chức năng đặc biệt SFR (Special Function Registers)
chứa các thanh ghi chức năng điều khiển ngoại vi và CPU.


Bộ nhớ dữ liệu RAM được chia thành 16 Bank từ Bank 0 đến Bank15, vùng RAM
đa dụng nằm từ Bank 0 đến Bank 2, các thanh ghi SFR nằm ở Bank 15. Vùng địa
chỉ từ 300h đến EFFh không được sử dụng, đọc ở vùng này sẽ trả về giá tri 00h.
Bốn bit thấp của thanh ghi lựa chọn băng BSR (Bank Select Register) được sử
dụng để lựa chọn truy cập băng.


<i>Hình 2.6. Phân bổ địa chỉ của các thanh ghi chức năng đặc biệt SFR </i>


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

Bộ nhớ dữ liệu EEPROM của PIC 18F4520 là bộ nhớ mảng không bị mất dữ liệu
khi mất điện, độc lập với bộ nhớ chương trình và bộ nhớ dữ liệu RAM, được sử
dụng để lưu trữ dữ liệu lâu dài. Nó có thể ghi/đọc được 1.000.000 lần, dữ liệu có
thể lưu trữ trong bộ nhớ 100 năm.


<b>4. KHỐI TẠO DAO ĐỘNG </b>


PIC 18F4520 có thể hoạt động ở một trong 10 chế độ tạo dao động khác nhau.
Việc lựa chọn các chế độ tạo dao động nhờ các bit FOSC3:FOSC0 trong thanh
ghi CONFIG1H.



<i>Hình 2.7. Sơ đồ khối bộ tạo dao động trên PIC 18F4520 </i>
Các chế độ tạo dao động:


 LP (Low-Power Crystal) nguồn xung thạch anh ngoài, nguồn thấp


 XT (Crystal/Resonator) thạch anh/bộ cộng hưởng bên ngoài


 HS (High-Speed Crystal/Resonator) thạch anh/bộ cộng hưởng bên ngoài
tốc độ cao


 HSPLL nhân 4 lần tần số HS bằng vịng khóa pha (Phase Locked Loop)


 RC (External Resistor/Capacitor) tạo dao động bằng mạch RC bên ngoài,
phát xung FOSC/4 ra chân RA6.


 RCIO tạo dao động bằng mạch RC ngoài, vào/ra trên chân RA6.


 INTIO1 bộ tạo dao động nội, phát xung FOSC/4 ra chân RA6, vào/ra trên
chân RA7.


 INTIO2 bộ tạo dao động nội, vào/ra trên chân RA6 và RA7.


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

 ECIO bộ phát xung ngoài, vào/ra trên chân RA6.


<i><b>Tạo dao động bằng thạch anh ngoài (Crystal/ Ceramic Resonator) </b></i>


Trong chế độ tạo dao động LP, XT, HS, HSPLL sử dụng thạch anh (Crystal) chưa
có tụ điện hoặc mạch cộng hưởng thạch anh bọc gốm đã có tụ điện (Ceramic
Resonator). Ở các chế độ này bộ tạo dao động kết nối với vi điều khiển PIC
18F4520 qua hai chân OSC1 và OSC2 .



- Sơ đồ kết nối giữa vi điều khiển với bộ phát xung ngồi:


<i>Hình 2.8. Sơ đồ kết nối với bộ dao động thạch anh/mạch cộng hưởng ngoài </i>
- Lựa chọn giá trị tụ điện khi sử dụng mạch cộng hưởng thạch anh bọc gốm


<i>Bảng 2.1. Lựa chọn giá trị tụ điện khi sử dụng Ceramic Resonator </i>
- Lựa chọn giá trị tụ điện khi sử dụng thạch anh chưa có tụ điện (Crystal).


<i>Bảng 2.2. Lựa chọn tụ điện khi sử dụng thạch anh (Crystal) </i>


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

Chế độ EC và ECIO sử dụng nguồn xung ngoài làm xung hệ thống và được nối
qua cổng NOT trước khi đưa vào chân OSC1/CLKI.


- Chế độ nguồn xung ngoài EC (External Clock), nguồn xung được lấy từ bên
ngoài nối qua cổng NOT trước khi đưa vào OSC1/CLKI và chân OSC2/CLKO
phát ra tần số bằng ¼ tần số đầu vào.


<i>Hình 2.9. Chế độ dao động EC </i>


- Chế độ nguồn xung ngoài ECIO (External Clock Input Output), nguồn xung
được lấy từ bên ngoài nối qua cổng NOT trước khi đưa vào OSC1/CLKI và chân
OSC2/CLKO là chân vào/ra RA6.


<i>Hình 2.10. Chế độ dao động ECIO </i>


<b>5. HOẠT ĐỘNG RESET </b>


Vi điều khiển PIC 18F4520 có 8 nguồn Reset:



 Reset do bật nguồn POR (Power-on Reset).


 Reset từ chân MCLR, sử dụng trong quá trình hoạt động bình thường.


 Reset từ chân MCLR, sử dụng trong chế độ quản lý nguồn.


 Reset do Watchdog Timer (WDT).


 Reset do sụt điện áp nguồn BOR (Brown-out Reset).


 Reset bằng lệnh RESET.


 Reset do đầy ngăn xếp (Stack Full Reset).


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<i>Hình 2.11. Mơ tả các nguồn Reset của PIC 18F4520 </i>


<i><b>a. Reset từ chân MCLR </b></i>


Nguồn reset MCLR đươc nối từ mạch reset bên ngoài qua chân MCLR/RE3. Nếu
bit MCLRE trong thanh ghi CONFIG3H được đặt bằng 1 thì chân MCLR/RE3 là
chân reset, đặt MCLRE = “0” chân MCLRE là chân vào/ra của PORTE. Khi có
mức điện áp thấp được đặt lên chân MCLR hệ thống sẽ thực hiện reset.


<i>Hình 2.12. Mạch reset ngồi MCLR </i>


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

Khi nguồn được cấp vào chân VDD, khối reset POR sẽ phát hiện sườn dương trên
chân VDD sau đó phát tín hiệu reset vi điều khiển. Bit POR trong thanh ghi RCON
sẽ báo trạng thái của reset POR, POR = ‘1’ là không phát hiện tín hiệu reset, POR=
‘0’ là phát hiện tín hiệu reset POR



Giá trị linh kiện: R < 40 kΩ; R1 >= 1KΩ.


<i>Hình 2.13. Mạch reset do bật nguồn POR. </i>


<b>6. CÁC PORT VÀO/RA </b>


Vi điều khiển PIC 18F4520 có 36 chân vào/ra được chia thành 5 cổng là PORTA,
PORTB, PORTC, PORTD có 8 chân và PORTE có 4 chân. Các chân vào/ra của
vi điều khiển PIC 18F4520 mang nhiều chức năng, nó có thể được thiết lập là
chân vào/ra dữ liệu hay là các chân chức năng đặc biệt của các bộ ngoại vi, sử
dụng các thanh ghi điều khiển của ngoại vi để lựa chọn chức năng cho các chân.
Mỗi cổng vào/ra của vi điều khiển PIC 18F4520 có 3 thanh ghi để điểu khiển hoạt
động:


 Thanh ghi PORT là thanh ghi dữ liệu, được định địa chỉ theo byte và theo
bit, sử dụng để đệm đọc/ghi dữ liệu trên các cổng.


 Thanh ghi LAT là thanh ghi chốt dữ liệu đầu ra (bằng ‘1’ đầu ra chốt mức
1, bằng ‘0’ đầu ra chốt mức 0).


 Thanh ghi TRIS là thanh ghi lựa chọn hướng dữ liệu (bằng ‘0’ chiều ra,
bằng ‘1’ chiều vào).


<i><b>6.1. Cấu trúc chung của một chân vào/ra </b></i>


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<i>Hình 2.14. Cấu trúc chung của một chân vào/ra. </i>


<i><b>6.2. Port A </b></i>


PORT A gồm 8 bit tương ứng với 8 chân được ký hiệu từ RA0 đến RA7. Các


chân của PORTA có thể đọc/ghi theo từng bit hoặc cả byte.


<i>a. Chức năng các chân của PORTA </i>


<b>Chân</b> <b>Chức </b>
<b>năng</b>
<b>Thanh </b>
<b>ghi </b>
<b>TRIS</b>
<b>I/O</b> <b>Kiểu </b>


<b>I/O</b> <b>Mô tả</b>


RA0/AN0 RA0 0 O DIG Chiều ra dữ liệu sử dụng bit LATA<0>; không bị ảnh
hưởng bởi đầu vào tương tự.


1 I TTL Chiều vào dữ liệu sử dụng bit PORTA<0>.


AN0 1 I ANA Đầu vào kênh 0 của bộ biến đổi A/D hoặc chân đầu
vào C1- của bộ so sánh. Mặc đinh khi Reset POR.


RA1/AN1 RA1


0 O DIG Chiều ra dữ liệu sử dụng bit LATA<1>; không bị ảnh
hưởng bởi đầu vào tương tự.


1 I TTL Chiều vào dữ liệu sử dụng bit PORTA<1>.


AN1 1 I ANA Đầu vào kênh 1 của bộ biến đổi A/D hoặc chân đầu
vào C2- của bộ so sánh. Mặc đinh khi Reset POR.


RA2/AN2/


VREF-/CVREF


RA2 0 O DIG Chiều ra dữ liệu sử dụng bit LATA<2>; Cấm chức
năng này khi đầu ra CVREF được cho phép.
1 I TTL Chiều vào dữ liệu sử dụng bit PORTA<2>. Chức


năng này sẽ bị cấm khi chức năng tương tự hoặc đầu
ra CVREF được cho phép.


AN2 1 I ANA Đầu vào kênh 2 của bộ biến đổi A/D hoặc chân đầu
vào C2+ của bộ so sánh. Mặc đinh khi Reset POR.


VREF- 1 I ANA A/D và đầu vào điện áp tham chiếu mức thấp bộ so
sánh.


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

RA3/AN3/VREF+ RA3 0 O DIG Chiều ra dữ liệu sử dụng bit LATA<3>.


1 I TTL Chiều vào dữ liệu sử dụng bit PORTA<3>; Chức
năng này bị cấm khi đầu vào tương tự được cho phép.
AN3 1 I ANA Đầu vào kênh 3 của bộ biến đổi A/D hoặc hoặc chân


đầu vào C1+ của bộ so sánh. Mặc đinh khi Reset
POR.


VREF+ 1 I ANA A/D và đầu vào điện áp tham chiếu mức cao bộ so
sánh.


RA4/T0CKI/C1OUT RA4 0 O DIG Chiều ra dữ liệu sử dụng bit LATA<4>.



1 I ST Chiều vào dữ liệu sử dụng bit PORTA<4>; mặc định
khi reset POR.


T0CKI 1 I ST Cấp xung cho Timer0.


C1OUT 0 O DIG Đầu ra 1 bộ so sánh; ưu tiên hơn vào/ra dữ liệu.
RA5/AN4/SS/ RA5 0 O DIG Chiều ra dữ liệu sử dụng bit LATA<5>; không ảnh


hưởng bởi đầu vào tương tự.
HLVDIN/C2OUT


1 I TTL Chiều vào dữ liệu sử dụng bit PORTA<5>; Chức
năng này bị cấm khi cho phép đầu vào tương tự.
AN4 1 I ANA Đầu vào kênh 4 của bộ biến đổi A/D. mặc định khi


reset BOR.


SS 1 I TTL Đầu vào SS(lựa chọn t/b tớ) của Module MSSP.


HLVDIN 1 I ANA Đầu vào của Module phát hiện điện áp cao/thấp
(High/Low-Voltage Detect).


C2OUT 0 O DIG Đầu ra 2 bộ so sánh;được ưu tiên hơn chức năng
vào/ra dữ liệu.


OSC2/CLKO/RA6 RA6


0 O DIG



Chiều ra dữ liệu sử dụng bit LATA<6>. Chức năng
này chỉ được cho phép ở các chế độ RCIO, INTIO2
and ECIO.


1 I TTL Chiều vào dữ liệu sử dụng bit PORTA<6>. Chế độ
này chỉ được cho phép ở các chế độ RCIO, INTIO2
và ECIO.


OSC2 x O ANA Kết nối với bộ phát xung chính ( ở các chế độ XT, HS
và LP).


CLKO x O DIG Chân phát xung hệ thống(FOSC/4) ở RC, INTIO1 và


EC.


OSC1/CLKI/RA7 RA7


0 O DIG Chiều ra dữ liệu sử dụng bit LATA<7>. Chức năng
này bị cấm ở chế độ dao động ngoài.


1 I TTL Chiều vào dữ liệu sử dụng bit PORTA<7>. Chức
năng này bị cấm ở chế độ dao động ngoài.


OSC1 x I ANA Kêt nối với bộ dao động ngoài.


CLKI x I ANA Kết nối với nguồn xung bên ngoài.


<i>Bảng 2.3. Chức năng các chân trên PORTA. </i>


<i><b>Chú thích: </b></i>



<i>DIG = Digital level output (đầu ra số); TTL = đệm đầu vào chuẩn TTL </i>
<i>(Transistor-Transistor Logic ); ST = đệm đầu vào sử dụng Schmitt Trigger; ANA = vào/ra tương </i>
<i>tự; x= không xác định; I=Input (vào); O=Output (ra). </i>


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<i>b. Các thanh ghi liên quan đến PORT A </i>


Các thanh ghi liên quan đến PORTA gồm 6 thanh ghi sau:


 PORTA: Thanh ghi dữ liệu PORTA.


 LATA: Thanh ghi chốt dữ liệu đầu ra của PORTA.


 TRISA: Thanh ghi lựa chọn hướng dữ liệu của PORTA (bit tương ứng trên
thanh ghi đặt bằng ‘0’ thì chân tương ứng có chiều ra, bằng ‘1’ là chiều
vào).


 ADCON1: Là thanh ghi điều khiển A/D, thiết lập các chân vào/ra là số hay
tương tự.


 CMCON: Là thanh ghi điều khiển bộ so sánh.


 CVRCON là thanh ghi điều khiển điện áp tham chiếu của bộ so sánh.


<b>Tên</b> <b>Bit 7</b> <b>Bit 6</b> <b>Bit 5</b> <b>Bit 4</b> <b>Bit 3</b> <b>Bit 2</b> <b>Bit 1</b> <b>Bit 0</b>


PORTA RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0


LATA LATA7 LATA6 Thanh ghi chốt dữ liệu PORTA



TRISA TRISA7 TRISA6 <sub>Thanh ghi hướng dữ liệu PORTA </sub>


ADCON1 — — VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0


CMCON C2OUT C1OUT C2INV C1INV CIS CM2 CM1 CM0


CVRCON CVREN CVROE CVRR CVRSS CVR3 CVR2 CVR1 CVR0


<i>Bảng 2.4. Các thanh ghi liên quan đến PORTA. </i>


<i><b>6.3. Port B </b></i>


PORTB gồm 8 bit, tương ứng với 8 chân được ký hiệu từ RB0 đến RB7. Các chân
của PORTB có thể đọc/ghi theo từng bit hoặc cả byte. Các chân PORTB <7:4>
của PORTB còn được sử dụng làm nguồn ngắt ngoài.


<i>a. Chức năng các chân của PORTB </i>


<b>Chân</b> <b>Chức </b>


<b>năng</b> <b>TRIS</b> <b>I/O</b>


<b>Kiểu </b>


<b>I/O</b> <b>Mô tả</b>


RB0/INT0/FLT0
/ AN12


RB0 0 O DIG Chiều ra dữ liệu sử dụng bit LATB<0>; không bị ảnh


hưởng bởi đầu vào tương tự.


1 I TTL Chiều vào dữ liệu sử dụng bit PORTB<0>; Không nối
điện trở pull-up khi RBPU = ‘0’. Cấm chức năng này
khi cho phép đầu vào tương tự.


INT0 1 I ST Ngắt ngoài 0.


FLT0 1 I ST Đầu vào báo sự cố PWM (Module ECCP1); Cho phép


bằng phần mềm.


AN12 1 I ANA Kênh 12 của bộ biến đổi A/D.


RB1/INT1/AN10 RB1 0 O DIG Chiều ra dữ liệu sử dụng bit LATB<1>; chức năng này
không bị bởi đầu vào tương tự.


</div>

<!--links-->

×