51单片机(1)

什么是51单片机

51通常指的是"8051单片机",也称为"51系列单片机",它是一种经典的8位微控制器(MCU)系列。"8051"是一种由英特尔(Intel)于20世纪80年代初推出的单片机架构,并成为了一种通用的8位微控制器架构标准。

8051单片机以其简单、可靠、易用的特点,广泛应用于各种嵌入式系统和电子设备中。它具有较小的存储器需求、低功耗、多种外设接口和丰富的开发资源,使得它成为初学者和专业开发人员的常用选择。

8051单片机是一种经典的8位微控制器系列,具有广泛的应用和丰富的开发资源,特别适用于低功耗、资源受限的嵌入式系统和控制应用。

学习51需要的基本知识,基本功能实现只需要基本的C语言知识,和对电容电阻二极管三极管等基本电子元件的知识就可以进行理解,不需要太钻牛角尖,入门理解怎么使用的就可以了怎么算联通就行

下图是我模拟电路课本关于小信号放大BJT电路的部分总结框图 初学不需要浪费太多时间在电路避免被劝退你只需要了解电子特性和伏安曲线就可以 比如 你只需要认识符号知道P23为低电平蜂鸣器就能工作,整体有电压或电流放大的效果就可以了,看电路图我们知道P23(标号) 所以具有相同标号的期间相连接

二极管的伏安特性曲线图解_手机搜狐网

关于电子元件形象化的理解 形象图示电阻电容电感的原理与特点 - 知乎

 

 

我买的51单片机开发版实物图 

51单片机最小组成系统

参考博客51单片机入门——单片机最小系统_51单片机最小系统_倾晨灬雨曦的博客-CSDN博客

电源,晶振,复位电路

 晶振,又叫晶体振荡器,从这个名字上就可以看出,它注定一生都要不停的振荡。它起到的作用是为单片机系统提供基准时钟信号,类似于部队训练喊口号的人,单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的,可以说晶振就是单片机的“心脏”。STC89C52单片机的18引脚和19引脚是晶振引脚,上图接了一个11.0592MHz的晶振(即每秒振荡11059200次),外加两个30pF的电容,电容的作用是帮助晶振起振,并维持振荡信号的稳定
 

 复位电路 参考文章 全是干货!!51单片机最小系统详解 - 知乎

复位电路个人分析与理解

根据上面的电路图我们可以分析,

未进行通电时RST端与地相连接,通电瞬间,像打冰球一样有电流通过R6,RST(打点部分表示连接)

为高电压,电容充满电后没有电流,回到低电平

按下按键1 2 相连 RST直接与VCC联通,电压为高松开后为低电平

51的命名,了解命名可以通过名字了解更多硬件信息,方便记忆 

编程准备KEil 链接: https://pan.baidu.com/s/1urwESumv0-emtfLi0gt2Ig 提取码: it7k 
 

stc-isp链接: https://pan.baidu.com/s/1dETLLKIc-zY3SZ5q1xDepA 提取码: 3ji5 
 

驱动 链接: https://pan.baidu.com/s/1sbIm-k6yaSyOTjLnvrhq1A 提取码: h7e3 
 

电源接入单片机,点击设备管理器,查看端口或其他找到设备发现黄色感叹号,下载驱动

记住端口com3

下载点击keil(编译软件),stcisp烧录软件,下载安装包在上面,安装失败下载网上查找资料

如果没有51自行下载 下载完成多出C51文件夹 

点击keil project新建project 选择device 和设备

 新建文件点击source group 添加到项目

 

 点击获取勾选create hex

 

文件编译完成打开stc-isp 第一次需要选择自己的单片机型号,根据设备管理器中的端口选择串口号

后点击打开程序文件

 在电源打开情况下完成下载即可通过串口完成烧录

头文件reg52中包含对各个寄存器,端口的地址定义

 

SFR" 全称为 "Special Function Register",是 8051 微控制器中用于控制外设的寄存器。在编程时,可以通过对 SFR 的读写来操作外设的功能和状态。

"SBIT" 全称为 "Special Bit",是 SFR 中的特殊位。SBIT 通常用于表示外设的某个状态或控制某个功能。在编程时,可以通过对 SBIT 的读写来操作外设的特定状态或控制特定功能。

,P通常代表端口号赋值 sfr 复制0xFF 16进制数

sbit为0/1 表示某个功能

#ifndef

#endif

为c语言的条件预编译可以防止多次添加头文件产生的重复定义问题

在未来编程过程中使用常常宏定义 #define

完全替换,内容注意不要加; 运算式子尽量加() 避免逻辑错误

几个基本外设

LED 灯

#include <reg52.h> 

sbit LED1 = P1^0; 
void main()
{
	LED1 = 0;  
	while(1);
}

上面是最基本的led灯点亮程序,如何查找需要根据单片机原理图查找标号,根据标号查找对应的端口引脚 ,通过赋值改变状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值