PIC Tips  C言語

  ・ コンパイラはCCSコンパイラHI-TECH CコンパイラC18コンパイラ、 XC8コンパイラ、 C30コンパイラ 、C32コンパイラ 及びXC32コンパイラがつかわれています。
     特にことわりがないないものはCCSコンパイラで記載されています。
   ・ 回路図は”電気回路図エディタ D2 CAD”で作成されています。


  ■ 難易度別
    初級
     ★ LEDフリーラン点滅
             ・ ウェイト方式     <CCS編> <HI-TECH編> 
                  <C18編>   <XC8編>  <C30編 dsPIC>  <C30編 PIC24F>  <C32編 PIC32MX> <XC32_Harmony_PIC32MZ>
             ・ タイマ割込み方式   <CCS編> <HI−TECH編> 
                           <C18編>   <XC8編>  <C30編 dsPIC>
 <C30編 PIC24F> <C32編 PIC32MX> <XC32 Harmony PIC32MZ>

     ★ オルタネートスイッチによるLEDの点灯、消灯  <CCS編>   <C18編>  <XC8編>  <C30編 dsPIC>
                          <C30編 PIC24>  <C32編 PIC32MX>  <HI-TECH編>

     ★ 内臓 A/Dコンバータの読込み
          ・ 8bitA/Dコンバータ出力を8個のLEDで表示
          ・ A/Dコンバータ出力を液晶に表示  <CCS編>  <C18編>   <XC8編>
                                        <C30編 dsPIC>   <C30編 PIC24>  <C32編 PIC32MX> <XC32 Harmony PIC32MZ>
          ・ 基準電圧による正確な10ビットA/D変換<CCS編>
 <C18編>
          ・ A/D変換を2つ使用した高分解能10ビットA/D変換
       
     ★ DA変換
          ・ディスクリートのフィルタによるPWM信号の変換
           ・ディスクリートのオペアンプ加重加算回路による変換

          ・ディスクリートのはしご回路による変換(パラレルインターフェース)
          ・ディスクリートのはしご回路による変換(シリアルインターフェース)
          ・専用DAコンバータICによる変換(LTC1446)
          ・専用DAコンバータICによる変換(MCP4822)

     ★ ウォッチドックタイマ(WDT)
          ・インターバルタイマをつかって定期的にウォッチドックタイマのリセットをおこなう<CCS編>   <C18編>
           ・繰り返しルーチンの中で1回ウォッチドックタイマのリセットをおこなう
           ・繰り返しルーチンの中で複数回に分けてウォッチドックタイマのリセットをおこなう     
          ・スリープモードでのWDTの動作 <C18編>
          ・スリープモードでの SOSCによるWDTクリア <C18編>

     ★ 入力キャプチャー & PWM 
          ・ストップウォッチ                 <CCS編>
          ・連続矩形波のパルス幅測定          <CCS編>   <C30編 dsPIC>
                  ・電波時計
                時刻符号(タイムコード)生成    <CCS編>
                    同 組立てキット            <CCS編>
                時刻符号(タイムコード)解読                        <C30編 dsPIC>

        PWM: 圧電ブザーによるドレミファソラシド音 <XC32 PIC32MX>
        PWM: 圧電スピーカによる唱歌「ふるさと」<XC32 PIC32MX> <XC32 Harmony PIC32MZ>


  
    ★ コンパレータ
         外部リファレンスをつかったコンパレータ <C18編>

    中級
        ★ モメンタリースイッチによるLEDの点灯、消灯
             ・ 割込みを使いわないでスイッチ信号を検出する方法    <CCS編> <C18編> <HI-TECH編>
             ・  タイマ割込みを使ってスイッチ信号を検出する方法     <CCS編> <C18編> <HI-TECH編> <XC32 Harmony PIC32MZ>
             ・ 外部割込みポートを使ってスイッチ信号を検出する方法  <CCS編> <C18編> <HI-TECH編> <XC32 Harmony PIC32MZ>
             ・  変化割り込みを使ってスイッチ信号を検出する方法
      <CCS編> <C18編> <HI-TECH編> <XC32 Harmony PIC32MZ>  
         
