忍者ブログ
このブログは@knight@のロボット・電子工作方面の活動を書いてるサイトです。
[578] [577] [576] [575] [574] [573] [572] [571] [570] [569] [568]
×

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

先日紹介したプログラムが何故か動作しない今日この頃
単純にPORTBとPORTAからLEDのアノードとカソード先に設置したNPNトランジスタのベース(仲介に10k)へ出力するプログラムなんですがそれが動かないというのも面妖な・・・
一応PORTAからの出力はできてるところを見ると機能してないのはPORTBだけみたいです
もしかしたら別の機能がI/O制御を阻害してるかもしれないので他の機能の設定をする必要がありそうですね




それと少し寄り道、
今日回路・プログラムを考える中秋月で売っている18F4550みたいな完成基盤を作ってみるのもありかなと思う
・ICSP(ピンソケット端子)
・丸ピン セラロック端子
・左右ピン足にVcc、Vss出力
・MCLREスイッチ
・5.5Vレギュレータ←電源用ピンヘッダ端子
・PIC用セラミックコンデンサあり

流石にプリント基板はコストとして難しいのでユニバーサル基盤で、あとICソケットの対応はユニバーサルでは無理かなとおもうので受け側を完全にピンソケットにしようかなと思う
幅のある24,28ピン端子とソケットを18に切断して使う手段もあるけど・・・ありかな
ICSPにピンソケットを使うのは出っ張りを減らすためで上手くいけばピン足を除いた基盤の高さも10mm以内に収められるかも

そんな回路の配線図はこちら

16F88_SA.PNG







一応部品の明細も記入しましたが一部食い違いもありますのでご注意を

あと続きにアセンブラで書いた失敗したときの16F88のプログラムを入れておきます
それでは今日はこの辺で


list P=16F88.INC

#include P16F88.INC

__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF

STAY1    EQU    20H;
STAY2     EQU    21H;
STAY3    EQU    22H;


ORG    0
        CLRF    STATUS;
        MOVLW    B'00100000';
        MOVWF    STATUS;
        MOVLW    B'00000000';
        MOVWF    TRISB;
        MOVLW    B'00000000';
        MOVWF    TRISA;
        CLRF    STATUS;
       
START:
        MOVLW    B'00000000';
        MOVWF    PORTB;

        MOVLW    B'11110000';
        MOVWF    PORTA;

        CALL    STOP;
       
        MOVLW    B'00000001';
        MOVWF    PORTB;

        MOVLW    B'11110000';
        MOVWF    PORTA;

        CALL    STOP;

        MOVLW    B'00000101';
        MOVWF    PORTB;

        MOVLW    B'11110000';
        MOVWF    PORTA;

        CALL    STOP;

        MOVLW    B'00001101';
        MOVWF    PORTB;

        MOVLW    B'11110000';
        MOVWF    PORTA;

        CALL    STOP;

        MOVLW    B'00101101';
        MOVWF    PORTB;

        MOVLW    B'11110000';
        MOVWF    PORTA;
   
        CALL    STOP;

        MOVLW    B'01101101';
        MOVWF    PORTB;

        MOVLW    B'11110000';
        MOVWF    PORTA;

        CALL    STOP;

        MOVLW    B'11101101';
        MOVWF    PORTB;

        MOVLW    B'11110000';
        MOVWF    PORTA;

        CALL    STOP;
        MOVLW    B'11101101';
        MOVWF    PORTB;

        MOVLW    B'11111000';
        MOVWF    PORTA;


        GOTO    START;
       




STOP:   
        MOVLW    D'100';10進数100カウント
        MOVWF    STAY1;
        MOVWF    STAY2;
        MOVWF    STAY3;


STOP2;
        DECFSZ    STAY1,1;f-1=0でループ脱出
        GOTO    STOP2;
        MOVWF    STAY1;100再装填(繰り返し用)
        DECFSZ    STAY2,1;
        GOTO    STOP2;
        MOVWF    STAY2;
        DECFSZ    STAY3,1;
        GOTO    STOP2;
        RETURN    ;
       
       
   





END
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
無題
・セミコロンをコロンと2箇所間違えてる、というか必要ないかも。
・CLRF ANSEL をSTARTラベルの前に記述(ANSELレジスタはバンク1、理由は自分で調べて
・図だと20MHzの外部クロック使うことになってるけど、_INTRC_IOだと内部クロックになる、_HS_OSCにする。
 ※内部クロックを使う場合はOSCCONレジスタでクロックの設定が必要。
・STOPラベルの最後にRETURNがない。
・STOP2ラベルへのCALLがSTOPラベル内にない。
上記2つから、
STOP

MOVLW D'100'
MOVWF STAY1
MOVWF STAY2
MOVWF STAY3
CALL STOP2
RETURN

STOP2
以下略

と記述するべき。

あとは知らんです。
2010/02/12(Fri)04:08:58 編集
無題
まいど
PORTBの代表的な兼用機能は、CCP、USART、SSP、ADCですね。
無効にしないとポートが使えないので設定しましょう。
PORTAにもコンパレータとADCがあるので無効にするべきですね。

>18F4550みたいな
以前は16F84、648A、88などPIC(表面実装とクリスタル、MAX232などが一体になって28ピンソケットに収まるキットが売ってました。
最近は16C771くらいしかないようですが。
PICマイコン PIC16C771モジュール・キット
http://akizukidenshi.com/catalog/g/gK-00186/
今は18F2550キットが高性能だから統合された感じかな。
ブレッドボード用にはあると便利なので、作ってみるのも面白いと思いますよ。
少佐 URL 2010/02/13(Sat)01:03:46 編集
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
カウンター
スケジュール
特にありません
回路図・プログラムソース
電子回路/プログラムのデータ、画像を掲載しています。 表示の軽量化でリンクのみにしています。
プロフィール
HN:
@knight@(アットナイト)
年齢:
34
性別:
男性
誕生日:
1990/05/25
職業:
大学生
趣味:
電子工作  絵描き
自己紹介:
とりあえずかっこいいものが好き
でも百合の方がもっと好きです

イラスト・電子工作・物語が好きです
近い目標はいろいろ


いつかこんなの作ってみたいです




プログラムの先生様(卒業?)↓







WebMoney ぷちカンパ

↑してくれたらうれしいな(^ω^)
ブログ内検索
バーコード
広告
忍者ブログ [PR]