'============================================================================================== '蛍光表示管 SCK25616L-A  テストプログラム( test-002 Ver.1.00) 2005.8.3 葵瀬崎製作所 '============================================================================================== 'このプログラムは、SCK25616L-A用漢字フォントをメモリしたEEPROM/AT24C1024を搭載することで '16x16ドットJIS漢字第一水準を表示します。 '制御回路(マイクロコンピュータ): PIC16F877/Microchip Tech. '使用言語: PIC BASIC/秋月電子通商 '下記プログラムは、許可なくコピーし使用することができますが、使用時の不都合について責任を負いません。 '============================================================================================== '[変数定義] Dim i As Word Dim j As Byte Dim k As Byte Dim eead As Long Dim mjda As Byte Dim count As Byte Dim mojisu As Byte start: 'RC2,RC5,RC6,RC7端子出力設定 Output rc.Bit2 'RC2:SCK25616L-A のEN端子制御用 Output rc.Bit5 'RC5:SCK25616L-A のLAT端子制御用 Output rc.Bit6 'RC6:SCK25616L-A のCLK端子制御用 Output rc.Bit7 'RC7:SCK25616L-A のSI端子制御用 ' RC3:SCL/EEPROM ' RC4:SDA/EEPROM Low rc.Bit2 '初期値設定 EN="0"/表示OFF Low rc.Bit5 '初期値設定 LAT="0" Low rc.Bit6 '初期値設定 CLK="0" Low rc.Bit7 '初期値設定 SI="0" High rc.Bit5 Low rc.Bit5 'データラッチ 'シリアル転送機能(USART)クロック同期設定 init: Poke &h99,&b00001001 'Baud Rate 500kHz/OSC20MHz Poke &h18,&b10000000 'Serial Port(DT,CK)enable Poke &h98,&b10110000 '同期マスターモード選択 '8bit送信、同期モード選択 '送信イネーブル vramclr: '表示クリア For i=0 To 511 '4096ドットOFF Poke &h19,&h00 Next i High rc.Bit5 Low rc.Bit5 'データラッチ High rc.Bit2 'EN="1"/表示ON eead=&h0000 'EEPROMアドレス初期セット mojisu=0 kjwr: For i=0 To 511 '4096ドットOFF Poke &h19,&h00 Next i High rc.Bit5 Low rc.Bit5 'データラッチ Low rc.Bit2 'EN="0"/表示OFF disp0: '「こいこい7」のこを0.2秒表示 For j=0 To 15 If j < 1 Then eead=&h0000 If j = 1 Then eead=&h2620 If j > 1 Then eead=&h0000 Gosub mojiin Next j High rc.Bit5 Low rc.Bit5 'データラッチ High rc.Bit2 'EN="1"/表示ON Sleep 200 Low rc.Bit2 'EN="0"/表示OFF disp1: '「こいこい7」のいを0.2秒表示 For j=0 To 15 If j < 3 Then eead=&h0000 If j = 3 Then eead=&h2440 If j > 3 Then eead=&h0000 Gosub mojiin Next j High rc.Bit5 Low rc.Bit5 'データラッチ High rc.Bit2 'EN="1"/表示ON Sleep 200 Low rc.Bit2 'EN="0"/表示OFF disp2: '「こいこい7」2回目のこを0.2秒表示 For j=0 To 15 If j < 5 Then eead=&h0000 If j = 5 Then eead=&h2620 If j > 5 Then eead=&h0000 Gosub mojiin Next j High rc.Bit5 Low rc.Bit5 'データラッチ High rc.Bit2 'EN="1"/表示ON Sleep 200 Low rc.Bit2 'EN="0"/表示OFF disp3: '「こいこい7」2回目のいを0.2秒表示 For j=0 To 15 If j < 7 Then eead=&h0000 If j = 7 Then eead=&h2440 If j > 7 Then eead=&h0000 Gosub mojiin Next j High rc.Bit5 Low rc.Bit5 'データラッチ High rc.Bit2 'EN="1"/表示ON Sleep 200 Low rc.Bit2 'EN="0"/表示OFF disp4: '「こいこい7」の7を2秒表示 For j=0 To 15 If j < 9 Then eead=&h0000 If j = 9 Then eead=&h1AC0 If j > 9 Then eead=&h0000 Gosub mojiin Next j High rc.Bit5 Low rc.Bit5 'データラッチ High rc.Bit2 'EN="1"/表示ON Sleep 1500 Low rc.Bit2 'EN="0"/表示OFF Sleep 1000 Goto kjwr '=============================================================================== ' サブルーチン  '=============================================================================== mojiin: '1文字入力ループ For k=0 To 31 If eead < &h10000 Then I2cread &hA0,eead,mjda If eead > &hFFFF Then I2cread &hA2,eead,mjda Poke &h19,mjda '表示データ書き込み eead=eead+1 Next k Return '------------------------------------------------------------------------------- End '==============================================================================================