男うちごはん

エイ!っいと適当に作る料理の紹介
男うちごはん のつもりが状況変化!
食育になりそうな事項のup

オリジン弁当チャーハン

2017年02月07日 12時47分07秒 | グルメ

このとこオリジン弁当ふぁぁん!

チャーハンです

なかなか美味しい

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

なんちゃって波形発生器 アセンブラ

2017年02月07日 10時26分59秒 | PIC16F84A

と、いうわけで、素人のアセンブラです。

たぶん、コピーしただけではだめかもです。タブ位置とかそろえる必要があります。

お約束:他の著作権を侵害している可能性もあります。波形発生器なので、なにがおこるかわかりませんよ!自己責任でお願いします。

アナログ回路で苦労して正弦波発生回路やツートーン発生回路を作るより簡単です。

利用する場合は、 注なになに と記載してあるとこはアセンブラに入れないでね!

Aポート、Bポートの残りを入力にして、波形の切替とか、周波数の切替も出来るかもです。


;なんちゃって正弦波、ツートーン発生器
 
 list p=16F84
 INCLUDE "p16F84A.inc"
 

 
    __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
 
 ORG 00h
 ;******
T1 EQU 0Ch
T2 EQU 0Dh
T3 EQU 0Eh
M1 EQU 0Fh
M2 EQU 10h
 ;******
    BSF  STATUS, RP0
 CLRF     TRISA
 CLRF     TRISB
 BCF     OPTION_REG,NOT_RBPU
    BCF  STATUS, RP0

;メイン 

MAIN

 CALL TIM04      注:飛ばないと最高周波数になる、NOPで調整っていう手も
 INCF M2,F
 MOVF M2,W
; CALL SIN_PIN    注:こっちを有効にすると正弦派 

 CALL TONE_PIN   注:こっちを有効にするとツートーン
 MOVWF PORTB
 MOVWF PORTA    注:確認用なので無効にすると周波数が上がる(はず)
 GOTO MAIN

注:メインルーチンなんてこれだけです。びっくり!

 

注:波形データを3Fまでのアドレスで繰り返しています。この命令があったから簡単になりました。当初は複雑ぽいアセンブラを検討していた


;正弦波 
SIN_PIN
 ANDLW H'3F'     注:ここと次の行がおまじない
 ADDWF PCL,F
 RETLW D'32'
 RETLW D'34'
 RETLW D'36'
 RETLW D'39'
 RETLW D'41'
 RETLW D'43'
 RETLW D'46'
 RETLW D'47'
 RETLW D'49'
 RETLW D'51'
 RETLW D'53'
 RETLW D'54'
 RETLW D'55'
 RETLW D'56'
 RETLW D'56'
 RETLW D'57'
;******************** 
 RETLW D'57'
 RETLW D'57'
 RETLW D'56'
 RETLW D'56'
 RETLW D'55'
 RETLW D'54'
 RETLW D'53'
 RETLW D'51'
 RETLW D'49'
 RETLW D'47'
 RETLW D'46'
 RETLW D'43'
 RETLW D'41'
 RETLW D'39'
 RETLW D'36'
 RETLW D'34'
;********************
 RETLW D'32'
 RETLW D'29'
 RETLW D'27'
 RETLW D'24'
 RETLW D'22'
 RETLW D'20'
 RETLW D'18'
 RETLW D'16'
 RETLW D'14'
 RETLW D'12'
 RETLW D'10'
 RETLW D'9'
 RETLW D'8'
 RETLW D'7'
 RETLW D'7'
 RETLW D'6'
;********************
 RETLW D'6'
 RETLW D'6'
 RETLW D'7'
 RETLW D'7'
 RETLW D'8'
 RETLW D'9'
 RETLW D'10'
 RETLW D'12'
 RETLW D'14'
 RETLW D'16'
 RETLW D'18'
 RETLW D'20'
 RETLW D'22'
 RETLW D'24'
 RETLW D'27'
 RETLW D'29'
;******************** 
;ツートーン波
TONE_PIN
 ANDLW H'3F'        注:ここと次の行がおまじない
 ADDWF PCL,F
 RETLW D'31'
 RETLW D'36'
 RETLW D'40'
 RETLW D'43'
 RETLW D'46'
 RETLW D'50'
 RETLW D'52'
 RETLW D'54'
 RETLW D'55'
 RETLW D'56'
 RETLW D'56'
 RETLW D'55'
 RETLW D'54'
 RETLW D'52'
 RETLW D'50'
 RETLW D'48'
