📄 hgo12864_pic16.c
字号:
//---------------------------------------------------------------------
#include <pic.h>
#include <pic16f91x.h>
//#include <pic16f946.h>
#include "hgo12864_pic.h"
//---------------------------------------------------------------------
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT & UNPROTECT & BOREN & DEBUGEN);
//__CONFIG(INTIO & WDTDIS)
const uchar success[768]={
0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,0x00, /*"0"=0*/
0x00,0x00,0x42,0x7F,0x40,0x00,0x00,0x00, /*"1"=1h*/
0x00,0x42,0x61,0x51,0x49,0x46,0x00,0x00, /*"2"=2h*/
0x00,0x21,0x41,0x45,0x4B,0x31,0x00,0x00, /*"3"=3h*/
0x00,0x18,0x14,0x12,0x7F,0x10,0x00,0x00, /*"4"=4h*/
0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, /*"5"=5h*/
0x00,0x3C,0x4A,0x49,0x49,0x30,0x00,0x00, /*"6"=6h*/
0x00,0x01,0x01,0x79,0x05,0x03,0x00,0x00, /*"7"=7h*/
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, /*"8"=8h*/
0x00,0x06,0x49,0x49,0x29,0x1E,0x00,0x00, /*"9"=9h*/
0x00,0x7E,0x11,0x11,0x11,0x7E,0x00,0x00, /*"A"=ah*/
0x00,0x41,0x7F,0x49,0x49,0x36,0x00,0x00, /*"B"=bh*/
0x00,0x3E,0x41,0x41,0x41,0x22,0x00,0x00, /*"C"=ch*/
0x00,0x41,0x7F,0x41,0x41,0x3E,0x00,0x00, /*"D"=dh*/
0x00,0x7F,0x49,0x49,0x49,0x49,0x00,0x00, /*"E"=eh*/
0x00,0x7F,0x09,0x09,0x09,0x01,0x00,0x00, /*"F"=fh*/
0x00,0x3E,0x41,0x41,0x49,0x7A,0x00,0x00, /*"G"=10h*/
0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x00, /*"h"=11h*/
0x00,0x00,0x41,0x7F,0x41,0x00,0x00,0x00, /*"I"=12h*/
0x00,0x20,0x40,0x41,0x3F,0x01,0x00,0x00, /*"J"=13h*/
0x00,0x7F,0x08,0x14,0x22,0x41,0x00,0x00, /*"K"=14h*/
0x00,0x7F,0x40,0x40,0x40,0x40,0x00,0x00, /*"L"=15h*/
0x00,0x7F,0x02,0x0C,0x02,0x7F,0x00,0x00, /*"M"=16h*/
0x00,0x7F,0x06,0x08,0x30,0x7F,0x00,0x00, /*"N"=17h*/
0x00,0x3E,0x41,0x41,0x41,0x3E,0x00,0x00, /*"O"=18h*/
0x00,0x7F,0x09,0x09,0x09,0x06,0x00,0x00, /*"P"=19h*/
0x00,0x3E,0x41,0x51,0x21,0x5E,0x00,0x00, /*"Q"=1ah*/
0x00,0x7F,0x09,0x19,0x29,0x46,0x00,0x00, /*"R"=1bh*/
0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00, /*"S"=1ch*/
0x00,0x01,0x01,0x7F,0x01,0x01,0x00,0x00, /*"T"=1dh*/
0x00,0x3F,0x40,0x40,0x40,0x3F,0x00,0x00, /*"U"=1eh*/
0x00,0x1F,0x20,0x40,0x20,0x1F,0x00,0x00, /*"V"=1fh*/
0x00,0x7F,0x20,0x18,0x20,0x7F,0x00,0x00, /*"W"=20h*/
0x00,0x63,0x14,0x08,0x14,0x63,0x00,0x00, /*"X"=21h*/
0x00,0x07,0x08,0x70,0x08,0x07,0x00,0x00, /*"Y"=22h*/
0x00,0x61,0x51,0x49,0x45,0x43,0x00,0x00, /*"Z"=23h*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*" "=24H*/
0x00,0x00,0x00,0x4F,0x00,0x00,0x00,0x00, /*"!"=25H*/
0x00,0x00,0x07,0x00,0x07,0x00,0x00,0x00, /*"""=26h*/
0x00,0x14,0x7F,0x14,0x7F,0x14,0x00,0x00, /*"#"=27h*/
0x00,0x24,0x2A,0x7F,0x2A,0x12,0x00,0x00, /*"$"=28h*/
0x00,0x23,0x13,0x08,0x64,0x62,0x00,0x00, /*"%"=29h*/
0x00,0x36,0x49,0x55,0x22,0x50,0x00,0x00, /*"&"=2ah*/
0x00,0x00,0x05,0x03,0x00,0x00,0x00,0x00, /*"'"=2bh*/
0x00,0x00,0x1C,0x22,0x41,0x00,0x00,0x00, /*"("=2ch*/
0x00,0x00,0x41,0x22,0x1C,0x00,0x00,0x00, /*")"=2dh*/
0x00,0x14,0x08,0x3E,0x08,0x14,0x00,0x00, /*"*"=2eh*/
0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00, /*"+"=2fh*/
0x00,0x00,0x50,0x30,0x00,0x00,0x00,0x00, /*";"=30h*/
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00, /*"-"=31h*/
0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00, /*"."=32h*/
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00, /*"/"=33h*/
0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00, /*":"=34h*/
0x00,0x00,0x56,0x36,0x00,0x00,0x00,0x00, /*";"=35h*/
0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00, /*"<"=36h*/
0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00, /*"="=37h*/
0x00,0x00,0x41,0x22,0x14,0x08,0x00,0x00, /*">"=38h*/
0x00,0x02,0x01,0x51,0x09,0x06,0x00,0x00, /*"?"=39h*/
0x00,0x32,0x49,0x79,0x41,0x3E,0x00,0x00, /*"@"=3ah*/
0x00,0x00,0x7F,0x41,0x41,0x00,0x00,0x00, /*"["=3bh*/
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00, /*"\"=3Ch*/
0x00,0x00,0x41,0x41,0x7F,0x00,0x00,0x00, /*"]"=3Dh*/
0x00,0x04,0x02,0x01,0x02,0x04,0x00,0x00, /*"^"=3Eh*/
0x00,0x40,0x40,0x40,0x40,0x40,0x00,0x00, /*"_"=3Fh*/
0x00,0x01,0x02,0x04,0x00,0x00,0x00,0x00, /*"`"=40h*/
0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00, /*"a"=41h*/
0x00,0x7F,0x48,0x44,0x44,0x38,0x00,0x00, /*"b"=42h*/
0x00,0x38,0x44,0x44,0x44,0x28,0x00,0x00, /*"c"=43h*/
0x00,0x38,0x44,0x44,0x48,0x7F,0x00,0x00, /*"d"=44h*/
0x00,0x38,0x54,0x54,0x54,0x18,0x00,0x00, /*"e"=45h*/
0x00,0x00,0x08,0x7E,0x09,0x02,0x00,0x00, /*"f"=46h*/
0x00,0x0C,0x52,0x52,0x4C,0x3E,0x00,0x00, /*"g"=47h*/
0x00,0x7F,0x08,0x04,0x04,0x78,0x00,0x00, /*"h"=48h*/
0x00,0x00,0x44,0x7D,0x40,0x00,0x00,0x00, /*"i"=49h*/
0x00,0x20,0x40,0x44,0x3D,0x00,0x00,0x00, /*"j"=4Ah*/
0x00,0x00,0x7F,0x10,0x28,0x44,0x00,0x00, /*"k"=4Bh*/
0x00,0x00,0x41,0x7F,0x40,0x00,0x00,0x00, /*"l"=4Ch*/
0x00,0x7C,0x04,0x78,0x04,0x78,0x00,0x00, /*"m"=4Dh*/
0x00,0x7C,0x08,0x04,0x04,0x78,0x00,0x00, /*"n"=4Eh*/
0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00, /*"o'=4Fh*/
0x00,0x7E,0x0C,0x12,0x12,0x0C,0x00,0x00, /*"p"=50h*/
0x00,0x0C,0x12,0x12,0x0C,0x7E,0x00,0x00, /*"q"=51h*/
0x00,0x7C,0x08,0x04,0x04,0x08,0x00,0x00, /*"r"=52h*/
0x00,0x58,0x54,0x54,0x54,0x64,0x00,0x00, /*"s"=53h*/
0x00,0x04,0x3F,0x44,0x40,0x20,0x00,0x00, /*"t"=54h*/
0x00,0x3C,0x40,0x40,0x3C,0x40,0x00,0x00, /*"u"=55h*/
0x00,0x1C,0x20,0x40,0x20,0x1C,0x00,0x00, /*"v"=56h*/
0x00,0x3C,0x40,0x30,0x40,0x3C,0x00,0x00, /*"w"=57h*/
0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00, /*"x"=58h*/
0x00,0x1C,0xA0,0xA0,0x90,0x7C,0x00,0x00, /*"y"=59h*/
0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00, /*"z"=5Ah*/
0x00,0x00,0x08,0x36,0x41,0x00,0x00,0x00, /*"{"=5Bh*/
0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00, /*"|"=5Ch*/
0x00,0x00,0x41,0x36,0x08,0x00,0x00,0x00, /*"}"=5Dh*/
0x00,0x02,0x01,0x02,0x04,0x02,0x00,0x00, /*"~"=5Fh*/
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00 /*" "=0x60*/
};
const char Digit[16] = {
CHAR_0,
CHAR_1,
CHAR_2,
CHAR_3,
CHAR_4,
CHAR_5,
CHAR_6,
CHAR_7,
CHAR_8,
CHAR_9,
CHAR_A,
CHAR_B,
CHAR_C,
CHAR_D,
CHAR_E,
CHAR_F
};
const uchar CCTAB[128]={
///*-- 文字: 杭 --*/
///*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x20,0x20,0xFF,0x90,0x10,0x20,0x20,0xA0,0x92,0x94,0x10,0x10,0x00,0x00,0x00,
0x04,0x02,0x01,0x3F,0x00,0x21,0x10,0x0F,0x00,0x00,0x0F,0x10,0x10,0x10,0x1C,0x00,
///*-- 文字: 州 --*/
///*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xE0,0x00,0xFC,0x00,0xE0,0x00,0xFC,0x20,0xC0,0x00,0xFE,0x00,0x00,0x00,
0x00,0x21,0x10,0x0C,0x03,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,
///*-- 文字: 先 --*/
///*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x80,0xA0,0x9C,0x90,0x90,0xFF,0x48,0x48,0x48,0x40,0x00,0x00,0x00,0x00,
0x20,0x20,0x10,0x08,0x04,0x03,0x00,0x1F,0x20,0x20,0x20,0x20,0x20,0x38,0x00,0x00,
///*-- 文字: 锋 --*/
///*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x20,0x50,0xEF,0xA8,0x88,0x50,0xA8,0xAF,0xF2,0x5A,0x26,0x40,0x40,0x40,0x00,
0x00,0x01,0x01,0x1F,0x04,0x02,0x08,0x0A,0x0A,0x7F,0x05,0x05,0x04,0x04,0x00,0x00,
//0x80,0x64,0x24,0x24,0x3F,0x24,0xA6,0x64, /*勃90 = 01H*/
//0x20,0x20,0xFF,0x20,0x20,0xF0,0x20,0x00,
//0x00,0x08,0x49,0x89,0x7D,0x0B,0x89,0x40,
//0x30,0x0E,0x41,0x80,0x40,0x3F,0x00,0x00,
//0x40,0x42,0x44,0xCC,0x00,0x20,0x22,0xE2, /*远90 = 02H*/
//0x22,0x22,0xE2,0x23,0x32,0x20,0x00,0x00,
//0x00,0x40,0x20,0x1F,0x20,0x50,0x4C,0x43,
//0x40,0x40,0x47,0x48,0x48,0x6E,0x20,0x00,
//0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F, /*大90 = 03H*/
//0xA0,0x20,0x20,0x20,0x20,0x30,0x20,0x00,
//0x00,0x40,0x40,0x20,0x10,0x0C,0x03,0x00,
//0x01,0x06,0x08,0x10,0x20,0x60,0x20,0x00
};
//const uchar SEG[]=
//uchar test[5]={0,1,2,3,4};
//---------------------------------------------------------------------
//---------------------------------------------------------------------
void main(void)
{
INTCON=0;
PIR1=0;
PIR2=0;
T1CON=0;
SSPCON=0;
ADCON0=0;
LCDCON=0;
;
OSCCON=0b01100111;
while(!(OSCCON&HTS))
;
TRISA=0x00;
TRISB=0b00000000;
TRISC=0b00000000;
TRISD=0b00000000;
ADCON1=0;
PORTC=0;
shd=1;
PORTD=0;
beep_out=0;
OPTION=0b01101111;
//TIMER0 控制配置
T1CON=0b00000000;
PIR1=0;
TMR1H=0xf8;
TMR1L=0x4e;
//TIMER1 控制配置
// INTCON=0b11000000;
// PIE1=0b00000001;
// PIE2=0b00000000;
//中断控制
// time_count_acc=500;
// PORTC^=0x01;
lcd_init();
//---------------------------------------------------------------------
while(1)
{
s=Buffer;
CLRWDT();
wcom(0xa6);
disdate_a(0x00,0x00);
delay1();
ccwpr(0,1,32);//杭
ccwpr(1,1,48);//州
ccwpr(2,1,64);//先
ccwpr(3,1,80);//峰
cwpr(0,4,16);
cwpr(5,4,24);
cwpr(7,4,32);
cwpr(1,4,40);
cwpr(0x31,4,48);
cwpr(8,4,56);
cwpr(6,4,64);
cwpr(7,4,72);
cwpr(9,4,80);
cwpr(1,4,88);
cwpr(1,4,96);
cwpr(3,4,104);
cwpr(1,4,112);
delay1();
delay1();
wcom(0xa7);
delay1();
disdate_a(0xaa,0xaa);
delay1();
disdate_a(0x55,0x55);
delay1();
disdate_a(0xff,0x00);
delay1();
disdate_a(0x00,0xff);
delay1();
disdate_a(0xaa,0x55);
delay1();
disdate_a(0xff,0xff);
delay1();
disdate_a(0x00,0x00);
delay1();
}
}
/************************************************************************
************************************************************************/
void delay(void)
{unsigned char i,j;
for(i=32;i>0;i--)
for(j=255;j>0;j--);
}
/************************************************************************
************************************************************************/
void delay1(void)
{unsigned char i,j;
for(i=255;i>0;i--)
{
for(j=255;j>0;j--)
{nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();}
}
}
/************************************************************************
function-->write command
************************************************************************/
void wcom(unsigned char com)
{
cs1=0;
nop();
a0=0;
nop();
write(com);
nop();
nop();
cs1=1;
}
/************************************************************************
function-->write a byte
************************************************************************/
void write(unsigned char dat)
{ unsigned char s,temp;
int i;
sclk=0;
s=dat;
for(i=8;i>0;i--)
{sclk=0;
nop();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -