/* * 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'を出力します。 }