找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5444|回复: 0
打印 上一主题 下一主题
收起左侧

单片机简易16盏心形灯谁看都会

[复制链接]
跳转到指定楼层
楼主


做出来的成品实物图:


单片机仿真原理图:

单片机源程序:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. uchar temp;
  5. void delay(int z)
  6. {
  7. int x,y;
  8. for(x=z;x>0;x--)
  9.   for(y=110;y>0;y--);
  10. }

  11. void LED1()
  12. {
  13. char i;
  14.   temp=0xfe;
  15.    P0=temp;
  16.           for( i=0;i<8;i++)
  17.           {
  18.           delay(30);
  19.           temp=_crol_(temp,1);
  20.           P0=temp;
  21.              }
  22.           P0=0xff;
  23.     temp=0xfe;
  24.    P2=temp;
  25.           for( i=0;i<8;i++)
  26.           {
  27.           delay(30);
  28.           temp=_crol_(temp,1);
  29.           P2=temp;
  30.              }
  31.         P2=0xff;

  32. }

  33. void LED4()
  34. {
  35. char i;
  36.   temp=0xfe;
  37.    P0=temp;
  38.           for( i=0;i<8;i++)
  39.           {
  40.           delay(20);
  41.           temp=_crol_(temp,1);
  42.           P0=temp;
  43.              }
  44.           P0=0xff;
  45.     temp=0xfe;
  46.    P2=temp;
  47.           for( i=0;i<8;i++)
  48.           {
  49.           delay(20);
  50.           temp=_crol_(temp,1);
  51.           P2=temp;
  52.              }
  53.   P2=0xff;
  54. }

  55. void LED2()
  56. {
  57. P0=0x55;
  58. P2=0X55;
  59. delay(300);
  60. P0=0xaa;
  61. P2=0Xaa;
  62. delay(300);
  63. }

  64. void led3()
  65. {
  66.   P0=0x00;
  67.   P2=0x00;
  68.   delay(300);
  69.   P0=0xff;
  70.   P2=0xff;
  71.   delay(300);
  72. }

  73. void led5()
  74. {
  75. uchar i,temp;
  76. temp=0xfe;
  77.   P0=temp;
  78. for(i=0;i<8;i++)
  79. {
  80. P0=temp<<i;
  81. delay(100);
  82. }
  83.   P2=temp;
  84. for(i=0;i<8;i++)
  85. {
  86. P2=temp<<i;
  87. delay(100);
  88. }
  89. P0=0xff;
  90. P2=0xff;
  91. delay(200);
  92. }

  93. void led6()
  94. {
  95. uchar i,temp;
  96. temp=0x7f;
  97.   P2=temp;
  98. for(i=0;i<8;i++)
  99. {
  100. P2=temp>>i;
  101. delay(100);
  102. }
  103.   P0=temp;
  104. for(i=0;i<8;i++)
  105. {
  106. P0=temp>>i;
  107. delay(100);
  108. }
  109. P0=0xff;
  110. P2=0xff;
  111. delay(200);
  112. }
  113. void led7()
  114. {
  115. P0=0xfe;
  116. delay(100);
  117. P0=0xfc;
  118. P2=0x7f;
  119. delay(100);

  120. P0=0xf8;
  121. P2=0x3f;
  122. delay(100);

  123. P0=0xf0;
  124. P2=0x1f;
  125. delay(100);

  126. P0=0xe0;
  127. P2=0x0f;
  128. delay(100);

  129. P0=0xc0;
  130. P2=0x07;
  131. delay(100);

  132. P0=0x80;
  133. P2=0x03;
  134. delay(100);

  135. P0=0x00;
  136. P2=0x01;
  137. delay(100);

  138. P0=0x00;
  139. P2=0x00;
  140. delay(100);

  141. P0=0xff;
  142. P2=0xff;
  143. delay(100);

  144. }

  145. void main()
  146. {
  147.   char i;

  148.   for(i=0;i<10;i++)
  149.   LED4();
  150.   for(i=0;i<3;i++)
  151.   led3();
  152.   for(i=0;i<3;i++)
  153.   LED1();
  154.   for(i=0;i<3;i++)
  155.   LED2();
  156.   P0=0xff;
  157.   P2=0xff;
  158.   delay(300);
  159.    for(i=0;i<3;i++)
  160.   led5();
  161.    for(i=0;i<3;i++)
  162.   led6();
  163.   for(i=0;i<3;i++)
  164.   led7();
  165. }

复制代码



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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