#include #include "h8/reg3067.h" #include "rgb.h" int main(int argc, char **argv) { int x,y; //ポート設定 PADDR = 0xff; //RGB上位ビット P4DDR = 0xff; //RGB下位ビット PBDDR |= 0x0e; //HS,VS,DE P8DDR |= 0x01; //CLK //PBDR |= 0x02; // HS_ON ラインリセット Hイネーブル //PBDR &= 0xfd; //PBDR |= 0x04; // VS_ON ページリセット Hイネーブル //PBDR &= 0xfb; //PBDR |= 0x08; //DE データイネーブル Lイネーブル //PBDR &= 0xf7; //P8DR |= 0x01; // CLK クロックアップ //P8DR &= 0xfe; // CLK クロックダウン 有効立下りエッジ PBDR &= 0xf7; //DE0 while(1) { //ページリセット PBDR |= 0x04; //VS1 for(x=0;x<153;x++) { P8DR |= 0x01; P8DR &= 0xfe; //CKL10 }//for x 152クロックでは同期しませんでした。 PBDR &= 0xfb; //VS0 //323*16ブロックスペース for(y=0;y<16;y++) { for(x=0;x<323;x++) { P8DR |= 0x01; P8DR &= 0xfe; //CKL01 } //for x 322クロックで表示が出ませんでした。 //ラインリセット P8DR |= 0x01; //CLK1 PBDR |= 0x02; //HS1 P8DR &= 0xfe; //CLK0 PBDR &= 0xfd; //HS0 } //for y //メイン描画 for(y=0;y<96;y++) { for(x=0;x<107;x++) { P8DR |= 0x01; P8DR &= 0xfe; //CKL10 } for(x=0;x<800;x++) { P8DR |= 0x01; //CKL1 PADR = rgb[y][x]; x++; P4DR = rgb[y][x]; P8DR &= 0xfe; //CKL0 } //for x P8DR |= 0x01; //CLK1 PBDR |= 0x02; //HS1 P8DR &= 0xfe; //CLK0 PBDR &= 0xfd; //HS0 } //for y } //while }main end