1 pic18f4550簡介與實作 [相容模式] - chirkal.com.t · – mplab_ide_8_92 – mplabc18-v3.46...

61
1 PIC18F4520/50 單晶片實務研習 單晶片實務研習 使用僑高公司S-500實驗器 講師杜勇進 1 講師杜勇進 研習大綱 壹、PIC18F4520/50單晶片實務實驗 貳、103年電腦硬體裝修乙級檢定講解與實作 參、102年工科技藝競賽電腦修護題目講解與 實作 肆、Arduino 簡介與實作 2

Upload: others

Post on 02-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    PIC18F4520/50單晶片實務研習單晶片實務研習

    使用僑高公司S-500實驗器

    講師:杜勇進

    1

    講師:杜勇進

    研習大綱

    壹、PIC18F4520/50單晶片實務實驗貳、103年電腦硬體裝修乙級檢定講解與實作參、102年工科技藝競賽電腦修護題目講解與

    實作

    肆、Arduino 簡介與實作

    2

  • 2

    單元壹:大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC中斷架構PIC 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART3

    CH-S500 (89S51/52 & PIC18F4520/50)

    4CHIRKAL

  • 3

    4550 VS 4520

    5CHIRKAL

    PIC18F4520主要特性1/2

    • � Flash Memory : 32K Bytes (10 萬次的重寫次數)‧ Data RAM : 1536 Bytes� Data RAM : 1536 Bytes

    ‧� EEPROM : 256 Bytes (100 萬次重寫能耐)

    ‧� Timer : 4 組

    ‧� CCP Module : x 1

    ‧� Enhanced CCP : x 1

    ‧� 串列通訊 : EUSART,IIC (I2C),SPI電壓比較器 2‧� 電壓比較器 : x 2

    ‧� AD轉換器 : 10-bit / 13CH

    ‧� Reset : POR,BOR,WDT,MCLR,Stack,Reset 指令

    ‧� I/O : 最多 36

    6

  • 4

    PIC18F4520主要特性2/2

    • 振盪模式– HS、XT、LP、HSPLL、EC 及 External RC– � HS、XT、LP、HSPLL、EC 及 External RC

    • � 內建 RC 震盪 31KHz ~ 8MHz (具8種頻率選擇)• � 可使用 x4 PLL• � Clock Failure Monitoring• � Extended WDT : 4ms ~131Sec.• Programmable BOR (Software Enable)• � Programmable BOR (Software Enable)• � Power Done Mode• � Run、Idle、Sleep Mode

    7

    PIC18F4550主要特性

    • 28/40/44-Pin, • High-Performance, • Enhanced Flash,• USB Microcontrollers with nanoWatt

    Technology

    8

  • 5

    Universal Serial Bus Features• USB V2.0 Compliant• Low Speed (1.5 Mb/s) and Full Speed (12 Mb/s)Low Speed (1.5 Mb/s) and Full Speed (12 Mb/s)• Supports Control, Interrupt, Isochronous(同步) and Bulk(

    大批) Transfers• Supports up to 32 Endpoints (16 bidirectional)• 1-Kbyte Dual Access RAM for USB• On-Chip USB Transceiver with On-Chip Voltage

    RegulatorRegulator• Interface for Off-Chip USB Transceiver• Streaming Parallel Port (SPP) for USB streaming

    transfers (40/44-pin devices only)::

    9

    Power-Managed Modes• Run: CPU on, peripherals on

    Idl CPU ff i h l• Idle : CPU off , peripherals on• Sleep : CPU off , peripherals off• Idle mode currents down to 5.8 μA typical• Sleep mode currents down to 0.1 μA typical• Timer1 Oscillator : 1.1 μA typical , 32 kHz , 2Vμ yp• Watchdog Timer : 2.1 μA typical• Two-Speed Oscillator Start-up

    10

  • 6

    Flexible Oscillator Structure• Four Crystal modes, including High Precision PLL

    for USBfor USB• Two External Clock modes, up to 48 MHz• Internal Oscillator Block:

    - 8 user-selectable frequencies, from 31 kHz to 8 MHz- User-tunable to compensate for frequency drift

    • Secondary Oscillator using Timer1 @ 32 kHzDual Oscillator options allow microcontroller and• Dual Oscillator options allow microcontroller and USB module to run at different clock speeds

    • Fail-Safe Clock Monitor:- Allows for safe shutdown if any clock stops

    11

    Peripheral Highlights1/2• High-Current Sink/Source: 25 mA/25 mA• Three External Interrupts Three External Interrupts• Four Timer modules (Timer0 to Timer3)• Up to 2 Capture/Compare/PWM (CCP) modules:

    - Capture is 16-bit, max. resolution 5.2 ns (TCY/16)- Compare is 16-bit, max. resolution 83.3 ns (TCY)- PWM output: PWM resolution is 1 to 10-bit

    • Enhanced Capture/Compare/PWM (ECCP) module:p p ( )- Multiple output modes - Selectable polarity- Programmable dead time- Auto-shutdown and auto-restart

    12

  • 7

    Peripheral Highlights2/2• Enhanced USART module:

    - LIN bus support- LIN bus support• Master Synchronous Serial Port (MSSP) module

    supporting 3-wire SPI (all 4 modes) and I2CMaster and Slave modes

    • 10-bit, up to 13-channel Analog-to-Digital Converter module (A/D) with ProgrammableConverter module (A/D) with Programmable Acquisition Time

    • Dual Analog Comparators with Input Multiplexing

    13

    Special Microcontroller Features1/2

    • C Compiler Optimized Architecture with optional Extended Instruction SetExtended Instruction Set

    • 100,000 Erase/Write Cycle Enhanced Flash Program Memory typical

    • 1,000,000 Erase/Write Cycle Data EEPROMMemory typicalFl h/D t EEPROM R t ti > 40• Flash/Data EEPROM Retention: > 40 years

    • Self-Programmable under Software Control• Priority Levels for Interrupts

    14

  • 8

    Special Microcontroller Features2/2

    • 8 x 8 Single-Cycle Hardware Multiplier• Extended Watchdog Timer (WDT): Extended Watchdog Timer (WDT):

    - Programmable period from 41 ms to 131s• Programmable Code Protection• Single-Supply 5V In-Circuit Serial

    Programming™ (ICSP) via two pins• In-Circuit Debug (ICD) via two pins• Optional dedicated ICD/ICSP port (44-pin

    devices only)• Wide Operating Voltage Range (2.0V to 5.5V)

    15

    相關系列差別

    16CHIRKAL

  • 9

    PIC18F4550 架構圖 (一)

    17CHIRKAL

    PIC18F4550 架構圖 (二)

    18CHIRKAL

  • 10

    接腳圖

    PA: 0 ~ 6 PB: 0 ~ 7PC 0 6PC: 0 ~ 6PD: 0 ~ 7PE: 0 ~ 3 32+4=36 IO腳Vdd 2,

    Vss 2

    19CHIRKAL

    4550 VS 4520

    20CHIRKAL

  • 11

    PIC18F4520 程式位置配置

    21CHIRKAL

    IO Port規劃

    建議使用LATx暫存器進行位元運算的操作

    22CHIRKAL

  • 12

    為何要加入 LATx 的暫存器

    • 消除 Read-Modify-Write 動作的風險

    23

    Oscillator Types

    24CHIRKAL

  • 13

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC中斷架構PIC 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART25

    環境建置

    • 軟體– MPLAB_IDE_8_92– mplabc18-v3.46-windows-lite-installer.exe

    • 硬體– PICkit2(燒錄)

    PICkit3– PICkit3– ICD2(除錯、單步執行)– ICD3

    26

  • 14

    CH-S500 (89S51/52 & PIC18F4520/50)

    27CHIRKAL

    上機步驟

    建專案:選元件

    28

  • 15

    選 C18 編譯器

    29CHIRKAL

    選擇專案位置及專案名稱

    假設目錄為MyPIC\Lab1,專案名稱Hello

    30

  • 16

    編輯原始程式

    31CHIRKAL

    建置(Build)

    CHIRKAL32

    CHIRKAL

  • 17

    設定燒錄器1/2

    33

    設定燒錄器2/2

    34CHIRKAL

  • 18

    燒錄與執行

    拿一條8 Pin 排線,RD(Port D)接至 LED

    35

    OSCCON: OSCILLATOR CONTROL REGISTER

    36CHIRKAL

  • 19

    ADCON1: A/D CONTROL REGISTER 1

    37CHIRKAL

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC18F中斷架構PIC18F計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART38

  • 20

    基礎實驗

    • Lab1 :LED閃爍• Lab2 :按鍵控制LED花樣變化• Lab3 :七段顯示器• Lab4 :文字型LCD• Lab5 :LCD +鍵盤• Lab6 :8*8點矩陣• Lab7 :步進馬達

    39

    組態位元

    40CHIRKAL

  • 21

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC18F中斷架構PIC18F 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART41

    PIC18F中斷架構

    • 18F4520/50有兩個中斷向量點高優先權 >中斷向量位址0x0008– 高優先權==>中斷向量位址0x0008

    – 低優先權==>中斷向量位址0x0018• 每個中斷源均可選擇其中斷優先權(二選一)• 每個中斷源均有獨立的中斷旗標(Flag)• 中斷旗標的清除==>自行用軟體清除• 每個中斷源均可Enable或Disable• 當然PIC18系列也可設定與PIC16Fxxx系列的中斷相容(關掉優先權的設定)

    42

  • 22

    中斷優先權示意圖

    43CHIRKAL

    High Priority Interrupt Generation

    44

  • 23

    Low Priority Interrupt Generation

    45

    中斷事件訊號

    • 外部中斷:INT0,INT1,INT2• PORT B改變• TIMER 0• 週邊裝置:

    – PSP(Parallel Slave Port)– AD(A/D Conversion)– RC(USART Receive)– TX(USART Transmit)– SSP(Master Synchronous Serial Port)– CCP1(Capture Compare PWM 1)– OSC(OScillator)– CM(Comparator)– EE(Data EEPROM/Flash Write Operation)– BCL(Bus Collision)– HLVD(High/LowVoltage Detect)– TMR3(Timer3)– CCP2(Capture Compare PWM 2)– USB

    46

  • 24

    相關暫存器

    • RCON:重置控制暫存器• INTCON:中斷控制暫存器1 • INTCON2:中斷控制暫存器2• INTCON3:中斷控制暫存器3• PIR1,PIR2:週邊裝置中斷旗號暫存器• PIE1,PIE2:週邊裝置中斷致能暫存器• IPR1,IPR2:中斷優先設定暫存器

    47

    interrupt source control bits

    Each interrupt source has three bits to t l it ti Th f ti fcontrol its operation. The functions of

    these bits are:– Flag bit to indicate that an interrupt event

    occurred– Enable bit that allows program execution to

    branch to the interrupt vector address when the flag bit is set

    – Priority bit to select high priority or low priority

    48

  • 25

    高優先中斷及其 ISR 的設定範例

    49CHIRKAL

    中斷的前置設定

    50CHIRKAL

  • 26

    中斷處理程式 (ISR) 注意事項‧中斷函數無法傳遞參數

    ‧中斷所使用到的變數需加入 volatile 的宣告‧中斷所使用到的變數需加入 volatile 的宣告

    ‧中斷函數儘量不要使用 Local 變數,影響中斷響應時間

    ‧ISR 應越短越好,不要做太多的處理,可以設定Flag 後交給主程式處理

    ‧許多運算都會用到 tmpdata 節區,若 ISR 中有許多運算都會用到 tmpdata 節區 若 ISR 中有複雜的計算 (乘、除、比較的運算),就必須要save tmpdata 這個節區,避免與主程式的暫存資料相衝突。

    ‧新版的 C18,會自動儲存 tempdata51

    中斷實驗

    Lab1 :INT0中斷Lab2 :INT1中斷Lab3 :巢狀中斷Lab4 :多個同層中斷INT1_INT2

    52

  • 27

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC中斷架構PIC 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART53

    PIC18F 計時器架構

    • Timer0:8/16 bit Counter• Timer1:16 bit Counter• Timer2:8 bit Counter及8 bit 週期暫存器• Timer3 :16 bit Counter(同 Timer1)

    54

  • 28

    Timer0

    • 8/16 bit Counter (16-bit mode 時,TMR0H 會在讀寫 TMR0L 時才真正的被讀TMR0H 會在讀寫 TMR0L 時才真正的被讀出或寫入 Timer0)

    • 3 bit Prescaler(最大預除256)• 外部/內部來源溢位產生中斷• 溢位產生中斷

    • 正緣/負緣

    55

    TIMER0 BLOCK DIAGRAM (8-BIT MODE)

    56CHIRKAL

  • 29

    TIMER0 BLOCK DIAGRAM(16-BIT MODE)

    57CHIRKAL

    Timer0相關暫存器

    58CHIRKAL

  • 30

    Timer1 • 16 bit Counter(由兩個可讀/寫的 8-bit 計數器串聯而成)• 2 bit Prescaler (預除器有四種選擇 :1, 2,4,or 8最

    大預除(

    大預除8)• 外部/內部來源• 正緣/負緣• 可由CCP模組重置的特殊事件觸發• 16-bit 模式的計數器或計時器

    三種功能:計時器,同步模式計數器 ,非同步模式計數器( 睡眠模式下使用非同步時序喚醒 )( 睡眠模式下使用非同步時序喚醒 )

    • 專用石英振盪電路可作為外部計數時序或第二系統時序 ( System Clock ) 選擇

    • 當計數器或計時器產生溢位時 FFFFh to 0000h,即產生中斷

    59

    TIMER1 BLOCK DIAGRAM

    60CHIRKAL

  • 31

    Timer1相關暫存器

    61CHIRKAL

    Timer 2 • 8 bit Counter• 8 bit 週期暫存器• 8 bit 週期暫存器• 2 bit Prescaler (最大預除16)• 4 bitPostscaler (最大預除16)• 外部/內部來源• 溢位產生中斷當PR2符合TMR2內容產生中斷信號• 當PR2符合TMR2內容產生中斷信號

    • MSSP(SPI)模組可選擇使用TMR2輸出產生時序移位脈波

    62

  • 32

    Timer 2• 8-bit 採比較模式的計時器有預除器及後除器之功能• 有預除器及後除器之功能

    • TMR2 為一可讀 、寫並具有自動載入功能• 計時器(TMR2)會自動加一並與設定的值 (PR2)相比;若相等則送出訊號至後除器或產生中斷,並自動將計時器 (TMR2) 清除為零,重新計時

    • PWM 模式下 是 Period & Duty 的基本頻率• 也可以當成MSSP(SPI) 傳送速率的設定

    63

    TIMER2 BLOCK DIAGRAM

    64CHIRKAL

  • 33

    Timer2相關暫存器

    65CHIRKAL

    Timer3

    • 16 bit Counter• 2 bit Prescaler (最大預除8)• 外部/內部來源• 溢位產生中斷• 正緣/負緣• 可由CCP模組重置的特殊事件觸發

    66

  • 34

    TIMER3 BLOCK DIAGRAM

    67CHIRKAL

    Timer3相關暫存器

    68CHIRKAL

  • 35

    CCP MODE – TIMER RESOURCE

    69

    Timer實驗• Lab1:Timer0 計時(0.524ms)

    L b2 Ti 0 計時(0 5 )• Lab2:Timer0 計時(0.5sec)• Lab3:Timer1 計時—0.5sec• Lab4:利用C18函數庫• Lab5:Timer0與INT0中斷• Lab6:Timer0 計數中斷• Lab7:四位數七段多工掃描• Lab8:鍵盤掃描與四位數七段• Lab9:PWM

    70

  • 36

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC中斷架構PIC 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART71

    ADC• 使用 SAR 的轉換方式 ( 須設定 TAD )

    13 組類比轉換多工輸入選擇 10 bit 解析度• 13 組類比轉換多工輸入選擇,10 bits 解析度• 類比輸入取樣時間:2.4 µS (信號源阻抗

  • 37

    ADC相關暫存器

    • A/D Result High Register (ADRESH)• A/D Result Low Register (ADRESL)• A/D Control Register 0 (ADCON0)• A/D Control Register 1 (ADCON1)• A/D Control Register 2 (ADCON2)

    73

    ADCON0: A/D CONTROL REGISTER 0

    74

  • 38

    ADCON1: A/D CONTROL REGISTER 1

    75CHIRKAL

    PIC18F4520 ADC 方塊圖

    76CHIRKAL

  • 39

    C18--ADC 函數

    • OpenADC • SetChanADC • SelChanConvADC • ConvertADC• BusyADC• ReadADC• CloseADC

    77

    OpenADC

    config1 = ADC_FOSC_32 |ADC RIGHT JUST | ADC 2 TADADC_RIGHT_JUST | ADC_2_TAD ;

    config2 = ADC_CH0 | ADC_INT_OFF |ADC_REF_VDD_VSS ;

    portconfig = ADC_2ANA ; // analog: AN0->1 and remaining channels are digital// analog: AN0 1 and remaining channels are digital

    OpenADC(config1, config2, portconfig);

    78

  • 40

    ADC實驗

    Lab1:光敏電阻的電壓顯示在LCDLab2:光線控制步進馬達轉動

    79

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC中斷架構PIC 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART80

  • 41

    JXD12864-13A LCM內部方塊圖

    81CHIRKAL

    並列時序圖

    82CHIRKAL

  • 42

    串列時序圖

    83

    Reset Timing

    84CHIRKAL

  • 43

    模組內部架構圖

    85

    命令解釋Display ON/OFF

    CHIRKAL86

    CHIRKAL

  • 44

    Display Start line Set

    CHIRKAL87

    CHIRKAL

    Page Address Set

    CHIRKAL88

    CHIRKAL

  • 45

    Column Address Set

    89CHIRKAL

    Display Data Write /Read

    90CHIRKAL

  • 46

    接腳介面說明

    91CHIRKAL

    硬體連接方式(並列方式)

    92CHIRKAL

  • 47

    硬體連接方式(串列方式)

    93CHIRKAL

    串列模式發送資料

    94CHIRKAL

  • 48

    95

    相關副程式

    • void delay1ms(int count);• void GLCD_DataSend(unsigned char ByteData);

    void GLCD init so64128(void);• void GLCD_init_so64128(void);• void GLCD_wbyte(unsigned char ByteData); //寫入1個BYTE• void GLCD_clear_screen(); //清除繪圖型LCD//在某位置顯示一16*16字型• void GLCD_display_chinese_position(unsigned char *p, unsigned

    char page_no, unsigned char y); //在某位置清除一16*16字型• void GLCD_clear_chinese_position(unsigned char page_no,

    unsigned char y);unsigned char y); //在某位置顯示一5*7字型• void GLCD_display_number_position(unsigned char *p, unsigned

    char page_no, unsigned char y); //在某位置清除一5*7字型• void GLCD_clear_number_position(unsigned char *p, unsigned

    char page_no, unsigned char y); 96

  • 49

    編碼方式

    配合Sunpls DM字型轉碼器可將圖形文字轉為數位編碼 其編碼方式可分為U t d數位編碼,其編碼方式可分為Up to down,Left to Right(由上至下,由左至右)以及Down to up,Left to Right (由下至上,由左至右)兩種編碼方式,在以下的範例中將介紹Up to Down ,Left to Right以及Down to Up ,Left to Right的編碼方式。

    97

    up to down left to right編碼方式

    LSB1HSB0

    LSB0

    1byte 1 3 5 7up to down left to right編碼方式:

    由上至下由左至右,因此第1個byte先被編碼出來,接下來為2、3、4…接著編碼,若把16*16點矩陣由中間切開我們

    2

    HSB1

    1byte 4 616*16點矩陣由中間切開我們便能發現上排圖形由字碼1、3、5、7…所構成,下排則由2、4、6、8…所構成。

    98

  • 50

    down to up left to right 編碼方式

    2

    LSB0HSB1

    LSB1

    1byte 4 6down to up left to right 編碼方式:

    由下至上由左至右,因此第1個byte先被編碼出來,接下來為2、3、4…接著編碼,若把16*16點矩陣由中間切開我們

    1 3

    HSB0

    1byte 5 716*16點矩陣由中間切開我們便能發現上排圖形由字碼2、4、6、8…所構成,下排則由1、3、5、7…所構成。

    99

    編碼差異

    Up to down,Left to Right(由上至下,由左至右)以及DownUp to down,Left to Right(由上至下,由左至右)以及Down to up,Left to Right (由下至上,由左至右)兩種編碼方式的差異在於起始編碼位置不同,由此可知Up to down,Left to Right的編碼方式其位置1、3、5、7…可構成上半截圖型,2、4、6、8…則構成下半截圖形;Down to up,Left to Right則反之其位置2、4、6、8…可構成上半截圖型,1、3、5、7…則構成下半截圖形。下半截圖形

    PS:我們所使用編碼方式為Down to Up,Left to Right。

    100

  • 51

    128*64繪圖型LCD ¼圖形解析64 bit

    X軸由第0bit

    1 2 3 4page0

    page1

    1byte

    1byte

    16 bit 16 bit一16*16文字圖形所佔面積Y軸

    5 6 7 8page2

    page3

    由上圖得知我們若欲寫入一16*16文字則起始位置由Y軸page0開始,X軸由第0bit開始,寫完1若欲寫2則X軸由第16bit接續寫入。 101

    山-文字圖形編碼文字圖形編碼格式介紹 後

    left to rightLSB1

    down to up 綠色為 0 白色為 1以第二行0x7f為例

    0111 1111HSB0

    LSB0HSB1

    編碼方式以down to up left to right所編出的字碼為:0x00,0x00,0x7f,0xf0,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7f,0xfe,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7f,0xf0,0x00,0x00,0x00,0x00

    0x7f,0xf00111 1111

    102

  • 52

    山-文字圖形編碼文字圖形編碼格式介紹 後

    left to rightLSB0

    up to down 綠色為 0 白色為 1以第二行0x7f為例

    0111 1111HSB1

    LSB1HSB0

    編碼方式以up to down left to right 所編出的字碼為:0x00,0x00,0x0f,0xfe,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x7f,0xfe,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x0f,0xfe,0x00,0x00,0x00,0x00

    0x0f,0xfe0111 1111

    103

    104

    CHIRKAL

  • 53

    圖形編碼方式

    105CHIRKAL

    tu.c

    106CHIRKAL

  • 54

    繪圖型LCD實驗

    Lab1:一個中文字Lab2:四個中文字Lab3:阿拉伯數字及英文

    107

    大綱

    PIC18F4550 簡介

    環境建置

    基礎實驗

    VB6與PIC18F4550 USB 溝通與實作

    108

  • 55

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC中斷架構PIC 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART109

    VB初始畫面

    • 偵測到USB

    110

  • 56

    VB PIC

    111CHIRKAL

    HardwareProfile.h

    112CHIRKAL

  • 57

    PIC 端的main

    113CHIRKAL

    PIC 要處理部份

    114CHIRKAL

  • 58

    輸出入緩衝區

    • VB輸出– OutputReportData(128)– SendBuffer()

    • VB輸入ReadB ffer()– ReadBuffer()

    115

    VB要處理部份

    116CHIRKAL

  • 59

    大綱

    PIC18F4520/4550 簡介

    環境建置環境建置

    基礎實驗

    PIC中斷架構PIC 計時器架構ADC架構繪圖型LCDVB6與4550溝通與實作

    UART117

    UART簡介

    • PortC.6 for Tx• PortC.7 for Rx• 相關暫存器

    – TXSTA, RCSTA, BAUDCON– Baud rate計算

    TXREG 傳送暫存器– TXREG 傳送暫存器– RCREG 接收暫存器

    118

  • 60

    UART實驗

    Lab1:輪詢式傳送 -- 利用C18函數

    Lab2:中斷式接收 -- 低優先權中斷

    Lab3:PC端控制LED花樣變化

    119

    參考資料

    • Microchip RTC講義 CCOM3101T v1.1.pdf• http://www.waitingforfriday.com/index.php/

    Building_a_PIC18F_USB_device• http://www.rakeshmondal.info/• MPLAB C18 Compiler User’s Guide &

    LibraryLibrary• Microchip RTC講義 TLS2118_TW.pdf• http://120.114.77.133/notes/CH-S500/index.htm

    120

  • 61

    謝謝聆聽,敬請指教!!

    121