找回密码
 立即注册

QQ登录

只需一步,快速开始

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

C51单片机P1口流水灯流动一次停止的程序要如何编写?

[复制链接]
跳转到指定楼层
楼主
ID:975201 发表于 2021-10-26 19:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:332444 发表于 2021-10-26 19:45 | 只看该作者
很简单设置一个状态即可
回复

使用道具 举报

板凳
ID:975201 发表于 2021-10-26 20:28 | 只看该作者
xianfajushi 发表于 2021-10-26 19:45
很简单设置一个状态即可

  #include<reg51.h>
void delay(unsigned char a)
{
unsigned char i;
while(a--)for(i=0;i<120;i++);
}
main()
{
unsigned char i;
P1=0xfe;
for(i=0;i<8;i++)
    {
    delay(200);
    P1=(P1<<1) | 0x01;
    }
    P1=0x00;
while(1);
}
怎样把这个程序改成流动一次停止
回复

使用道具 举报

地板
ID:624769 发表于 2021-10-26 21:26 | 只看该作者
ski 发表于 2021-10-26 20:28
#include
void delay(unsigned char a)
{

你发上来的这个程序,本来就是流动1次(左移8位)停止啊……

你所谓的流动一次,到底啥意思?
回复

使用道具 举报

5#
ID:908826 发表于 2021-10-26 22:16 | 只看该作者
ski 发表于 2021-10-26 20:28
#include
void delay(unsigned char a)
{

我怎么觉得这个就是流动一次然后程序就在while(1)里面循环了呢,你还想怎么改呢
回复

使用道具 举报

6#
ID:678280 发表于 2021-10-27 13:31 | 只看该作者
while(1);  这条语句就是个死循环,程序运行到这儿便钉在这儿了。
回复

使用道具 举报

7#
ID:514901 发表于 2021-10-27 14:20 | 只看该作者
末尾加上死循环 while(1);
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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