undemandeのページ
こんなの作りました。
CB[DC-DC]/PB & OB/MB & CB[RTCのみ]/MB
Mary 48Mhz動作用 簡易delay関数
何かと便利なLPC1114用の簡易delay関数 10μsec単位を他のサイトから見つけました。
systick は、使用していません。単純なループ方式です。
オシロで観測して調整してあります。
void delay(int count)
{
int j=0,i=0;
for(j=0;j<count;j++)
{
/* At 48MHz, the below loop introduces delay of 10 μsec */
for(i=0;i<30;i++);
}
}
例えば、
delay(50000); /* 500ms の待ち
となります。
外部機器とインターフェースする際に、
初期設定等でタイミングを取る必要がある時等に、
便利です。
単純なループ式ですので、
タイミング待ち等の簡易的な利用に限ります。
動作時間がシステムクロックに依存しますので、
今回は48MHz動作用に調整してあります。
異なるクロックの場合には、
i<30 の部分をオシロを見ながら調整する必要があります。
Maryで超省電力NOKIA5110モノクログラフィックLCDユニットを駆動できました。
Mary用NOKIA5110LCD(中央)ドライバが文字表示やグラフィックも含めて全て完成しました。
NOKIA3310LCD(右)もピン配列が異なるだけで、搭載コントロールICが同じフィリップスのPCD8544なので、
そのまま使えます。
C言語はMCU毎の特化した部分(設定やI/O)をクリアすれば、他への移植性が良いので便利です。
元々R8C/15用のソースだった物を、PIC18Fや16F、24FJ64GAに移植して使ってました。
今回はLPC1114への移植が簡単に出来ました。
CB基板にNOKIA3310LCDを載せてMaryと合体!
上部のアルミ箔(張り方が汚ないorz)は外来ノイズ対策です。
シールド付きのキャリーボードに載っているNOKIA5110LCDならば何も問題ないのですが、コントロールICがガラス越しに丸見えのNOKIA3310LCDは、これが無いと、デジカメでフラッシュを発光した瞬間、3310LCDがホールドして表示が吹っ飛んでしまいます。
さあ、これで超省電力のMaryCPUボード(MB)で、同じく超省電力仕様のNOKIA3310LCDが自由にコントロールできる様になりました。
バッテリー駆動用の基板とコネクトしてアウトドアで長時間の使用(数週間)が可能です。
NOKIA3310LCD_Mary_CBと、RTCだけ_Mary_CBを接続して時刻表時ができました。
回路図とサンプルプロジェクトファイルを公開しました。
最終更新:2011年06月28日 07:00