マイコンペーパーリファレンス: 7. タクシーメーター

セクション 1 はじめに

このコース設計は、マイコン技術を使用して多機能タクシーメーターを実装しており、信頼性の高い性能、シンプルな回路、低コストという特徴を備えています。

1.1  タクシーメーターの概要

メーターに表示される稼働量は、稼働距離と料金の関数です(待ち時間は一般的に走行距離の一定割合を換算して計算されます)。タクシーのメーターはセンサーを介して走行中の車両に接続されています。タクシーの実走行距離は、センサーのパルス信号によりメーター内で一定の価格に換算された走行距離となります。現在、市販されているタクシーメーターの機能としては、データリセット機能、昼夜切替機能、データ出力機能、時刻・料金設定機能などが主に挙げられていますが、データ情報を音声ブロードキャストできるタクシーメーターはまだ比較的珍しいです。そこで、多機能タクシーメーターを設計し、元々の機能をベースに、単価出力、単価調整、距離出力、現在システム時刻の表示、音声放送データ情報などの機能を追加します。

1.2  この設計タスク

1.2.1設計タスク_ 

    AT89S51 マイクロコントローラーに基づいてタクシー メーターを設計します。

1.2.2設計要件

1.基本要件

状況が異なれば充電基準も異なります。

        昼間

        夜

        途中待機中(10分後に料金が発生します)

単価は手動で変更できます。

データリセット機能付き。

IO ポート割り当ての簡単な要件。

        距離検出にはホールスイッチA44Eを使用

        昼夜充電スイッチ

        データクリアスイッチ

単価調整(+-ボタンを使用するのがベストです)

データ出力(LCM103を使用)。

        単価出力2桁

        距離出力2桁

        合計金額出力3桁

ボタン:

        スタートタイミングスイッチ

        データリセット(クリア)

        昼夜変換

2. プレイパート

        停電時に単価などのデータを保存できる。

        現在のシステム時間を表示する機能。

         音声放送データ情報。

1.3  システムの主な機能

    このコースで設計するタクシーメーターの主な機能は、データリセット、昼夜変換、データ出力、時間指定価格設定、単価出力と調整、距離出力、データ情報の音声ブロードキャスト、システム電源オフ時の実装です。 . 単価やシステム時間などの情報を保存する機能。出力には8セグメントデジタル表示管を採用。この回路で設計されたメーターは、基本的な料金設定を実現するだけでなく、昼、夜、途中待機に応じて単価を調整することができると同時に、ドライバーの利便性を提供する時計として使用することもできます。価格設定をしないとき。

セクション 2  電卓のハードウェア設計

        このシステムのハードウェア設計には、主にマイクロコントローラ AT89S51、データ表示コンポーネント、A44E ホール センサー回路、AT24C02 パワーダウン ストレージ ユニット、走行距離計算および価格設定ユニットの設計が含まれます。ハードウェアの設計プロセスでは、各コンポーネントの機能を最大限に活用して、多機能なタクシー メーターの設計を実現します。

2.1  システムのハードウェア構成と機能

        メーターのマイクロコントローラー制御スキーム図を図 1 に示します。マイコンAT89S51、総額・単価表示部、キーボード制御部、パワーダウンストレージ制御部AT24C02、走行距離計算部、直列表示駆動回路などで構成されています。

        マイコンの豊富なIOポートと制御の柔軟性を活用し、基本的な走行距離計算機能、価格調整機能、時計表示機能を実現します。必要な機能を実現するだけでなく、大幅な機能拡張が可能で、システムのアップグレードも容易に行えます。具体的な回路については「多機能タクシーメーターの全体回路図」を参照してください。

