/*
* avr090.c
*
* aのn乗を計算
*/
#include <avr/io.h>
#include "hd44780.h" // EZ-LCDインクルードファイル
void InitHard( void); // ポートの初期化及び割込設定
int main(void)
{
int a = 3, n = 4, result = 1, k = 0, m;
char str[5];
InitHard(); // ポートの初期化をします。
lcd_init (); // LCDの初期化をします。
for ( m = 0; m < n; m++) // aのn乗を計算します。
{
result = result * a;
}
k = 0; // kを初期化します。
do // 剰余を計算します。
{
str[ k++] = result % 10 + 0x30;
result /= 10;
}while( result);
for ( m = 0; m < k; m++) //LCDに表示します。
{
lcd_putc( str[ k - (m + 1)]);
}
while(1)
{
//TODO:: Please write your application code
}
}
void InitHard( void) // ポートの初期化
{
// ポートB初期設定
DDRB = 0xff; // PB7~PB0を出力に設定します。
PORTB = 0; // PB7~PB0に'L'を出力します。
// ポートC初期設定
DDRC = 0x3f; // PC7,PC6は初期(入力)、PC5~PC0を出力に設定します。
PORTC = 0; // PC7~PC0に'L'を出力します。
// ポートD初期設定
DDRD = 0xf0; // PD7~PD4は出力、PD3~PD0は入力に設定します。
PORTD = 0; // PD7~PD0に'L'を出力します。
}