//********************************************************************** /*   <拡張ポート(出力専用)制御ライブラリ>  ※拡張ポート用のICには、NJU3711を使用します。 */ //********************************************************************** //■■■関数宣言■■■ extern void main(); extern void opening_demonstration(); //********************************************************************** //■■■インクルード■■■ #include "ex_port_lib_nju3711.h" //********************************************************************** //■■■マクロ定義■■■ //NJU3711 sbit STB at GP5_bit; sbit CLK at GP4_bit; sbit DAT at GP2_bit; sbit STB_Direction at TRISIO5_bit; sbit CLK_Direction at TRISIO4_bit; sbit DAT_Direction at TRISIO2_bit; //********************************************************************** //■■■メイン関数■■■ void main() { OSCCON = 0b01110000; CMCON0 = 0b00000111; ANSEL = 0b00000001; TRISIO = 0b00001011; // ex_port_Init(); // opening_demonstration(); // while (1) { switch (Adc_Read(0) / 114) { case 0: ex_port_out(0b11111111); break; case 1: ex_port_out(0b11111110); break; case 2: ex_port_out(0b11111100); break; case 3: ex_port_out(0b11111000); break; case 4: ex_port_out(0b11110000); break; case 5: ex_port_out(0b11100000); break; case 6: ex_port_out(0b11000000); break; case 7: ex_port_out(0b10000000); break; case 8: ex_port_out(0b00000000); break; } Delay_ms(100); } } //********************************************************************** //■■■オープニングデモ関数■■■ void opening_demonstration() { short cnt; // for (cnt = 0; cnt < 10; cnt++) { ex_port_out(0x00); Delay_ms(100); ex_port_out(0xFF); Delay_ms(100); } // for (cnt = 0; cnt < 8; cnt++) { ex_port_out_bit(cnt, 0); Delay_ms(100); } for (cnt = 0; cnt < 8; cnt++) { ex_port_out_bit(cnt, 1); Delay_ms(100); } } //**********************************************************************