2.2 AT89S51 マイクロコントローラーとそのピンの説明

        AT89S51 は、米国の ATMEL Corporation によって製造された低電力、高性能 CMOS 8 ビット マイクロコントローラです。これには、4KB のシステム プログラマブル フラッシュ読み取り専用プログラム メモリが含まれています。このデバイスは、ATMEL Corporation の高密度、非磁性メモリを使用して製造されています。 -揮発性ストレージ技術を採用しており、標準 8051 命令システムおよびピンと互換性があります。インサーキット プログラミング (ISP) または従来の方法でプログラムできるフラッシュ プログラム メモリと汎用 8 ビット マイクロプロセッサを単一チップに統合しており、コスト効率が非常に優れています。

AT89S51 は 40 ピンのチップで、ピン構成を図 2 に示します。

AT89S51 チップの 40 ピン機能は次のとおりです。

VCC 電源電圧。

GND グランド。

RSTリセット入力。RST が High になり、2 マシンサイクルの間 High を維持すると、マイクロコントローラーがリセットされます。WDT のオーバーフローによりこの端子は High レベルを出力し、SFR AUXR (アドレス 8EH) の DISRTO ビットをセットすることでこの機能をオンまたはオフにできます。DISKRTO ビットのデフォルトは、RESET 出力のハイレベルのオープン状態です。

XTAL1 は反転発振アンプの入力および内部クロック動作回路の入力です。

XTAL2 は、反転発振器アンプからの出力です。

ポート P0 は、8 ビットのオープンドレイン双方向 I/O ポートのセットです。つまり、アドレス/データバス多重化ポートです。出力ポートとして使用する場合、各ビットで 8 個の TTL 論理ゲート回路を駆動でき、ポートに "1" を書き込むとハイインピーダンス入力ポートとして使用できます。外部データ メモリまたはプログラム メモリにアクセスする場合、このポート ラインのグループはアドレス (下位 8 ビット) とデータ バス多重化を時分割で共有し、アクセス中に内部プルアップ抵抗をアクティブにします。フラッシュプログラミング時は P0 ポートが命令バイトを受信し、プログラムベリファイ時は命令バイトが出力されますが、ベリファイ時は外付けプルアップ抵抗が必要です。

ポート P1 は、内部プルアップ抵抗を備えた 8 ビット双方向 I/O ポートで、P1 の出力バッファ段は 4 つの TTL ロジック ゲート回路を駆動 (シンクまたは出力) できます。ポートに"1"を書き込むと内部プルアップ抵抗によりハイレベルとなり、入力ポートとして使用できます。入力ポートとして使用する場合、プルアップ抵抗が内蔵されているため、外部信号により特定の端子が Low にプルアップされると電流 (IIL) が出力されます。フラッシュ プログラミングおよびプログラム検証中に、P1 は下位 8 ビット アドレスを受け取ります。P1 ポートの一部のポート ピンと機能を表 1 に示します。

ポート 2 は、内部プルアップ抵抗を備えた 8 ビット双方向 I/O ポートです。P1 の出力バッファ段は、4 つの TTL 論理ゲートを駆動 (電流のシンクまたはソース) できます。ポートに"1"を書き込むと内部プルアップ抵抗によりハイレベルとなり、入力ポートとして使用できます。入力ポートとして使用する場合、プルアップ抵抗が内蔵されているため、外部信号により特定の端子が Low にプルアップされると電流 (IIL) が出力されます。16 ビット アドレスで外部プログラム メモリまたは外部データ メモリにアクセスする場合、ポート P2 は上位 8 ビット アドレス データを送信します。8 ビット アドレスで外部データ メモリにアクセスする場合、P2 ポート ラインの内容はアクセス期間全体を通じて変化しません。フラッシュ プログラミングおよびプログラム検証中に、P2 は下位 8 ビット アドレスも受け取ります。

ポート P3 は、内部プルアップ抵抗を備えた 8 ビット双方向 I/O ポートです。P3 の出力バッファ段は、4 つの TTL 論理ゲートを駆動 (電流のシンクまたはソース) できます。P3 ポートに「1」を書き込むと、内部プルアップ抵抗によってハイパワーに引き上げられ、入力ポートとして使用できます。入力ポートとして使用される場合、外部で Low にプルアップされる P3 ポートは、電流 (IIL) を出力するためにプルアップ抵抗を使用します。表 2 に示すように、P3 ポートは一般的な I/O ポート ラインであることに加えて、その二次的な機能としても重要です。ポート P3 は、フラッシュ メモリのプログラミングおよびプログラム検証中に使用されるいくつかの制御信号も受信します。

