- 博客(0)
- 收藏
- 关注
51单片机利用开关,键盘扫描函数实现流水灯的不同显示
AT89C51,利用键盘扫描函数以及消抖原理,实现按下四个不同开关时,实现不同的流水灯显示。当按下开关S1时,从上至下跑马灯,当按下S2时,由下至上,当按下S3时,高四位和低四位LED灯不断交替闪烁,当按下S4时,八位LED灯闪烁。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit S0=P1^0;
sbit S1=P1^1;
sbit S2=P1^2;
sbit S3=P1^3;//定义引脚
uchar keyval;//键值存储变量单元
uchar dis_code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar m;
void delay(uint i) //延时函数
{
uint j;
while(i--)
{for(j=0;j<125;j++);}
}
2023-12-18
AT89C51用开关实现LED的点亮,Proteus仿真原理图+源文件
#include <reg51.h>
#define uchar unsigned char
void delay( )
{uchar i,j;
for(i=0;i<125;i++);
for(j=0;j<125;j++);
}
void main()
{uchar temp;//放循环内外都行
while(1)
{
P1=0xff; //要定义初值,先将灯灭,开关断开
temp=P1&0xf0;//屏蔽低四位
temp =temp>>4;//注意右移四位的书写,不是temp>>4,而是temp=temp>>4;
P1=temp;
delay();
}
}
2023-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