//*****************************************************************************/
// 名称: 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 结束
//*****************************************************************************/