您的位置 首页 数字

按键操控流水灯程序

最近有很多学弟来问我流水灯该怎么做,程序怎么写,现在在这里统一说下,很多时候没有时间让你们白跑一趟了,O(cap;_cap;)O~。首先就说

最近有许多学弟来问我流水灯该怎样做,程序怎样写,现在在这里一致说下,许多时分没有时刻让你们白跑一趟了,O(∩_∩)O~。
首要就提到单片机了,单片机关于你们来说是个新概念,或许曾经都没听说过。我想说的是它不是传统意义上的集成电路,只能依照特定的焊接来能作业,而是一块相似电脑CPU的芯片,关于一块正常的单片机,只需你供给适宜的作业电源(4V都5.5V左右)、复位电路 、起振电路它就能够作业了。一切的输入输出口(以P最初的)都是能够灵敏装备的,能够依据你焊接的硬件电路写程序,也能够依据你写的程序焊接硬件电路。所以没有必要呆板硬套。前天没事写了一下,仿真了一下还能够用。源码贴于下方供入门者参阅,高手勿讪笑,我们都是从流水灯程序写起的 (*^__^*) 嘻嘻……
再就是我的51开发板不知道是谁借走了,很久没有用过51单片机了,所以下载程序的事就不要来找我了。我把编译往后的代码也贴在下面,假如硬件和我做的相同的同学又不会写程序的就直接仿制下面编译往后的代码,在电脑上新建一个文本文档(.txt)命名恣意,将仿制后的代码张贴于记事本上,然后重命名,将”.txt”改为“.hex”,保存,然后经过下载器下载到单片机里边去就能够用了。
不会的多去http://www.51hei.com看一下教程。以下仅供参阅,不得一味仿照
/***************************************************************************************************************
源码:
51单片机
晶振频率12Mhz
八位数码管选用共阳极接法(一切阳极接一同接Vcc,阴极接P0口)
按键别离接P2.0 P2.1 P2.2(低电平有用)
编译软件选用keil 4
*******************************************************************************************************************************************************/
#include
#define uint unsigned int
#define uchar unsigned char
sbit key1 =P2^0; //按键1
sbit key2 =P2^1; //按键2
sbit key3 =P2^2; //按键3
uchar flag1=0,flag2=0,flag3=0;
void delay_ms(uint z)
{
uint i,j;
for(i=0;i for(j=0;j<110;j++);
}
void O_to_E() //1,3,5,7与2,4,6,8替换闪耀
{
P0=0Xaa;
delay_ms(200);
P0=~0Xaa;
delay_ms(200);
}
void key_scan() //键盘扫描
{
if(!key1)
{
delay_ms(10); //延时消抖
if(!key1)
flag1=1;
}
if(!key2)
{
delay_ms(10); //延时消抖
if(!key2)
flag2=1;
}
if(!key3)
{
delay_ms(10); //延时消抖
if(!key3)
flag3=1;
}
}
void main()
{
uchar i;
while(1)
{
key_scan();
if(flag1) //按键一按下?
{
for(i=0;i<8;i++) //从左至右亮,每次一盏
{
P0=~(0x80>>i);
delay_ms(100);
key_scan(); //按键扫描
if(flag2||flag3){flag1=0;break;} //假如有其它按键按下呼应其它按键
}
}
if(flag2) //按键一按下?
{
for(i=0;i<8;i++) //从右至左亮,每次一盏
{
P0=~(0x01< delay_ms(100);
key_scan();
if(flag1||flag3){flag2=0;break;}
}
}
if(flag3)
{
O_to_E(); //奇偶替换闪耀
key_scan();
if(flag1||flag2)flag3=0;
}
}
}
/***********************************************************************************************************************
编译往后的文件
留意:仿制下面的代码(留意不要包括本句,留意不要改动格局)
:09015700010800010900010A0081
:040123007F0A7E00D1
:10012700E4FDFCC3ED9FEC9E5015E4FBFA0BBB000E
:0F013700010AEB646E4A70F50DBD00010C80E407
:010146002296
:100147007580AA7FC87E0012012775805502012796
:0A00F400F4F5807F647E00120127FE
:1000FE0020A00912012320A00375080120A10912D6
:10010E00012320A10375090120A20912012320A2B7
:05011E0003750A012237
:10008F001200FE1200FEE5086021E4F97480A80159
:10009F00088002C313D8FC1200F4E5097004E50AC6
:1000AF006005E4F508800409B908E1E509601FE47B
:1000BF00F97401A801088002C333D8FC1200F4E5DB
:1000CF00087004E50A6003E4F50909B908E3E50AD5
:1000DF0060B11201471200FEE5087004E50960A344
:0500EF00E4F50A809E0B
:03000000020003F8
:0C000300787FE4F6D8FD75810A02004AFF
:10000F0002008FE493A3F8E493A34003F68001F278
:10001F0008DFF48029E493A3F85407240CC8C333F2
:10002F00C4540F4420C8834004F456800146F6DFC1
:10003F00E4800B0102040810204080900157E47EF9
:10004F00019360BCA3FF543F30E509541FFEE493B6
:10005F00A360010ECF54C025E060A840B8E493A37D
:10006F00FAE493A3F8E493A3C8C582C8CAC583CAA8
:10007F00F0A3C8C582C8CAC583CADFE9DEE780BE60
:01016000009E
:00000001FF
完毕(留意不要包括本句及上面的※号,留意不要改动格局!)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/255647.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部