📄 sys_init.c
字号:
/*-- 文字: 8 --*/
/*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
unsigned char code WLib_8_5x8[]={0x00,0x6c,0x92,0x92,0x6c};
/*-- 文字: 9 --*/
/*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
unsigned char code WLib_9_5x8[]={0x00,0x0c,0x92,0x92,0x7c};
/*-- 文字: 0 --*/
/*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
unsigned char code WLib_0_5x8[]={0x00,0x7c,0x82,0x82,0x7c};
/*-- 文字: 0,1,2,3,4,5,6,7,8,9 宽x高=8x16 --*/
unsigned char code WLib_Num_8x16[160]={
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
0x00,0x38,0x08,0x08,0xC8,0x28,0x18,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x08,0x31,0x22,0x22,0x11,0x0F,0x00
};
//-- 文字:通
unsigned char code WLib_tong_16x16[]={
0x40,0x42,0x44,0xcc,0x00,0x00,0xf1,0x91,0x95,0xf9,0x95,0x93,0xf1,0x00,0x00,0x00,
0x00,0x40,0x20,0x1f,0x20,0x40,0xbf,0x84,0x84,0xbf,0x94,0xa4,0x9f,0x80,0x80,0x80
};
//-- 文字:道
unsigned char code WLib_dao_16x16[]={
0x40,0x40,0x42,0xcc,0x00,0x04,0xe4,0xa5,0xb6,0xac,0xa6,0xa5,0xe4,0x04,0x00,0x00,
0x00,0x40,0x20,0x1f,0x20,0x40,0x5f,0x4a,0x4a,0x4a,0x4a,0x4a,0x5f,0x40,0x40,0x00
};
//-- 文字:温
unsigned char code WLib_wen_16x16[]={
0x10,0x60,0x02,0x0c,0xc0,0x00,0xfe,0x92,0x92,0x92,0x92,0x92,0xfe,0x00,0x00,0x00,
0x04,0x04,0x7e,0x01,0x40,0x7e,0x42,0x42,0x7e,0x42,0x7e,0x42,0x42,0x7e,0x40,0x00
};
//-- 文字:毫
unsigned char code WLib_hao_16x16[]={
0x00,0x82,0x82,0x82,0xba,0xaa,0xaa,0xab,0xaa,0xaa,0xba,0x82,0x82,0x82,0x80,0x00,
0x02,0x01,0x40,0x44,0x54,0x54,0x54,0x7e,0xaa,0xaa,0xaa,0xa0,0x82,0xe1,0x00,0x00
};
//-- 文字:度
unsigned char code WLib_du_16x16[]={
0x00,0x00,0xfc,0x24,0x24,0x24,0xfc,0x25,0x26,0x24,0xfc,0x24,0x24,0x24,0x04,0x00,
0x40,0x20,0x9f,0x80,0x84,0x4c,0x55,0x25,0x25,0x55,0x55,0x4c,0x84,0x80,0x80,0x00
};
//-- 文字:伏
unsigned char code WLib_fu_16x16[]={
0x80,0x40,0x20,0xf8,0x07,0x20,0x20,0x20,0x20,0xff,0x20,0x22,0x2c,0x20,0x20,0x00,
0x00,0x00,0x00,0xff,0x80,0x40,0x20,0x18,0x06,0x01,0x06,0x18,0x60,0xc0,0x40,0x00
};
//-- 符号:
unsigned char code WLib_maohao_8x16[]={
0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00
};
//-- 符号。
unsigned char code WLib_dian_8x16[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00
};
#endif
/***********************************************************************************
* 函数名称:dis_start0;
*
* 函数功能描述:显示开机界面;
*
* 输入参数:none;
*
* 返回数据:none;
*
* 注意: none;
************************************************************************************/
#if LCDA
void dis_start0 (void)
{
unsigned char x;
LCDA_ClearScreen();
for (x=4;x<240;x+=24)
{
Delay_ms(100);
LCDA_ShowHZxy(x, x, 24,24,HZ_MING_32X32);
LCDA_ShowHZxy(x, x+24,24,24, HZ_LANG_32X32);
LCDA_ShowHZxy(x, x+48,24,24, HZ_KE_32X32);
LCDA_ShowHZxy(x, x+72,24,24, HZ_JI_32X32);
}
}
#elif LCDB
void dis_start0 (void)
{
unsigned int x;
LCDB_ClearScreen();
for (x=4;x<320;x+=24)
{
Delay_ms(100);
LCDB_ShowHZxy(x, x, 24,24,HZ_MING_32X32);
LCDB_ShowHZxy(x, x+24, 24,24,HZ_LANG_32X32);
LCDB_ShowHZxy(x, x+48, 24,24,HZ_KE_32X32);
LCDB_ShowHZxy(x, x+72, 24,24,HZ_JI_32X32);
}
}
#elif LCDC
void dis_start0 (void)
{
LCDC_DispWord (0, 32, WLib_ming_32x32, 4, 32, 1);
LCDC_DispWord (32, 32, WLib_lang_32x32, 4, 32, 1);
LCDC_DispWord (64, 32, WLib_ke_32x32, 4, 32, 1);
LCDC_DispWord (96, 32, WLib_ji_32x32, 4, 32, 1);
LCDC_DispWord (8, 16, WLib_W_10x8, 1, 10, 1);
LCDC_DispWord (19, 16, WLib_W_10x8, 1, 10, 1);
LCDC_DispWord (30, 16, WLib_W_10x8, 1, 10, 1);
LCDC_DispWord (46, 16, WLib_M_9x8, 1, 9, 1);
LCDC_DispWord (57, 16, WLib_L_6x8, 1, 6, 1);
LCDC_DispWord (63, 16, WLib_A_7x8, 1, 7, 1);
LCDC_DispWord (71, 16, WLib_R_7x8, 1, 7, 1);
LCDC_DispWord (79, 16, WLib_M_9x8, 1, 9, 1);
LCDC_DispWord (90, 16, WLib_dot_4x8, 1, 4, 1);
LCDC_DispWord (94, 16, WLib_C_7x8, 1, 7, 1);
LCDC_DispWord (102, 16, WLib_O_7x8, 1, 7, 1);
LCDC_DispWord (110, 16, WLib_M_9x8, 1, 9, 1);
LCDC_DispWord (11, 2, WLib_T_6x8, 1, 6, 1);
LCDC_DispWord (17, 2, WLib_e_5x8, 1, 5, 1);
LCDC_DispWord (22, 2, WLib_l_4x8, 1, 4, 1);
LCDC_DispWord (27, 2, WLib_ddot_3x8, 1, 3, 1);
LCDC_DispWord (34, 2, WLib_0_5x8, 1, 5, 1);
LCDC_DispWord (39, 2, WLib_2_5x8, 1, 5, 1);
LCDC_DispWord (44, 2, WLib_9_5x8, 1, 5, 1);
LCDC_DispWord (49, 2, WLib_line_6x8, 1, 6, 1);
LCDC_DispWord (55, 2, WLib_8_5x8, 1, 5, 1);
LCDC_DispWord (60, 2, WLib_8_5x8, 1, 5, 1);
LCDC_DispWord (65, 2, WLib_2_5x8, 1, 5, 1);
LCDC_DispWord (70, 2, WLib_2_5x8, 1, 5, 1);
LCDC_DispWord (75, 2, WLib_3_5x8, 1, 5, 1);
LCDC_DispWord (80, 2, WLib_5_5x8, 1, 5, 1);
LCDC_DispWord (85, 2, WLib_9_5x8, 1, 5, 1);
LCDC_DispWord (90, 2, WLib_7_5x8, 1, 5, 1);
LCDC_DispWord (95, 2, WLib_line_6x8, 1, 6, 1);
LCDC_DispWord (101, 2, WLib_8_5x8, 1, 5, 1);
LCDC_DispWord (106, 2, WLib_0_5x8, 1, 5, 1);
LCDC_DispWord (111, 2, WLib_2_5x8, 1, 5, 1);
}
#endif
/***********************************************************************************
* 函数名称:SYSCLK_Init;
*
* 函数功能描述:系统时钟初始化,使用外部22.1184MHz晶振作为时钟源;
*
* 输入参数:none;
*
* 返回数据:none;
*
* 注意: none;
************************************************************************************/
void SYSCLK_Init (void)
{
int i; // 延时计数器
OSCXCN = 0x67; // 使用外部22.1184MHz晶振
for (i=0; i<256; i++); // 等待1ms
while (!(OSCXCN & 0x80)); // 等待外部振荡器稳定
OSCICN = 0x88; // 切换到外部晶振
}
/***********************************************************************************
* 函数名称:PORT_Init;
*
* 函数功能描述:配置端口初始化,配置交叉开关和端口;
*
* 输入参数:none;
*
* 返回数据:none;
*
* 注意: none;
************************************************************************************/
void PORT_Init (void)
{
XBR0 = 0x1F; //设置XBR0
XBR1 = 0x1E; //设置XBR1
XBR2 = 0x44; //打开交叉开关和弱上拉
P0MDOUT = 0x15; //设置P0口输出
P0 |= 0xEA; //P0口的输入脚高阻态
P1MDIN = 0x00; //设置P1口输入信号类型
P1MDOUT = 0x00; //设置P1口输出
P1 = 0xFF; //P1口高阻态
P2MDOUT = 0x01; //设置P2口输出
P2 |= 0xFE; //设置P2口输出
P3MDOUT = 0xFE; //设置P3口输出
P3 |= 0x01; //设置P3口输出
P3 &= 0xEF; //P3.4口置0,禁铃
P74OUT = 0xF7; //设置P4-P7口输出
P5 |= 0xF0; //键盘输入P5口高4位高阻态
EMI0CF = 0x2D; //外部存储器接口配置
EMI0TC = 0x9E; //外部存储器时序控制
}
/****************************************************************************************
文件结束
****************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -