51单片机学习12-LED流水灯 移位操作
LED流水灯这篇采用移位操作。比上篇的位定义方式,代码简单些。
程序:
源代码:
#include<reg52.h> //头文件
#define uint unsigned int
#define uchar unsigned char
void delay_ms(uint);//mS级带参数延时函数声明
uchar temp;
uchar i;
void main()
{
while(1)
{
temp=0xfe;
P0=temp;
for(i=0;i<8;i++)
{
temp=(temp<<1)|(temp>>7);
P0=temp;
delay_ms(1000);
}
}
}
void delay_ms(uint z) //延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
仿真结果:
51单片机学习13-LED流水灯 库函数操作
这篇LED流水灯利用C51自带库函数实现循环移动的功能,有左移和右移功能。
本篇用循环左移crol函数。
包含循环左移和循环右移函数的头文件是#include<intrins.h>
1.查看这两个函数的方法
选中#include<intrins.h>鼠标右击
循环左移函数crol
循环右移函数cror
2 .仿真图如下:
程序:
源代码:
#include<reg52.h> //头文件
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay_ms(uint);//mS级带参数延时函数声明
uchar temp;
void main()
{
temp=0xfe;
P0=temp;
while(1)
{
temp=_crol_(temp,1);
P0=temp;
delay_ms(1000);
}
}
void delay_ms(uint z) //延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
仿真结果:
相关问答
C51单片机流水灯 怎么改变频率?C51单片机流水灯的频率可以通过改变延时时间来实现。延时时间决定了每个灯亮起和熄灭的时间间隔,从而影响了流水灯的频率。具体操作步骤如下:1.首先,在程序中...
单片机C51 语言如何实现用P2口控制8只LED左循环 流水灯 亮?soeasy。P2=0x01,然后P2=_cror_(P2,1);delayMS(uintx);这就行了soeasy。P2=0x01,然后P2=_cror_(P2,1);delayMS(uintx)...
编写 c51程序 ?在编写C51程序时,需要使用特定的编译器和开发环境,如KeiluVision。下面是一个简单的示例程序,演示如何使用C语言在C51单片机上控制LED灯的闪烁:c复制#includ...
c51 怎么让16个灯循环亮起?方法是进行串联c51,让16个灯循环亮起,需要通过单片机控制程序点亮16个灯进行循环亮起,进行延时一秒钟的时间进行使用方法是进行串联c51,让16个灯循环亮起,需...
AT89 C51单片机 的P1口控制8盏LED 流水灯 ?#include"reg51.h"//包含头文件#defineucharunsignedcharvoiddelay02s(void)//延时0.2s子程序...
C51单片机 计时器50ms 程序 编写?12MHz晶振,经典51核是12分频,因此时钟周期为1μs。50ms=50000μs,因此定时器累加至溢出需要50000个周期。因此65536-50000=15536=0x3CB0因此TH0=0x3C...
c51单片机 编程?南邻更可念,布破冬未赎。白毛浮绿水,红掌拨清波。窗含西岭千秋雪,门泊东吴万里船。月下飞天镜,云生结海楼。月出惊山鸟,时鸣春涧中.千山鸟飞绝,万径人...
c51单片机 温度报警器灯不亮?装的默...解决方案,有两种:1、安装KEIL到其安装的默认路径下(C:\keil\)。2、如果你装在了其他路径下,在安装好后,打开你keil安装目录下的tool.ini文件,找...
C51单片机 按键控制定时闹钟 - 懂得纯粹用51做闹钟,需要有时钟芯片或者内部RTC功能,如果都没有,只通过定时器,你需要不断的给定时器做一些补偿,你要的是代码还是思路?请问还有代码吗
c51单片机 智能小车所需软件?单片机核心板。电机驱动板。动力锂电池。小车。避障用超声波,寻线用红外对管单片机核心板。电机驱动板。动力锂电池。小车。避障用超声波,寻线用红外对管