忍者ブログ

PICのド素人のブログ

10年ほど前にヤフーブログにあった記録をここへ移しました。「PIC16F84Aで作ってみました 」というホームページも運営していました。今はそこも消滅し   http://picdetukutte.toshi-ie.com/PIC16F84A.html   にすべてではありませんが引っ越しています。あわせてご覧いただければ幸いです。

正弦波プログラムだーーー。PIC12F675 629共用

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

正弦波プログラムだーーー。PIC12F675 629共用

;これをズルーーーーンとコピペしてasmファイルにしてね。
;使用部品:PIC12F675(629でも可) 10MHzセラロック(20MHzでも可)
;              抵抗10KΩ3個  コンデンサ0.1μF3個
;配線方法はコピペすれば解るぜ
;わっはっはっはっはははっははははははっはっははははははっはっはっは
 
 
 
; PIC12F675 SIN波形
;           _____________
;  VDD 5V =1;            ;8= 0V VSS
;  10MHz  =2;(GP5)  (GP0);7= OUT____10KΩ____10KΩ____10KΩ____OUTPUT
;  10MHz  =3;(GP4)  (GP1);6=              T        T        T     
;         =4;(GP3)  (AN2);5=            0.1μF   0.1μF   0.1μF
;           ______________               T        T        T            
;                                        GND      GND      GND
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 list      p=12f675 ; 翻訳時にリストファイルを作ります
 #include <p12f675.inc> ; 12F675用定義ファイルを読み込みます
 ;ASMファイルでは「;」より右側は読み取りませんので注意書きなり落書きが可能です。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 __CONFIG _CP_OFF & _CPD_OFF & _WDT_OFF & _MCLRE_OFF & _PWRTE_ON & _HS_OSC ;10MHz
                                                     ; _INTRC_OSC_NOCLKOUT ;4MHz
         
 ;↑↑動かす条件です。機種によっていろいろ取り決めはありますが、これらは理屈抜きに覚えてください。  
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 errorlevel  -302 ; 翻訳時に302エラーが出ないようにします
 radix dec  ; 省略時の数値表現を10進数にします。
 ORG 000H
 GOTO INIT
 DATA_0  EQU 20H ;
 DATA_1  EQU 21H ;
 DATA_1A  EQU 22H ; 
 CNT  EQU 23H ;
 SPEED_1  EQU 24H ;
     
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<<<初期化ルーチン>>>
INIT:
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;プログラムは「GOTO」などの命令がない限り下へ下へと降りて行きます。
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 BSF STATUS,RP0   ;BANK1に切り替え STATUS,RP0を1にするという意味
 MOVLW   B'00000000'   
 MOVWF TRISIO                       ;GPIO
 MOVLW   B'10000111'     ;
 MOVWF OPTION_REG    ;
                         
 CLRF ANSEL
 BCF STATUS,RP0   ;BANK0に切り替え STATUS,RP0を0にするという意味
 MOVLW B'00000111'   ;GP2,GP1,GP0,
 MOVWF CMCON

 CLRF DATA_0  
 CLRF DATA_1  
 CLRF DATA_1A   
 CLRF CNT  
 CLRF SPEED_1  

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MAIN0
 CALL PTN_DATA  ;データパターンへ
 MOVWF DATA_1   ;<<PWM分子入力>>
 INCF CNT,F   ;データカウント更新
 MOVLW D'64'   ;データ総数
 SUBWF CNT,W
 BTFSC STATUS,C  ;データ総数カウント完了?
 CLRF CNT   ;YES
     ;NO
MAIN1     ;<<PWM分母入力>> 
 MOVLW D'64'
 MOVWF DATA_0
     ;<<PWM分母入力>> 
 MOVF DATA_1,W
 MOVWF DATA_1A
     ;<<データ値0チェック>>
 MOVF DATA_1,F  ;DATA_1=0?
 BTFSS STATUS,Z  ;
 GOTO MAIN2   ;NO 
 BCF GPIO,0   ;YES
 GOTO MAIN3
 
MAIN2     ;<<分子減少>>
 BSF GPIO,0
 DECFSZ DATA_1A   ;分子-1=0?
 GOTO MAIN3   ;NO
 BCF GPIO,0   ;YES
MAIN3     ;<<分母減少>> 
 DECFSZ DATA_0,F  ;分母-1=0?
 GOTO MAIN4   ;NO
     ;YES
     ;<<SPEED_1値0チェック>> 
 DECFSZ SPEED_1,F  ;SPEED_1-1=0?
 GOTO MAIN1   ;N0
     ;YES
 MOVLW D'1'     
 MOVWF SPEED_1
 GOTO MAIN0
MAIN4     ;<<GP0オフチェック >>    
 BTFSC GPIO,0   ;GP0 ON?
 GOTO MAIN2   ;YES 
 NOP    ;NO
 NOP
 NOP
 GOTO MAIN3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PTN_DATA
 MOVF CNT,W
 ADDWF PCL,F
 RETLW D'32'
 RETLW D'35'
 RETLW D'38'
 RETLW D'41'
 RETLW D'44'
 RETLW D'47'
 RETLW D'50'
 RETLW D'52'
 RETLW D'55'
 RETLW D'57'
 RETLW D'59'
 RETLW D'60'
 RETLW D'62'
 RETLW D'63'
 RETLW D'63'
 RETLW D'64'
 RETLW D'64'
 RETLW D'64'
 RETLW D'63'
 RETLW D'63'
 RETLW D'62'
 RETLW D'60'
 RETLW D'59'
 RETLW D'57'
 RETLW D'55'
 RETLW D'52'
 RETLW D'50'
 RETLW D'47'
 RETLW D'44'
 RETLW D'41'
 RETLW D'38'
 RETLW D'35'
 RETLW D'32'
 RETLW D'29'
 RETLW D'26'
 RETLW D'23'
 RETLW D'20'
 RETLW D'17'
 RETLW D'14'
 RETLW D'12'
 RETLW D'9'
 RETLW D'7'
 RETLW D'5'
 RETLW D'4'
 RETLW D'2'
 RETLW D'1'
 RETLW D'1'
 RETLW D'0'
 RETLW D'0'
 RETLW D'0'
 RETLW D'1'
 RETLW D'1'
 RETLW D'2'
 RETLW D'4'
 RETLW D'5'
 RETLW D'7'
 RETLW D'9'
 RETLW D'12'
 RETLW D'14'
 RETLW D'17'
 RETLW D'20'
 RETLW D'23'
 RETLW D'26'
 RETLW D'29'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

拍手[0回]

PR

コメント

プロフィール

HN:
waewax
性別:
非公開

P R