荒っぽいけどとりあえず7セグLEDでカウントダウン成功


※左の2桁のみを使用しています。この基板自体は以前こちらの時計を作ろうと思って作ったものです。この時はプログラムを完全コピーしたため、自分では何もしませんでした。


かなりの突貫工事でしたが、7セグLEDで2桁の数字のダイナミック制御ができました。
20から始まって1秒ごとにカウントダウンという仕様です。
ところが0〜20に対して全て2桁分のビット配置を指定するテーブルを作り、そこにいちいち飛んでるようにしているのでプログラムが酷い有様(行数的な意味で)です。
それぞれの秒数を表示するのに22行使っているので、21×20秒分で420行。表示部分でこれだけ食うんだからこれは根本から考えを変えないといけないな・・・ということで明日またやってみます。自分で1から考えてやりたいので他の人のプログラムは見ないことにしていますw
プログラムはこのような感じです。これら×秒数分という恐ろしさ。

s00
   btfss keta,0
   goto s0_1
   goto s0_10

s0_1
   bsf keta,0
   movlw b'00111111'
   movwf tmp
   comf tmp,f
   bcf PORTD,1
   movfw tmp
   movwf PORTC
   bsf PORTD,0
   goto timer_main

s0_10
   bcf keta,0
   movlw b'00111111'
   movwf tmp
   comf tmp,f
   bcf PORTD,0
   movfw tmp
   movwf PORTC
   bsf PORTD,1
   goto timer_main