void LCD12864_Fill_Screen( uint8 t, uint8 LCD12864_FillData) { unsigned char x,y; IO0CLR=LCD12864_CS1; IO0CLR=LCD12864_CS2; LCD12864_WriteCOM(0xc0+0); for(x=0;x<8;x++) { delayms(t); LCD12864_WriteCOM(0xb8+x); LCD12864_WriteCOM(0x40); for(y=0;y<64;y++)
LCD12864_WriteData(LCD12864_FillData); } IO0SET=LCD12864_CS1; IO0SET=LCD12864_CS2; }
void LCD12864_Clear_Screen(void) {LCD12864_Fill_Screen(60,0x00); }
void LCD12864_Clear_black(void) {LCD12864_Fill_Screen(12,0xff); }
void LCD12864_Init(void)
{ LCD12864_Clear_Screen(); IO0CLR=LCD12864_CS1; delayms(5); IO0CLR=LCD12864_CS2; delayms(5); LCD12864_WriteCOM(0xb8+0); delayms(5); LCD12864_WriteCOM(0xc0+0); delayms(5); LCD12864_WriteCOM(0x40+0); delayms(5); LCD12864_WriteCOM(0x3e); delayms(5); LCD12864_WriteCOM(0x3f); delayms(5); }
Void LCD12864_Disp_Bitmap_12864( unsigned char t, uint32 *bitmap_12864) { unsigned char j,k; for(k=0;k<8;k++)
{ delayms(t); IO0CLR=LCD12864_CS1; IO0SET=LCD12864_CS2; LCD12864_WriteCOM(0xb8+k); LCD12864_WriteCOM(0x40+0); for(j=0;j<64;j++) {
LCD12864_WriteData(bitmap_12864[k*128+j]); }
IO0SET=LCD12864_CS1; IO0CLR=LCD12864_CS2; LCD12864_WriteCOM(0xb8+k); LCD12864_WriteCOM(0x40+0); for(j=64;j<128;j++) {
LCD12864_WriteData(bitmap_12864[k*128+j]); }}
}
void LCD12864_Display( uint8 t, uint8 a,uint8 b,uint8 page,uint8 col,uint8 { unsigned char j=0,i=0; if(col < 64 ) {IO0CLR=LCD12864_CS1; IO0SET=LCD12864_CS2; } else{ IO0SET=LCD12864_CS1; IO0CLR=LCD12864_CS2; col = col - 64; } for(j=0;j
*Char ) 十八、数码管显示 实验内容:
数码管从0到9连续显示
实验电路图:
源程序:
#include\void delay(uint32 x) { uint8 i; while(x--) for(i=500000;i>0;i--); }
uint8 table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 };
int main(void) { uint8 i; PINSEL0=0x00000000; PINSEL1=0x00000000; IO0DIR=0x0000ff00; for(i=0;i<10;i++) { IO0CLR=IO0CLR|0xff00; IO0SET=table[i]<<8; delay(5000); } }