2015-09-01から1ヶ月間の記事一覧

コンピュータゲームとネットワーク

1990年代後半になると、据え置き型ゲーム機での4人プレイが流行した。 また、ニンテンドー64等といった、周辺機器無しでも入力装置(コントローラー)を4つまで接続できる据え置き型ゲーム機も登場した。 据え置き型ゲーム機における4人プレイの原理 4人のユー…

グローバル変数とローカル変数と静的ローカル関数

変数内のデータは、ハードウェアにおいてはレジスタという機構に一時的に保存される。 グローバル変数とは、1つのプログラムにおいて、1つのレジスタを占有する変数である。 ローカル変数とは、1つのプログラムにおいて、1つのレジスタを複数の関数が共有す…

ハイテク自販機!うどん・そば自動調理自販機

石田鶏卵(株)にて、うどん・そば自動調理自販機が置かれている。 石田鶏卵(株)とは、兵庫県神戸市東灘区にある会社である。 阪神電鉄本線の深江駅の南東にある。 そこにある「うどん・そば自動調理自販機」は、ニチレイの自販機と違い、うどんやそばを機械的…

ハードウェアとソフトウェアとOSを他のものに置き換えたら

書物 ハードウェア:本 ソフトウェア:文章 OS:目次 物品 ハードウェア:文明 ソフトウェア:文化 OS:説明書(?)

シフトレジスタにもカウンターにもなる8ビットレジスタ

コンピュータで用いられるレジスタは、incf命令やdecf命令、各種ビットシフト命令をワイヤードロジックで実行出来るようにするために、タイトルで述べたレジスタが用いられるだろう。 そのレジスタは以下の特徴を持つ。私が考えた設定だが。 ・カウンターモ…

PCレジスタから理解する命令実行の仕組み

PCレジスタは、プログラムを実行させる上で最も重要なファイルレジスタである。 現在実行中の命令のアドレスの数値を格納する。 以下のプログラムがあるとする。 PCLは、下位8ビットの命令アドレスを記録するPCレジスタである。 ORG 0x010 ;以下の命令がアド…

int型とchar型

C言語において、int型とchar型との違いは何だと思う? 大抵の人は、文字を扱うか数値を扱うかの違いと即答するだろう。 だがそれは間違い。 取りうる値のバイトの数の違いである。 int型は4バイトの数値を扱い、char型は1バイトの数値を扱う。 なのでchar型…

C言語における関数のイメージ

