JP3411622B2 - プログラム変更可能なカメラ - Google Patents
プログラム変更可能なカメラInfo
- Publication number
- JP3411622B2 JP3411622B2 JP16620993A JP16620993A JP3411622B2 JP 3411622 B2 JP3411622 B2 JP 3411622B2 JP 16620993 A JP16620993 A JP 16620993A JP 16620993 A JP16620993 A JP 16620993A JP 3411622 B2 JP3411622 B2 JP 3411622B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- executed
- processing
- point
- ram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Exposure Control For Cameras (AREA)
- Details Of Cameras Including Film Mechanisms (AREA)
Description
なカメラに関する。
してのCPUのプログラムは、ROM上に設定されてい
るのが普通である。
がROM上に設定されている為、例えば、ソフト上にバ
グが発見された場合には、プログラム全体を変更・改造
しなければならず、その他為の手間が多大なものであ
り、改善が要望されている。また、特殊用途で特殊機能
を追加させる場合にも、プログラム全体を変更・改造し
なければならず、その他為の手間が多大なものであり、
改善が要望されている。
されたもので、この発明の目的は、任意のプログラムを
追加実行する事により、簡単にプログラムの変更を可能
とするプログラム変更可能なカメラを提供することであ
る。
目的を達成するため、請求項1に記載のプログラム変更
可能なカメラは、カメラ本体と、ROMおよびRAMを
有し、前記カメラ本体を制御する制御手段と、前記制御
手段に接続され、電気的に書き換え可能な不揮発性記憶
素子と、前記ROMに格納され、前記制御手段で実行さ
れるプログラム中に、少なくとも1つ以上配設されたポ
イント手段とを具備し、前記不揮発性記憶素子には、各
ポイント手段に対応して、ポイント処理プログラムと、
前記ポイント処理プログラムの前記不揮発性記憶素子に
おける格納情報が書き換え可能に記憶され、各ポイント
手段が実行される事により、前記不揮発性記憶素子にお
いて、各ポイント手段に対応する前記格納情報に基づき
ポイント処理プログラムを読み出して、前記制御手段の
RAMの所定領域に書き込み、前記ポイント処理プログ
ラムが書き込まれたRAMのアドレスがコールされる事
によりこのRAM上のプログラムを実行するように構成
され、さらに、前記ポイント処理プログラムが書き込ま
れるRAMのアドレスは、スタック領域に設定されると
ともに、少なくとも2つのポイント手段で共通に設定さ
れ、前記各ポイント手段が実行される際には、スタック
ポインタを前記スタック領域の最上位に設定すること、
を特徴としている。
なカメラの一実施例を、一眼レフレックスカメラに適用
した場合につき、詳細に説明する。図1乃至図3は、こ
の一実施例が適用される一眼レフレックスカメラのカメ
ラボディ10の構成を示す正面図、上面図、及び、背面
図である。図1に示す様に、このカメラボディ10の正
面には、撮影レンズ12(図13に示す。)が交換可能
(即ち、着脱自在)に装着されるレンズマウント部14
が形成されている。この撮影レンズ12は、詳細は図示
されていないが、この一実施例においては、パワーズー
ムレンズから構成され、例えば、焦点距離が28mm乃
至80mmの間で、内蔵したズームモータ(図示せず)
を介して任意に変更可能に設定されている。
への装着状態において、レンズマウント部14にロック
されており、レンズマウント部14の向かって左側に配
設されたレンズロック釦16を押し込む事により、その
ロック状態を解除され、レンズマウント部14からの取
り外しが許容される様に構成されている。ここで、カメ
ラボディ10に撮影レンズ12が装着された状態で、レ
ンズマウント部14の表面(前面)に配設された接続端
子群18と、撮影レンズ12の後面に配設された接続端
子群(図示せず)とが互いに接触する事により、図4に
示す様に、カメラボディ10に内蔵されたボディ側CP
U20と撮影レンズ12に内蔵されたレンズ側CPU
(図示せず)とが互いに通信可能に接続される事にな
る。
側には、ピントを手動で合わせるマニュアルフォーカス
(MF)モードかピントを自動的に合わせる自動合焦
(AF)モードを切り換え設定する為のフォーカスモー
ド切り換え釦24が略上下方向に沿ってスライド自在に
配設されている。図1に示す様に、このフォーカスモー
ド切り換え釦24に刻印された「−」マークをカメラボ
ディ10に刻印されたAFマークに合わせる事により、
AFモードが、また、MFマークに合わせる事によりM
Fモードが、夫々切り換え設定される
ディ10の上面の向かって左側には、最も前方に張り出
した位置に、シャッタ釦26が押し込み自在に配設され
ている。このシャッタ釦の直後方に隣接した位置に、指
定された可変データをアップ/ダウンさせる為のアップ
/ダウンレバー28が、撮影レンズ12の光軸に略平行
な軸線回りに(即ち、カメラボディ10の略前後方向に
沿って延出する軸線回りに)回動自在に配設されてい
る。更に、このアップ/ダウンレバー28の直後方に隣
接した位置に、クリア釦としても機能するTv/Av釦
30が押し込み自在に配設されている。ここで、Tv/
Av釦30は、後述するメイン釦36がON位置にもた
らされる事により設定されるフルスペックモードにおけ
るオート露出モード(A)及びマニュアル露出モード
(M)において、これを押す毎に、シャッタ速度優先モ
ードまたは絞り優先モードが順次切り換え設定される。
寄りの前方部分内には、内蔵フラッシュ(図示せず。)
がポップアップ釦32を押し込む事により上方にポップ
アップ可能に配設されている。また、図2に示す様に、
このカメラボディ10の上面の中央寄りの後方部分上に
は、撮影に必要となる種々の情報を表示する為の表示L
CDパネル34が外部から視認可能に配設されている。
この表示LCDパネル34の向かって左側には、メイン
釦36が前後方向に沿ってスライド可能に配設されてい
る。このメイン釦36はOFF位置−グリーン位置−O
N位置との間でスライド移動され、後述するメインスイ
ッチ66がOFF位置でオフされ、グリーン位置または
ON位置でオンされる様に設定されている。
たらされた状態で、プログラムモード(P)、オート露
出モード(A)、マニュアル露出モード(M)、バルブ
処理(B)が任意に選択される露出モード(フルスペッ
クモード:FULL)が設定され、後述するモード釦4
0を押し込んだ状態でアップ/ダウンレバー28を回動
する事により、プログラムモード(P)、オート露出モ
ード(A)、マニュアル露出モード(M)、バルブ処理
(B)が順次変更・選択される。一方、メイン釦36が
グリーン位置にもたらされた状態で、初心者による撮影
に最適する撮影モードが設定される。
係がないので、ここでの説明を省略する。尚、マニュア
ル露出モード(M)が設定された状態において、シャッ
タ速度及び絞りは、上述したTv/Av釦30で設定さ
れた側の値を、アップ/ダウンレバー28を回動する事
により、変更することが出来る様に設定されている。。
右側部には、向かって右側にドライブ釦38が、また、
向かって左側にモード釦40が、夫々押し込み自在に配
設されている。これらドライブ釦38とモード釦40と
は、カメラボディ10の左側部(図1及び図2におい
て、向かって右側部)を握った撮影者の左手の人差し指
により各々単独に押し込み操作可能に、また、この人差
し指により両者が同時に押し込み操作可能な状態に配設
されている。
だ状態で、上述したアップ/ダウンレバー28を回動操
作することにより、ドライブモードが1枚撮影モード、
多数枚撮影モード、セルフタイマー撮影モードとの間で
順次切り換え選択されるように設定されている。一方、
モード釦40は、これを押し込んだ状態で、上述したア
ップ/ダウンレバー28を回動操作する事により、メイ
ン釦36がON位置にある場合には、露出モードがフル
スペックモードとして規定される所のプログラム演算モ
ード(P)、オート露出モード(A)、マニュアル露出
モード(M)、バルブ処理モード(B)の間で順次切り
換え選択される様に設定されている。
て左側部には、図示しない外部フラッシュが装着される
アクセサリーシュー42が配設されている。このアクセ
サリーシュー42は通常、カバー部材44により覆われ
ている。
の背面の上部には、ファインダ接眼部46が配設されて
いる。また、カメラボディ10の背面の下部は、略全面
に渡り裏蓋48により開放可能に覆われており、この裏
蓋48を開放する状態で、フィルムの着脱が行われる。
この裏蓋48には、詳細な説明は省略するが、撮影中の
フィルムに撮影年月日を任意に写し込ませる事の出来る
日付データ写し込み機構が組み込まれている。
は、露出補正釦50が押し込み自在に配設されている。
この露出補正釦50は、通常露出モードにおけるプログ
ラム演算モード(P)、または、オート露出モード
(A)が選択されている場合において、この露出補正釦
50を押し込んだ状態で、アップ/ダウンレバー28を
回動操作することにより、カメラ側で演算した最適露出
状態を撮影者の意図のもとに、プラス方向またはマイナ
ス方向に補正することが出来るように設定されている。
いスイッチアッセンブリが配設されており、このスイッ
チアッセンブリ内には、シャッタ釦26の半押し状態で
オンする測光スイッチ52(図4に示す。)と、シャッ
タ釦26の全押し状態でオンするレリーズスイッチ54
(図4に示す。)とが収納されている。また、Tv/A
v釦30の下方には、Tv/Av切り換えスイッチ56
が配設されており、このTv/Av切り換えスイッチ5
6はTv/Av釦26の押し込みにより切り換え動作さ
れる様に構成されている。
は、押し込み動作によって駆動されるのではなく、回動
駆動される様に構成されている。即ち、詳細は図示しな
いが、アップ/ダウンレバー28は図示しないレバー本
体を備え、このレバー本体が図中反時計方向(即ち、撮
影者から見て時計方向)に回動される事によりオン動作
されるUPスイッチ58(図4に示す。)が、また、図
中時計方向(即ち、撮影者から見て反時計方向)に回動
される事によりオン動作されるDOWNスイッチ60
(図4に示す。)が夫々配設されている。
ンスプリングにより、UPスイッチ58及びDOWNス
イッチ60を共にオン動作しない中立位置に復帰する様
に(換言すれば、弾性保持される様に)回動付勢されて
いる。また、モード釦40の下方にはモードスイッチ6
2が配設されている。このモードスイッチ62はモード
釦40の押し込みによりオン動作される様に構成されて
いる。更に、ドライブ釦38の下方にはドライブスイッ
チ64が配設されている。このドライブスイッチ64は
ドライブ釦38の押し込みによりオン動作される様に構
成されている。
ける一眼レフレックスカメラの制御系の構成を説明す
る。
測光センサ70が、測光回路72及びA/D変換回路7
4を夫々介して接続されており、この測光センサ70が
受光量に応じて発生する電気信号を測光回路72におい
て対数圧縮し、A/D変換回路74においてA/D変換
し、測光信号としてボディ側CPU20に出力する。ボ
ディ側CPU20は、測光信号およびフィルム感度設定
装置76からのフィルム感度情報に基づいて所定の演算
を実行し、露出用の適正シャッタ速度および絞り値を算
出する。そして、これらのシャッタ速度および絞り値に
夫々基づいて、シャッタ制御回路78及び絞り制御回路
80を夫々介して、図示しないフォーカルプレーンシャ
ッタユニットおよび図示しない絞り機構を夫々駆動制御
する。
測光信号およびフィルム感度情報に基づいて所定の露出
演算を実行し、露出用の適正シャッタ速度および絞り値
を算出する。そして、これらのシャッタ速度および絞り
値に基づいて、シャッタ制御回路78及び絞り制御回路
80を制御して露光する。更に、このボディ側CPU2
0は、レリーズに際して、ミラー制御回路82を介して
図示しないミラーモータを駆動制御して、メインミラー
68(図1に示す)のアップ/ダウン処理を行ない、露
光終了後にはフィルム巻上・巻戻し制御回路84を介し
て図示しない巻上モータを駆動してフィルムを巻上げ
る。尚、所定のフィルム枚数の撮影動作が終了すると、
このフィルム巻上・巻戻し制御回路84を介して図示し
ない巻戻しモータを駆動してフィルムを巻き戻す。
ント部14に設けられた接続端子群18と、撮影レンズ
12のマウント面に設けられた図示しない接続端子群と
の接続を介して、レンズ側CPUとの間でデータ、コマ
ンド等の通信を行なう。尚、撮影レンズ12内には、現
在設定されている焦点距離を検出する焦点距離検出機構
を備えており、この焦点距離検出機構はレンズ側CPU
と接続されている。
司り、プログラムをメモリしたROM、所定のデータ及
びプログラムをメモリするRAMを内蔵した制御部20
aと、AF(オートフォーカス)演算、PZ(パワーズ
ーム)演算、AE演算等の演算処理を実行する演算部2
0bと、タイマカウンタ20cとを備え、制御部20a
には、外部メモリ手段としての電気的に書き換え可能な
不揮発性記憶素子としての例えばEEPROM86が接
続されている。このEEPROM86には、カメラボデ
ィ10特有の各種定数のほかに、AF(オートフォーカ
ス)演算、PZ(パワーズーム)演算、AE演算等の演
算処理に必要な各種関数、定数、及び、この発明の特徴
となる各POINT実行OKビット情報、各POINT
情報、各POINT処理で実行されるプログラムなどが
メモリされている。尚、これら情報の詳細については、
後述する。
のポートP00〜P07には、シャッタ釦26の半押し
でオンする測光スイッチ52、シャッタ釦の全押しでオ
ンするレリーズスイッチ54、Tv/Av切換スイッチ
56、UPスイッチ58、DOWNスイッチ60、モー
ドスイッチ62、ドライブスイッチ64、及び、上述し
た様にメイン釦30のスライド移動に応じてオン/オフ
されるメインスイッチ66が夫々接続されている。
ラー68を強制的にアップさせる為のアップスイッチ8
8及び強制的にダウンさせる為のダウンスイッチ90が
接続されている。また、ボディ側CPU20には、図示
しない通信制御部を介して外部計算機92が接続され、
この外部計算機92により、EEPROM86のデータ
の書き換えやプログラムの変更やテスト動作等が実行さ
れる様に設定されている。
Dには、DC/DCコンバータ94を介して電源96の
プラス端子が接続され、この電源96のマイナス端子
は、ボディ側CPU20のグランド端子GNDに接続さ
れている。また、ボディ側CPU20には、このCPU
20用の発振子98が接続されている。
至第8のポートP00〜P07の回路構成を説明する。
尚、これら第1乃至第8のポートP00〜P07の回路
構成は、同一であるので、以下の説明において、符号P
で代表させて説明する。
ては、入出力ポート、即ち、後述する方向データに基づ
き入力ポート及び出力ポートとして切換設定された状態
で用いられる様に構成されている。また、各ポートPは
プルアップ抵抗として機能するMOSFET100を介
して所謂プルアップされている。ここで、各ポートPの
回路構成においては、図5に示す様に、方向データとし
て「0」がセットされた場合には、このポートPは入力
ポートとして機能し、ポートに接続されている外部スイ
ッチの状態が内部データバスに伝えられる事になる。
尚、この入力ポートとして機能する場合、MOSFET
100はオンされ、従って、外部スイッチがオン(即
ち、GNDと短絡)の場合には、所定の電力を消費する
事になる。
れた場合には、このポートPは出力ポートとして機能
し、内部データバスからのデータが外部に出力される事
になる。尚、この出力ポートとして機能する場合、MO
SFET100はオフされ、また、出力データとして
「0」信号が出力されている場合、外部スイッチのオン
/オフ状態に拘わらず、何ら電力を消費しないものであ
る。
実施例のカメラの制御について、フローチャートに基づ
いて説明する。
に対応するPOFFループと、動作状態のPONループ
がある。即ち、PONループから本実施例のカメラを制
御する各処理が実行される。制御処理としては、この一
実施例においては、シャッタ釦26の全押しによる撮影
を制御するレリーズ処理を取り上げて説明する。
明する処理手順の中の複数の箇所、具体的には合計で8
箇所にPOINT処理(即ち、POINT1処理乃至P
OINT8処理)が適宜分散された状態で配設されてお
り、各POINT処理における具体的な実行手順は、後
に詳細に説明するが、ソフトを何ら変更・改造すること
なく、EEPROM86に所定のプログラムを書き込
み、そのプログラムを所定のPOINTで選択的に実行
させることより、例えば、組み込まれたソフトに発見さ
れたバグを実質的に取り除いたり、特殊用途に応じた特
殊機能を追加することが出来る様になされている。
メラの制御のメインルーチンを表わすフローチャートで
ある。このフローチャートは、カメラにバッテリーが装
着された時点で開始される。バッテリがカメラボディ1
0に装填されると、まず、割り込み処理を禁止し、フラ
グの初期化、RAM・レジスタの初期化、スタックポイ
ンタの設定(最上位に設定)、ポートの初期化(即ち、
ポートP00〜P07の出力データを「0」二セッ
ト)、ROMのサムチェックなどのイニシャライズ処理
を実行する(S601、S603)。つぎに、一旦パワ
ーホールドオン状態として、カメラ全体のハードウエア
に電源を供給し、EEPROM86に保存されているデ
ータをボディ側CPU20のRAMに書き込む(S60
5、S607)。
ス空間は、この一実施例においては、図7に示す様に設
定されている。そして、EEPROM86には、図8に
示す様に、各POINT毎の情報が、後述するテスト処
理において書き換え可能にメモリされている。
情報として、この一実施例においては、図9に示す様
に、アドレス下位情報、アドレス上位情報、論理情報、
並びに、ビット情報がメモリされている。ここで、論理
情報としては、「00h」が設定されている場合には、
論理『OR』(論理和)がセットされ、「01h」が設
定されている場合には、論理『AND』(論理積)がセ
ットされ、「02h」が設定されている場合には、論理
『EOR』(排他的論理和)がセットされる様に構成さ
れている。
には、POINT1におけるアドレス下位情報として
「9Fh」が、アドレス上位情報として「00h」が、
論理情報として「00h」が、また、ビット情報として
「00h」が夫々メモリされている。また、POINT
2におけるアドレス下位情報として「01h」が、アド
レス上位情報として「00h」が、論理情報として「0
0h」が、また、ビット情報として「FFh」が夫々メ
モリされている。
h」を設定する意味は、後に詳細に説明するが、メイン
スイッチ66がオフされている、または、メインスイッ
チ66がオンされていてもレリーズスイッチ54及び測
光スイッチ52がオフされていれば、上述した各ポート
P00〜P07を出力ポートとして機能させて「0」デ
ータを出力し、無用な電力消費を防止する為に、各ポー
トP00〜P07の方向データとして、本来「FFh」
が設定される様に構成されているが、ソフト上のバグに
よりいすれかのポートで「0」が設定されてしまった場
合に、そのポートは入力ポートとして機能する事とな
り、スイッチがオンとなっていた場合、通電状態とな
る。この為、各ポートP00〜P07の方向データを強
制的に「FFh」に戻す為に、POINT2のビット情
報に「FFh」が設定されている。
情報として、図10に示す様に、EEPROM読み込み
開始アドレス情報及びEEPROM読み込みバイト数情
報がメモリされると共に、各々のPOINT(但しPO
INT1及び2を除く)に応じた実行プログラムがサブ
ルーチンとして、指定された読み込み開始アドレスから
設定された読み込みバイト数だけメモリされている。
たPOINT1処理乃至POINT8処理の実行の可否
を決定するビット情報が、図11に示す様に、夫々書き
換え可能にメモリされている。尚、各POINTに応じ
た所の、処理の実行の可否を決定するビット情報に
「0」がセットされている場合には、図12に示す様
に、対応するPOINT実行OKフラグ(F POIN
T1〜8)をクリアして、対応するPOINT処理1〜
8の実行を禁止し、「1」がセットされている場合に
は、各POINT実行OKフラグ(F POINT)を
セットして、対応するPOINT処理1〜8の実行を許
可する。
た所の各POINT処理の実行の可否を決定するビット
情報は、上述した様にテスト処理において任意に書き替
えることが出来る様に設定されているが、この一実施例
においては、当初(即ち、製品の工場出荷時におい
て)、全てのビットに「0」がセットされているものと
する。換言すれば、この実施例に示す様に、ソフト上の
バグあるいは機能の追加等が無ければ、製品の工場出荷
時において、処理手順の中の8箇所に適宜分散された状
態で配設されたPOINT処理(即ち、POINT1処
理乃至POINT8処理)は、各々の実行を禁止された
状態に設定されている。
ROM86から、この一実施例の特徴として、少なくと
も各POINT毎の情報、及び、各POINT処理の実
行の可否を決定するビット情報が読み込まれ、図13に
示す様に、RAMの指定された領域にメモリされる事に
なる。
0側のメインスイッチ66がオフ状態の時に繰り返し実
行されるPOFFループへと処理は進む。
まず、テスト処理をコールする(S609)。このテス
ト処理はサブルーチンとして後に詳細に説明する。次
に、SW入力をコールする(S611)。このSW入力
においては、レリーズスイッチ54、測光スイッチ5
2、メインスイッチ66等のオン・オフの状態に応じて
“1”または“0”が入力され、レリーズSW、測光S
W、メインSW等の各フラグ、及び、各スイッチの操作
に応じてセットされる各種のフラグがCPUに入力され
る。この後、POINT1処理をコールし(S61
3)、引き続き、S611で実行されたSW入力に基づ
き、表示LCDパネル34の表示の制御を実行する(S
615)。次に、S611で実行されたSW入力に基づ
き、メインSWをチェックし(S617)、メインSW
に“0”がセットされている場合(即ち、メイン釦36
がOFF位置にある場合)には、POINT2処理をコ
ールする(S619)。これらPOINT1処理及びP
OINT2処理は、サブルーチンとして後に詳細に説明
する。
いても(即ち、メイン釦36がグリーン位置またはON
位置にあっても)、(1)レリーズスイッチ54、
(2)測光スイッチ52、がいずれもOFFされている
場合(S621、S623)には、S619に飛び、こ
こでPOINT2処理をコールする。そして、パワーホ
ールドOFFの状態が保持されたままで、低消費電力モ
ードを設定した上で、128msの経過を待つ(S62
5、S627、S629、S631)。そして、128
msが経過すると、通常モードに設定し直して(S63
3)、再び、POFFループを再実行する。尚、POF
Fループ実行中に上記(1)及び(2)のいずれかがO
Nになると、図14に示すRESTART処理を実行す
る。
RT処理を表わすフローチャートである。RESTAR
T処理は、図6に示すPOFFループにおいて、メイン
SWに“1”がセットされている状態で、上述の(1)
及び(2)のいずれかのフラグに“1”がセットされた
場合に実行される処理である。
ず、S1401で、パワーホールドONとして、カメラ
のハードウエア全体に電源を供給し、再度EEPROM
のデータを読み込みRAMに書き込む(S1403)。
尚、このS1403は、図6を参照して説明したメイン
ルーチンにおけるおけるS607で実行されたEEPR
OM入力処理と同様な処理が実行される。そして、以降
に実行されるPONループの繰り返し回数(この一実施
例においては80回であり、以下に示す繰り返し周期で
ある128msを80回繰り返す事により、約10秒間
に渡りPONループが実行される事になる。)を、カウ
ンタPONタイマにセットして(S1405)、PON
ループへと処理が進む。
カメラボディ10と撮影レンズ12、測光処理、測光結
果に基づいて、Tv/Av値を算出するAE演算などを
実行する。また、レリーズ処理の制御も行なう。
めるために、128msタイマをスタートさせ(S14
07)、カメラボディ10と撮影レンズ12との間の通
信を実行する(S1409)。
換回路74から出力される測光用の分割受光素子70か
らの各出力(A/D変換値)からの被写体輝度データを
入力する(S1411)。そして、これら入力した測光
データに基づいてAE演算を実行する(S1413)。
この後、POINT3処理をコールする(S141
5)。尚、このPOINT3処理は、サブルーチンとし
て後に詳細に説明する。
7)。このSW入力においては、上述したS611と同
様に、レリーズスイッチ54、測光スイッチ52、メイ
ンスイッチ66等のオン・オフの状態に応じて“1”ま
たは“0”が入力され、レリーズSW、測光SW、メイ
ンSW等の各フラグ、およびに各スイッチの操作に応じ
てセットされる各種のフラグがCPUに入力される。こ
の後、POINT4処理をコールし(S1419)、引
き続き、S1417で実行されたSW入力に基づき、表
示LCDパネル34の表示の制御を実行する(S142
1)。
に基づき、メインSWをチェックし(S1423)、メ
インSWに“0”がセットされている場合(即ち、メイ
ン釦36がOFF位置にある場合)には、上述したPO
FFループに飛び、これを実行する。また、S1423
においてメインSWに“1”がセットされている場合
(即ち、メイン釦36がオン位置またはグリーン位置に
ある場合)には、POINT5処理をコールする(S1
425)。尚、これらPOINT4処理及びPOINT
5処理は、サブルーチンとして後に詳細に説明する。
合(S1427:即ち、レリーズスイッチ54がオン、
換言すれば、レリーズSW=“0”)には、レリーズ処
理を実行する。このレリーズ処理に関しては、後に詳細
に説明する。
シャッタ釦26が全く押されておらず、レリーズスイッ
チ54がOFF状態の場合には(即ち、レリーズSW=
“1”)、128msタイマがタイムアップするまで
は、レリーズSWの状態をモニタする(S1429)。
この128msが経過すると、測光スイッチ52がOF
Fされた状態(即ち、測光SW:“1”)であり(S1
431)、S1405でセットされた回数だけPONル
ープが繰り返されると、POFFループへと処理は移行
する(S1433〜S1435)。一方、上記以外の場
合には、PONループを繰り返し実行する事になる。
を説明するフローチャートである。このレリーズ処理で
は、測光処理(S1501)及びAE演算(S150
3)を順次実行した後、POINT6処理をコールする
(S1505)。この後、AE演算結果を表示用LCD
34に表示し(S1507)、引き続き、POINT7
処理をコールする(S1509)。
11)、露光処理(S1513)、ミラーダウン(S1
515)、フィルム巻き上げ(S1517)の一連の露
出動作を実行し、最後に、POINT8処理をコールす
る(S1519)。このようにしてレリーズ処理が終了
すると、再び、図14に示すPONループへ処理を移行
する。尚、S1511におけるミラーアップ・絞り制
御、及び、S1515におけるミラーダウンは、後に、
サブルーチンとして詳細に説明する。同様に、上述した
S1505におけるPOINT6処理、S1509にお
けるPOINT7処理、及び、S1519におけるPO
INT8処理は、夫々、後にサブルーチンとして詳細に
説明する。
チャートを参照して、図6で示した『START』中の
S609でコールされるテスト処理での制御手順を、サ
ブルーチンとして詳細に説明する。
パーソナルコンピュータ等の外部計算機92と通信によ
り接続された状態で、EEPROM86にデータ、プロ
グラム等を書き込んだり、EEPROM86からデー
タ、プログラム等を読み込んだり、I/O情報やRAM
を書き込んだり、I/O情報やRAMを読み込んだりす
る動作を実行する。
されると、通信要求の有無をチェックし(S160
1)、この通信要求がないと判断される場合には、その
まま制御手順を終了して、元の『START』ルーチン
にリターンする。
れる場合に、具体的なテスト処理の実行が開始される。
即ち、EEPROM86への書き込み処理を指示する処
理コード、EEPROM86からの読み込み処理を指示
する処理コード、I/OまたはRAMへの書き込みモー
ドを指示する処理コード、及び、I/OまたはRAMか
らの読み込みモードを指示する処理コードの何れかを入
力し(S1603)、次に、この処理コードの入力によ
りEEPROM86への1バイトの書き込みが指示され
たか否かをチェックする(S1605)。
バイトの書き込みが指示されたと判断される場合には、
外部計算機92を介しての、書き込みアドレス、データ
の入力を受け入れ(S1607)、EEPROM86を
1バイトの書き込み状態に設定し(S1609)、この
外部計算機92を介して入力されたアドレス、データを
EEPROM86に入力する(S1611)。このよう
にして、一連のEEPROM86への書き込み処理手順
を終了し、元の『START』ルーチンにリターンす
る。
M86への1バイトの書き込みが指示されたと判断され
ない場合には、S1605でEEPROM86からの読
み込み処理が指示されたか否かをチェックする(S16
13)。ここでEEPROM86からの読み込み処理が
指示されたと判断される場合には、この外部計算機92
を介してのEEPROM86における読み込み開始アド
レス、バイト数の入力を受け入れ(S1615)、ここ
で指定された読み込み開始アドレスから、指定されたバ
イト数だけ、EEPROM86から情報を読み込み、こ
れを外部計算機92に転送する(S1617)。このよ
うにして、一連のEEPROM86からの読み込み処理
手順を終了し、元の『START』ルーチンにリターン
する。
M86からの読み込み処理が指示されたと判断されない
場合には、今度は、I/OまたはRAMへの書き込みが
指示されたか否かをチェックする(S1619)。ここ
でI/OまたはRAMへの書き込みが指示される場合に
は、外部計算機92を介しての、書き込みアドレス、デ
ータの入力を受け入れ(S1621)、この外部計算機
92を介して入力されたアドレス、データをRAMに書
き込む(S1623)。このようにして、一連のRAM
への書き込み処理手順を終了し、元のルーチンにリター
ンする。
はRAMへの書き込みが指示されたと判断されない場合
には、I/OまたはRAMからの読み込みが指示された
か否かをチェックする(S1625)。ここでI/Oま
たはRAMからの読み込みが指示されたと判断される場
合には、外部計算機92を介しての、RAMにおける読
み込み開始アドレス、バイト数の入力を受け入れ(S1
627)、ここで指定された読み込み開始アドレスか
ら、指定されたバイト数だけ、RAMから情報を読み込
み、これを外部計算機92に転送する(S1629)。
このようにして、一連のRAMからの読み込み処理手順
を終了し、元の『START』ルーチンにリターンす
る。
る事により、外部計算機92と通信により接続された状
態で、EEPROM86にデータ、プログラム等を書き
込んだり、EEPROM86からデータ、プログラム等
を読み込んだり、I/O情報やRAMを書き込んだり、
I/O情報やRAMを読み込んだりすることが可能とな
る。
に示すフローチャートを参照して、図15で示した『レ
リーズ処理』中のS1511でコールされるミラーアッ
プ・絞り制御での制御手順を、サブルーチンとして詳細
に説明する。
ると、図示しないミラーアップスイッチをチェックし
(S1701)、このミラーアップスイッチがオンして
いると判断される場合には、既にメインミラー68はア
ップしているので、このミラーアップ・絞り制御を実行
する事が出来ない。この為、この制御手順を終了して、
元の『レリーズ処理』ルーチンにリターンする。
ないと判断される場合には、メインミラー68はアップ
していないので、ミラーアップを実行すべく通電(即
ち、図示しないミラー駆動モータをミラーアップ方向に
駆動)して(S1703)、メインミラー68のアップ
動作を開始する。そして、このメインミラー68のアッ
プ動作に同期した状態で、絞り制御を開始し(S170
5)、この絞り制御をメインミラー68のアップ動作の
完了に伴いオンするミラーアップスイッチのオン動作ま
でに完了させる(S1707)。そして、このミラーア
ップスイッチのオン動作に伴い、メインミラー68のア
ップ動作を停止する(1709)。このようにして、一
連のミラーアップ・絞り制御の為の制御手順を終了し、
元の『レリーズ処理』ルーチンにリターンする。
ーチャートを参照して、図15で示した『レリーズ処
理』中のS1515でコールされるミラーダウンでの制
御手順を、サブルーチンとして詳細に説明する。
しないミラーダウンスイッチをチェックし(S180
1)、このミラーダウンスイッチがオンしていると判断
される場合には、すでにメインミラー68はダウンして
いるので、このミラーダウン処理を実行する事が出来な
い。この為、この制御手順を終了して、元の『レリーズ
処理』ルーチンにリターンする。
ないと判断される場合には、メインミラー68はダウン
していないので、ミラーアップを実行すべく通電(即
ち、図示しないミラー駆動モータをミラーダウン方向に
駆動)して(S1803)、メインミラー68のダウン
動作を開始し、メインミラー68のダウン動作の完了に
伴いオンするミラーダウンスイッチのオン動作まで継続
する(S1805)。そして、このミラーダウンスイッ
チのオン動作に伴い、メインミラー68のダウン動作を
停止する(1807)。このようにして、一連のミラー
ダウンの制御手順を終了し、元の『レリーズ処理』ルー
チンにリターンする。
特徴となる所の、上述した処理手順の中の合計で8箇所
に適宜分散された状態で配設されたPOINT1処理乃
至POINT8処理の各々の具体的な実行手順を順次説
明する。
乃至POINT8処理においては、ソフトを何ら変更・
改造することなく、単に、EEPROM86に所定のプ
ログラムを書き込み、それを所定のPOINT処理で選
択的に実行させり事により、組み込まれたソフトに発見
されたバグを実質的に取り除いたり、特殊用途に応じた
特殊機能を追加する事が出来る様に設定されている。
理−− 先ず、図19を参照して、POINT1処理及びPOI
NT2処理の制御手順を具体的に説明する。尚、これら
POINT1処理及びPOINT2処理の制御手順は同
一に設定されている。
処理においては、夫々のPOINTに対応して読み込ん
だビット情報を用いて、以下に説明する所定の処理を実
行する様に設定されている。即ち、POINT1処理ま
たはPOINT2処理がコールされると、先ず、対応す
るPOINT実行OKフラグをチェックする(S190
1)。
86にメモリされた所のPOINT1処理及びPOIN
T2処理の各々の実行の可否を決定するビット情報は、
ソフト上のバグが無い場合や機能の追加が無い場合に
は、製品の工場出荷時において、全てのビットに「0」
がセットされている。この結果、『START』処理に
おけるS607でEEPROM入力処理が実行される事
により、これらビット情報がEEPROMから読み込ま
れ、従って、POINT1及びPOINT2に夫々対応
するPOINT実行OKフラグ(F POINT1〜
2)が夫々クリアされている。この結果、このS190
1においては、上述した『START』処理でのS60
9におけるテスト処理において、POINT実行OKフ
ラグに対応するビット情報が書き換えられていない限
り、NOと判断され、制御手順を終了して元の『STA
RT』処理にリターンする。即ち、実質的にPOINT
1処理及びPOINT2処理は夫々実行されない事にな
る。
れらPOINT実行OKフラグに対応するビット情報が
「1」に書き換えられると、このS1901でYESと
判断され、以下の制御手順が具体的に実行される事にな
る。即ち、先ず、EEPROM86から各POINTに
対応した情報として、図9に示す様に、アドレス下位情
報、アドレス上位情報、論理情報、並びに、ビット情報
を読み込み(S1903)、RAMからS1903で指
定されたアドレスのビット情報を読み込む(S190
5)。
『EOR』であるかをチェックする(S1907)。こ
こで、YESと判断される場合、即ち、読み込んだ論理
情報が『EOR』である場合には、RAMから読み込ん
だビット情報と、EEPROM86から読み込んだビッ
ト情報との排他的論理和(EOR)を取る(S190
9)。そして、この排他的論理和を取った結果を、RA
MのEEPROM86で各ポイント毎に指定されたアド
レスに書き戻し(S1911)、一連の制御手順を終了
して、元の『START』処理にリターンする。
EEPROM86にメモリされたビット情報と排他的論
理和を取った状態で書き換えられる事になる。
れる場合には、次に、S1905で読み込んだ論理情報
が『AND』であるかをチェックする(S1913)。
ここで、YESと判断される場合、即ち、読み込んだ論
理情報が『AND』である場合には、RAMから読み込
んだビット情報と、EEPROM86から読み込んだビ
ット情報との論理積(AND)を取る(S1915)。
そして、この論理積を取った結果を、RAMのEEPR
OM86で各ポイント毎に指定されたアドレスに書き戻
し(S1911)、一連の制御手順を終了して、元の
『START』処理にリターンする。
れる場合には、S1905で読み込んだ論理情報が『O
R』であるので、RAMから読み込んだビット情報と、
EEPROM86から読み込んだビット情報との論理和
(OR)を取る(S1917)。そして、この論理和を
取った結果を、RAMのEEPROM86で各ポイント
毎に指定されたアドレスに書き戻し(S1911)、一
連の制御手順を終了して、元の『START』処理にリ
ターンする。
2処理の制御手順において、各POINT1処理、PO
INT2処理の実行が許可された状態(即ち、F PO
INT1〜2がセットされた状態)における個々の具体
的動作を以下に説明する。
903が実行される事により、EEPROM86から、
アドレス下位情報として「9Fh」が、アドレス上位情
報として「00h」が、論理情報として「00h」が、
また、ビット情報として「00h」が夫々読み込まれ
る。一方、S1905が実行される事により、RAMの
アドレス「009Fh」から、ビット情報が読み込まれ
る。そして、論理情報として「00h」が読み込まれて
いるので、このPOINT1処理では、『OR』(論理
和)が設定され、この結果、S1913でNOと判断さ
れ、S1917において、RAMのアドレス「009F
h」から読み込んだビット情報と、EEPROM86か
ら読み込んだビット情報としての「00h」との論理和
が取られる。
き戻されるビット情報は、RAMのアドレス「009F
h」から読み込んだビット情報と同一であり、換言すれ
ば、このPOINT1処理においては、何ら処理が実行
されない事(即ち、不実施)と結果として同様な処理手
順が実行される事になる。
される事により、EEPROM86から、アドレス下位
情報として「01h」が、アドレス上位情報として「0
0h」が、論理情報として「00h」が、また、ビット
情報として「FFh」が夫々読み込まれる。一方、S1
905が実行される事により、RAMのアドレス「00
01h」から、ビット情報が読み込まれる。
込まれているので、このPOINT2処理では、『O
R』(論理和)が設定され、この結果、S1913でN
Oと判断され、S1917において、RAMのアドレス
「0001h」から読み込んだビット情報と、EEPR
OM86から読み込んだビット情報としての「FFh」
との論理和が取られる。この結果、S1911で指定ア
ドレスに書き戻されるビット情報は、RAMのアドレス
「0001h」から読み込んだビット情報が、例え、い
かなる情報であれ、全て「FFh」に書き換えられる事
になる。
れている、または、メインスイッチ66がオンされてい
てもレリーズスイッチ54及び測光スイッチ52がオフ
されていれば、SWの入力が終了した後は、上述した各
ポートP00〜P07を出力ポートとして機能させて省
電力を達成する為に、各ポートP00〜P07の方向デ
ータとして、本来「FFh」が設定される様に構成され
ているが、ソフト上のバグによりいすれかのポートで
「0」が設定されてしまった場合でも、何らソフトを変
更・改造することなく、単に、EEPROM86をPO
INT2に対応したPOINT実行OKフラグをセット
させる様に書き換える事により、このPOINT2処理
を実行させる事で、全てのポートの方向データは強制的
に「FFh」に書き換えられる事となる。
実行により、本来、SWの入力終了後は、出力ポートと
して機能するべきポートが、上述したバグにより入力ポ
ートして機能することなく、確実に出力ポートとして機
能し続ける事となり、この結果、メインスイッチ66が
オフされている、または、メインスイッチ66がオンさ
れていてもレリーズスイッチ54及び測光スイッチ52
がオフされている状態における無用な電力消費が効果的
に防止され、省電力が確実に達成される事になる。即
ち、ソフトを何ら変更・改造することなく、単にEEP
ROM86を書き替える事により、上述したバグが実質
的に解消されたと同様な効果を奏することが出来る事に
なる。
2処理が『START』処理における上述した位置に配
設している為、SW入力処理においてソフト上発生する
かもしれないバグにより、出力ポートとして機能するべ
きポートが、入力ポートして機能する事が予想され、こ
れに対処すべくプログラム、及び、ビット情報を予め規
定しておくことが出来たが、この発明は、この様な設定
に限定される事がない事は言うまでもない。即ち、ソフ
ト上のバグは、いかなる位置にいかなる状態で発生する
のか予見し難いものである。この為、この発明では、メ
インルーチンにPOINT処理だけを複数適宜配設して
おき、プログラム作成時に予測し得なかったバグ(この
様なバグは、製造中に発見されるか、または、市場に製
品が出てから発見されるか解らないものである。)が出
た場合に、そのバグの除去用のプログラムを最適のPO
INT処理で実行すべく「テスト処理」で、EEPRO
M86に書き込み、そのPOINT処理に関するPOI
NT実行OKフラグをセットする事により実行させるこ
とが出来る様に構成されている。即ち、上述した、ま
た、後述する未実施のビット構成またはプログラムにお
いては、この様な任意のプログラムを後に書き込むこと
が出来る様にする為に設定されている。
理−− 次に、図20を参照して、POINT3処理乃至POI
NT8処理の制御手順を具体的に説明する。尚、これら
POINT3処理乃至POINT8処理の制御手順は同
一に設定されている。
処理においては、夫々のPOINTに対応して読み込ん
だプログラム情報に基づき、以下に説明する所定の処理
を実行する様に設定されている。即ち、POINT3処
理乃至POINT8処理のいずれかが実行されると、先
ず、上述したPOINT1処理またはPOINT2処理
の場合と同様にして、対応するPOINT実行OKフラ
グをチェックする(S2001)。
した『START』処理でのS609におけるテスト処
理において、POINT実行OKフラグに対応するビッ
ト情報が書き換えられていない限り、NOと判断され、
制御手順を終了して元の『RESTART』処理または
『レリーズ処理』にリターンする。即ち、実質的にPO
INT3処理乃至POINT8処理は夫々実行されない
事になる。
れらPOINT実行OKフラグに対応するビット情報が
「1」に書き換えられると、このS2001でYESと
判断され、以下の制御手順が具体的に実行される事にな
る。即ち、先ず、RAMにおけるスタックポイントを最
上位に再設定し(S2003)、次に、EEPROM8
6上で各POINTに対応したプログラム領域を決定す
る為、EEPROM86から各POINTに対応した情
報として、図10に示す様に、EEPROM86の読み
込み開始アドレスとEEPROM86の読み込みバイト
数とを読み込み(S2005)、このS2005で指定
された開始アドレスから、指定された読み込みバイト数
だけのプログラム情報を、EEPROM86から特定の
アドレス(この一実施例では、スタック領域{アドレス
00A0h})から始まる一連のRAM上に読み込む
(S2007)。
のプログラムをサブルーチンとしてコールして実行し
(S2009)、全ての制御手順を終了する。尚、この
一実施例では、上述したS2003でスタックポインタ
を最上位に再設定する事により、スタック領域を開放
し、EEPROM86のプログラム情報を、スタック領
域に読み込み、実行する事で、使用するRAMを節約可
能としている。尚、この発明は、この様な構成に限定さ
れることなく、一般RAM領域が十分にあれば、この一
般RAM領域にEEPROM86のプログラム情報を読
み込み実行しても良いものである。この場合、S200
3の「スタックポインタを最上位に再設定」するステッ
プは不要となる。また、この場合、POINT3処理〜
POINT8処理自体をサブルーチン化する事も可能で
ある。
8処理の制御手順において、POINT処理3乃至PO
INT8処理の各々の実行が許可された状態(即ち、F
POINT3〜8がセットされた状態)における個々
の具体的動作を以下に説明する。
07が実行される事により、EEPROM86から読み
込まれるプログラム情報、即ち、RAM上に読み込まれ
たプログラムは、図21に示す様に構成されている。以
下に、この図21を参照して、POINT3処理におい
て実行されるサブルーチンのプログラムを具体的に説明
する。尚、このサブルーチンにおいては、機能追加の一
例として、メインミラー68をマニュアルにて強制的に
アップさせる為の制御手順が規定されている。このよう
なメインミラー68の強制アップ動作は、例えば、撮影
時にメインミラー68の跳ね上げ音の発生を抑制して撮
影したい場合(例えば、音楽会等の静粛な環境下での撮
影)において、特別に要求される機能である。
と、露出モードがマニュアルに設定されているかをチェ
ックする(S2101)。ここで、露出モードがマニュ
アルに設定されていないと、換言すれば、露出モードが
オート撮影モードやプログラム撮影モードに設定されて
いると、これからメインミラー68を強制的にアップ動
作させて、測光動作が不可能となる為、これらオート撮
影モードやプログラム撮影モードを実質的に実行出来な
いものである。この為、露出モードがマニュアルに設定
されていない場合には、このメインミラー68強制アッ
プの制御手順を実行し得ない状態である為、即座に制御
手順を終了して、元の『RESTART』処理にリター
ンする。
ュアルに設定されていると判断されると、ドライブ釦3
8及びモード釦40が同時に押されて、ドライブスイッ
チ64及びモードスイッチ62が共にオンしている場合
に限り(S2103、S2105で共にYES)、これ
を起動条件として、具体的なメインミラー68のアップ
動作を開始する。即ち、上述したアップスイッチ88の
オン状態をチェックし(S2107)、アップスイッチ
88がオンしている場合には、メインミラー68を強制
的にアップさせる事が指示されていると判断し、「ミラ
ーアップ・絞り制御」のサブルーチンをコールして、こ
れを実行する(S2109)。尚、この「ミラーアップ
・絞り制御」のサブルーチンは、上述した『レリーズ処
理』におけるS1511での「ミラーアップ・絞り制
御」の図17に示す制御手順と同一である。
ップ・絞り制御」を実行する事により、メインミラー6
8を強制的にアップして、一連の制御手順を終了して、
元の『RESTART』処理にリターンする。
88がオンしていないと判断される場合には、今度はダ
ウンスイッチ90のオン状態をチェックする(S211
1)。このダウンスイッチ90がオンしている場合に
は、メインミラー68を強制的にダウンさせる事が指示
されていると判断し、「ミラーダウン」のサブルーチン
をコールして、これを実行する(S2113)。尚、こ
の「ミラーダウン」のサブルーチンは、上述した『レリ
ーズ処理』におけるS1515での「ミラーダウン」の
図18に示す制御手順と同一である。
ウン」を実行する事により、メインミラー68を強制的
にダウンして、一連の制御手順を終了して、元の『RE
START』処理にリターンする。
でNOと判断される場合、即ち、モードスイッチ62及
び/またはドライブスイッチ64がオフしていると判断
される場合には、起動条件が不成立として、一連の制御
手順を終了して、元の『RESTART』処理にリター
ンする。
れる場合、即ち、アップスイッチ88及びダウンスイッ
チ90が共にオフしていると判断される場合には、起動
条件は成立しているが、具体的にメインミラー68のア
ップまたはダウンが指示されていないので、この指示を
待つべく、一連の制御手順を終了して、元の『REST
ART』処理にリターンする。
ルーチンは構成されているので、何らソフトを変更・改
造することなく、単に、EEPROM86のメモリ内容
を書き替える事により、をメインミラー68をマニュア
ルにて強制的にアップさせる為の制御手順が機能追加の
一例として実行され得る事になる。このようなメインミ
ラー68の強制アップ動作は、例えば、撮影時にメイン
ミラー68の跳ね上げ音の発生を抑制して撮影したい場
合(例えば、音楽会等の静粛な環境下での撮影)におい
て、特別に効果を発揮するものである。
理、POINT8処理の具体的動作−− 次に、POINT4処理、POINT7処理、POIN
T8処理において、S2007が実行される事により、
EEPROM86から読み込まれるプログラム情報、即
ち、RAM上に読み込まれたプログラムは、図22に示
す様に構成されている。以下に、この図22を参照し
て、POINT4処理、POINT7処理、POINT
8処理において実行されるサブルーチンのプログラムを
具体的に説明する。
4処理、POINT7処理、POINT8処理において
共通に実行されるものであり、このサブルーチンがコー
ルされると、何ら具体的な制御手順を実行せず、直接に
元の『RESTART』処理、または、『レリーズ処
理』にリターンする。換言すれば、これらPOINT4
処理、POINT7処理、POINT8処理において
は、対応するS2110において、POINT実行OK
フラグがクリアーされているのと、実質的に同一な動作
が実行される事になる。
れる事により、EEPROM86から読み込まれるプロ
グラム情報、即ち、EEPROM86のS2005を実
行する事により指定されたメモリ領域に予めメモリされ
たプログラムは、図23に示す様に構成されている。以
下に、この図23を参照して、POINT5処理におい
て実行されるサブルーチンのプログラムを具体的に説明
する。尚、このサブルーチンにおいては、バグ除去の一
例として、ドライブモードを切換設定した時に発生する
バグに対処する為の制御手順が規定されている。
図24を参照して、ドライブモードの切替態様を説明す
る。
は、ドライブ釦38を押し下げてドライブスイッチ64
をオンした状態で、アップ/ダウンレバー28を左右い
ずれかの方向に偏位(回動)させる事により、UPスイ
ッチ58またはDOWNスイッチ60がオンする事に応
じて、ドライブモードが一枚撮影モード(ドライブシン
グル)と、連続撮影モード(ドライブコンティニアス)
と、セルフタイマー撮影モード(セルフ)との間で順次
切られる様に設定されている。
ブシングルを規定するフラグF DRIVESがセット
され、ドライブコンティニアスを規定するフラグF D
RIVEC及びセルフを規定するフラグF SELFが
共にクリアされた状態で設定される。また、ドライブコ
ンティニアスは、ドライブシングルを規定するフラグF
DRIVESがクリアされ、ドライブコンティニアス
を規定するフラグF DRIVECがセットされ、セルフ
を規定するフラグF SELFがクリアされた状態で設
定される。また、セルフは、ドライブシングルを規定す
るフラグF DRIVES及びドライブコンティニアスを
規定するフラグF DRIVECが共にクリアされ、セ
ルフを規定するフラグF SELFがセットされた状態
で設定される。
ライブモードを規定する3種類のフラグの中で、選択さ
れるドライブモードに対応するフラグのみがセットさ
れ、残りの2つのフラグはクリアされる様に設定されて
おり、これらフラグは、上述した『RESTART』処
理のS1417で実行されたSW入力におけるUPスイ
ッチ58、DOWNスイッチ60、ドライブスイッチ6
4のオン/オフ状態に基づき設定されるものである。し
かしながら、ソフト上のバグにより、2つのフラグが同
時にセットされる可能性がある。
フラグが同時セットされる事態が発生すると、同時にセ
ットされた2つのフラグの何れを選択するのかについて
CPU20側で優先順位を判断することが出来ないの
で、最悪の場合、ドライブモードが設定されずに駆動不
能となったり、また、表示用LCD34に同時にセット
された2つのフラグに対応する2つのドライブモードが
共に表示され、撮影者に混乱を生じさせる事態が発生す
る事になる。
うなバグが発生した場合に、単にPOINT5処理を実
行させる事により、何ら、ソフトを基本的に変更するこ
となく、フラグが1つしかセットされない状態を強制的
に実現し、実質的にバグが除去された状態を達成するこ
とが出来る様に構成されている。
ルーチンがコールされると、図23に示す様に、先ず、
フラグF DRIVESのセット状態をチェックし(S
2301)、これがセットされていると判断される場合
には、次に、フラグF DRIVECをチェックする
(S2303)。これがセットされていると判断される
場合には、上述したバグにより2つのフラグが同時にセ
ットされてしまっている場合であるので、強制的に、フ
ラグF DRIVESをセットし、フラグF DRIV
EC及びフラグF SELFを共にクリアさせ(S23
05)、このフラグセット状態で表示処理を実行させ
(S2307)、一連の制御手順を終了して元の『RE
START』処理にリターンする。
れた場合には、今度はフラグF SELFをチェックす
る(S2309)。ここでフラグF SELFがクリア
されていると判断される場合には、全く問題が無いの
で、そのまま制御手順を終了して元の『RESTAR
T』処理にリターンする。しかしながら、フラグF S
ELFがセットされていると判断される場合には、上述
したバグにより2つのフラグが同時にセットされてしま
っている場合であるので、S2305に進み、強制的
に、フラグF DRIVESをセットし、フラグF D
RIVEC及びフラグF SELFを共にクリアさせ、
S2307でこのフラグセット状態で表示処理を実行さ
せ、一連の制御手順を終了して元の『RESTART』
処理にリターンする。
り、フラグF DRIVESとフラグF DRIVEC
及びフラグF SELFの一方とが同時にセットされて
いる場合には、所謂シングル優先として、ドライブシン
グルが強制的に設定される事になる。
れる場合、即ち、フラグF DRIVESがクリアされ
ている場合には、今度は、フラグF DRIVECをチ
ェックする(S2311)。ここでフラグF DRIV
ECがクリアされていると判断される場合には、何ら問
題が無いので、そのまま制御手順を終了して元の『RE
START』処理にリターンする。一方、フラグF D
RIVECがセットされていると判断される場合には、
今度はフラグF SELFをチェックする(S231
3)。
いると判断される場合には、全く問題が無いので、その
まま制御手順を終了して元の『RESTART』処理に
リターンするが、フラグF SELFがセットされてい
ると判断される場合には、上述したバグにより2つのフ
ラグが同時にセットされてしまっている場合であるの
で、強制的にフラグF DRIVECをセットし、フラ
グF DRIVES及びフラグF SELFを共にクリ
アさせ(S2315)た上で、S2307に進み、この
フラグセット状態で表示処理を実行させ、一連の制御手
順を終了して元の『RESTART』処理にリターンす
る。
り、フラグF DRIVECとフラグF SELFとが
同時にセットされている場合には、所謂ドライブ優先と
して、ドライブコンティニアスが強制的に設定される事
になる。このように、この一実施例では、ドライブに関
する2つのフラグが同時にセットされるバグが発生した
場合でも、単にPOINT5処理を実行させる事によ
り、何ら、ソフトを基本的に変更・改造することなく、
フラグが1つしかセットされない状態を強制的に実現
し、実質的にバグが除去された状態を達成することが出
来る事になる。
に説明したが、この様なバグ除去の為のプログラムは、
一般的にはそのバグが発生して初めて、その対処の為の
プログラムが設計され得るものである。しかしながら、
この一実施例においては、このPOINT5処理を上述
した様な位置に配設する事により、ドライブフラグに関
するバグが仮に発生した場合においても、即座に対処す
ることが出来る様にする為に、予めそのプログラムを書
き込んでおくものである。
れる事により、EEPROM86から読み込まれるプロ
グラム情報、即ち、EEPROM86のS2005を実
行する事により指定されたメモリ領域に予めメモリされ
たプログラムは、図25に示す様に構成されている。以
下に、この図25を参照して、POINT6処理におい
て実行されるサブルーチンのプログラムを具体的に説明
する。
と、図16に示す「テスト処理」を実行して(S250
1)、元の『レリーズ処理』にリターンする。換言すれ
ば、このポイント6処理においては、『START』処
理のS609で実行される「テスト処理」と同一の動作
が実行される事になる。異なるのは、『START』処
理のS609で実行される「テスト処理」がPOFFル
ープで実行されるのに対して、POINT6処理で実行
される「テスト処理」は、PONループにおける『レリ
ーズ処理』で実行される点である。
フト作成のデバッグ時や、製造工程での検査時等、実際
にレリーズの制御(露光制御)に使われる測光処理及び
AE演算のRAM上にセットされている結果を確認した
い場合、POINT6処理に「テスト処理」のステップ
を設定しておく事により、この確認が可能となる。即
ち、POINT6処理に「テスト処理」を挿入し、レリ
ーズ時に外部計算機92とCPU20とを通信させ、R
AM読み込みの処理コードを送れば、CPU20内のR
AMデータが外部計算機92側で読み出せ、AE演算結
果も確認可能となる。
限定されることなく、この発明の要旨を逸脱しない範囲
で種々変形可能である事は言うまでも無い。
OINT1処理及びPOINT2処理で、読み込んだビ
ット情報を用いて、所定の処理を実行する様、また、P
OINT3処理乃至POINT8処理で、読み込んだプ
ログラム情報に基づき、所定の処理を実行する様に説明
したが、この発明は、このような構成に限定されること
なく、POINT3処理乃至POINT8処理の任意の
ものにおいて、読み込んだビット情報を用いて、所定の
処理を実行する様に構成しても良いし、また、POIN
T1処理またはPOINT2処理の何れかにおいて、読
み込んだプログラム情報に基づき、所定の処理を実行す
る様に構成しても良い。また、POINT1処理乃至ポ
イント8処理の全てにおいて、読み込んだプログラム情
報に基づいて、所定の処理を実行する様に構成しても良
いものである。
は、論理情報を3種類(EOR、OR、AND)の中か
ら1種類のみ用いるプログラムが設定されていたが、こ
の発明は、この様な構成に限定されることなく、説明し
た3つの論理情報(EOR、OR、AND)のみの中か
ら選択される事に限定されることなく、他の論理情報を
用いる事も可能であるし、また、複数の論理情報を用い
てプログラムを実行する事も可能である。
のポイント処理の不実行(不実施)を、対応するPOI
NT実行OKフラグのクリアにより指示する様に説明し
たが、この発明はこのような構成に限定されることな
く、例えば、読み込んだビット情報に基づき所定の処理
を実行する場合においては、POINT1処理の様に、
論理情報として「00h」を、また、ビット情報として
「00h」をメモリしておく事により、実質的に何ら処
理が実行されない事、即ち、POINT実行OKフラグ
がクリアされているのと結果として同様な処理手順が実
行される事になる為、POINT実行OK判別部分を省
略する事も可能となる。また、読み込んだプログラム情
報に基づき所定の処理を実行する場合においては、PO
INT4処理(POINT7処理、または、POINT
8処理)の様に、このサブルーチンがコールされると同
時に、何ら具体的な制御手順を実行せず、直接に元の
『RESTART』処理、または、『レリーズ処理』に
リターンさせることにより、実質的に何ら処理が実行さ
れない事、即ち、POINT実行OKフラグがクリアさ
れているのと結果として同様な処理手順が実行される事
になる為、POINT実行OK判別部分を省略する事も
可能となる。
INT2処理において、論理情報として「00h」を、
また、ビット情報として「FFh」を夫々設定する事に
より、メインスイッチ66がオフされている、または、
メインスイッチ66がオンされていてもレリーズスイッ
チ54及び測光スイッチ52がオフされている状態で、
ソフト上のバグによりいすれかのポートで「00h」が
設定されてしまった場合でも、何らソフトを変更・改造
することなく、全てのポートの方向データを強制的に
「FFh」に書き換える事が出来ると説明したが、この
発明は、このような読み込んだビット情報に基づきバグ
除去処理を実行する構成に限定されることなく、例え
ば、図26に一変形例として示す様に、読み込んだプロ
グラム情報に基づきバグ除去処理を実行する様に構成し
ても良い。
INT2処理においては、図20に示す処理手順が実行
され、ここでコールされるサブルーチンが図26に示さ
れている。そして、このサブルーチンがコールされる
と、全てのポートP00〜P07を出力ポートと機能す
る様に設定し(S2601)、元の『RESTART処
理』にリターンする。
図26に示す様にサブルーチンの制御手順を構成する事
により、読み込んだプログラム情報に基づきバグ除去処
理を実行する事が出来る事になる。
ラム変更可能なカメラは、請求項1の記載によれば、カ
メラ本体と、ROMおよびRAMを有し、前記カメラ本
体を制御する制御手段と、前記制御手段に接続され、電
気的に書き換え可能な不揮発性記憶素子と、前記ROM
に格納され、前記制御手段で実行されるプログラム中
に、少なくとも1つ以上配設されたポイント手段とを具
備し、前記不揮発性記憶素子には、各ポイント手段に対
応して、ポイント処理プログラムと、前記ポイント処理
プログラムの前記不揮発性記憶素子における格納情報が
書き換え可能に記憶され、各ポイント手段が実行される
事により、前記不揮発性記憶素子において、各ポイント
手段に対応する前記格納情報に基づきポイント処理プロ
グラムを読み出して、前記制御手段のRAMの所定領域
に書き込み、前記ポイント処理プログラムが書き込まれ
たRAMのアドレスがコールされる事によりこのRAM
上のプログラムを実行するように構成され、さらに、前
記ポイント処理プログラムが書き込まれるRAMのアド
レスは、スタック領域に設定されるとともに、少なくと
も2つのポイント手段で共通に設定され、前記各ポイン
ト手段が実行される際には、スタックポインタを前記ス
タック領域の最上位に設定すること、を特徴としてい
る。
ラムを追加実行する事により、簡単にプログラムの変更
を可能とするプログラム変更可能なカメラが提供される
事になる。
の一実施例の構成を示す正面図である。
ク図である。
路構成を示す回路図である。
メインルーチンを示すフローチャートである。
間を示す図である。
示すマップ図である。
情報のメモリ内容を示す図である。
8情報のメモリ内容を示す図である。
るビット情報を具体的に示す図である。
づきセットされる各POINT実行OKフラグを示す図
である。
マップ図である。
『RESTART』を示すフローチャートである。
れる『レリーズ』処理を示すフローチャートである。
「テスト処理」をサブルーチンとして示すフローチャー
トである。
る「ミラーアップ・絞り制御」をサブルーチンとして示
すフローチャートである。
る「ミラーダウン」をサブルーチンとして示すフローチ
ャートである。
OINT1処理及びPOINT2処理をサブルーチンと
して示すフローチャートである。
に示す『レリーズ』処理において実行されるPOINT
3処理乃至POINT8処理をサブルーチンとして示す
フローチャートである。
るPOINT3処理でのRAM上のプログラムを示すフ
ローチャートである。
るPOINT4処理及び図15に示す『レリーズ』処理
で実行されるPOINT7処理及びPOINT8処理で
のRAM上のプログラムを示すフローチャートである。
るPOINT5処理でのRAM上のプログラムを示すフ
ローチャートである。
ドライブモードの切替態様を説明する為の図である。
POINT6処理でのRAM上のプログラムを示すフロ
ーチャートである。
すフローチャートである。
Claims (9)
- 【請求項1】 カメラ本体と、 ROMおよびRAMを有し、前記カメラ本体を制御する
制御手段と、 前記制御手段に接続され、電気的に書き換え可能な不揮
発性記憶素子と、 前記ROMに格納され、前記制御手段で実行されるプロ
グラム中に、少なくとも1つ以上配設されたポイント手
段とを具備し、 前記不揮発性記憶素子には、各ポイント手段に対応し
て、ポイント処理プログラムと、前記ポイント処理プロ
グラムの前記不揮発性記憶素子における格納情報が書き
換え可能に記憶され、 各ポイント手段が実行される事により、前記不揮発性記
憶素子において、各ポイント手段に対応する前記格納情
報に基づきポイント処理プログラムを読み出して、前記
制御手段のRAMの所定領域に書き込み、前記ポイント
処理プログラムが書き込まれたRAMのアドレスがコー
ルされる事によりこのRAM上のプログラムを実行する
ように構成され、 さらに、 前記ポイント処理プログラムが書き込まれるRAMのア
ドレスは、スタック領域に設定されるとともに、少なく
とも2つのポイント手段で共通に設定され、 前記各ポイント手段が実行される際には、スタックポイ
ンタを前記スタック領域の最上位に設定すること、を特
徴とするプログラム変更可能なカメラ。 - 【請求項2】 前記不揮発性記憶素子のプログラム内容
は、前記制御手段に接続される外部入出力手段を介し
て、各ポイント手段毎に書き換え可能である事を特徴と
する請求項1に記載のプログラム変更可能なカメラ。 - 【請求項3】 前記不揮発性記憶素子の格納情報は、各
ポイント手段毎に異なって設定されている事を特徴とす
る請求項1に記載のプログラム変更可能なカメラ。 - 【請求項4】 前記不揮発性記憶素子は、EEPROM
である事を特徴とする請求項1に記載のプログラム変更
可能なカメラ。 - 【請求項5】 前記ポイント手段が実行される事により
RAM上で実行されるプログラムは、ソフト上のバグに
より変更された情報を、本来の情報に強制的に戻させる
プログラム内容を備える事を特徴とする請求項1に記載
のプログラム変更可能なカメラ。 - 【請求項6】 前記ポイント手段が実行される事により
RAM上で実行されるプログラムは、ソフト上のバグに
より変更された情報を、所定の情報に強制的に変更させ
るプログラム内容を備える事を特徴とする請求項1に記
載のプログラム変更可能なカメラ。 - 【請求項7】 前記ポイント手段が実行される事により
RAM上で実行されるプログラムは、新たな撮影上の機
能を追加するプログラム内容を備える事を特徴とする請
求項1に記載のプログラム変更可能なカメラ。 - 【請求項8】 前記各ポイント手段は、初期設定状態と
して各々のプログラムの実行を禁止されており、前記外
部入出力手段を介してこの実行禁止を解除する事によ
り、実行可能状態となる事を特徴とする請求項1に記載
のプログラム変更可能なカメラ。 - 【請求項9】 前記格納情報は、前記不揮発性記憶素子
における、各ポイント処理プログラムの読み込み開始ア
ドレスと読み込みバイト数を含むことを特徴とする請求
項1に記載のプログラム変更可能なカメラ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16620993A JP3411622B2 (ja) | 1993-06-11 | 1993-06-11 | プログラム変更可能なカメラ |
DE4420404A DE4420404B4 (de) | 1993-06-11 | 1994-06-10 | Verfahren zum Steuern des Betriebes einer elektronisch gesteuerten Kamera |
US08/258,454 US5561493A (en) | 1993-06-11 | 1994-06-10 | Method of controlling an operation of an electronically controlled camera |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16620993A JP3411622B2 (ja) | 1993-06-11 | 1993-06-11 | プログラム変更可能なカメラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06347858A JPH06347858A (ja) | 1994-12-22 |
JP3411622B2 true JP3411622B2 (ja) | 2003-06-03 |
Family
ID=15827126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16620993A Expired - Lifetime JP3411622B2 (ja) | 1993-06-11 | 1993-06-11 | プログラム変更可能なカメラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3411622B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717387A (en) * | 1990-01-19 | 1998-02-10 | Prince Corporation | Remote vehicle programming system |
-
1993
- 1993-06-11 JP JP16620993A patent/JP3411622B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH06347858A (ja) | 1994-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4111649B2 (ja) | デジタルカメラ | |
US5561493A (en) | Method of controlling an operation of an electronically controlled camera | |
JP3411622B2 (ja) | プログラム変更可能なカメラ | |
USRE35885E (en) | Photographing mode switching device of a camera | |
JPH06347857A (ja) | プログラム変更可能なカメラ | |
US5655163A (en) | Illuminated display device which continues illumination until end of operating mode | |
JPH0220966B2 (ja) | ||
JP2666266B2 (ja) | 全自動カメラ | |
JPH02210431A (ja) | 電子制御カメラ | |
JPH0559414B2 (ja) | ||
JPH06186629A (ja) | 日付表示機能付カメラ | |
JP3352143B2 (ja) | 自動焦点式カメラ | |
JP3087084B2 (ja) | カメラ | |
JP2004062373A (ja) | マイクロコンピュータを使用する機器 | |
JP2717546B2 (ja) | 電動ズーム装置 | |
JP2723125B2 (ja) | カメラ | |
JPH0723775Y2 (ja) | フィルムデータ読取装置 | |
JP2749286B2 (ja) | オートフォーカスカメラ | |
JP2003241280A (ja) | セルフタイマ機能内蔵カメラ | |
JP2723124B2 (ja) | カメラ | |
JP2767109B2 (ja) | マクロ撮影・通常撮影機能付き電子制御カメラ | |
JPH052918Y2 (ja) | ||
JPH05333414A (ja) | レンズ交換式カメラのレンズ着脱装置 | |
JPH0242431A (ja) | カメラ | |
JP2002072323A (ja) | カメラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090320 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090320 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100320 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110320 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110320 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120320 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120320 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120320 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120320 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120320 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130320 Year of fee payment: 10 |