'============================================================================================== '蛍光表示管 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 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 nmoji: count=0 If mojisu=0 Then eead=&h0000 '  (空欄) If mojisu=1 Then eead=&h1DE0 ' P If mojisu=2 Then eead=&h1D00 ' I If mojisu=3 Then eead=&h1C40 ' C If mojisu=4 Then eead=&h0780 ' − If mojisu=5 Then eead=&h1C20 ' B If mojisu=6 Then eead=&h1C00 ' A If mojisu=7 Then eead=&h1E40 ' S If mojisu=8 Then eead=&h1D00 ' I If mojisu=9 Then eead=&h1C40 ' C If mojisu=10 Then eead=&h28A0 ' で If mojisu=11 Then eead=&hF080 ' 好 If mojisu=12 Then eead=&h2560 ' き If mojisu=13 Then eead=&h2900 ' な If mojisu=14 Then eead=&h1BEC0 ' 文 If mojisu=15 Then eead=&h11340 ' 字 If mojisu=16 Then eead=&h2E00 ' を If mojisu=17 Then eead=&h1B380 ' 表 If mojisu=18 Then eead=&h114C0 ' 示 If mojisu=19 Then eead=&h2660 ' さ If mojisu=20 Then eead=&h2720 ' せ If mojisu=21 Then eead=&h2CC0 ' よ If mojisu=22 Then eead=&h2480 ' う If mojisu=23 Then eead=&h0120 ' ! If mojisu=24 Then eead=&h0000 '  (空欄) If mojisu=25 Then eead=&h0000 '  (空欄) If mojisu=26 Then eead=&h0000 '  (空欄) If mojisu=27 Then eead=&h0000 '  (空欄) If mojisu=28 Then eead=&h0000 '  (空欄) If mojisu=29 Then eead=&h0000 '  (空欄) If mojisu=30 Then eead=&h0000 '  (空欄) If mojisu=31 Then eead=&h0000 '  (空欄) If mojisu=32 Then eead=&h0000 '  (空欄) If mojisu=33 Then eead=&h0000 '  (空欄) If mojisu=34 Then eead=&h0000 '  (空欄) If mojisu=35 Then eead=&h0000 '  (空欄) If mojisu=36 Then eead=&h0000 '  (空欄) If mojisu=37 Then eead=&h0000 '  (空欄) If mojisu=38 Then eead=&h0000 '  (空欄) If mojisu=39 Then eead=&h0000 '  (空欄) If mojisu=40 Then eead=&h0000 '  (空欄) If mojisu=41 Then eead=&h1DE0 ' P If mojisu=42 Then eead=&h1D00 ' I If mojisu=43 Then eead=&h1C40 ' C If mojisu=44 Then eead=&h0780 ' − If mojisu=45 Then eead=&h1C20 ' B If mojisu=46 Then eead=&h1C00 ' A If mojisu=47 Then eead=&h1E40 ' S If mojisu=48 Then eead=&h1D00 ' I If mojisu=49 Then eead=&h1C40 ' C If mojisu=50 Then eead=&h28A0 ' で If mojisu=51 Then eead=&hF080 ' 好 If mojisu=52 Then eead=&h2560 ' き If mojisu=53 Then eead=&h2900 ' な If mojisu=54 Then eead=&h1BEC0 ' 文 If mojisu=55 Then eead=&h11340 ' 字 If mojisu=56 Then eead=&h2E00 ' を If mojisu=57 Then eead=&h1B380 ' 表 If mojisu=58 Then eead=&h114C0 ' 示 If mojisu=59 Then eead=&h2660 ' さ If mojisu=60 Then eead=&h2720 ' せ If mojisu=61 Then eead=&h2CC0 ' よ If mojisu=62 Then eead=&h2480 ' う If mojisu=63 Then eead=&h0120 ' ! If mojisu=64 Then eead=&h0000 '  (空欄) If mojisu > 64 Then eead=&h0000 '  (空欄) If mojisu=80 Then Goto vramclr kjwr: If eead < &h10000 Then I2cread &hA0,eead,mjda If eead > &hFFFF Then I2cread &hA2,eead,mjda Sleep 1 Poke &h19,mjda '表示データ書き込み(to SCK25616L-A) eead=eead+1 count=count+1 If eead < &h10000 Then I2cread &hA0,eead,mjda If eead > &hFFFF Then I2cread &hA2,eead,mjda Sleep 1 Poke &h19,mjda '表示データ書き込み(to SCK25616L-A) eead=eead+1 count=count+1 High rc.Bit5 Low rc.Bit5 'データラッチ、表示データ更新 If mojisu <40 Then Sleep 18 If mojisu >40 Then Sleep 8 'この数値でスクロール速度が変化 If count < 31 Then Goto kjwr '1文字32回データ入力の分岐 If count > 31 Then mojisu=mojisu+1 Goto nmoji End '==============================================================================================