電子工作日記、その他

趣味の電子工作製作の記録、その他思った事

AVR Programming(7)

2013-02-22 14:59:35 | 日記
LCDasmの勉強
下記を参考にさせて頂きました。

http://homepage2.nifty.com/sfukuda/AVRLCD.ASM

wait subの作り方は、最初に10us位の基本時間を作成し、後は、それを呼ぶsubroutineにして行く
方法が、私は分かり易いと思いました。
0b11110000記述は止めて、0xF0記述にし必要な時だけcommentに記述程度で良いと思いました。

最新の画像もっと見る

30 コメント

コメント日が  古い順  |   新しい順
16bit dataの10進変換? (kawana)
2013-02-22 20:10:56
16bit dataの10進変換は、どの様にやるのかな?
返信する
acADC & LCD Disp (kwana)
2013-02-23 11:08:58
acADC(C) , LCD Disp(C)が揃ったので、後は変換のみが残る。
最大値は0xFFFF桁毎に区切りa,b,c,dとして
ax4096
bx256
cx16
d
を考えたが、LCD表示を考えて

ADCCNT=0xFFFF; 65535
s1=ADCCNT/10000
a1=ADCCNT%10000
返信する
LCD接続のバラエテイ (kawana)
2013-02-24 17:01:01
LCD接続でChipを載せ替えていると何時の日か
動作しなくなる?基板のLCD ConnectorとChipに
記号を書く様にした。

ATMEGA168/P

   7 6 5 4 3 2 1 0  BL type B52 type BU type
PB 1 1 1 1 1 1 1 1 
- - E R C C C C - - C C C C E R C C C C E R - -
//-------------------------------------------
   7 6 5 4 3 2 1 0  CL type C52 type CU type
PC 0 0 1 1 1 1 1 1 
- - E R C C C C - - C C C C E R
//-------------------------------------------
   7 6 5 4 3 2 1 0
PD 1 1 1 1 1 1 1 1 DL type D52 type DBU type
- - E R C C C C - - C C C C E R C C C C E R - -
//-------------------------------------------
返信する
LCD基板9枚出来た (kawana)
2013-02-25 10:58:54
LCD基板が9枚出来たと言うより、9枚も作ってしまったと
言うのが正直なところ。
基板を購入するとまず基本と考えLEDピカピカからLCDと進んで製作して行ったら、
ATTINY2313が3枚、ATMEGA168が6枚。
動かないと最後まで作っていったら溜まってしまった。
DCinで表示の正常表示が遅れるものが2枚くらい、
delay_timeを変更してみようと思う。
返信する
acADCの結果をLCD表示 (kawana)
2013-02-25 12:08:40
acADCの結果をLCD表示をしてみる事にした。
CNT値から電圧変換するには、測定値1,2,3,4,5V
のCNT値をグラフ化後、y=ax+bで近似後
xを求めれば良いのでは?
x=(y-b)/a
返信する
DC Plug挿入時初回のみ表示乱れる (kawana)
2013-02-26 10:36:11
RESETの立ち上がり時間等に関係しているみたい、
reset delayなどを変えてみよう。
返信する
Start-up time ? (kawana)
2013-02-26 10:56:55
Start-up time の選択は、下記 3個が有った。
Int. RC Osc 8MHz,Start-up time PWRDWN/RESET:
64CK/14CK +0ms
        +4.1ms
        +65msが有った。
+65msにすると、問題解決したみたい。
返信する
一休みでOSCのTEST (kawana)
2013-02-27 21:06:05
OSCのTESTをした。
74HCU04(UnBuffer)を使用するのが良いらしいが手持ちに無かったので、74HC04を使用した。
回路は、手持ちのLの容量を確認するためも有り
フランクリン回路(コイルのタップ出し不要)を使用した。
コイルには、茶、赤、黒のペイント有り、120なので
12μHか?、
100P 4.461MHz
470P 2.193MHz
で、発振をオシロで確認しました。
波形は、方形波、
74HCU04に変更するとSin波らしく成るのか?
LM311を入手して、これでも実測してみようと思う。
返信する
debug (kawana)
2013-02-28 08:20:55
acADCの10進変換のdebugをした。

HEXtoDESI()
{
ADCCNT=0x3039; //12345;
s1=ADCCNT/10000; // 1
a1=ADCCNT%10000; // 2345

s2=a1/1000; // 2
a2=a1%1000; // 345
s3=a2/100; // 3
a3=a2%100; // 45
s4=a3/10; // 4
a4=a3%10; // 5
s5=a4; // 5
表示は、
S1=s1 + 0x30;
PORTB=S1;
_delay_ms(1000);
S2=s2 + 0x30;

PORTB(8bit)でLED表示した。
返信する
TESTdataで表示確認 (kawana)
2013-02-28 19:31:13
ADCCNT=0xFFFF; //65535
ADCCNT=0xC350; //50000
ADCCNT=0x7530; //30000
ADCCNT=0x2710; //10000
ADCCNT=0; // 0

LCDに65535~0を表示し動作確認した。HEX値は電卓
使用。
返信する

コメントを投稿