```c
#include <reg51.h>
#include <intrins.h>
void delayms(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i=0;i<250;i++);
}
}
//main()
//{
// unsigned char LED;
//
// P2=0XFF;
// LED=0XFE;
// P2=LED;
// while(1)
// {
// delayms(250);
// LED=_cror_(LED,1);
// P2=LED;
// }
void main()
{
int i;
unsigned char LED;
int led[]={0XFF,0XE7,0XC3,0X81,0X00};
while(1)
{
for(i=0;i<5;i++)
{
P2=led[i];
delayms(250);
}
P2=0XFF;
LED=0XFE;
P2=LED;
for(i=0;i<8;i++)
{
delayms(250);
LED=_crol_(LED,1);
P2=LED;
}
P2=0XFF;
LED=0X7F;
P2=LED;
i=0;
for(i=0;i<8;i++)
{
delayms(250);
LED=_cror_(LED,1);
P2=LED;
}
for(i=0;i<5;i++)
{
P2=0X55;
delayms(250);
P2=0xAA;
delayms(250);
}
}
}
22222
#include<reg51.h>//51单片机寄存器定义的头文件
sbit S1=P3^0;//定义S1按键与单片机P3.0位相连
sbit S2=P3^1;//定义S2按键与单片机P3.1位相连
sbit S3=P3^2;//定义S3按键与单片机P3.2位相连
sbit S4=P3^3;//定义S4按键与单片机P3.3位相连
void delay(void)//定义延时函数用于按键去抖动,延时10ms
{
unsigned char i,j;
for(i=0;i<20;i++)
for(j=0;j<250;j++);
}
void main(){
P3=0xff;//对S1-S4按键复位。
P2=0xff;//对8个LED灯复位
while(1)//是否有按键按下循环监测
{if(S1==0)//判断是否S1按键按下
{delay();//去抖动处理
if(S1==0)//确认S1按键按下
{P2=0xfc;//给P0口置数点亮LED1和LED2
}
}if(S2==0)//判断是否S2按键按下
{delay();//去抖动处理
if(S2==0)//确认S2按键按下
{P2=0xf3;//给P0口置数点亮LED3和LED4
}
}
if(S3==0)//判断是否S3按键按下
{delay();//去抖动处理
if(S3==0)//确认S3按键按下
{P2=0xcf;//给P0口置数点亮LED5和LED6
}
}if(S4==0)//判断是否S4按键按下
{delay();//去抖动处理
if(S4==0)//确认S4按键按下
{P2=0x3f;//给P0口置数点亮LED7和LED8
}
}
}
}
原文地址:https://blog.csdn.net/genuineZ2/article/details/134595653
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_28180.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。