第一范文网 - 专业文章范例文档资料分享平台

郭天祥之十天学会单片机视频配套程序-实用!

来源:用户分享 时间:2025/5/20 22:48:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

void main() { uchar a; a=0xfe; }

//主函数

while(1) //大循环 { }

P1=a; //点亮小灯 beep=0; //开启蜂鸣器 delay(500); //延时500毫秒 P1=0xff; //熄灭小灯 beep=1; //关闭蜂鸣器

delay(500); //延时500毫秒

a=_crol_(a,1); //将a变量循环左移一位

3、8个发光管来回流动,

每个管亮100ms,流动时让蜂鸣器发出\滴滴\声。

/*********************************************************/ #include //52单片机头文件

#include //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义 #define uchar unsigned char //宏定义 sbit beep=P2^3;

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms. { }

uint x,y;

for(x=z;x>0;x--)

//delay(500);大约延时500ms.

for(y=110;y>0;y--);

//主函数

void main() {

uchar a,i;

while(1) //大循环 {

a=0xfe; //赋初值 for(i=0;i<8;i++) //左移 {

P1=a; //点亮小灯 beep=0; //开启蜂鸣器 delay(50); //延时50毫秒 beep=1; //关闭蜂鸣器

}

}

delay(50); //再延时50毫秒

a=_crol_(a,1); //将a变量循环左移一位 }

a=0x7f;

for(i=0;i<8;i++) //右移 { }

P1=a; //点亮小灯 beep=0; //开启蜂鸣器 delay(50); //延时50毫秒 beep=1; //关闭蜂鸣器 delay(50); //再延时50毫秒 a=_cror_(a,1); //将a变量循环右移一位

4、用8个发光管演示出8位二进制数累加过程。

/*********************************************************/ #include //52单片机头文件

#include //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义

#define uchar unsigned char //宏定义

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms. { //delay(500);大约延时500ms.

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--); }

void main() //主函数 { }

uchar a;

while(1) //大循环 { }

a++; P1=~a; delay(200);

5 、8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。重复此过程

/*********************************************************/ #include //52单片机头文件

#include //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义 #define uchar unsigned char //宏定义

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms. { }

//delay(500);大约延时500ms.

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++) //左移 { P1=a; //点亮小灯

delay(200); //延时200毫秒

a=_crol_(a,1); //将a变量循环左移一位

}

a=0x7f;

for(i=0;i<8;i++) //右移 { }

P1=a; //点亮小灯

delay(200); //延时200毫秒

a=_cror_(a,1); //将a变量循环右移一位

P1=0xff; //全部熄灭 for(j=0;j<10;j++) { }

delay(300); //延时

P1=~P1; //全部取反10次,既闪烁5次

6 、间隔300ms第一次一个管亮流动一次, 第二次两个管亮流动,依次到8个管亮,然后重复整个过程。

/*********************************************************/ #include //52单片机头文件

#include //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义

#define uchar unsigned char //宏定义

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms. {

//delay(500);大约延时500ms.

uint x,y;

for(x=z;x>0;x--) for(y=110;y>0;y--);

//主函数

}

void main() { }

uchar a,i,j;

while(1) //大循环 { }

a=0xfe; //赋初值 for(j=0;j<8;j++) { for(i=0;i<8-j;i++) //左移 { }

P1=a; //点亮小灯 delay(200); //延时200毫秒

a=_crol_(a,1); //将a变量循环左移一位 }

a=_crol_(a,j); //补齐,方便下面的左移一位 P1=0xff; a=a<<1;

//全部关闭 //左移一位让多一个灯点亮

7、间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次; 关闭发光管,程序停止。

/*********************************************************/ #include //52单片机头文件

#include //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义

#define uchar unsigned char //宏定义

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms. {

//delay(500);大约延时500ms.

uint x,y;

for(x=z;x>0;x--) for(y=110;y>0;y--);

//主函数

}

void main() {

uchar a,i,j;

for(j=0;j<3;j++) //寄偶交替 { }

P1=0x55; //点亮小灯 delay(300); //延时300毫秒 P1=0xaa;

delay(300); //延时300毫秒

for(j=0;j<3;j++) //流水灯 {

a=0xfe;

for(i=0;i<8;i++) {

}

P1=a; //点亮小灯 delay(300); //延时300毫秒 a=_crol_(a,1);

}

P1=0xff;

for(j=0;j<3;j++) //从两边往中间流 {

P1=0x7e; //点亮小灯 delay(300); //延时300毫秒 P1=0xbd;

delay(300); //延时300毫秒 P1=0xdb; //点亮小灯 delay(300); //延时300毫秒

郭天祥之十天学会单片机视频配套程序-实用!.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c17qzv7ranv9vfqx3dfqk_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top