15单片机的流水灯怎么做啊?我才接触单片机

2019-03-24 17:06发布

15单片机的流水灯怎么做啊?我才接触单片机第一课,尝试着使灯全部亮了。我想知道流水灯如何做?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
无量寿经
1楼-- · 2019-03-26 09:51
/****************《51单片机轻松入门-基于STC15W4K系列》配套例程 *************
★★★★★★★★★★★★★★★★★★★★★★★★
《51单片机轻松入门-基于STC15W4K系列》 一书已经由北航出版社正式出版发行。
  淘宝店地址:https://shop117387413.taobao.com 配套视频与例程免费下载地址:https://pan.baidu.com/s/1bURkE6#list/path=%2F
  QQ群:STC51-STM32(3) :515624099 或 STC51-STM32(2):99794374。
        验证信息:STC15单片机
  邮箱:xgliyouquan@126.com
  ★★★★★★★★★★★★★★★★★★★★★★★★*/

//让接在STC15W4K58S4的P0.0引脚发光二极管发光
#include "STC15W4K.H"   // include称为文件包含命令,后面双引号中内容称为头文件
sbit  P0_0 = P0^0;      // sbit是位定义,"STC15W4K.H"中有sfr P0 = 0X80字节定义语句
void  main ()
{  
        P0_0=0;                 // 点亮LED
}                // 实验证明:程序执行到这后面又执行P0_0=0。



//  流水灯

#include "STC15W4K.H"         // 注意宏定义语句后面无分号  
void delay100ms()
{
        unsigned char i,j,k;          // i,j,k由由软件计算出并验证正确。
        for(i=157;i>0;i--)        // 注意后面没分号
        for(j=9;j>0;j--)         // 注意后面没分号
        for(k=194;k>0;k--);       // 注意后面有分号
}
void port_mode()            // 端口模式
{
        P0M1=0x00; P0M0=0x00;P1M1=0x00; P1M0=0x00;P2M1=0x00; P2M0=0x00;P3M1=0x00; P3M0=0x00;
        P4M1=0x00; P4M0=0x00;P5M1=0x00; P5M0=0x00;P6M1=0x00; P6M0=0x00;P7M1=0x00; P7M0=0x00;
}
void main()
{       
          unsigned char a;  
       port_mode();              // 将单片机所有端口配置为准双向弱上拉方式
        while(1)       
        {
                P0 =~(1<<a++);                  // 第一次运行时 0000 0001<< 0 = 0000 0001
                delay100ms();
                if (a==0x08)          // 允许左移8次。
                {
                        a=0;
                }
        }
}



书封面照片.JPG

SmallTao
2楼-- · 2019-03-26 12:50
 精彩回答 2  元偷偷看……
吴下阿蒙
3楼-- · 2019-03-26 13:52
恭喜你,你已经学会点灯了。
吴下阿蒙
4楼-- · 2019-03-26 16:48
想当年,我学会点灯后,感觉自己无比的NB,全天下的灯我都能控制一样。
SmallTao
5楼-- · 2019-03-26 22:46
 精彩回答 2  元偷偷看……
15421147
6楼-- · 2019-03-26 23:29
有没有人用at24c01做过数据保存

一周热门 更多>