JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

PIC16F18326 MCC DACテスト

2024-01-26 07:31:36 | MPLAB X MCC
 PIC16F18326のDACのテストをします。
 環境は、MPLAB X(v6.15) XC8(v2.45) MCC(v5.3.7)です。 

 回路図です。RA0がDACの出力ですので、ICSPが使えません。


 MPLAB Xでprojectを作り、MCCを立ち上げます。
 まず、systemモジュールでクロックを設定します。4MHzとしました。


 DACモジュールを導入します。デフォルトのままで特に設定はしません。
 Positive Reference はVDD、Negative ReferenceはVSSです。



 Pinモジュールです。DAC1OUTはRA0にだけ設定できます。



 DAC1OUTのDirectionがinputとなっているのですが、これでAnalog出力になります。

 Generateして、main.cを編集します。
 鋸歯状波を出力してみます。
 プログラムです。
--------------------------------------------------------
/*
 * PIC16F18326 MCC DAC test
 * 2024.1.24
 * JH7UBC Keiji Hata
*/

#include "mcc_generated_files/mcc.h"

void main(void)
{
     // initialize the device
     SYSTEM_Initialize();
     while (1)
    {
         for(uint8_t i = 0;i<32;i++){
              DAC1_SetOutput(i);
         }
    }
}
--------------------------------------------------------

 DAC1_SetOutput(uint8_t data);関数でDACの出力が決まります。
 PIC16F18326のDACは、5bitですので、dataは0から31の間の値を入れます。Positive Referenceは、VDDのほかFVR(Fixed Voltage Reference)や外部からの電圧も使えます。

 DAC1OUTの出力波形です。ギザギザのある鋸歯状波が出力されました。



 DAC1OUTの出力は、電流が取れませんので、実際に利用する場合は、オペアンプなどのバッファが必要です。


最新の画像もっと見る

コメントを投稿