led.c
上传用户:jinguanrq
上传日期:2022-06-04
资源大小:724k
文件大小:4k
源码类别:

uCOS

开发平台:

C/C++

  1. /*********************************************************************************************
  2. * File: light.c
  3. * Author: embest
  4. * Desc: control board's two LEDs on or offf
  5. * History:
  6. *********************************************************************************************/
  7. /*--- include files ---*/
  8. #include "44b.h"
  9. #include "44blib.h"
  10. /*--- global variables ---*/
  11. int led_state; /* LED status */
  12. /*--- function declare ---*/
  13. void Led_Test(void); /* LED test */
  14. void leds_on(void); /* all leds on  */
  15. void leds_off(void); /* all leds off */
  16. void led1_on(void); /* led 1 on  */
  17. void led1_off(void); /* led 1 off  */
  18. void led2_on(void); /* led 2 on  */
  19. void led2_off(void); /* led 2 off  */
  20. void Led_Display(int LedStatus); /* led control  */
  21. /*--- function code---*/
  22. /*********************************************************************************************
  23. * name: Led_Test
  24. * func: leds test funciton
  25. * para: none
  26. * ret: none
  27. * modify:
  28. * comment:
  29. *********************************************************************************************/
  30. void Led_Test()
  31. {
  32. /* 1 on -> 2 on -> all on -> 2 off -> 1 off */
  33. leds_off();
  34. Delay(1000);
  35. led1_on();
  36. Delay(1000);
  37. led1_off();
  38. led2_on();
  39. Delay(1000);
  40. leds_on();
  41. Delay(1000);
  42. led2_off();
  43. Delay(1000);
  44. led1_off();
  45. }
  46. /*********************************************************************************************
  47. * name: leds_on
  48. * func: all leds on
  49. * para: none
  50. * ret: none
  51. * modify:
  52. * comment:
  53. *********************************************************************************************/
  54. void leds_on()
  55. {
  56. Led_Display(0x3);
  57. }
  58. /*********************************************************************************************
  59. * name: leds_off
  60. * func: all leds off
  61. * para: none
  62. * ret: none
  63. * modify:
  64. * comment:
  65. *********************************************************************************************/
  66. void leds_off()
  67. {
  68. Led_Display(0x0);
  69. }
  70. /*********************************************************************************************
  71. * name: led1_on
  72. * func: led 1 on
  73. * para: none
  74. * ret: none
  75. * modify:
  76. * comment:
  77. *********************************************************************************************/
  78. void led1_on()
  79. {
  80. led_state = led_state | 0x1;
  81. Led_Display(led_state);
  82. }
  83. /*********************************************************************************************
  84. * name: led1_off
  85. * func: led 1 off
  86. * para: none
  87. * ret: none
  88. * modify:
  89. * comment:
  90. *********************************************************************************************/
  91. void led1_off()
  92. {
  93. led_state = led_state & 0xfe;
  94. Led_Display(led_state);
  95. }
  96. /*********************************************************************************************
  97. * name: led2_on
  98. * func: led 2 on
  99. * para: none
  100. * ret: none
  101. * modify:
  102. * comment:
  103. *********************************************************************************************/
  104. void led2_on()
  105. {
  106. led_state = led_state | 0x2;
  107. Led_Display(led_state);
  108. }
  109. /*********************************************************************************************
  110. * name: led2_off
  111. * func: led 2 off
  112. * para: none
  113. * ret: none
  114. * modify:
  115. * comment:
  116. *********************************************************************************************/
  117. void led2_off()
  118. {
  119. led_state = led_state & 0xfd;
  120. Led_Display(led_state);
  121. }
  122. /*********************************************************************************************
  123. * name: Led_Display
  124. * func: Led Display control function
  125. * para: LedStatus -- led's status
  126. * ret: none
  127. * modify:
  128. * comment:
  129. *********************************************************************************************/
  130. void Led_Display(int LedStatus)
  131. {
  132. led_state = LedStatus;
  133. if((LedStatus&0x01)==0x01)
  134. rPDATB=rPDATB&0x5ff;
  135. else
  136. rPDATB=rPDATB|0x200;
  137. if((LedStatus&0x02)==0x02)
  138. rPDATB=rPDATB&0x3ff;
  139. else
  140. rPDATB=rPDATB|0x400;
  141. }