PSEN/ プログラムストレージイネーブル出力は、外部プログラムメモリのリードファーストパス信号で、AT89S51 が外部プログラムメモリから命令(またはデータ)をフェッチする際、PSEN/ が 1 マシンサイクルに 2 回有効、つまり 2 パルス出力されます。外部データメモリにアクセスする場合、PSEN/ 信号は 2 回有効になりません。

EA/VPP の外部アクセスが許可されます。CPU が外部プログラム メモリにのみアクセスするには、EA 端子を Low に維持する必要がありますが、暗号化ビット LB1 がプログラムされている場合、リセット中に EA 端子の状態が内部でラッチされることに注意してください。フラッシュメモリをプログラムする場合、+12V プログラミング電圧 VPP がこのピンに追加されます。

2.3 AT24C02 のピン図とピン機能  

AT24C02 チップのピン構成を図 3 に示します。

AT24C02 チップは DIP パッケージで、以下を含む合計 8 つのピンを備えています。

A2~A0 アドレスピン;

SDA、SCL I2C バス インターフェイス。

WP ライトプロテクト端子 WP を VSS に接続すると上位アドレスへの書き込みを禁止、WP を VDD に接続すると任意のアドレスへの書き込みを許可します。

VCC電源端子

GNDグランド端子

2.4   AT24C02パワーダウンメモリユニットの設計

パワーダウン記憶部の機能は、電源が切断されたときに、現在設定されている単価情報を記憶することである。AT24C02 は、ATMEL の 2KB 電気的に消去可能なメモリ チップです。2 線式シリアル バスを使用してマイクロコントローラと通信します。電圧は 2.5V まで低く、定格電流は 1mA、静止電流は 10Ua (5.5V) です。 ). 電源OFF時データは40年以上保存でき、8ピンDIPパッケージなので使いやすいです。回路を図 4 に示します。

図中の R8 と R10 はプルアップ抵抗で、AT24C02 の静的消費電力を低減する機能があります AT24C02 のデータ線とアドレス線は多重化されており、データはシリアルポート経由で送信されるため、SCL は 2 本だけですマイコンとのデータ転送には、(シフト)、パルス)、SDA(データ/アドレス)を使用します。

単価を設定するたびに、システムは自動的にストレージプログラムを呼び出して単価情報をチップ内に保存し、システムの電源が再度オンになると、自動的にメモリ読み取りプログラムを呼び出してメモリ内の単価とその他の情報を読み取ります。キャッシュユニットに格納され、メインプログラムで使用されます。

2.5  走行距離計算と料金単位の設計

    走行距離の計算は、ホイールに取り付けられたホール センサー A44E によって検出された信号に基づいて行われ、マイクロコントローラーに送信され、処理および計算されて、表示ユニットに送信されます。原理を図 5 に示します。

A44E はスイッチングホール素子であるため、動作電圧範囲が比較的広く (4.5 ~ 18V)、出力信号は TTL レベル規格に準拠し、マイコンの IO ポートに直接接続でき、最大検出周波数が高くなります。 1MHZに達することができます。

A44E 統合ホール スイッチは、電圧レギュレータ A、ホール電位発生器 (シリコン ホール チップ) B、差動アンプ C、シュミット トリガ D、OC ゲート出力 E の 5 つの基本部品で構成されています。

