?? 6511531325.c
字號:
LCD501_Bitmap(54,33,(unsigned int*)encoding_maohao); //冒號
clockhourshi=shownhour/10;
clockhourge=shownhour%10;
clockminshi=shownmin/10;
clockminge=shownmin%10;
switch(keynow)
{
case 0:
if(int2hz==0)
{
LCD501_PutChar(46,35,number[clockhourge]); //顯示小時的個位
LCD501_PutChar(38,35,number[clockhourshi]); //顯示時的十位
}
else
{
LCD501_PutChar(46,35,' '); //顯示小時的個位
LCD501_PutChar(38,35,' '); //顯示時的十位
}
LCD501_PutChar(73,35,number[clockminge]); //顯示分鐘的個位
LCD501_PutChar(65,35,number[clockminshi]); //顯示小時的十位
break;
case 2:
if(int2hz==0)
{
LCD501_PutChar(73,35,number[clockminge]); //顯示分鐘的個位
LCD501_PutChar(65,35,number[clockminshi]); //顯示小時的十位
}
else
{
LCD501_PutChar(73,35,' ');
LCD501_PutChar(65,35,' ');
}
LCD501_PutChar(46,35,number[clockhourge]); //顯示小時的個位
LCD501_PutChar(38,35,number[clockhourshi]); //顯示時的十位
}
}
//===============================================================//
//語法格式:naoclockshow2(shownhour,shownmin)
//實現功能:顯示鬧鐘調整界面
//參數 :無
//返回值 :無
//==============================================================//
void naoclockshow2(shownhour,shownmin) //顯示鬧鐘調整界面
{
int clockhourshi=0;
int clockhourge=0;
int clockminshi=0;
int clockminge=0;
LCD501_Bitmap(37,20,(unsigned int*)encoding_nao); //鬧
LCD501_Bitmap(49,20,(unsigned int*)encoding_zhong); //鐘
LCD501_Bitmap(61,20,(unsigned int*)encoding_she); //設
LCD501_Bitmap(73,20,(unsigned int*)encoding_zhi); //置
LCD501_Bitmap(54,33,(unsigned int*)encoding_maohao); //冒號
clockhourshi=shownhour/10;
clockhourge=shownhour%10;
clockminshi=shownmin/10;
clockminge=shownmin%10;
LCD501_PutChar(46,35,number[clockhourge]); //顯示小時的個位
LCD501_PutChar(38,35,number[clockhourshi]); //顯示時的十位
LCD501_PutChar(73,35,number[clockminge]); //顯示分鐘的個位
LCD501_PutChar(65,35,number[clockminshi]); //顯示小時的十位
}
//==============================================================//
//語法格式: void setclock()
//實現功能:設置鬧鐘時間
//參數 :無
//返回值 :無
//=============================================================//
void setclock() //設置鬧鐘子函數
{
int k = 0;
LCD501_ClrScreen(0); //清屏
keyflag4 = 1;
while(keyflag4==1)
{
keyscan(); //鍵盤掃描
if(keyvalue==0)
naoclockshow1(nhour,nmin,k); //無鍵按下顯示閃爍的界面
else
naoclockshow2(nhour,nmin); //有鍵按下顯示不閃爍的界面
*P_Watchdog_Clear = 0x0001;
switch(keyvalue)
{
case 0x0001: //如果鍵1按下則退出循環 //或者指向下一個要調整的單元
if(k==0x0002)
{
keyflag4 = 0;
LCD501_ClrScreen(0); // 退出循環,清屏
}
else
{
k = k+2;
}
break;
case 0x0002: //鍵2按下則進行加調整
switch(k)
{
case 0:
if(nhour==23)
nhour = 0;
else
nhour = ++nhour; //鬧鐘小時加1
break;
case 2:
if(nmin==59)
nmin = 0;
else
nmin = ++nmin; //鬧鐘分加1
break;
}
break;
case 0x0004: //鍵3按下則進行減
switch(k)
{
case 0:
if(nhour==0)
nhour = 23;
else
nhour = --nhour; //鬧鐘小時減1
break;
case 2:
if(nmin==0)
nmin = 59;
else
nmin = --nmin; //鬧鐘分減1
break;
}
break;
}
}
}
//==============================================================//
//語法格式:void showsecond()
//實現功能:顯示秒表功能界面
//參數 :無
//返回值 :無
//=============================================================//
void showsecond() //秒表顯示界面
{
LCD501_Bitmap(20,18,(unsigned int*)encoding_maohao); //顯示冒號
LCD501_Bitmap(48,18,(unsigned int*)encoding_maohao);
showsec(mmsec); //顯示毫秒
showmin(mbsec); //顯示秒
showhour(mbmin); //顯示分
}
//==============================================================//
//語法格式 void setsecond()
//實現功能:設置秒表的功能
//參數 :無
//返回值 :無
//=============================================================//
void setsecond() //設置秒表子函數
{
int intflag = 0;
keyflag5 = 1;
LCD501_ClrScreen(0); //清屏進入秒表界面
LCD501_Bitmap(23,40,(unsigned int*)encoding_miao);
LCD501_Bitmap(45,40,(unsigned int*)encoding_biao); //顯示秒表漢字
while(keyflag5==1)
{
LCD501_Bitmap(90,10,(unsigned int*)BMP_Cartoon[mapcounter2]);
//顯示凌陽標志旋轉界面
showsecond();
keyscan(); //按鍵掃描
switch(keyvalue)
{
case 1:
keyflag5 = 0;
LCD501_ClrScreen(0); //退出秒表界面,清屏。
break;
case 2:
switch(intflag)
{
case 1:
intflag = 0;
*P_INT_Ctrl=*P_INT_Ctrl_New & 0xffef;
break; //關閉1KHZ中斷
case 0:
intflag = 1;
*P_INT_Ctrl_New=*P_INT_Ctrl_New | 0x0010;
break; //打開1KHZ中斷
}
break;
case 4: //如果此時秒表處于暫停狀態則清零
if(intflag==0)
{
mbmin = 0;
mbsec = 0;
mmsec = 0;
}
else
*P_Watchdog_Clear = 0x0001;
break;
}
}
}
//===============================================================//
//語法格式: void miaobiao()
//實現功能:秒表運行修正
//參數 :無
//返回值 :無
//==============================================================//
void miaobiao() //秒表運行修正子函數,由1kHZ中斷實現
{
if(mbnum==10)
{
mbnum = 0;
mmsec = ++mmsec;
}
if(mapcounter1==300) //顯示SUNPLUS旋轉界面
{
mapcounter1=0;
mapcounter2=mapcounter2++;
if(mapcounter2==40)
mapcounter2=0;
}
if(mmsec==102)
{
mmsec = 0;
mbsec = ++mbsec;
}
if(mbsec==60)
{
mbsec = 0;
mbmin = ++mbmin;
}
if(mbmin==99)
{
mbmin = 0;
}
}
//===============================================================//
//語法格式: void shownaozhongset()
//實現功能:顯示鬧鐘設置界面
//參數 :無
//返回值 :無
//==============================================================//
void shownaozhong_set() //
{
LCD501_Bitmap(28,10,(unsigned int*)encoding_nao); //鬧
LCD501_Bitmap(40,10,(unsigned int*)encoding_zhong); //鐘
LCD501_Bitmap(52,10,(unsigned int*)encoding_shi); //時
LCD501_Bitmap(64,10,(unsigned int*)encoding_jian); //間
LCD501_Bitmap(76,10,(unsigned int*)encoding_she); //設
LCD501_Bitmap(88,10,(unsigned int*)encoding_zhi); //置
LCD501_Bitmap(28,30,(unsigned int*)encoding_nao); //鬧
LCD501_Bitmap(40,30,(unsigned int*)encoding_zhong); //鐘
LCD501_Bitmap(52,30,(unsigned int*)encoding_ling); //鈴
LCD501_Bitmap(64,30,(unsigned int*)encoding_sheng); //聲
LCD501_Bitmap(76,30,(unsigned int*)encoding_she); //設
LCD501_Bitmap(88,30,(unsigned int*)encoding_zhi); //置
LCD501_Bitmap(28,50,(unsigned int*)encoding_fan); //返
LCD501_Bitmap(40,50,(unsigned int*)encoding_hui); //回
}
//===============================================================//
//語法格式: void set_ring()
//實現功能:按鍵選擇鬧鐘的時間設置或者是鈴聲設置
//參數 :無
//返回值 :無
//==============================================================//
void set_ring()
{
int i = 0;
keyflag6 = 1;
LCD501_ClrScreen(0);
while(keyflag6==1)
{
shownaozhong_set(); //鬧鐘設置界面
LCD501_Bitmap(14,clockset[i],(unsigned int*)encoding_mouse);
//光標
keyscan();
switch(keyvalue)
{
case 1:
switch(i)
{
case 0:
setclock(); //調用鬧鐘時間設置界面
break;
case 1: //調用鈴聲選擇
ring_choice();
break;
case 2:
keyflag6=0;
LCD501_ClrScreen(0);
break;
}
break;
case 2: //光標下移
LCD501_Bitmap(14,clockset[i],(unsigned int*)encoding_empty);
if(i==2)
i = 0;
else
i = ++i;
break;
case 4: //光標上移
LCD501_Bitmap(14,clockset[i],(unsigned int*)encoding_empty);
if(i==0)
i = 2;
else
i = --i;
break;
}
}
}
//===============================================================//
//語法格式: void showringmap()
//實現功能:進入鈴聲選擇界面
//參數 :無
//返回值 :無
//==============================================================//
void showringmap()
{
LCD501_Bitmap(45,10,(unsigned int*)encoding_ling); //鈴聲1
LCD501_Bitmap(57,10,(unsigned int*)encoding_sheng);
LCD501_Bitmap(69,10,(unsigned int*)encoding_1);
LCD501_Bitmap(45,30,(unsigned int*)encoding_ling); //鈴聲2
LCD501_Bitmap(57,30,(unsigned int*)encoding_sheng);
LCD501_Bitmap(69,30,(unsigned int*)encoding_2);
}
//===============================================================//
//語法格式: ring_choice()
//實現功能:鈴聲選擇
//參數 :無
//返回值 :無
//==============================================================//
void ring_choice()
{
int i = 0;
keyflag7 = 1;
LCD501_ClrScreen(0);
while(keyflag7==1)
{
showringmap();
LCD501_Bitmap(23,clockset[i],(unsigned int*)encoding_mouse);
keyscan();
switch(keyvalue)
{
case 1:
{
keyflag7 = 0;
LCD501_ClrScreen(0); //退出循環清屏
if(i==0)
ringflag = 0; //選中鈴聲1
else
ringflag = 1; //選中鈴聲2
}
break;
case 2:
{
switch(i) //切換光標的位置
{
case 0:
LCD501_Bitmap(23,clockset[i],(unsigned int*)encoding_empty);
i = 1;
break;
case 1:
LCD501_Bitmap(23,clockset[i],(unsigned int*)encoding_empty);
i = 0;
break;
}
}
break;
case 4:
if(i==0)
PlayRespond(17);
else
PlayRespond(18);
break;
}
}
}
//=========================================================================//
//system.c end
//=========================================================================//
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -