/************************************************************************/ /* Driving Static LCD Panel with 74HC595 */ /* 8-Bit Shift Register/Latch (3-State) */ /* MPU Device:PIC16F88 */ /* Compiler:CCS PCM */ /* COPYRIGHT:SANTECH DISPLAY CO.,LTD. 2011/10/22 */ /************************************************************************/ #include<16F88.h> #fuses INTRC_IO,NOWDT,PUT,NOPROTECT//,NOMCLR //"NOMCLR" for in-circuit debug #use delay(clock=8000000) #use rs232(baud=9600, xmit=PIN_B5, rcv=PIN_B2, ERRORS) #use fast_io(A) #use fast_io(B) #bit si = 0x06.0 //Pin_B0をSIとする #bit rck = 0x06.1 //Pin_B1をRCKとする #bit sck = 0x06.3 //Pin_B3をSCKとする #bit com = 0x05.7 //Pin_A7をcomとする #define NUMBER_OF_74595 2 //74HC595の接続個数 #define FOSC 8 //PICの周波数(MHz) #define FRAME_FREQ 50 //LCDのフレーム周波数(Hz)、標準は30~64(Hz) static short cflag; //COM用FLAG static int digit[NUMBER_OF_74595]; //LCD表示内容 // character 0 1 2 3 4 5 6 7 8 9 Arrow int const Digit_Map[11] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x80}; //数字のセグメントテーブル //シフトレジスタクロックを生成 void shift_sck(){ sck=1;sck=0; } //ラッチクロックを生成 void shift_rck(){ rck=1;rck=0; } //波形生成の基本プログラム void shift_data(int *data , short one_zero ){ int i,j; int temp; for(j=0;j