2021-01-01から1年間の記事一覧
今回は、LCD表示器に文字を表示します。 まずは回路ですが、下の通りです。 使用する、LCD表示器は、秋月電子で売っている超小型LCDキャラクタディスプレイモジュール(16×2行 白抜き)型番SD1602VBWB-XA-G-G(下写真)です。 L…
今回は、4桁7セグメントLED表示器をダイナミック点灯にて駆動してみた。 プログラムは、下の通りです。 上記プログラムには、使っていない変数が定義されています。 上のプログラムを実行する回路は下の通りです。 PICマイコンは、PIC16F62…
アセンブリ言語でプログラムを書いて、LEDチカチカをやってみた。 下が、そのプログラム、40行まで、初期設定である。 29、30行で変数のラベルを設定。 34行からがメインプログラム、35行でメモリのバンクを1に変更。 (TRISレジスタがバ…
PICの動作開始は、どの様になっているのか。 1.PICが適正な回路で使用され、電源が投入される。 2.電源電圧が決まった値を超えると、リセット信号が出て、PICは動作停止状態になる。 3.その後、決まった時間待機してから、クロック信号をカウ…
RETFLW命令の解説。 書式;RETLW k kは、定数データ 0~255(0x00~0xFF)、または、ラベル。 動作;CALL命令の次の命令に制御を移すと共に、ワーキングレジスタにkを書き込む。 ステータスレジスタへの影響 C;影響しない DC;影響しな…
RETFIE命令の解説。 書式;RETFIE 動作;ハードウェア割込み発生命令の次の命令に制御を移すと共に、INTCONレジスタのGIEに1を書き込む。 ステータスレジスタへの影響 C;影響しない DC;影響しない Z;影響しない 例
RETURN命令の解説。 書式;RETURN 動作;CALL命令の次の命令に制御を移す。 ステータスレジスタへの影響 C;影響しない DC;影響しない Z;影響しない 例
GOTO命令の解説。 書式;GOTO k kは、定数データ 0~2047(0x00~0x7FF)、または、ラベル。 動作;k番地の命令に制御を移す。 ステータスレジスタへの影響 C;影響しない DC;影響しない Z;影響しない 例 1. GOTO命令のアドレスを0…
CALL命令の解説。 書式;CALL k kは、定数データ 0~2047(0x00~0x7FF)、または、ラベル。 動作;リターンアドレスをスタックに書き込み、k番地のサブルーチンに飛ぶ。 ステータスレジスタへの影響 C;影響しない DC;影響しない Z;影響…
BTFSS命令の解説。 書式;BTFSS f,b fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 bは、汎用レジスタビット指定 0~7。 動作;fのbビットが1? ➡ 1なら次の命令はNOP、0ならそのまま実行。 汎用レジスタのbビットが…
BTFSC命令の解説。 書式;BTFSC f,b fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 bは、汎用レジスタビット指定 0~7。 動作;fのbビットが0? ➡ 0なら次の命令はNOP、1ならそのまま実行。 汎用レジスタのbビットが…
INCFSZ命令の解説。 書式;INCFSZ f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;f + 1 ➡ W or f 汎用レジスタ内容に1を加算し、結果を…
DECFSZ命令の解説。 書式;DECFSZ f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;f - 1 ➡ W or f 汎用レジスタ内容から1を減算し、結果…
XORLW命令の解説。 書式;XORLW K kは、定数データ 0~255(0x00~0xFF)、または、ラベル。 動作;W XOR k ➡ W ワーキングレジスタの内容と定数データのXORを計算し、結果をワーキングレジスタに上書き。 ステータスレジスタへの影響 C…
XORWF命令の解説。 書式;XORWF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;W XOR f ➡ W or f ワーキングレジスタの内容と汎用レジ…
SWAPF命令の解説。 書式;SWAPF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;f上位 ⇆ f下位 ➡ f or W 汎用レジスタの内容の上位4ビットと下…
SUBWF命令の解説。 書式;SUBWF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;f - W ➡ f or W 汎用レジスタの内容からワーキングレジスタの…
SUBLW命令の解説。 書式;SUBLW k kは、リテラルデータ 0~255(0x00~0xFF)。 動作; k - W ➡ W リテラルデータからワーキングレジスタの内容を減算し、ワーキングレジスタに上書き。 (0x01~0x0x7F(1~127)が正の数、0xFF~0x81(-1~ー127…
RRF命令の解説。 書式;RRF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作; C f C f 0 10010110 ➡ 0 01001011 Cと汎用レジスタの内容のビット…
RLF命令の解説。 書式;RLF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作; C f C f 0 10010110 ➡ 1 00101100 Cと汎用レジスタの内容のビット…
NOP命令の解説。 書式;NOP 何もしない。 C;影響しない DC;影響しない Z;影響しない 例; 1. NOP //命令実行 1命令文の実行時間中何もしない、何もしなくても、1命令文の実行時間はかかる。 PICのクロックが、4MHzの時、1μ秒程の時間が…
MOVWF命令の解説。 書式;MOVWF f fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 動作;W ➡ f ワーキングレジスタの内容を、汎用レジスタに上書き。 C;影響しない DC;影響しない Z;影響しない 例; 1. 汎用レジスタ番…
MOVF命令の解説。 書式;MOVF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;f ➡ W or f 汎用レジスタの内容を、dで指定されたレジスタに上…
IORWF命令の解説。 書式;IORWF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;W OR f ➡ W or f ワーキングレジスタの内容と汎用レジスタ…
MOVLW命令の解説。 書式;MOVLW K kは、定数データ 0~255(0x00~0xFF)、または、ラベル。 動作; k ➡ W 定数データをワーキングレジスタに上書き。 ステータスレジスタへの影響 C;影響しない DC;影響しない Z;影響しない 例; 1. W …
IORLW命令の解説。 書式;IORLW k kは、定数データ 0~255(0x00~0xFF)、または、ラベル。 動作;W or k ➡ W ワーキングレジスタの内容と定数データのORを計算し、結果をワーキングレジスタに上書き。 ステータスレジスタへの影響 C;影響し…
INCF命令の解説。 書式;INCF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;f + 1 ➡ W or f 汎用レジスタ内容に1を加算し、結果をdで指…
DECF命令の解説。 書式;DECF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作;f - 1 ➡ W or f 汎用レジスタ内容から1を減算し、結果をdで…
COMF命令の解説。 書式;COMF f,d fは、汎用レジスタアドレス 0~127(0x00~0x7F)、または、ラベル。 dは、結果の上書き先が、ワーキングレジスタか、汎用レジスタの選択。 動作; f 反転 ➡ W or f fの内容の2進数を反転して、格納先に上書きす…
CLRW命令の解説。 書式;CLRW 動作;Wの内容 0x?? ➡ 0x00 ワーキングレジスタの内容を0x00にする。 ステータスレジスタへの影響 C;影響しない DC;影響しない Z;1をセット 例; 1. W 0xA6 //命令実行前の値(ワーキングレジスタの内容) CLRW //…