?? main.c
字號:
//===============================================================
//
// The information contained herein is the exclusive property of
// Sunplus Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
//
// (C) COPYRIGHT 2001 SUNPLUS TECHNOLOGY CO.
// ALL RIGHTS RESERVED
//
// The entire notice above must be reproduced on all authorized copies.
//
//==============================================================
//============================================================
// 工程名稱: KEY.spj
// 功能描述: 通過4*4鍵盤控制16檔速度,通過外部中斷進行速度步進調節
// 文件來源: 電子大賽支持
// IDE環境: SUNPLUS u'nSPTM IDE 1.8.0(or later)
//
// 涉及的庫: (a) C-Lib: (CMacro.lib);
//
// 組成文件:
// main.c
// Key.asm/IRQ.asm/PWM.asm
// 日期: 2003-8-13
//===============================================
#define HaveKey 1
#define NoKey 0
#define P_Watchdog_Clear (volatile unsigned int *)0x7012
#define C_WDTCLR 0x0001 //看門狗服務程序
unsigned int KeyVal;
unsigned int KeyDownTimes; //保存按鍵次數
unsigned int KeyFlag; //按鍵標識
int main()
{
SP_Init_IOA(); //初始化A口低字節的高四位帶數據緩存器的高電平為輸出口
F_IRQ3_Init(); //外部中斷初始化
KeyDownTimes = 0; //低四位為帶下拉電阻的輸入端
KeyFlag = NoKey;
while(1)
{
*P_Watchdog_Clear=C_WDTCLR; //清看門狗
F_Key_Scan(); //鍵掃描,來自于Key.asm
while(KeyFlag == HaveKey)
{
KeyVal=F_Get_Key(); //取鍵值,來自于Key.asm
KeyFlag = NoKey;
switch(KeyVal)
{
case 0x0:
F_Pwm(0x0020,0x0130); //PWM設置,來自于PWM.asm
break;
case 0x1:
F_Pwm(0x0020,0x00f0);
break;
case 0x2:
F_Pwm(0x0020,0x03b0);
break;
case 0x3:
F_Pwm(0x0020,0x0230);
break;
case 0x4:
F_Pwm(0x0028,0x0130);
break;
case 0x5:
F_Pwm(0x0028,0x00f0);
break;
case 0x6:
F_Pwm(0x0028,0x01b0);
break;
case 0x7:
F_Pwm(0x0028,0x03b0);
break;
case 0x8:
F_Pwm(0x0010,0x0070);
break;
case 0x9:
F_Pwm(0x0010,0x00f0);
break;
case 0xa:
F_Pwm(0x0010,0x03b0);
break;
case 0xb:
F_Pwm(0x0010,0x01b0);
break;
case 0xc:
F_Pwm(0x0008,0x0070);
break;
case 0xd:
F_Pwm(0x0008,0x00f0);
break;
case 0xe:
F_Pwm(0x0008,0x03b0);
break;
case 0xf:
F_Pwm(0,0);
break;
default:
break;
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -