找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10480|回复: 4
收起左侧

非常牛逼的跑马灯单片机程序

[复制链接]
ID:175793 发表于 2017-5-11 12:15 | 显示全部楼层 |阅读模式
这是我上次比赛做的跑马灯程序,内含呼吸灯部分,感觉还不错,很牛逼.可以拿来改改用用

0.png
单片机源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define led P3
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. static unsigned char ledon[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

  7. uchar flag;
  8. void delay1(uint z3)
  9. {
  10.         while(z3--);
  11. }
  12. void deng1()
  13. {
  14.         uint i;
  15.         led=0x01;
  16.         delay1(30000);
  17.         for(i=0;i<7;i++)
  18.         {
  19.                 led=_crol_(led,1);
  20.                 delay1(30000);
  21.         }
  22.         led=0xc0;
  23.         for(i=0;i<6;i++)
  24.         {
  25.                 led=_cror_(led,1);
  26.                 delay1(30000);
  27.         }
  28.         led=0x07;
  29.         for(i=0;i<5;i++)
  30.         {
  31.                 led=_crol_(led,1);
  32.                 delay1(30000);
  33.         }
  34.         led=0xf0;
  35.         for(i=0;i<4;i++)
  36.         {
  37.                 led=_cror_(led,1);
  38.                 delay1(30000);
  39.         }
  40.         led=0x1f;
  41.         for(i=0;i<3;i++)
  42.         {
  43.                 led=_crol_(led,1);
  44.                 delay1(30000);
  45.         }
  46.         led=0xfc;
  47.         for(i=0;i<2;i++)
  48.         {
  49.                 led=_cror_(led,1);
  50.                 delay1(30000);
  51.         }
  52.         led=0x7f;
  53.         for(i=0;i<1;i++)
  54.         {
  55.                 led=_crol_(led,1);
  56.                 delay1(30000);
  57.         }
  58.         led=0xff;
  59.         delay1(30000);      
  60. }
  61. void deng2()
  62. {
  63.         uint aaa;
  64.         for(aaa=0x01;aaa!=0xff+0x01;aaa=_crol_(aaa,1),aaa=aaa+0x01)
  65.         {
  66.                 P3=aaa;
  67.                 delay1(20000);
  68.         }

  69.         for(aaa=0xff;aaa!=0x00;aaa=aaa>>1)
  70.         {
  71.                 P3=aaa;
  72.                 delay1(20000);
  73.         }
  74.         P3=0x00;

  75.       
  76. }                                          
  77. void deng3()
  78. {
  79.         uchar j;
  80.         for(j=0;j<4;j++)
  81.         {
  82.                 uint CYCLE=300;
  83.                 uint PWM_LOW=0;
  84.         //        led=0x00;      
  85.                 delay1(20000);
  86.                 for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
  87.                 {        
  88.                         led=0x00;
  89.                         delay1(PWM_LOW);
  90.                         led=0xff;
  91.                         delay1(CYCLE-PWM_LOW);
  92.                 }
  93.                 //LED0=0;
  94.                 for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
  95.                 {
  96.                         led=0x00;
  97.                         delay1(PWM_LOW);
  98.                         led=0xff;
  99.                         delay1(CYCLE-PWM_LOW);
  100.                 }
  101.         }      
  102. }
  103. void deng4()
  104. {
  105.         uint aaa;
  106.         for(aaa=0x01;aaa!=0xff+0x01;aaa=_crol_(aaa,1),aaa=aaa+0x01)
  107.         {
  108.                 P3=aaa;
  109.                 delay1(125);
  110.         }
  111.         for(aaa=0xff;aaa!=0x00-0x01;aaa=aaa>>1)
  112.         {
  113.                 P3=aaa;
  114.                 delay1(125);
  115.         }
  116.         for(aaa=0x01;aaa!=0xff+0x01;aaa=_crol_(aaa,1),aaa=aaa+0x01)
  117.         {
  118.                 P3=aaa;
  119.                 delay1(125);
  120.         }
  121.         for(aaa=0xff;aaa!=0x00-0x01;aaa=aaa>>1)
  122.         {
  123.                 P3=aaa;
  124.                 delay1(125);
  125.         }
  126. }
  127. void deng5()
  128. {
  129.         uchar j;
  130. for(j=0;j<12;j++)
  131. {
  132.         uint CYCLE=50;
  133.         uint PWM_LOW=0;
  134. //        led=0x00;
  135.         delay1(10000);
  136.         for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
  137.         {
  138.                 led=0x00;
  139.                 delay1(PWM_LOW);
  140.                 led=0xff;
  141.                 delay1(CYCLE-PWM_LOW);
  142.         }
  143.         //LED0=0;
  144.         for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
  145.         {
  146.                 led=0x00;
  147.                 delay1(PWM_LOW);
  148.                 led=0xff;
  149. ……………………

  150. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


所有资料51hei提供下载:
高逼格走马灯3.rar (697 Bytes, 下载次数: 90)
回复

使用道具 举报

ID:315120 发表于 2018-5-4 09:38 | 显示全部楼层
下载来看看怎么样
回复

使用道具 举报

ID:319092 发表于 2018-5-4 14:06 | 显示全部楼层
就只有一个文件,试试
回复

使用道具 举报

ID:321861 发表于 2018-5-4 21:54 | 显示全部楼层
新手下载后不知道怎么用
回复

使用道具 举报

ID:589411 发表于 2019-7-24 10:31 | 显示全部楼层
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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