//51单片机:流水灯&蜂鸣器控制
//bglei@nuaa.edu.cn 2022/8/28《流水灯&蜂鸣器控制》
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int //define宏定义方便后续编程
#define uchar unsigned char
//void delay();
uchar temp ; //8位,无符号字符型
sbit beep = P1^5; //不同的开发板对应不同的端口号
void delay(float z);
void main()
{
temp = 0xfe;//对应二进制11111110
beep = 0; //有源蜂鸣器才响,对于无源蜂鸣器需要满足一定的频率
while(1)
{
P2 = temp;
temp = _crol_(temp,1); //左移函数_crol_
delay(1000); //100*1000=100000,大概为1秒
}
}
void delay(float z)
{
uint x,y;
for(x=100;x>0;x--) //经测试循环100000次为一秒
for(y=z;y>0;y--);//循环体空语句,磨蹭时间
}
Proteus仿真图如下:
欢迎一起学习交流,邮箱:bglei@foxmail.com