单片机流水灯c语言实现

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
//-------------------------------------
void main ()
{
uchar i;
while(1)
{
for(i=0;i<7;i++)
{
P0=pattern_P0[i];//i自加1次,P0数组重新扫描1次
P2=pattern_P2[i];//i自加1次,P2数组重新扫描1次
{
for(i=0;i<120;i++);//延时120微妙
}
}
//------------------------------------
//主程序
//-----------------------------------
void main ()
{
while(1)
{
led=~led;
delayMs(2050);//约亮1秒灭1秒
//说明:程序利用循环移位函数_crol_和_cror形成来回滚动的效果
//---------------------------------------
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define uint unsigned int
//------------------------------------
//延时函数
void delayMs(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//-------------------------------------
delayMs(150);
}
}wk.baidu.com
}
//注释for(i=0;i<7;i++).i初始值为0,
//i++就是i自加1,每加一次执行
//P2=_crol_(P2,1);//P2端口循环左移1位
//delayMs(150);延时
//当i=7时,跳出第一个for语句,
//执行第二个for语句
实验四花样流水灯
//名称:花样流水灯
sbit led=P1^0;
//-----------------------------------
//延时子程序
//-----------------------------------
void delayMs(uint x)
{
uchar i;//uchar i取值为0-255
while(x--)
//说明:东西向绿灯亮若干秒,黄灯闪烁,闪烁5秒后亮红灯,
//红灯亮后,南北向有红灯变为绿灯,若干秒后南北向黄灯闪烁,
//闪烁5次后,亮红灯,东西向绿灯亮,如此重复
//-------------------------------------------------
#include <reg51.h>
//主程序
void main ()
{
P0=0xfe;//P0口初始化值1111.1110
while(1)
{
P0=_crol_(P0,1);//P0口循环左移1位
delayMs(150);//晶振为11.0592时,0.1594885秒移动一次
}
}
实验三左右来回循环的流水灯
//名称:左右来回循环的流水灯
delayMs(150);
}
}
}
//数组定义格式为
// uchar code pattern_P0[]={0xfc,0xf7};
//uhar为数组类型,pattern_P0数组名称
//code数组存储类型
//{0xfc,0xf7}为数组显示参数,为0xff为全部关闭
实验五Led模拟交通灯
//Led模拟交通灯
{
uchar i;
P2=0x01;//P2端口初始化
while(1)//死循环
{
for(i=0;i<7;i++)//i自加1,当i=7时执行第二个for语句
{
P2=_crol_(P2,1);//P2端口循环左移1位
delayMs(150);
}
for(i=0;i<7;i++)
{
P2=_cror_(P2,1);//P2端口循环右移1位
//说明:16只LED分两段组按预设的多种花样变换显示
//-------------------------------------
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code pattern_P0[]={0xfc,0xf7,0x5f};//定义P0显示数组
#define uchar unsigned char
#define uint unsigned int
uchar code pattern_P2[]={0xff,0x07,0xf5};//定义P2显示数组
//调整数组{}里的内容,可以实现自定义的花样显示
//-------------------------------------
void delayMs(uint x)
{
uchar i;
while(x--) for(i=0;i<120;i++);
//---------------------------------------
void delayMs(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//--------------------------------------
void main ()
}
}
实验二从左到右的流水灯
//名称:从左到右的流水灯
//说明:接在P0端口的8只Led从左到右循环依次点亮,产生走马灯效果
//-----------------------------------
#include <reg52.h>
#include<intrins.h>//循环左移头文件宏定义
#define uchar unsigned char
实验一闪烁的Led
//名称:闪烁的Led
//说明:Led按设定的时间间隔闪烁,约亮1秒灭1秒
//-----------------------------------
#include <reg51.h>
#define uchar unsigned char//uchar宏定义
#define uint unsigned int//uint宏定义
相关文档
最新文档