入力端に電圧CC V を入力し、電圧調整器で安定させた後、ホール電位発生器の両端に加えます。ホール効果の原理により、ホール片が磁界中にあると、電圧が磁界に垂直な方向に流れると、電流、ホール電位差の両者に垂直な方向にHV出力が発生し、HVのでそれが方形波になってOCゲート出力に送られるということです印加された磁界が「動作点」( OP B ) に達すると、フリップフロップは (接地電位に対して) 高電圧を出力し、トランジスタを導通させます。このとき、OC ゲート出力端子は、この状態は通常「オープン」と呼ばれます。印加された磁場が「解放点」(つまり、rP B )に達すると、フリップフロップが低電圧を出力し、トランジスタがオフになり、OCゲートが高電圧を出力します。この状態が「オフ」です。このような 2 つの電圧変換により、ホール スイッチはスイッチング動作を完了できます。

信号入力端子はポート P3.2 とし、内部では外部割り込み 0 を使用しています(プログラミングの手間を軽減できます) ホイールが回転するたびに(ホイールの周長は 1 メートルと仮定します)、ホールスイッチが検出します。信号を出力すると、マイコンが割り込んでパルスをカウントし、カウントが1000回(1キロメートル)に達するとマイコン制御で自動的に増量します 計算式は、現在の単価×キロ数=となります。額。

2.6  データ表示部の設計

単価(2桁)、距離(2桁)、合計金額(3桁)の表示出力を設計要件としていたため、LCDを使用した時計表示(時、分、秒の表示を含む)も拡張しました。遠方のセグメントコード表示 1m離れた画面ではデータがはっきり見えず、日中はコントラストが満足できないため、6桁の分割画面表示を採用しています。図 6 に示す LED デジタル管:

図 7 に示すように、S1 を押すとデータの分割画面表示が切り替わります。

タクシーが走行していない時はS1を押すと画面が分割表示され、タクシーが走行中は合計金額と単価のみがディスプレイに表示され、目的地に到着したら合計金額を確認してもらいます。では、S1を押すと走行距離と単価の表示に切り替わり、お客様が確認することができます。表示回路の回路図を図 8 に示します。

マイコンのシリアルポートから出力された信号は、まず左側のシフトレジスタ(74HC164)に送られ、シフトパルスの作用によりデータが右にシフトされて表示が行われます。シフトレジスタ 74HC164 はデジタル管のドライバを兼ねており、プラグ 1 (header1) は電源に接続され、プラグ 2 (header2) はデータおよびパルス出力端子に接続されます。回路内の 3 つの整流器 D1 ~ D3 の機能は、デジタル管の動作電圧を下げ、その耐用年数を延ばすことです。

セクション 3 システムソフトウェアの設計

このシステムのソフトウェア設計は、主にメインプログラムモジュール、タイミングカウント割り込みプログラム、走行距離カウント割り込みサービスプログラム、待機割り込みサービスプログラム、表示サブルーチンサービスプログラム、キーボードサービスプログラムの6つのモジュールに分けることができます。以下に各モジュールの紹介をします。

3.1 システムメインプログラムの設計

メインプログラムモジュールでは、各インターフェースチップの初期化、タクシーの初乗り価格と単価の初期化、割り込みベクタの設計、割り込みとループ待ちを有効にする作業を完了する必要があります。さらに、スタート/クリアフラグレジスタ、走行距離レジスタ、および価格レジスタをメインプログラムモジュールで設定および初期化する必要があります。次に、メイン プログラムは、各フラグ レジスタの内容に基づいて、起動、クリア、計測、価格設定などのさまざまな操作を完了します。メインプログラムのフローチャートを図 9 に示します。S1を押すと価格設定が開始され、走行距離が開始価格キロを超えているかどうかを走行距離レジスタの内容に基づいて計算・判定します。超過した場合は、走行距離、キロ単価、初乗り価格に基づいて現在累積価格を計算し、その結果を価格レジスタに格納し、時刻と現在累積価格をディスプレイに送信します。表示用の回路です。目的地に到着すると、ホールスイッチはパルス信号を送信しないため、価格設定は停止し、現在の支払額と対応する単価が表示され、次回価格設定が開始されると、システムが自動的にクリアします。初期化処理を表示して再起動します。

3.2 定時割り込みサービスルーチン

