前言:
✌ 作者简介:CC++Edge淇,大家可以叫我--斯淇。(CSDN优质博客的建议加这一条)
📑 个人主页:CC++Edge淇主页
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥 如果感觉博主的文章还不错的话,还请不吝👍关注、点赞、收藏三连支持👍一下博主哦
💬 人生格言:琴键有限,人生无限--《海上钢琴师》💬
每日推荐歌曲:毛不易-《无名的人》
我一直很想写一篇初学者最快入门的文章,我原称为最简单的入门级STM51单片机的入门打法!!!!!(后续文章会更新)
最后祝贺一下自己访问量冲到了一万一!!!!!
————————————————
————————————————

目录

单片机入门

首先讲一讲单片机入门知识!!!!

单片机工作的基本时序

LED灯!原理图

LED,即发光二极管,是一种半导体固体发光器件。

 LED的点亮方法 

1.蜂鸣器!简介:

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。我们开发板上常用的蜂鸣器就是常常说的交流蜂鸣器或直流蜂鸣器(自激式蜂鸣器)。 直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。脉冲就是高低电平的切换,如下图:一个方波脉冲 ​

( 来一个实训内容:三次闪灯,加上两次左右灯光循环最后使用蜂鸣器发声)!(手动打码)

单片机入门

首先讲一讲单片机入门知识!!!!

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

直接上展示图!!!

 

 

单片机工作的基本时序

(1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,我们开发板上为12MHZ。

(2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的

(3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。

  (4)指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。

  MCS-51系统中,有单周期指令、双周期指令和四周期指令。

  2.接受外部的控制,通过I/O来感受外部的电压。

  3.51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用。

二进制逻辑运算
“与”运算 
有0得0 
1&1=1 ; 1&0=0 ; 0&0=0 ;
“或”运算 
有1得1 
1|1=1 ; 1|0=1 ; 0|0=0;
“非”运算 
1的非得0,0的非得1。 
~1=0; ~0=1;
“异或”运算 
必须不同,否则没有(0) 
1^1=0;1^0=1;0^0=0;

来原理图!!! 

LED!原理图

LED,即发光二极管,是一种半导体固体发光器件。

 LED的点亮方法 

点亮LED颗!!

#include <REGX52.H>
#include <INTRINS.H>
void Delay50ms()		//@11.0592MHz
{
unsigned char i,j,k;
_nop_();
i=4;
j=205;
k=187;
do{
	do{
while (--k);
	}while (--j);
}while(--i);

}
void main(){
while(1){
P2=0xAA;
Delay50ms();
P2=0XFF;
Delay50ms();
}
}

LED流水灯!

#include <REG52.H>
#include <INTRINS.H>
void Delay500ms()		//@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 129;
k = 119;
do
{
	do
	{
		while (--k);
	} while (--j);
} while (--i);

}
void main(){
while (1){
P2=0xFE;
Delay500ms();
P2=0xFD;
Delay500ms();
P2=0xFB;
Delay500ms();
P2=0xF7;
Delay500ms();
P2=0xEF;
Delay500ms();
P2=0xDF;
Delay500ms();
P2=0xBF;
Delay500ms();
P2=0x7F;
Delay500ms();
}

按住一个K1,亮起LED灯

#include <REGX52.H>
void main(){
while(1){
	if(P3_1==0){
		P2_0=0;
	}
	else{
		P2_0=1;
	}
}

}
#include <REGX52.H>
void Delay(unsigned int xms)		
{
unsigned char i, j;
while (xms){
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main(){
while(1){
if(P3_1==0){
Delay(20);
while(P3_1==0);
Delay(20);
		P2_0=~P2_0;
	
	
		}

}
}

独立按键控制按键显示二进制灯光

工程代码:#include <REGX52.H>
void Delay(unsigned int xms)		
{
	unsigned char i, j;
while (xms--){
	i = 2;
	j = 239;
	do
	{
		while (--j);
	} while (--i);
	
}
}
void main(){
	while(1){
			P2_0=0;
			Delay(500);
			P2_0=1;
			Delay(500);
		
			}
}
	

 插一张运算符含义图(太重要了)

1.蜂鸣器!简介:

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。我们开发板上常用的蜂鸣器就是常常说的交流蜂鸣器或直流蜂鸣器(自激式蜂鸣器)。 直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。脉冲就是高低电平的切换,如下图:一个方波脉冲

 

( 来一个实训内容:三次闪灯,加上两次左右灯光循环最后使用蜂鸣器发声)!(手动打码)

#include <REGX52.H>
#include <INTRINS.H>
typedef unsigned int u16;
typedef unsigned char   u8;
	sbit BEEP=P1^5;
	void delay(u16 xs){
		while(xs--);
	}
	void main(){
		u16 i=2000;
		u16 j=0;
		while(1){
			P2=0x00;
			delay(50000);
				P2=0xFF;
			delay(50000);
			P2=0x00;
			delay(50000);
			P2=0xFF;
			delay(50000);
			P2=0x00;
			delay(50000);
			P2=0xFF;
			delay(50000);
			P2=0xfe;
			for(j=0;j<7;j++){
				P2=_crol_(P2,1);
				delay(50000);
			}
				for(j=0;j<7;j++){
						P2=_cror_(P2,1);
					delay(50000);
				}
				while(i--){
					BEEP=!BEEP;
					delay(300);
				}
				i=0;
				BEEP=0;
			}
		}

单片机

更多推荐

51单片机的入门知识(献给初学者最易懂的文章)