//*****************************************************************************/
// 名稱: ex6_c
// 來源:《SPCE061A單片機實驗指導書》,"實驗六 使用C語言實現A口為輸入B口為輸出
// 實驗"
// 描述: 通過點亮不同發光二極管來顯示A口輸出的不同數值。
// 日期: 2003/05/12
// 版本: 1.8.0
//*****************************************************************************/
#include "hardware.h"
//=============================================================================
// 函數: main()
// 描述:主函數
//=============================================================================
int main()
{
int I_Key;
int *P_Watchdog_Clear = 0x7012;
SP_Init_IOA(0x0000,0x0000,0x0000); //設置A口為帶下拉電阻的輸入
SP_Init_IOB(0xffff,0x0000,0xffff); //設置B口為無數據反相功能的低電平輸出
System_Initial();
while(1)
{
I_Key = SP_GetCh();
switch(I_Key)
{
case 0x0000: //無鍵按下
break;
case 0x0001: // I_Key 1
case 0x0002: // I_Key 2
case 0x0004: // I_Key 3
case 0x0008: // I_Key 4
case 0x0010: // I_Key 5
case 0x0020: // I_Key 6
case 0x0040: // I_Key 7
case 0x0080: // I_Key 8
SP_Export(Port_IOB_Buffer,I_Key); //在B口顯示鍵值
*P_Watchdog_Clear=0x0001; //清看門狗
break;
default:
break;
}
System_ServiceLoop();
}
}
//*****************************************************************************/
// SP_Init_IOA();來自于hardware.asm,主要用于C中IOA的初始化。
// SP_Export();來自于hardware.asm,主要用于C中IOA的賦值。
// System_Initial();來自于System.asm,系統初始化。
// System_ServiceLoop();來自于System.asm,程序掃描鍵盤、按鍵去抖調度。
// SP_GetCh();來自于key.asm,取鍵值。
// main.c 結束
//*****************************************************************************/