我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 951|回复: 3

花样流水灯

[复制链接]

该用户从未签到

135

主题

2418

回帖

6591

积分

二级逆天

积分
6591

社区居民社区劳模原创达人最爱沙发忠实会员终身成就奖优秀斑竹奖

QQ
发表于 2015-3-21 13:01:10 | 显示全部楼层 |阅读模式
/*-----------------------------------------------
  名称:IO口高低电平控制
  修改:无
  内容:花样灯一般有两种方法实现:
        1、程序循环执行
        2、查表法
        这里我们两种都使用一下
------------------------------------------------*/
#include<reg52.h>     //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

/*------------------------------------------------
                  花样表格
------------------------------------------------*/
unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,
                          0xf7,0xfb,0xfd,0xfe,
                          0xff,0xff,0x00,0x00,
                          0x55,0x55,0xaa,0xaa
                          };//rom允许情况可以无限添加

void Delay(unsigned int t); //函数声明
/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{
unsigned char i;                //定义一个无符号字符型
                                 //局部变量 i 取值范围 0~255
while(1)
      {
      P1=0xFE;                   //第1个LED亮
      for(i=0;i<8;i++)
         {
         Delay(20000);
         P1 <<=1;
         }

      P1=0x7F;                   //第8个LED亮
      for(i=0;i<8;i++)
         {
         Delay(20000);
         P1 >>=1;
         }

      P1=0xFE;                  //第1个LED亮
      for(i=0;i<8;i++)
         {
         Delay(20000);
         P1 <<=1;
         P1 |=0x01;
         }

      P1=0x7F;                  //第8个LED亮
      for(i=0;i<8;i++)
         {
         Delay(20000);
         P1 >>=1;
         P1 |=0x80;
         }
      //下面通过查表方法获得花样参数
      for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强
         {
         Delay(20000);
         P1=seg;
         }
      }

}

/*------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}
回复

使用道具 举报

该用户从未签到

18

主题

525

回帖

614

积分

二级逆天

积分
614

社区居民终身成就奖

QQ
发表于 2015-3-21 13:29:51 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

98

主题

674

回帖

103

积分

二级逆天

积分
103

社区居民忠实会员最爱沙发终身成就奖优秀斑竹奖

QQ
发表于 2015-3-21 13:48:49 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

135

主题

2418

回帖

6591

积分

二级逆天

积分
6591

社区居民社区劳模原创达人最爱沙发忠实会员终身成就奖优秀斑竹奖

QQ
 楼主| 发表于 2015-3-21 15:46:59 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表