JH7UBCブログ

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

PIC12F1822 MCC PWM テストその3

2021-05-22 20:27:34 | MPLAB X MCC
 PWMの応用例として、モールス符号練習機を作ってみます。
 
 RA0にKEY(電鍵)をつけ、KEY downの時にPWM信号(800Hz)をRA2(P1A)に出力し、接続した圧電スピーカーから音を出します。音と同時にモニター用のLEDを点灯させます。電源は電池(3V)とします。


MCCで各ピンの入出力を設定します。
RA0は入力とし、WPU(ウィークプルアップ)します。、RA2は出力(PWM用P1A)、RA4も出力(LED用)とします。



 PWM関係のMCC設定は、前の記事と同じです。

プログラムです。
PWM信号をスタートさせるには、TMR2_StartTimer()を
ストップさせるには、TMR2_StopTimer()を使います。
------------------------------------------------------------------------------
/*
* PIC12F1822 Morse Trainer
* 2021.05.22
* JH7UBC Keiji Hata
*/
#include "mcc_generated_files/mcc.h"

#define LED LATA4
void main()
{
SYSTEM_Initialize(); // initialize the device


LED = 0;
TMR2_StopTimer();
unsigned char val = 1;
unsigned char old_val =0;

while (1)
{
val = RA0;
if(val != old_val){
if(val == 0){
LED = 1;
TMR2_StartTimer();
}else{
LED = 0;
TMR2_StopTimer();
}
old_val = val;
__delay_ms(10);
}
}
}
---------------------------------------------------------------------------
 ブレッドボードです。
 KEYの代わりにタクトスイッチがつけてあります。



 タクトスイッチを押すとLEDが点灯し、800Hzの音が圧電スピーカーから出ます。圧電スピーカーの音はあまりよくありませんが、モールス符号の練習用に使えると思います。

 PWM信号にローパスフィルタをつけ、アンプとスピーカーをつければ、もっと良い音になると思います。


最新の画像もっと見る

コメントを投稿