码迷,mamicode.com
首页 > 其他好文 > 详细

ARM 学习笔记之二 LED点亮程序设计

时间:2016-05-24 00:13:13      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

第一步,先聊聊单片机 LED 点亮:
        单片机可操作单个位:sbit    led1    =    P1    ^    2;
        通过控制 变量 led1 来控制灯 的 亮 与 灭;
  1. #include <reg52.h>
  2. sbit led1 = P1 ^ 2;
  3. void delay(unsigned int xx)//延时
  4. {
  5. int i = 0;
  6. while(xx--)
  7. {
  8. for(i = 0; i < 400; i++);
  9. }
  10. }
  11. int main()
  12. {
  13. while(1)
  14. {
  15. led1 = 1//灭
  16. delay(100);
  17. led1 = 0;//亮
  18. delay(100);
  19. }
  20. }
        这是单片机的点灯实验,下面我们将它引入到 ARM 上:
        ARM 中不能像单片机那样进行单个的位操作,必须是整体,但也很简单...
        有这么几个步骤:
        (1)分析电路(需要操作哪个灯,这是你要做的)
        (2)分析驱动方式(查询寄存器的工作方式: 输入 / 输出 / ...)
        (3)控制对应引脚(查询哪个引脚和该引脚是否拉高拉低)

        不说了,直接上代码
  1. #include <S3C2440.h>
  2. #define LED_A_ON(i) GPADAT &= ~(0x1 << i) //A口i灯亮
  3. #define LED_B_ON(i) GPBDAT &= ~(0x1 << i) //B口i灯亮
  4. #define LED_A_OFF(i) GPADAT |= (0x1 << i) //A口i灯亮
  5. #define LED_B_OFF(i) GPBDAT |= (0x1 << i) //B口i灯亮
  6. void LED_INIT(void);//初始化控制灯
  7. void delay(unsigned int xx);//延时
  8. int main()
  9. {
  10. LED_INIT();
  11. while(1)//流水灯实验
  12. {
  13. LED_B_ON(5);
  14.     LED_B_OFF(6);
  15.     LED_A_OFF(25);
  16.     LED_A_OFF(26);
  17.     delay(100);
  18.     LED_B_ON(6);
  19.     LED_B_OFF(5);
  20.     LED_A_OFF(25);
  21.     LED_A_OFF(26);
  22.     delay(100);
  23.     LED_A_ON(25);
  24.     LED_B_OFF(5);
  25.     LED_B_OFF(6);
  26.     LED_A_OFF(26);
  27.     delay(100);
  28.     LED_A_ON(26);
  29.     LED_B_OFF(5);
  30.     LED_B_OFF(6);
  31.     LED_A_OFF(25);
  32.     delay(100);
  33. }
  34. }
  35. void LED_INIT()//初始化控制灯
  36. {
  37. GPBCON &= ~(0x03 << 10);//GPB5清零
  38. GPBCON |= (0x01 << 10); //置1
  39. GPACON &= ~(0x3 << 25);
  40. GPADAT |= (0x3 << 25);
  41. GPBDAT |= (0x3 << 5);
  42. delay(10000);
  43. }
        自己比较吧,是不是也不太难呢。




ARM 学习笔记之二 LED点亮程序设计

标签:

原文地址:http://www.cnblogs.com/jianghanxv/p/5521695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!