找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7709|回复: 0
收起左侧

51单片机(P1与P0口)控制流水灯程序与仿真

[复制链接]
ID:318620 发表于 2018-4-28 20:19 | 显示全部楼层 |阅读模式
接(P1与P0口)流水灯的程序
流水灯.png

  1. #include   "reg52.h"


  2. #define uchar unsigned char

  3. #define uint unsigned int

  4. #define TimeDelay 60000

  5. void delay(uint n);

  6. void Flash0a(void);

  7. void Flash0b(void);

  8. void Flash1a(void);

  9. void Flash1b(void);

  10. void Flash2a(void);

  11. void Flash2b(void);

  12. void Flash3a(void);

  13. void Flash3b(void);

  14. /************************************************************

  15. *Function: 主函数

  16. *parameter:

  17. *Return:

  18. *Modify:

  19. *************************************************************/

  20. void main(void)

  21. {

  22. while(1)

  23. {

  24. Flash1b();

  25. Flash1a();



  26. delay(TimeDelay);

  27. delay(TimeDelay);



  28. Flash0b();

  29. Flash0a();



  30. Flash2b();

  31. Flash2a();



  32. Flash1b();

  33. Flash1a();



  34. Flash3b();

  35. Flash3a();

  36. }

  37. }

  38. /************************************************************

  39. *Function: 延时

  40. *parameter:

  41. *Return:

  42. *Modify:

  43. *************************************************************/

  44. void delay(uint n)

  45. {

  46. while(n!=0)

  47. {

  48. n--;

  49. }

  50. }

  51. void Flash0a(void)

  52. {

  53. uchar i;

  54. uchar Temp;

  55. Temp = 0x80;

  56. for(i=0;i<8;i++)

  57. {

  58. P0 = ~Temp;

  59. delay(TimeDelay);

  60. Temp = Temp >> 1;

  61. }

  62. P0 = 0xff;

  63. }

  64. void Flash0b(void)

  65. {

  66. uchar i;

  67. uchar Temp;

  68. Temp = 0x80;

  69. for(i=0;i<8;i++)

  70. {

  71. P0 = Temp;

  72. delay(TimeDelay);

  73. Temp = Temp >> 1;

  74. }

  75. P0 = 0;

  76. }

  77. void Flash1a(void)

  78. {

  79. uchar i;

  80. uchar Temp;

  81. P1 = 1;

  82. Temp = 0x80;

  83. for(i=0;i<8;i++)

  84. {

  85. P1 = ~Temp;

  86. delay(TimeDelay);

  87. Temp = Temp >> 1;

  88. }

  89. P1 = 0xff;

  90. }

  91. void Flash1b(void)

  92. {

  93. uchar i;

  94. uchar Temp;

  95. P1 = 1;

  96. Temp = 0x80;

  97. for(i=0;i<8;i++)

  98. {

  99. P1 = Temp;

  100. delay(TimeDelay);

  101. Temp = Temp >> 1;

  102. }

  103. P1 = 0;

  104. }

  105. void Flash2a(void)

  106. {

  107. uchar i;

  108. uchar Temp;

  109. P2 = 1;

  110. Temp = 0x80;

  111. for(i=0;i<8;i++)

  112. {

  113. P2 = ~Temp;

  114. delay(TimeDelay);

  115. Temp = Temp >> 1;

  116. }

  117. P2 = 0xff;

  118. }

  119. void Flash2b(void)

  120. {

  121. uchar i;

  122. uchar Temp;

  123. P2 = 1;

  124. Temp = 0x80;

  125. for(i=0;i<8;i++)

  126. {

  127. P2 = Temp;

  128. delay(TimeDelay);

  129. Temp = Temp >> 1;

  130. }

  131. P2 = 0;

  132. }

  133. void Flash3a(void)

  134. {

  135. uchar i;

  136. uchar Temp;

  137. P3 = 1;

  138. Temp = 0x80;

  139. for(i=0;i<8;i++)

  140. {

  141. P3 = ~Temp;

  142. delay(TimeDelay);

  143. Temp = Temp >> 1;

  144. }

  145. P3 = 0xff;

  146. }

  147. void Flash3b(void)

  148. {

  149. uchar i;

  150. uchar Temp;

  151. P3 = 1;

  152. Temp = 0x80;

  153. for(i=0;i<8;i++)

  154. {

  155. P3 = Temp;

  156. delay(TimeDelay);

  157. Temp = Temp >> 1;

  158. }

  159. P3 = 0;

  160. }
复制代码


全部资料51hei下载地址:
lsd.rar (49.66 KB, 下载次数: 14)


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表