五种编程方式实现流水灯的单片机C程序.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
15
积分
还剩页未读,继续阅读
关 键 词:的C语言流水灯程序
流水灯的实现方式
编程方式实现
单片机C语言
种方式流水灯
单片机流水灯C语言源程序
流水灯c语言程序
单片机流水灯C语言程序
单片机流水灯C语言程序.doc
C语言实现流水灯
资源描述:
五种编程方式实现流水灯的单片机C程序
//功能:采用顺序结构实现的流水灯控制程序
/*此方式中采用的是字操作(也称为总线操作)*/
#include void delay(unsigned char i);//延时函数声明
void main()//主函数
{
while(1) {
P1 = 0xfe; //点亮第1个发光二极管,0.000389s
delay(200); //延时
P1 = 0xfd; //点亮第2个发光二极管,0.155403s,0.1558
delay(200); //延时
P1 = 0xfb; //点亮第3个发光二极管
delay(200); //延时
P1 = 0xf7; //点亮第4个发光二极管
delay(200); //延时
P1 = 0xef; //点亮第5个发光二极管
delay(200); //延时
P1 = 0xdf; //点亮第6个发光二极管
delay(200); //延时
P1 = 0xbf; //点亮第7个发光二极管
delay(200); //延时
P1 = 0x7f; //点亮第8个发光二极管
delay(200); //延时
}
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
// i控制空循环的外循环次数,共循环i*255次
//返回值:无
void delay(unsigned char i)//延时函数,无符号字符型变量i为形式参数
{
unsigned char j, k;//定义无符号字符型变量j和k
for(k = 0; k < i; k++)//双重for循环语句实现软件延时
for(j = 0; j < 255; j++);
}
//功能:采用循环结构实现的流水灯控制程序
//此方式中采用的移位,按位取反等操作是位操作
#include //包含头文件REG51.H
void delay(unsigned char i); //延时函数声明
void main()//主函数
{
unsigned char i,w;
while(1)
{
w = 0x01; // 信号灯显示字初值为01H
for(i = 0; i < 8; i++)
{
P1 = ~w;// 显示字取反后,送P1口
delay(200);// 延时
w <<= 1;// 显示字左移一位
}
}
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
// i控制空循环的外循环次数,共循环i*255次
//返回值:无
void delay(unsigned char i)//延时函数,无符号字符型变量i为形式参数
{
unsigned char j,k;//定义无符号字符型变量j和k
for(k = 0; k < i; k++)//双重for循环语句实现软件延时
for(j = 0; j < 255; j++);
}
/*********************************************************************/
//功能:采用位运算符编写的流水灯控制程序,显示效果为依次熄灭信号灯
//此方式也是典型的顺序结构
#include void delay(unsigned char i); //延时函数声明
void main()//主函数
{
while(1) {
P1 = 0x00;//P1口全部清0,即点亮8个发光二极管
delay(200); //延时
P1 = P1 | 0x01;//熄灭第1个发光二极管
delay(200); //延时
P1 = P1 | 0x03;//熄灭第1、2个发光二极管
delay(200); //延时
P1 = P1 | 0x07;//熄灭第1~3个发光二极管
delay(200); //延时
P1 = P1 | 0x0f;//熄灭第1~4个发光二极管
delay(200);//延时
P1 = P1 | 0x1f;//熄灭第1~5个发光二极管
delay(200);//延时
P1 = P1 | 0x3f;//熄灭第1~6个发光二极管
delay(200);//延时
P1 = P1 | 0x7f;//熄灭第1~7个发光二极管
delay(200);//延时
P1 = P1 | 0x7f;//熄灭所有发光二极管
delay(200);//延时
}
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
// i控制空循环的外循环次数,共循环i*255次
//返回值:无
void delay(unsigned char i)//延时函数,无符号字符型变量i为形式参数
{
unsigned char j, k;//定义无符号字符型变量j和k
for(k = 0; k < i; k++)//双重for循环语句实现软件延时
for(j = 0; j < 255; j++);
}
/**********************************************************/
//功能:采用数组实现的流水灯控制程序
//此方式也是典型的循环结构
#include //包含头文件REG51.H
void delay(unsigned char i); //延时函数声明
void main()//主函数
{
unsigned char i;
unsigned char display[] = {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};
while(1)
{
for(i = 0; i < 8; i++)
{
P1 = display[i]; // 显示字送P1口
delay(200);//延时
}
}
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
// i控制空循环的外循环次数,共循环i*255次
//返回值:无
void delay(unsigned char i)//延时函数,无符号字符型变量i为形式参数
{
unsigned char j, k;//定义无符号字符型变量j和k
for(k = 0; k < i; k++)//双重for循环语句实现软件延时
for(j = 0; j < 255; j++);
}
#include#include #define uint unsigned int
#define uchar unsigned char
void delay(uint z)
{
uint x, y;
for(x = z; x > 0; x--)
for(y = 110; y > 0; y--);
}
void main()
{
uchar a, i, j;
while(1)
{
for(j = 0; j<2; j++)
{
a = 0xfe;
for(i = 0; i<8; i++)
{
P2 = a;
delay(200);
a = _crol_(a, 1); //11111110
}
a = 0x7f;
for(i = 0; i < 8; i++)
{
P2 = a;
delay(200);
a = _cror_(a, 1);
}
}
P2 = 0xff;
for(j = 0; j < 10; j++)
{
delay(300);
P2 = ~P2;
}
}
}
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:五种编程方式实现流水灯的单片机C程序.doc
链接地址:https://www.renrendoc.com/p-13841753.html
单片机C语言编程实现流水灯控制
本文详细介绍了五种不同的编程方式来实现单片机C语言控制流水灯的程序,包括顺序结构、循环结构、位运算符、数组以及位移操作等方法,每种方式均配有延时函数。通过这些方法,可以实现不同效果的流水灯控制。
1876

被折叠的 条评论
为什么被折叠?