定時割り込みサービスプログラムでは、100ms ごとに割り込みが発生し、割り込みが 10 回発生すると 1 秒となり、対応する表示バッファユニットにデータを送信し、表示サブルーチンを呼び出してリアルタイム表示を行います。プログラム フローを図 10 に示します。

3.3  走行距離カウント割り込みサービスルーチン

ホールセンサーがローレベル信号を出力するたびに、マイコンは 1 回割り込みを発生し、走行距離カウンタが走行距離パルスを 1000 回カウントすると、マイコンは走行距離カウント割り込みサービスプログラムに入ります。このプログラムでは、現在の走行距離と合計金額の累積演算を完了し、その結果を走行距離レジスターと合計金額レジスターに格納する必要があります。

3.4 割り込み待ちサービスルーチン

カウント状態でホールスイッチが信号を出力しない場合、内蔵の T1 タイマが起動し、タイマが 10 分に達するごとに、現在の金額に途中待ち時間の単価が加算され、自動的に途中待ち時間がカウントされます。以降10分ごとに加算される単価です。待機期間が終了すると、自動的に通常料金に切り替わります。

3.5 サブルーチンサービスプログラムの表示

分割画面で表示するため、時分秒表示サブルーチン(HMS_DIS)、金額単価表示サブルーチン(CP_DIS)、距離単価表示サブルーチン(DP_DIS)、単価調整の4つの表示サブルーチンを使用します。サブルーチン(PA_DIS)。

3.6 キーボードサービスプログラム

キーボードはクエリ方式を採用しており、メインプログラム内に配置されており、キーが押されていない場合、マイコンはメインプログラムをループし、キーが押されると、対応するサブルーチンに移行して処理を実行し、処理が完了するとリターンします。 。

セクション 4 システムのデバッグとテスト結果の分析

システム設計計画によれば、このシステムのデバッグは、ハードウェア デバッグ、ソフトウェア デバッグ、およびソフトウェアとハ​​ードウェアの共同デバッグの 3 つの部分に分かれています。テストには、マイレージ価格テストと電源オフ ストレージ テストが含まれます。

4.1 使用する機器  

デジタルマルチメータ DT9203

マイコンエミュレータ WAVE6000

プログラマ GF2100

デュアルトレース電圧電流安定化電源 DH1718E-5

デジタルオシロスコープ TDS1002

4.2 システムのデバッグ

システム設計計画によれば、このシステムのデバッグは、ハードウェア デバッグ、ソフトウェア デバッグ、およびソフトウェアとハ​​ードウェアの共同デバッグの 3 つの部分に分かれています。システム設計にはモジュール設計手法が採用されているため、各回路モジュールの機能を段階的にテストするのに便利です。

4.3 テスト結果

    わずかに。

4.4 テスト結果の分析

    わずかに。

結論

        このタクシーメーターは、現在市販されているタクシーメーターに比べて、単価出力、単価調整、距離出力、現在システム時刻の表示、音声放送データ情報などの多機能を備えています。さらに、多機能タクシーメーターは、信頼性の高い性能、シンプルな回路、低コスト、強力な実用性などの特徴を備えており、最適化されたプログラムと相まって、高いレベルのインテリジェンスを備えています。

        この授業設計を通じて、本では学べない多くの知識を学ぶとともに、シングルチップマイコン技術の幅広い応用分野を深く実感することができ、シングルチップマイコンの知識を定着させるだけでなく、マイクロコントローラーの講座にもっと興味を持つようになりました。

        このコースの設計プロセス中に、AT89S51 マイクロコントローラーとそのピンの説明、AT24C02 のピン図とそのピン機能など、この設計に関連するさまざまなハードウェアのリソースをインターネット上で見つける方法を学びました。設計は特定の情報を提供します。私たちはコースデザインを行うことがほとんどないため、コースデザインレポートのフォーマットに出会ったのはつい最近ですが、この 2 つのデザインを経て、今後の卒業制作制作に向けて一定の基礎が整いました。

おすすめ

転載: blog.csdn.net/m0_49968063/article/details/132921732