;******************** 
 RETLW D'45'
 RETLW D'43'
 RETLW D'40'
 RETLW D'37'
 RETLW D'35'
 RETLW D'32'
 RETLW D'30'
 RETLW D'29'
 RETLW D'27'
 RETLW D'27'
 RETLW D'26'
 RETLW D'27'
 RETLW D'27'
 RETLW D'28'
 RETLW D'29'
 RETLW D'30'
;********************
 RETLW D'32'
 RETLW D'33'
 RETLW D'34'
 RETLW D'35'
 RETLW D'36'
 RETLW D'36'
 RETLW D'37'
 RETLW D'36'
 RETLW D'36'
 RETLW D'34'
 RETLW D'33'
 RETLW D'31'
 RETLW D'28'
 RETLW D'26'
 RETLW D'23'
 RETLW D'20'
;********************
 RETLW D'18'
 RETLW D'15'
 RETLW D'13'
 RETLW D'11'
 RETLW D'9'
 RETLW D'8'
 RETLW D'7'
 RETLW D'7'
 RETLW D'8'
 RETLW D'9'
 RETLW D'11'
 RETLW D'13'
 RETLW D'16'
 RETLW D'20'
 RETLW D'23'
 RETLW D'27'
;******************** 
  

注:04のタイマしかつかってません ここに飛ばなければ最高周波数になる
 
;04mSタイマー
TIM04
 MOVLW D'50'    注:周波数変更の値
 MOVWF T1
TIMLOOP1
 DECFSZ T1,F
 GOTO TIMLOOP1
 RETURN
  
;100mSタイマー
TIM100
 MOVLW D'250'
 MOVWF T2
TIMLOOP2
 CALL TIM04
 DECFSZ T2,F
 GOTO TIMLOOP2
 RETURN 

;500mSタイマー
;TIM500
; MOVF PORTB,W
; MOVWF T3
; RRF T3,1
; RRF T3,1
; RRF T3,0
; ANDLW B'00011111'
; MOVLW D'5' 
; MOVWF T3
;TIMLOOP3
; CALL TIM100
; DECFSZ T3,F
; GOTO TIMLOOP3
; RETURN  
END

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

なんちゃって波形発生器 回路図

2017年02月07日 09時59分09秒 | PIC16F84A

回路図です。発振子を記載するの忘れてます。

初期リセット部と、エミッタホロワは、組んでません。

こんな感じに抵抗裏付けで

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

なんちゃって波形発生器 ツートーン波形発生

2017年02月07日 09時54分21秒 | PIC16F84A

PIC16F84Aの練習に、なんちゃって正弦波発生を検討中

6ビット出力をラダー抵抗でデジタル⇒アナログ変換してやればアナログ発振器よりましな正弦波になるんじゃねぇ! あるいは、6ビットだとS/N比が悪くなり、ほどほどの波形か?

意外と簡単に出来ちゃいましたので、ツートーン波形を作ってみました。1周期の低い周波数に2周期の高い周波数を重ねて、位相もあってます。位相を合わせない方が面白かったかもです。

エクセルの演算結果 D⇒Aで出来たとしての演算結果です。

波形です。 それっぽいです。

0.76V~3.76Vの振幅です。

FFTアナライザ 当たり前ですが、2つの周波数が綺麗に出てます。

不要周波数との差が30db充分でしょう

SSB送信機の調整に使う場合は、3KhzのバリバリのLPFが入ってるので、高い周波数を3Khz以下(低い周波数で言うと1.5Khz以下)にしないと、単調波になってしまう

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

なんちゃって波形発生器 正弦波

2017年02月07日 09時46分27秒 | PIC16F84A

PIC16F84Aの練習に、なんちゃって正弦波発生を検討中

6ビット出力をラダー抵抗でデジタル⇒アナログ変換してやればアナログ発振器よりましな正弦波になるんじゃねぇ! あるいは、6ビットだとS/N比が悪くなり、ほどほどの波形か?

意外と簡単に出来ちゃいました

波形です。  最大で約3Khz程度でした。クロックを20Mhzにすれば6Khzまでいくか?

0.68V~3.78Vの振幅です。

FFTアナライザ

高調波?との差が36dbほど充分でしょう

 

コメント (3)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする