[讨论] 开关控制LED——ARM的Proteus实验

yuandayuan6999   2010-4-28 20:44 楼主
实验原理ARM的P0.1口接按钮,再通过P0.0控制LED的亮、灭。本实验的电路图以及实验均在上一个实验基础之上修改。其中电路图只多了一个开关。
Proteus仿真电路图
实验步骤略(与上一实验相同)
C语言源程序/******************************************************************************/
/*                                                                            */
/*           led.c:  用ARM实现开关控制led并亮灭,还是有点浪费……                */
/*                                                                            */
/******************************************************************************/
#include
#define P0_1 0x02;                                        /*P0.1*/                        
/*******************************************************************************
**函数名: delay()
**描述: 软件延时
********************************************************************************/
void delay (void)  {                        
  unsigned volatile long i;
  for(i=0;i<10000;i++)
  ;
}
int main(void) {
  int p01State;
  PINSEL0 = 0;        /*设置引脚为GPIO */
  IO0DIR = 0x000001;        /*将P0.0设置为输出 */
  IO0SET = 0x000001;        /*将P0.0置1,也就是让led灭 */
  while (1)  {
    p01State = IO0PIN&P0_1;        /*读取开关状态*/
        if(p01State == 0){
                IO0CLR = 0x000001;
                delay();
        }
          else{
                IO0SET = 0x000001;
                delay();
        }        
  }
}

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复