找回密码
 立即注册

QQ登录

只需一步,快速开始

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

自己做的单片机心型灯

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

单片机源程序如下:
  1. #include <REGX51.H>
  2. #include<intrins.h>
  3. void delay500ms()                //@12.000MHz
  4. {
  5.         unsigned char i, j, k;

  6.         _nop_();
  7.         i = 1;
  8.         j = 205;
  9.         k = 187;
  10.         do
  11.         {
  12.                 do
  13.                 {
  14.                         while (--k);
  15.                 } while (--j);
  16.         } while (--i);
  17. }

  18. void moshi1(void)
  19. {
  20.     char i=0;
  21.           for(i=0;i<5;i++)
  22.                 {
  23.                          P0=0X00;P1=0X00;P2=0X00;P3=0X00;
  24.                          delay500ms();
  25.                          P0=0Xff;P1=0Xff;P2=0Xff;P3=0Xff;
  26.                          delay500ms();
  27.     }
  28. }

  29. /// e d b 7 ---> 1110 1101  1011 0111
  30. unsigned char tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,};
  31. void moshi2(void)
  32. {
  33.     char i;
  34.           for(i=0;i<8;i++)
  35.           {
  36.         P0=tab[i];P1=0XFF;P2=0XFF;P3=0XFF;delay500ms();
  37.     }
  38.           for(i=0;i<8;i++)
  39.           {
  40.         P0=0XFF;P1=tab[i];P2=0XFF;P3=0XFF;delay500ms();
  41.     }               
  42.           for(i=0;i<8;i++)
  43.           {
  44.         P0=0XFF;P1=0XFF;P2=tab[i];P3=0XFF;delay500ms();
  45.     }
  46.           for(i=0;i<8;i++)
  47.           {
  48.         P0=0XFF;P1=0XFF;P2=0XFF;P3=tab[i];delay500ms();
  49.     }                                
  50. }

  51. unsigned char code tab1[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,};
  52. unsigned char code tab2[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,};
  53. void moshi3(void)   //0011 1111
  54. {
  55.     char i;
  56.           for(i=0;i<8;i++)
  57.           {
  58.         P0=tab1[i];P1=0XFF;P2=0XFF;P3=tab2[i];delay500ms();
  59.     }  

  60.           for(i=0;i<8;i++)
  61.           {
  62.         P1=tab1[i];P0=0X00;P3=0X00;P2=tab2[i];delay500ms();
  63.     }  
  64.           for(i=0;i<8;i++)
  65.           {
  66.         P1=tab1[7-i];P0=0X00;P3=0X00;P2=tab2[7-i];delay500ms();
  67.     }
  68.                 for(i=0;i<8;i++)
  69.           {
  70.         P0=tab1[7-i];P1=0Xff;P2=0Xff;P3=tab2[7-i];delay500ms();
  71.     }  
  72.                
  73. }
  74. void main(void)
  75. {


  76.         while(1)
  77.         {

  78.        moshi1();
  79.              moshi2();
  80.                    moshi3();
  81.         }
  82. }
复制代码


评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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