Chuyên đề II Vi điều khiển ứng dụng TS Nguyễn Hồng Quang Khởi tạo dự án Chương trình C #include "p30f4011.h" int counter; // for TRISB and PORTB declarations int main (void) { counter = 1; TRISB = 0; // configure PORTB for output while(1) // forever { PORTB = counter; // send value of ‘counter’ out PORTB counter++; } return 0; } Thêm file *.gld Ví dụ: p30f4011.gld *.h Ví dụ: p30f4011.h Khởi đầu bit _FOSC(CSW_FSCM_OFF & FRC_PLL4); //Clock = 32 MHz _FWDT(WDT_OFF); _FBORPOR(MCLR_EN & PBOR_OFF & PWMxL_ACT_HI & PWMxH_ACT_HI); _FGS(CODE_PROT_OFF); Oscillator configuration register (FOSC) The source can be the internal RC oscillator (FRC – internal fast RC oscillator, LPRC – internal low power RC oscillator) or external oscillator (ERC – external RC oscillator, XT – external quartz) •FOS - Definition of the clock source •11 - Primary oscillator selected by FPR 10 -Internal low power RC oscillator •01 -Internal fast RC oscillator •00 - Low power 32kHz internal oscillator (timer 1) FPR Watchdog timer (FWDT) The basic clock 128kHz of the watchdog timer prescaler A and the second prescaler B With this clock an 8-bit register, the register reaches the maximum of 255, the watchdog timer resets the microcontroller Examples FWDT 10 8.1.2 Sink or Source curent 23 Bộ đệm dùng IC chuyên dụng P0 chỉ chịu dòng tới 26 mA P1, P2 and P3 giới hạn 15 mA 8051 chỉ chịu dòng 71 mA 24 Các loại IC đệm 25 Sử dụng IC TTL/CMOS (5V) TTL, to 1.5V ~ 0; Logic ~3.5 to 5V (5V) CMOS, Logic ~0V; Logic ~5V 74HC04 - CMOS 74ALS04 - TTL 26 Ví dụ 27 Dùng bóng BJT Làm thế nào để có điều khiển dòng 2A tải DC? Sử dụng BJT hoặc MOSFET 28 Sử dụng bóng PNP, NPN 29 8.1.2 Tải điện cảm 30 8.1.2 Vài nhận xét Sử dụng Transistor có thể làm đơn giản hóa thiết kế mà không cần IC chuyên dụng Hệ số khuyêch đại của BJT thường là 100 và chỉ giới hạn dòng điện từ 1A–2A, ngoại trừ sử dụng cầu Dalington MOSFETs có thể cấp dòng tới 100A 31 Ví dụ điểu khiển đèn IR Led Dòng cấp tới 100mA Điện áp rơi LED là 1.5V Điện áp bão hòa của T là 0.4V Chọn điện trở 33o 32 IC driver Allegro ULN2803A có thể cấp dòng 0.5A, điện áp 50VDC Với tải điện cảm, chân 10 phải nối nguồn Tần số đóng cắt là μs Phương pháp điều khiển “sink current” 33 Ví dụ về thông báo lỗi dùng LED 34 Sơ đồ điều khiển 35 Các đầu khác Sử dụng SSR (Solid state relay) Sử dụng Triac, Thyristor cho điều khiển 36 Ví dụ mạch cách ly 37 [...]... 17 Làm vi c với bit 18 Analog pin The use of the ADPCFG and TRIS registers control the operation of the A/D port pins The port pins that are desired as analog inputs must have their corresponding TRIS bit set (input) If the TRIS bit is cleared (output), the digital output level (VOH or VOL) will be converted 19 Input Change Notification Module The Input Change Notification module provides the... module provides the dsPIC30F devices the ability to generate interrupt on selected input pins This module is capable of detecting input change-ofstates even in Sleep mode, when the clocks are disabled There are 10 external signals (CN0 through CN7, CN17 and CN18) that may be selected (enabled) for generating an interrupt request on a change-of-state 20 Ví dụ về LCD 21 Vi dụ về Digital Input 22... cấp dòng tới 100A 31 Vi dụ điểu khiển đèn IR Led Dòng cấp tới 100mA Điện áp rơi trên LED là 1.5V Điện áp bão hòa của T là 0.4V Chọn điện trở 33o 32 IC driver Allegro ULN2803A có thể cấp dòng 0.5A, điện áp 50VDC Với tải điện cảm, chân 10 phải nối nguồn Tần số đóng cắt là 1 μs Phương pháp điều khiển “sink current” 33 Vi dụ về thông báo lỗi... 15 mA 8051 chỉ chịu dòng 71 mA 24 Các loại IC đệm 25 Sử dụng IC TTL/CMOS (5V) TTL, 0 to 1.5V ~ 0; Logic 1 ~3.5 to 5V (5V) CMOS, Logic 0 ~0V; Logic 1 ~5V 74HC04 - CMOS 74ALS04 - TTL 26 Vi dụ 27 Dùng bóng BJT Làm thế nào để có điều khiển dòng 2A tải DC? Sử dụng BJT hoặc MOSFET 28 Sử dụng bóng PNP, NPN 29 8.1.2 Tải điện cảm 30 8.1.2 Vài nhận xét Sử dụng