单片机课程设计课,设计花样流水灯,网上查的程序总是运行错误
#include<reg51.h> //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint);//声明延时函数
void main(void)
{
uint i;
uchar temp;
TCON=0x05;
IE=0x85;
PX1=1;
PX0=0;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P0=temp;
delay(100);//调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P0=temp;
delay(150);//调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P0=temp;
delay(150); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P0=temp;
delay(150); //调用延时函数
temp>>=1;
}
temp=0x03;
for(i=0;i<4;i++) //两个流水灯顺序点亮
{
P0=temp;
delay(150);
temp<<=2;
}
temp=0x30;
for(i=0;i<3;i++) //两个流水灯反向点亮
{
P0=temp;
delay(150);
temp>>=2;
}
temp=0x07;
for(i=0;i<3;i++) //3个
{
P0=temp;
delay(150);
temp<<=3;
}
temp=0xe0;
for(i=0;i<3;i++) //3流水灯反向点亮
{
P0=temp;
delay(150);
temp>>=3;
}
temp=0x0f;
for(i=0;i<3;i++) //4ge
{
P0=temp;
delay(150);
temp<<=4;
}
temp=0xf0;
for(i=0;i<3;i++) //4流水灯反向点亮
{
P0=temp;
delay(150);
temp>>=4;
}
}
}
void int0() interrupt 0
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P0=temp;
delay(800);//调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P0=temp;
delay(800);//调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P0=temp;
delay(800); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P0=temp;
delay(800); //调用延时函数
temp>>=1;
}
temp=0x03;
for(i=0;i<4;i++) //两个流水灯顺序点亮
{
P0=temp;
delay(800);
temp<<=2;
}
temp=0x30;
for(i=0;i<3;i++) //两个流水灯反向点亮
{
P0=temp;
delay(800);
temp>>=2;
}
temp=0x07;
for(i=0;i<3;i++) //3个流水灯顺序点亮
{
P0=temp;
delay(800);
temp<<=3;
}
temp=0xe0;
for(i=0;i<3;i++) //3个流水灯反向点亮
{
P0=temp;
delay(800);
temp>>=3;
}
}
temp=0x0f;
for(i=0;i<3;i++) //4个流水灯顺序点亮
{
P0=temp;
delay(800);
temp<<=4;
}
temp=0xf0;
for(i=0;i<3;i++) //4流水灯反向点亮
{
P0=temp;
delay(800);
temp>>=4;
}
}
void delay(uint t) //定义延时函数
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint);//声明延时函数
void main(void)
{
uint i;
uchar temp;
TCON=0x05;
IE=0x85;
PX1=1;
PX0=0;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P0=temp;
delay(100);//调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P0=temp;
delay(150);//调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P0=temp;
delay(150); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P0=temp;
delay(150); //调用延时函数
temp>>=1;
}
temp=0x03;
for(i=0;i<4;i++) //两个流水灯顺序点亮
{
P0=temp;
delay(150);
temp<<=2;
}
temp=0x30;
for(i=0;i<3;i++) //两个流水灯反向点亮
{
P0=temp;
delay(150);
temp>>=2;
}
temp=0x07;
for(i=0;i<3;i++) //3个
{
P0=temp;
delay(150);
temp<<=3;
}
temp=0xe0;
for(i=0;i<3;i++) //3流水灯反向点亮
{
P0=temp;
delay(150);
temp>>=3;
}
temp=0x0f;
for(i=0;i<3;i++) //4ge
{
P0=temp;
delay(150);
temp<<=4;
}
temp=0xf0;
for(i=0;i<3;i++) //4流水灯反向点亮
{
P0=temp;
delay(150);
temp>>=4;
}
}
}
void int0() interrupt 0
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P0=temp;
delay(800);//调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P0=temp;
delay(800);//调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P0=temp;
delay(800); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P0=temp;
delay(800); //调用延时函数
temp>>=1;
}
temp=0x03;
for(i=0;i<4;i++) //两个流水灯顺序点亮
{
P0=temp;
delay(800);
temp<<=2;
}
temp=0x30;
for(i=0;i<3;i++) //两个流水灯反向点亮
{
P0=temp;
delay(800);
temp>>=2;
}
temp=0x07;
for(i=0;i<3;i++) //3个流水灯顺序点亮
{
P0=temp;
delay(800);
temp<<=3;
}
temp=0xe0;
for(i=0;i<3;i++) //3个流水灯反向点亮
{
P0=temp;
delay(800);
temp>>=3;
}
}
temp=0x0f;
for(i=0;i<3;i++) //4个流水灯顺序点亮
{
P0=temp;
delay(800);
temp<<=4;
}
temp=0xf0;
for(i=0;i<3;i++) //4流水灯反向点亮
{
P0=temp;
delay(800);
temp>>=4;
}
}
void delay(uint t) //定义延时函数
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
...全文
相关推荐
c51单片机流水灯花样灯proteus仿真设计
c51单片机流水灯花样灯
花样流水灯 心形流水灯
分享一个用普通51单片与32个LED组成的心形花样流水灯,有源程序和仿真图。是做来送MM的最佳礼物哦!
单片机课程设计流水灯全套
单片机课程设计流水灯,自己做了很久,包含课程设计文档毕设标准,包可用!proteus仿真电路,测试可用!汇编流水灯程序,无错误!
基于STM32单片机流水灯仿真与程序设计
STM32单片机流水灯仿真与程序设计 摘要 本次程序设计和仿真是基于Proteus和keil的环境对STM32F103系列单片机进行流水灯设计,通过配置STM32的GPIO工作模式,实现LED的点亮和熄灭;通过配置8位流水灯程序设计,实现灯的流水实现。 关键字:Proteus、keil、STM32F103、GPIO 一、工程介绍 1.1、实现要求 用STM32一个端口接8个发光二极管,编写程序,实现从左到右轮流点亮8个二极管(即流水灯) 二、仿真电路设计 2.1、环境介绍 仿真采用Proteus 8.9 SP2安装链接 2.2、电路设计 第一步:在Proteus中的[P]选择所需要的零件有电阻
几种单片机c语言花样流水灯
几种单片机c语言花样流水灯,经典,供学习和参考


