id="hpbsmtparts">
/* * avr110.c * * 10進数→16進数変換 */ #include <avr/io.h> #include "hd44780.h" // EZ-LCDインクルードファイル void InitHard( void); // ポートの初期化及び割込設定 int main(void) { int k, m; unsigned int n16, n10 = 16589; char str[5]; InitHard(); // ポートの初期化をします。 lcd_init (); // LCDの初期化をします。 n16 = n10; // 10進変換 k = 0; // kを初期化します。 do // 剰余を計算します。 { str[ k++] = n10 % 10 + 0x30; n10 /= 10; }while( n10); lcd_locate( 0, 0); for ( m = 0; m < k; m++) //LCDに表示します。 { lcd_putc( str[ k - (m + 1)]); } // 16進変換 k = 0; // kを初期化します。 do // 剰余を計算します。 { str[ k] = n16 % 16; if ( 0 <= str[k] && str[k] < 10) { str[k++] += 0x30; } else { str[k++] += 0x37; } n16 /= 16; }while( n16); lcd_locate(1, 0); 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'を出力します。 }