・外部割り込みとタイマ割り込みを同時に使う多重割り込みによる方法(割込み優先順位:なし) <C18編>
        ・外部割り込みとタイマ割り込みを同時に使う多重割り込みによる方法(割込み優先順位:あり) <C18編>

        ★  Xportによる 
        ・ PC(telnet) - PIC間通信
        ・ PIC間通信


        ★  SPI 通信 (PIC間)
          ・ PIC間送受信1(割込みなし   1文字毎の送受信      <CCS 編>     <C30 dsPIC編>
          ・ PIC間送受信2(SPI割込み有  1文字毎の送受信    <CCS編>     <C30 dsPIC編>
          ・ PIC間送受信3(外部割り込み 文字列の送受信        <CCS編>

     ★  外付けSPIインターフェース部品読み書き
          ・12ビットADコンバータ(MCP3204)読み込み
             ・12ビットDAコンバータ(MCP4822)書き込み(SPIモジュールからの出力)  <C30 dsPIC編>  <C30 PIC24編>
                                              <C32 PIC32MX編> <XC32 Harmony PIC32MZ>
                ・12ビットDAコンバータ(MCP4822)書き込み(汎用I/Oポートからの出力) <C30 dsPIC編>
          ・フラッシュメモリ 読み書き <XC32 Harmony PIC32MZ>
          ・SDカード
            読み書き(ファイルオープン、リード、ライト)    <C30 dsPIC編>  <PIC32MX編><PIC32MX795 SPIチャンネル4>
                                                        <XC32 Harmony PIC32MZ>
            読み書き(FIFO)                   <C30 dsPIC編>  <PIC32MX編>
            読み書き(EOF)                   <C30 dsPIC編>  <PIC32MX編> 
            ADコンバータ値読み書き              <C30 dsPIC編>
            音声の録音と再生・WAV録音付きmp3プレーヤー
                <C30 PIC24編>
   <XC32 PIC32MX795F512L編>   <XC32 GDDXタッチパネル式PIC32MX795F512L>

        ★  RS232C 通信 ( PC - PIC 間 )
          ・ 文字の送受信  (ハイパーターミナル、Tera Term - PIC間通信 液晶なし)<CCS編> 
                                                <C18編>  <C30編 PIC24> <XC32 Harmony PIC32MZ>
          ・ 文字列の送受信(ハイパーターミナル - PIC間通信  液晶付 割込みあり )<CCS編>   <C18編>
           ・ 文字列の送受信(Tera Term - PIC間通信  液晶付 割込みなし)<CCS編>  <C18編>  <PIC32MX編>
          ・          同上 割込みあり                     <PIC32MX編>  <XC32 Harmony PIC32MZ>
          ・ 文字列の送受信(ハイパーターミナル - PIC間通信 液晶付 タイムアウトあり)<CCS編> <C18編>
          ・ 文字列の送受信(Win32API - PIC間通信 液晶付 割込みなし) <CCS編> <C18編>
          ・ 文字列の送受信(Win32API - PIC間通信 液晶付 フロー制御あり) <CCS編><C18編>
          ・ 文字列の送受信(Win32API - PIC間通信 マルチスレッド 非イベント動作型受信スレッド) <CCS編>
          ・ 文字列の送受信(Win32API - PIC間通信 マルチスレッド   イベント動作型受信スレッド) <CCS編>
          ・ 文字列の送受信(Win32API - PIC間通信 マルチスレッド  クリティカルセクション)        <CCS編>
           ・ 文字の送受信( .NET − PIC間通信 )<CCS編><C18編>
           ・ 文字列(英数字)の送受信( .NET − PIC間通信 )<CCS編><C18編> 
                                                  <C30編 PIC24>
           ・ 文字列(漢字)の送受信( .NET − PIC間通信 )<CCS編><C18編>

          ・ 送受信データ波形観測( .NET − PIC間通信) <C30 PIC24編>    

     ★  RS232C通信 ( PIC − PIC間 )
                 
・ 文字の送受信   (基礎編  putc、getc )
                  ・ 文字列の送受信 (基礎編   printf)    <CCS編>   <C30編 PIC24> 
                                                        <C32編 PIC32>
                  ・ 文字列の送受信 ( 応用編 サムチェック、ハンドシェーク、タイムアウト )

     ★  I2C通信
        ・ 1文字の送受信(PIC間)  <C30編 PIC24>
        ・ 文字列の送受信(PIC間) <C30編 PIC24>
        ・  外付けEEPROM読み書き 
                           <CCS編 PIC18>  <C18編 PIC18>  <C30編 PIC24> <XC32 Harmony PIC32MZ>

          ・I2cインターフェース キャラクタ液晶表示 <XC32 Harmony PIC32MZ>

     ★ 省電力
         ・ Sleep Mode スリープイン & ウェイク <C18編>
         ・ Sleep ModeのSOSCに対する ウォッチドックタイマの監視<C18編>

     ★ その他
        ・インクリメント型 エンコーダ読込 <C30編 dsPIC>
        ・パルスジェネレータ(0.5Hz〜200KHz)<C30 dsPIC>
        ・PIC内蔵ポートによる 液晶セグメントスタティック駆動式 16進数表示<HI-TECH編> <C18編>
        
・PIC内蔵ポートによる 液晶セグメントスタティック駆動式 カウンタ<HI-TECH編> <C18編>
         外付けXORによる 液晶セグメント スタティック駆動式 16進数表示 <C18編>
         外付けXORによる 液晶セグメント スタティック駆動式 カウンタ <C18 編>

      




    上級
     ★ PCのキーボードスイッチ読込み

     ★ Xportによる PC(Windows)ーPIC間通信

     
USB通信
        
<デバイスモード>
            ・
PIC18F4550−PC 間 CDCクラス通信 ( 自作キバン + Microchip社デモソフト:Basic Demo)<C18編>
            ・PIC18F4550−PC 間 CDCクラス通信 ( 自作キバン + Microchip社デモソフト:Serial Emulator)<C18編>  
            
・PIC18F4550−PC 間 CDCクラス通信 文字列の送受信(液晶付き)<C18編>
          ・PIC18F4550ーPC間 汎用クラス通信、ポーリング、WDMドライバー(自作キバン+Microchipデモソフト)<C18編>
           ・PIC18F4550ーPC間 汎用クラス通信、割込み、WinUSBドライバー (自作キバン+Microchipデモソフト)<C18編>
            ・PIC18F4550−PC 間 汎用クラス通信 文字列の送受信(WinUSBドライバ、液晶付き)<C18編>
           ・PIC18F4550−PC間 Mass Strageクラス通信(マイクロチップ 第一世代ライブラリ版)<C18編>
           ・PIC18F4550−PC間 Mass Strageクラス通信(マイクロチップ 第二世代ライブラリ版)<C18編>


         ・PIC18F14K50 HIDクラス LED 点灯/消灯
          ・PIC18F14K50 HIDクラス スイッチの 状態&電圧読込

 
         ・PIC32MX795F512L HIDクラス LED点灯/消灯、ADコンバータ読込・表示
        PIC32MX795F512L  HIDクラス 漢字を含む文字列の送受信(キャラクタ液晶)
        PIC32MX795F512L  HIDクラス 漢字を含む文字列の送受信(グラフィック液晶)

        ・PIC32MZ2048ECH144-PC間 CDCクラス ASCII文字列の送受信(キャラクタ液晶)<XC32 Harmony PIC32MZ>

      <ホストモード>
      ・PIC32MX795F512L<HIDクラス> グラフィック液晶 USBキーボード付ASSCII文字簡易エディタ


     ★グラフィック液晶制御グラフィックライブラリ: 電子工作の実験室
      ・ 汎用I/Oポート制御(8080 8ビットパラレル) + QVGA<C32編>
       ・ パラレルマスターポート(PMP)制御(8080 8ビットパラレル) + QVGA<C32編>



     ★グラフィック液晶制御(グラフィックライブラリ: GDDX編)
       GDDXタッチパネル式PIC32MX 録音付MP3プレーヤ<PIC32MX795F512L編>
      PIC32MX795F512L  HIDクラス 漢字を含む文字列の送受信(グラフィック液晶)
      ・PIC32MX795F512L<HIDクラス> グラフィック液晶 ASSCII文字簡易エディタ

     ★グラフィック液晶(グラフィックライブラリ: Harmony編)
      ・マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ S1D13517ボード + WQVGA
      ・マイクロチップ Primitive + Hellow   at <PIC32MZ・Harmony・XC32> + SSD1926 ボード + QVGA
      マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ INT035
      マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ INT043
      マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ INT070
      マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ INT018
      ・マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ INT022
      ・マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ INT024
      ・マイクロチップ Primitive  at <PIC32MZ・Harmony・XC32>+ INT028