1.2 51单片机基础 基础器件1

本文详细介绍单片机实验中的核心概念,包括LED灯闪烁、流水灯效果的实现及蜂鸣器的应用。涵盖循环语句、延时函数、宏定义等编程技巧,以及三极管和蜂鸣器的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、LED灯闪烁(LED灯基础在上一篇1.1中有详细说明)
1.循环语句:while循环(未知次数,只知条件),for循环(已知次数)
while(表达式)
{
执行语句;
}
当while后表达式为真(非0)时,执行括号内语句。

for(赋值语句;条件语句;变化语句)
{
执行语句;
}
赋值语句为变量赋初值;条件语句判断为真,执行括号内语句;变化语句改变循环变量的值。
PS:void main默认循环执行。

2.延时函数(软件延时)
软件延时:执行大量无用语句,耗费时间。
void delay(unsigned int z)//毫秒级延时函数
{
   uint x,y;//之前已经宏定义:#define uint unsigned int
  for(x=z;x>0;x--)
   for(y=114;y>0;y--);
}
3.宏定义:
#define 新标识符  被代替标识符(末尾无分号“;”)
typedef 被代替标识符  新标识符;(末尾以分号结束)

二、流水灯
1.循环移位函数
包含头文件#include<intrins.h>
内部函数:crol,cror.(字符型循环左移,字符型循环右移)
a=0xfe;//1111 1110
b=crol(a,1);//now b is 0xfd 1111 1101

三、蜂鸣器
1.蜂鸣器工作原理:(略)分为有源蜂鸣器和无源蜂鸣器(源代表震荡源)
2.三极管工作原理:三极管分为基极(B),发射极(E),集电极(C)。
在这里插入图片描述
3.蜂鸣器原理图
在这里插入图片描述

4.单片机它不是功率器件,它适合做控制用,不合适驱动功率器件。(直接用单片机驱动:单片机输出电流太小,也容易损坏单片机)

整体代码如下:

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit beep=P2^3;
//毫秒级延时函数
void delay(unsigned int z)
{
   uint x,y;
  for(x=z;x>0;x--)
   for(y=114;y>0;y--);
}
void main()
{
 uchar temp=0xfe;
 P1=temp;//1111 1110
 delay(100);
 while(1)
 {
 beep=~beep;//蜂鸣器发出“嘀,嘀,嘀”
 temp=_cror_(temp,1);//流水灯的实现(LED灯闪烁为基础)
 P1=temp;
 delay(100);
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值