C言語において、main関数以外の関数とはいったい何なのか。 大抵の人間は、アセンブリ言語のcall命令で呼び出されるサブルーチンと同じようなものと考えるに違いない。 関数という呼び方からして、数学の関数を思い浮かべないだろうか。 関数は、(関数名)(関…

シフトレジスタを連続で接続して制御範囲を拡張しよう

以下のマイコンがある。 PIC16F84Aと違いアナログ入力機能があるのが見所だ。 しかしピンの数が少ない。 沢山の端子(LEDマトリックスの端子など)に出力電圧をかけられるようにしてあげたい。 そこで、シフトレジスタを、分岐させつつ連続で接続することをお…

マイコン・PIC16F84Aのファイルレジスタ(アドレスは0Ch)の回路図を可能な限り書いてみた

PR端子とCLR端子は、FF回路の中の状態を強制的に変えられてしまう端子である。

C++における入出力システムの謎 その2

C++では、ヘッダーファイルがiostreamの場合、特殊変数coutが出力を担当し、特殊変数cinが入力を担当する。 http://blogs.yahoo.co.jp/hito35687/39490821.htmlも参照になってほしい。 cout << (画面に出力したい数値); //画面に出力 cin >> (入力データを格…

符号つき変数

負の数を表すための変数と、負の数を表さずレジスタ内の数値をそのまま表す変数(語頭にunsignedがつく)とがある。 char型の変数は、1バイトの数値、すなわち1つのレジスタが扱えるが、最上位のビットを符号として扱うため、-128から127までの間の範囲の数値…

C++における入出力システムの謎

C++においては、特殊変数cinが入力を担当し、特殊変数coutが出力を担当する。 cout << (出力する値); という書式で画面に文字や値を表すことが出来、 cin >> (入力データを格納する変数); という書式でデータの入力を受け付けることが出来る。 cout << 'a'; …

C言語の素の姿と、「#include (ヘッダーファイル名)」という記述を使わないC言語

見るがいい。以下のソースファイルは、C言語の素のソースファイルだ。 void main(void) { } main関数内には文がなく、冒頭にて「#include (ヘッダーファイル名)」という記述がない。 「#include (ヘッダーファイル名)」という記述がないために変数の形はvoid…

C言語においてワーキングレジスタが操作できない理由

アセンブリ言語ではワーキングレジスタの操作が出来るが、C言語だとそれが出来ない。 多項式の計算が文1つで行えるからだ。 例えば85+72という計算、アセンブリ言語だと、 movlw 55h ;ワーキングレジスタに、即値データの85という数値を格納。 addlw 48h ;ワ…

C言語についていろいろ

「#include (ヘッダーファイル名)」という記述は不要? C言語にて、一番初めに「#include (ヘッダーファイル名)」と記述するのは、利用するヘッダーファイルを表すためだ。 コマンドプロンプト内でC言語のプログラムを起動させる場合は、そのC言語のソースフ…

アセンブリ言語におけるレジスタのラベル付け

アドレスが0DhのレジスタにSTACKという名前を付けたいときは以下のようにする。 STACK EQU 0Dh また、0Chのアドレスのレジスタから順にレジスタに名前を付けたいときは、以下のようにする。レジスタの名前はそれぞれSTACK1、STACK2、STACK3とする。 CBLOCK 0…

C言語における変数とは?

変数とは、仮想レジスタのアドレスのラベルのことである。 C言語において仮想レジスタは8バイト、すなわち「8ビットの物理レジスタ8つ」で構成される。 C言語における仮想レジスタのアドレスを仮想アドレスと呼ぶことにする。 変数の宣言とは、仮想アドレス…

クリア端子とプリセット端子のついたD-FF

http://blogs.yahoo.co.jp/hito35687/39317822.htmlでもSN7474 D-FFについて語った。 プリセット端子は、FF回路を初期状態に戻すための端子である。 そのことを、動作表にとらわれずに考えてみた。 クリア端子は、FF回路を強制的に0の状態にするための端子で…

マイコンプログラムのオペランドを可能な限り数値で表してみよう その2

LIST P=16F84A ;マイコンはPIC16F84A INCLUDE P16F84A.INC ;インクルードファイルを指定 __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ;コンフィギュレーションビットの設定 ;水晶(HS)発振、ウォッチドッグタイマはOFF ;パワーアップタイマはOFF、コ…

ニブルの用法を考えてみた その2

1ニブルは4ビット。 そんなニブルの最大の用法は、これだ。 16進数の桁数を表す単位として用いる 例えば、1F(10進数では31)は2ニブルで構成される16進数であり、10A(10進数では266)は3ニブルで構成される16進数である。

ニブルの用法を考えてみた

ニブルとは、情報量を表す単位であり、1ニブルは4ビット、すなわち1/2バイトを意味する。 そのニブルの用法を考えてみた。 ・16進数を表記する文字の数の単位。 ・上位4ビットと下位4ビットはそれぞれ、上位ニブル、下位ニブルと呼ばれるだろう。

コンピュータの真理とPIC16F84A

コンピュータとは、プログラムに従って計算を行い出力する機械である。 なのでプログラムの実行の無限ループは許されるべきではない。 しかしマイコンはその無限ループを許されている。 では、PIC16F84Aというマイコンを、コンピュータの原点に立ち変えらせ…

PIC16F84Aをこんな風に改造するとしたら?

PIC16F84Aを、以下のように改造するとする。 各ポートのピン番号は、上から順に0,1,2,3,4,5,6,7だ。 ポートAとポートDはデジタル入力専用端子、ポートBとポートCは出力専用端子だ。 なので、入出力設定を行う必要がない。よって、TRISAというレジスタとTRISB…

PIC16F84Aについて、そしてその入出力機能が変化したら?

PIC16F84Aとは、私が最も愛用しているマイコンである。 一番の特徴は、「基本的に1ピンにつき1機能」であるところだ。そのため、リセット入力専用端子、周波数制御専用端子も存在するのだ。 1つのピンに様々な機能を詰め込むのがPICマイコンだが、PIC16F84A…

PICマイコン

PICマイコンの凄いところといったら、1つのピンに様々な機能が詰め込まれているところだ。 入出力機能の他に、リセット機能、通信機能、アナログ入力機能等が詰め込まれている。 例えばPIC16F648AというマイコンのRB6ピンには、入出力機能の他に、タイマー発…

C言語における&#039;&#039;と&quot;&quot;との違い

C言語において、''を""で代用してはならない。 ''は、文字を1つだけ格納する括弧。 ""は、複数の文字を格納する括弧。 冒頭において、''を""で代用してはならないといった。 その理由は以下の通りだ。 ""だと、"a"などとして1文字だけ格納したようにしても、…

統合される、IN命令とOUT命令

IN命令は入力データ受付命令、OUT命令は出力命令である。 PIC16F84Aというマイコンでは、IN命令とOUT命令がmov命令に統合されている。 ポートの入出力設定を自由に決められるからか。 bsf STATUS,RP0 ;バンク1に切り替え movlw 01Fh ;ポートAのモードの設定…

ビジネスホテル亀山

ビジネスホテル亀山とは、和歌山県御坊市の御坊市街にあるホテルだ。 外観は、昭和中期を彷彿とさせる、コンクリ製で古くさいデザイン。 http://img.travel.rakuten.co.jp/share/HOTEL/18454/18454.jpg また、ホームページが存在しない。そこがイケている。

マイコン「PIC16F84A」の解説 その2

端子 電源端子:VDD、VSS 入出力端子:RA0、RA1、RA2、RA3、RA4(兼オープンドレイン出力端子、兼TMR0クロック端子)、RB0(兼INT端子)、RB1、RB2、RB3、RB4、RB5、RB6、RB7 リセット端子:MCLR 周波数端子:OSC1、OSC2 メモリー プログラムメモリー:14ビット…