春は、 道明寺 です。
雛人形にお供え!
道明寺 小さ!!!!!!
美味しとこのなんですがね。去年より小さくなった感があります。
御雛様が4組なので、道明寺も4つです。写真撮るために1個を使いまわすなんてしてないですよ 笑
春ってことで
春は、 道明寺 です。
雛人形にお供え!
道明寺 小さ!!!!!!
美味しとこのなんですがね。去年より小さくなった感があります。
御雛様が4組なので、道明寺も4つです。写真撮るために1個を使いまわすなんてしてないですよ 笑
春ってことで
PICの命令は少ないけど充分です。めんどうなことしないし!
該出の 疑似乱数 を波形の周期に変換してみました。 前回ははただ単に振幅変換
デバック途中の、乱数の値(振幅)とその時間 8ビットの値の6ビット分をDA変換して表示しているからか小さい値が短い時間になってません。正解か?解らないです 笑
以下の波形観測は、DA直後のです。エミッタフォロア後だと波形がなまっているかもです。(確認してません)
左右の時間カーソル間が乱数の周期です(たぶん)
正弦波 劇的に変化するかと思っていたら、劇的変化じゃないです。乱数としてC級か?
ゼロクロスのところで周期を切り替えているつもりです。でも、ゼロクロスのところでもたもたしている感がないです。
ツートーン
とりあえず、冬休みの宿題は終わりってことで、次回なんか自作するときは、PICも視野に入れます。3月になってますので、畑、畑!と、ということで
追加画像です。下記の修正後(赤色で説明)のアセンブラで 1周期毎に乱数変更にしてます。この方が面白い
アセンブラです。素人ということで、建て付けが悪い感じです。回路図等は、該出です。ポートBの6,7ビット目で波形の選択と、三角波を選択したときは、Aポートの0,1ビット目で、三角波、乱数の振幅、乱数の周期変換をさらに選択してます。以下のアセンブラは、周期変換の時にツートーンになってます。
お約束:著作権は放棄しますが、責任も放棄します。使う方は、自己責任でね!
;LBA.ASM
;なんちゃって正弦波、ツートーン発生器
list p=16F84
INCLUDE "p16F84A.inc"
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
ORG 00h
;******
T1 EQU 0Ch
T2 EQU T1+1
T3 EQU T2+1
T4 EQU T3+1
TF EQU T4+1
M1 EQU TF+1
M2 EQU M1+1
M3 EQU M2+1
POP EQU M3+1
;******
BSF STATUS, RP0
; CLRF TRISA
MOVLW B'00011111'
MOVWF TRISA
; CLRF TRISB
MOVLW B'11000000'
MOVWF TRISB
BCF OPTION_REG,NOT_RBPU
BCF STATUS, RP0
;メイン
BTFSC PORTB,6
GOTO SW6_OFF
GOTO SW6_ON
SW6_ON
BTFSC PORTB,7
GOTO SW7_OFF
GOTO SW7_ON
SW6_OFF
BTFSC PORTB,7
GOTO SW67_OFFOFF
GOTO SW67_OFFON
;6,7=00 SIN 6,7=10 2倍SIN 6,7=11 ツートーン 6,7=01 三角波
;SIN
SW67_OFFOFF
CALL TIM04
INCF M2,F
MOVF M2,W
CALL SIN_PIN
; CALL TONE_PIN
; CALL BAI_PIN
MOVWF PORTB
; MOVWF PORTA
GOTO SW67_OFFOFF
;2XSIN
;SW7_OFF
; CALL TIM04
; INCF M2,F
; MOVF M2,W
; CALL SIN_PIN
; CALL TONE_PIN
; CALL BAI_PIN
; MOVWF PORTB
; MOVWF PORTA
; GOTO SW7_OFF
;TONE
SW7_ON
CALL TIM04
INCF M2,F
MOVF M2,W
; CALL SIN_PIN
CALL TONE_PIN
; CALL BAI_PIN
MOVWF PORTB
; MOVWF PORTA
GOTO SW7_ON
;三角波
SW7_OFF
CLRF M2 M2のクリヤをここですることに変更してます。三角波の発生が出来ないときがあった
BTFSS PORTA,0
GOTO TR
BTFSS PORTA,1
GOTO RONDMH
;**疑似乱数 波形周期変換
RONDMF
CALL ROUD1
RONDMF_1
CALL RONDMF1
RONDMF_2
; BSF PORTB,5
; BCF PORTB,5
CALL TIM_RONDMF
MOVLW H'C0' ここで C0をM2に書きこむと1周期になる
MOVWF M2 上の画像は書きこんでないので4周期毎です
MOVF M2,W
; CALL SIN_PIN
CALL TONE_PIN
; CALL BAI_PIN
MOVWF PORTB
INCFSZ M2,F
GOTO RONDMF_2
GOTO RONDMF_1
RONDMF1
MOVF POP,W
MOVWF STATUS
RLF M1
MOVF M1,W
XORWF T2,0
XORWF T3,0
XORWF M3,0
MOVWF M1
MOVWF T1
INCF T2,1
INCF T3,1
INCF M3,1
MOVF STATUS,W
MOVWF POP
RETURN
;**************************************
;**疑似乱数 波高変換
RONDMH
CALL ROUD1
ROUND2
CALL TIM04
CALL RONDMH1
GOTO ROUND2
ROUD1
CLRF M1
MOVLW D'3'
MOVWF T2
MOVLW D'7'
MOVWF T3
MOVLW D'11'
MOVWF M3
MOVF STATUS,W
MOVWF POP
RETURN
RONDMH1
; CALL TIM04
MOVF POP,W
MOVWF STATUS
RLF M1
MOVF M1,W
XORWF T2,0
XORWF T3,0
XORWF M3,0
MOVWF M1
MOVWF PORTB
INCF T2,1
INCF T3,1
INCF M3,1
MOVF STATUS,W
MOVWF POP
RETURN
;****************************************
;**三角波**
TR
CALL TIM04
; INCF M2,F
MOVF M2,W
ADDLW D'8'
MOVWF PORTB
INCF M2,F
BTFSS M2,5
GOTO TR
DECF M2,F
DEC
; DECF M2,F
CALL TIM04
MOVF M2,W
ADDLW D'8'
MOVWF PORTB
DECF M2,F
BTFSS M2,6
GOTO DEC
INCF M2,F
GOTO TR
;************************************
;3倍波ツートーン
SW67_OFFON
CALL TIM04
INCF M2,F
MOVF M2,W
; CALL SIN_PIN
; CALL TONE_PIN
; CALL BAI_PIN
CALL TONE_P3
MOVWF PORTB
; MOVWF PORTA
GOTO SW67_OFFON
;************************************
;正弦波
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'
;********************
;2倍波ツートーン波
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'
;********************
;********************
;********************
;3倍波ツートーン波
TONE_P3
ANDLW H'3F'
ADDWF PCL,F
RETLW D'31'
RETLW D'38'
RETLW D'45'
RETLW D'50'
RETLW D'54'
RETLW D'57'
RETLW D'57'
RETLW D'56'
RETLW D'54'
RETLW D'49'
RETLW D'44'
RETLW D'39'
RETLW D'33'
RETLW D'28'
RETLW D'24'
RETLW D'20'
;********************
RETLW D'18'
RETLW D'18'
RETLW D'18'
RETLW D'20'
RETLW D'22'
RETLW D'24'
RETLW D'26'
RETLW D'28'
RETLW D'30'
RETLW D'31'
RETLW D'33'
RETLW D'33'
RETLW D'34'
RETLW D'34'
RETLW D'33'
RETLW D'32'
;********************
RETLW D'31'
RETLW D'31'
RETLW D'30'
RETLW D'29'
RETLW D'29'
RETLW D'30'
RETLW D'30'
RETLW D'32'
RETLW D'33'
RETLW D'35'
RETLW D'37'
RETLW D'39'
RETLW D'41'
RETLW D'43'
RETLW D'45'
RETLW D'45'
;********************
RETLW D'45'
RETLW D'43'
RETLW D'39'
RETLW D'35'
RETLW D'30'
RETLW D'24'
RETLW D'19'
RETLW D'14'
RETLW D'9'
RETLW D'7'
RETLW D'6'
RETLW D'6'
RETLW D'9'
RETLW D'13'
RETLW D'18'
RETLW D'25'
;********************
;********************
;2倍の波形
BAI_PIN
; ANDLW H'1F'
; ADDWF PCL,F
; RETLW D'31'
; RETLW D'36'
; RETLW D'41'
; RETLW D'45'
; RETLW D'49'
; RETLW D'52'
; RETLW D'55'
; RETLW D'56'
; RETLW D'57'
; RETLW D'56'
; RETLW D'55'
; RETLW D'52'
; RETLW D'49'
; RETLW D'45'
; RETLW D'41'
; RETLW D'36'
;********************
; RETLW D'31'
; RETLW D'27'
; RETLW D'22'
; RETLW D'17'
; RETLW D'14'
; RETLW D'11'
; RETLW D'8'
; RETLW D'7'
; RETLW D'6'
; RETLW D'7'
; RETLW D'8'
; RETLW D'11'
; RETLW D'14'
; RETLW D'17'
; RETLW D'22'
; RETLW D'27'
;********************
;********************
;04mSタイマー
TIM04
; MOVLW D'54'
MOVF PORTA,W
MOVWF T1
RLF T1,1
; RLF T1,1
; RLF T1,1
TIMLOOP1
DECFSZ T1,F
GOTO TIMLOOP1
RETURN
;********************
;********************
;疑似乱数で周期発生のタイマー
TIM_RONDMF
MOVLW D'3'
MOVWF T4
; MOVF T1,W
; MOVWF PORTB
TIM_RONDMF1
CALL TIM_RONDMF2
DECFSZ T4,F
GOTO TIM_RONDMF1
RETURN
TIM_RONDMF2
MOVF T1,W
MOVWF TF
TIM_RONDMF3
DECFSZ TF,F
GOTO TIM_RONDMF3
RETURN
;********************
END