• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

ケロタン少佐のブログ一覧

2008年06月19日 イイね!

BCD変換

みなさん、こんにちは。

ケロタン少佐デあります(^_^)ヾ


本日は昨日に引き続き、16ビットの除算にて
得られた計算結果を、7セグメントに表示させる為に
BCD変換させるプログラムを考えていたデあります♪

チャララ・タッ・タッ・タァ~~~♪


スキル『BCD変換』を覚えた・・・!!!!






* 検証内容は、時速60km/h時での車速パルスからの計算 *
* 前回、16ビットの除算により、16進での解が2バイトで0x00,0x60と導き出されました。
* 今回は、これらの数値を4ビット毎に、個別に取り出して見ます。


以下、AVRアセンブラでのプログラム例

;************************************************************************
; 2バイト(16bit)のBCD変換
; 車速パルス数から速度計算
; * 符号なし16÷16ビット(35400÷589)試験 時速60km/h *
; * 2バイト00,60(16進) → 4バイト00,00,06,00(16進)

; * 速度最適化 16ビット2進数⇒4桁非パック化BCD変換試験 *

LDI BIN1,00 ;2進値(=00)取得
RCALL B2D8S_H ;2進数⇒BCD変換(=$00,$00)
LDI BIN2,60 ;2進値(=60)取得
RCALL B2D8S_L ;2進数⇒BCD変換(=$06,$00)

ENDLP:
rjmp ENDLP ;


B2D8S_H: ;
CLR BCD1H ;BCD上位桁バイト値初期化
CPI BIN1,10*8 ;2進値80以上か検査
BRCS B2D8S1_H ;80未満で分岐

SUBI BIN1,10*8 ;2進値-80
ORI BCD1H,0b00001000 ;商(BCD上位桁)ビット3=1設定

B2D8S1_H: ;
CPI BIN1,10*4 ;2進値40以上か検査
BRCS B2D8S2_H ;40未満で分岐

SUBI BIN1,10*4 ;残2進値-40
ORI BCD1H,0b00000100 ;商(BCD上位桁)ビット2=1設定

B2D8S2_H: ;
CPI BIN1,10*2 ;2進値20以上か検査
BRCS B2D8S3_H ;20未満で分岐

SUBI BIN1,10*2 ;残2進値-20
ORI BCD1H,0b00000010 ;商(BCD上位桁)ビット1=1設定

B2D8S3_H: ;
CPI BIN1,10 ;2進値10以上か検査
BRCS B2D8S4_H ;10未満で分岐

SUBI BIN1,10 ;残2進値-10
ORI BCD1H,0b00000001 ;商(BCD上位桁)ビット0=1設定

B2D8S4_H: ;
MOV BCD1L,BIN1 ;
RET ;呼び出し元へ復帰


B2D8S_L: ;
CLR BCD2H ;BCD上位桁バイト値初期化
CPI BIN2,10*8 ;2進値80以上か検査
BRCS B2D8S1_L ;80未満で分岐

SUBI BIN2,10*8 ;2進値-80
ORI BCD2L,0b00001000 ;商(BCD上位桁)ビット3=1設定

B2D8S1_L: ;
CPI BIN2,10*4 ;2進値40以上か検査
BRCS B2D8S2_L ;40未満で分岐

SUBI BIN2,10*4 ;残2進値-40
ORI BCD2L,0b00000100 ;商(BCD上位桁)ビット2=1設定

B2D8S2_L: ;
CPI BIN2,10*2 ;2進値20以上か検査
BRCS B2D8S3_L ;20未満で分岐

SUBI BIN2,10*2 ;残2進値-20
ORI BCD2L,0b00000010 ;商(BCD上位桁)ビット1=1設定

B2D8S3_L: ;
CPI BIN2,10 ;2進値10以上か検査
BRCS B2D8S4_L ;10未満で分岐

SUBI BIN2,10 ;残2進値-10
ORI BCD2L,0b00000001 ;商(BCD上位桁)ビット0=1設定

B2D8S4_L: ;
MOV BCD2L,BIN2 ;
RET ;呼び出し元へ復帰


;*************************************************************************


無事に、0x00,0x00,0x06,0x00 と取り出すことに成功しました♪

これで、速度が、100k/hを超えても、7セグメントにてデジタル表示させることが
可能になったデあります♪

4桁まであれば、エンジン回転でも大丈夫でしょう!!




では、引き続き研究の世界へ・・・(^_^;)ヾ


Posted at 2008/06/19 16:15:31 | コメント(16) | トラックバック(0) | プログラミング | 日記

プロフィール

「お仕事ちうデあります・・・(^_^)ヾ」
何シテル?   09/04 11:33
めぐりめぐって初マツダです。 皆さんよろしくお願いします。 お約束ですが、当ブログの内容を見て整備、修理して不具合が生じても、当プログ主は責任を負えませ...
みんカラ新規会員登録

ユーザー内検索

<< 2008/6 >>

1234 5 67
89 10 11 121314
15 1617 18 19 2021
2223242526 2728
29 30     

愛車一覧

マツダ MPV マツダ MPV
家族の為にミニバンにしました。 新型MPVのあまりの出来に家族で 大満足です。 これ ...
ホンダ シビック ホンダ シビック
私に操る楽しさを教えてくれた車です。 VTECのハイカムに入ったときの 加速がたまりま ...
日産 スカイライン 日産 スカイライン
私に整備の楽しさを教えてくれた車です。 かなり高齢でしたが、まだまだ元気でした。 一 ...
その他 その他 その他 その他
ブログ用画像倉庫

過去のブログ

2009年
01月02月03月04月05月06月
07月08月09月10月11月12月
2008年
01月02月03月04月05月06月
07月08月09月10月11月12月
2007年
01月02月03月04月05月06月
07月08月09月10月11月12月
2006年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation