嵌入式实验报告
ARM
实验报告
反操作
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);IO0CLR = ((LED_TBL[7][m]));DelayNS(3);} break; }
}
while((k&keycon)!=keycon) k=IO0PIN;
} }
/* 函数名称:main()
* 函数功能:每按一次键,对相应LED的状态取反*/
int main(void)
{
TargetResetInit();
PINSEL0 =0x00000000; // 设置所有管脚连接GPIO
PINSEL1 =0x00000000;
IO0DIR = 0x000000ff; // -,其余为输入
IO0CLR = 0xffffffff;
while(1)
{ keyscan(); }}
GPIO输出实验——流水灯实验
实验内容:
通过数组认为定义流水灯花样;
有六种花样的流水灯依次闪烁;
实验电路图:
源程序:
#include ""
/** 函数名称:DelayNS()函数功能:长软件延时入口参数:dly 延时参数,值越大,延时越久*/
void DelayNS (uint32 dly)
{ uint32 i;
for ( ; dly>0; dly--)
for (i=0; i<50000; i++);}
/** 函数名称:main() 函数功能:GPIO输出测试,花样流水灯。*/
const uint32 LED_TBL[] = { // 花样流水灯,注意调用时候用了取反操作
0x00, 0xFF, // 全部熄灭后,再全部点亮
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, // 依次逐个点亮
0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, // 依次逐个叠加
0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, // 依次逐个递减
0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, // 两个靠拢后分开
0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81 };// 从两边叠加后递减
int main (void)
{ uint8 i;
PINSEL0 = 0x00000000; // 设置管脚连接GPIO
IO0DIR = 0x000000ff; // -
while (1)
{ for (i=0; i<42; i++) // 花样流水灯显示
{ IO0SET = ~((LED_TBL[i]));DelayNS(3);IO0CLR = ((LED_TBL[i]));DelayNS(3); }}}
单路按键控制LED/蜂鸣器
实验内容:
按键key1一按,蜂鸣器响,LED灯亮;
实验电路图:
源程序:
#include ""
#define BEEP 1<<7 //,低电平蜂鸣
#define KEY1 1<<8
/* 函数名称:DelayNS() 函数功能:长软件延时* 入口参数:dly 延时参数,值越大,延时越久 出口参数:无*******/
void DelayNS (uint32 dly)
{ uint32 i;
for ( ; dly>0; dly--)
for (i=0; i<50000; i++);
}
/** 函数名称:main()** 函数功能:,让蜂鸣器蜂鸣*/
int main (void)
{ PINSEL0 = 0x00000000; // 设置引脚连接GPIO
PINSEL1 = 0x00000000;
IO
嵌入式实验报告 来自淘豆网m.daumloan.com转载请标明出处.