为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 单片机花样流水灯源代码(1)

单片机花样流水灯源代码(1)

2022-10-17 19页 doc 31KB 23阅读

用户头像

is_511210

暂无简介

举报
单片机花样流水灯源代码(1)花样流水灯C语言程序代码Lesso2.1:第一个发光管以间隔200ms闪烁(这是最原始的程序没有用延迟子函数)。#includesbitD1=P1^0;inta;voidmain(){while(1){D1=0;a=25000;while(--a);D1=1;a=25000;while(--a);}}Lesson2.2:8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。#include#include#defineuintunsignedint#defineuch...
单片机花样流水灯源代码(1)
花样流水灯C语言程序代码Lesso2.1:第一个发光管以间隔200ms闪烁(这是最原始的程序没有用延迟子函数)。#includesbitD1=P1^0;inta;voidmain(){while(1){D1=0;a=25000;while(--a);D1=1;a=25000;while(--a);}}Lesson2.2:8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。#include#include#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);uchartemp;sbitbeep=P2^3;voidmain(){temp=0xfe;while(1){P1=temp;beep=0;delay(500);P1=0xff;beep=1;delay(500);temp=_crol_(temp,1);}}voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}Lesson2.3:8个发光管来回流动,第个管亮100ms,流动时让蜂鸣器发出“滴滴”声。#include#include#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);uchartemp;inti,j;sbitbeep=P2^3;voidmain(){temp=0xfe;while(1){for(i=7;i>0;i--){beep=0;delay(100);beep=1;delay(100);beep=0;delay(100);beep=1;P1=temp;delay(500);temp=_crol_(temp,1);}for(i=7;i>0;i--){beep=0;delay(100);beep=1;delay(100);beep=0;delay(100);beep=1;P1=temp;delay(500);temp=_cror_(temp,1);}}}voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}Lesson2.4:用8个发光管演示出8位二进制数累加过程。#include#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);voidmain(){P1=0xfe;while(1){delay(500);P1--;}}voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}Lesson2.5:8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。重复此过程。#include#include#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);uchartemp;inti,j;sbitbeep=P2^3;voidmain(){while(1){temp=0xfe;for(i=7;i>0;i--){P1=temp;delay(200);temp=_crol_(temp,1);}for(i=8;i>0;i--){P1=temp;delay(200);temp=_cror_(temp,1);}for(i=0;i<5;i){P1=0xff;delay(300);P1=0x00;delay(300);}P1=0xff;delay(300);    }}voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}Lesson2.6:间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。(注意此程序中移位的使用,体会按位左右移与循环左右移的区别!)#include#include#defineuintunsignedint#defineucharunsignedcharvoiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}uinti,j;uchartemp;voidmain(){while(1){temp=0xfe;for(j=0;j<8;j){for(i=0;i<8-j;i){P1=temp;delay(500);temp=_crol_(temp,1);}temp=_crol_(temp,j);P1=0xff;delay(150);temp=temp<<1;}}}Lesson2.7:间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次;关闭发光管,程序停止。#include#include#defineuintunsignedint#defineucharunsignedcharsbitbeep=P2^3;uchartemp;inti,j=3;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidmain(){beep=0;delay(300);beep=1;for(i=0;i<3;i)//奇偶闪烁三遍。{P1=0xaa;delay(300);P1=~P1;delay(300);}beep=0;delay(300);beep=1;temp=0xfe;//单个循环三遍,带有蜂鸣器提示。while(j--){for(i=0;i<8;i){P1=temp;temp=_crol_(temp,1);delay(300);}beep=0;delay(300);beep=1;for(i=0;i<8;i){temp=_cror_(temp,1);P1=temp;delay(300);}}beep=0;delay(300);beep=1;for(j=0;j<3;j)//两边向中间后中间向两边整体三遍。{P1=0x7e;delay(300);//感觉这个代码有些繁琐,有好建议改进的P1=0xbd;//网友还请慷慨回帖,咱们一起研究进步。delay(300);P1=0xdb;delay(300);P1=0xe7;delay(300);P1=0xdb;delay(300);P1=0xbd;delay(300);}P1=0x7e;delay(300);P1=0xff;delay(300);beep=0;delay(300);beep=1;for(i=0;i<3;i)//8个灯全部闪烁三次。{P1=0x00;delay(300);P1=0xff;delay(300);}P1=0xff;while(1);}
/
本文档为【单片机花样流水灯源代码(1)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索