单片机
返回首页

51单片机入门——学习笔记

2025-09-22

一、课程介绍

1.硬件和软件部分:

        硬件:51单片机开发板+windows电脑

        软件:keil 5(程序编写)    Proteus(仿真电路)    STC-ISP(STC系列单片机下载)

2目的:

        学会单片机及其外设

3.基础:

        简单C语言、电路知识

cut-off

    二、开发环境

1.Keil5软件安装,新建工程,stc-isp使用

27:24

Keil5软件安装,新建工程,stc-isp使用

26万观看 637弹幕

注:stc-isp下载程序需要冷启动,需重新上电使引导程序覆写并到达程序第一行。

cut-off

  1. keil5软件安装官网:https://www.keil.com/demo/eval/c51.htm 1、选中软件压缩包,鼠标右击选择解压到Keil5。

      2、双击打开解压文件夹中的MDK511文件夹。

·    3、双击打开mdk511

    4、点击Next。

    5、勾选I accept,然后点击Next

    6、分别点击Core与Pack后面的Browse更改安装路径,建议安装在除C盘以外的其它磁盘,可以在D盘或者其它盘创建一个keil5文件夹,然后点击Next。

    7、任意填写上述安装信息,然后点击Next。

    8、安装中

    9、点击Finish。

10、双击桌面Keil uVision5。

11、点击菜单栏File,然后点击License选项。

12、在解压文件夹中找到keygen,鼠标右键以管理员身份运行。

13、复制CID中的内容,将其粘贴到到2处的CID中,然后选择Target选项框中ARM选项,再点击Generate,然后复制5处的内容,将其粘贴到6处的New license中然后点击Add LIC。

14、点击Close。

————————————————

版权声明:本文为CSDN博主「鱼与渔大学生服务」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_42693097/article/details/90108941

cut-off

2.Proteus软件安装

1.解压

2.双击该文件

3.选择安装路径,点击Next

3.点击Next

4.安装完成

cut-off

STC-ISP软件安装

1.安装应用程序

2.将单片机与电脑连接,安装相应驱动

3.打开设备管理器,查看USB驱动程序是否安装成功。

cut-off

1.keil5工程建立

    a)1.单击菜单栏Project选项

    a)2.点击新项目

    a)3.选择存储位置

如果项目工程功能不更改,建议以项目功能命名,如功能不定或更改频繁建议以Project命名方便修改。

    a)4.选择单片机型号

    a)5.是否将“STARTUP.A51”添加至工程文件夹目录下,选择否

    a)6.添加主函数工程,鼠标右键Source Group,选择

    a)7.选择.c文件,点击确认

    a)8.点击

    a)9.生产.hex可烧录文件

    a)10.编译并保存文件

另一种工程创建方式

b)1.当新建文件时,以文件名+.c

b)2.添加主函数

cut-off

Proteus工程建立

  1. 新建工程

点击下一步

2.添加元器件并连线

3)加载.hex文件,点击单片机

4)开始仿真,仿真无误后,保存退出。

cut-off

STC-ISP的使用

  1. 连接电脑与单片机

  2. 打开STC-ISP软件

  3. 使用并下载

cut-off

3.单片机与开发板简介

1.简介

        单片机,简称MCU。

        组成:具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统

        任务:

2.应用领域:

        工业控制、家用电器、智能仪表等方面。

3.单片机型号介绍

前期可以不必要大精力学

            注:RAM:随机存取存储器,随时读写,速度快。掉电,会丢失数据。

                   ROM:只读存储器。一次写入后,只能读取数据。掉电,不丢失数据。

4.单片机外型及内部结构

        1.外型

图2 STC89C52RC 40I-PDIP 40

        2.内部结构

STC89C51RC/RD+系列内部结构框图

        3.管脚图

注:引脚序号逆时针排列,上方缺考为单片机正方向,不要反接,容易烧坏单片机

5.单片机最小电路

        1.晶振电路

    作用:给予单片机内部电路指令执行的时间基准,严格按照时序执行命令。

    影响:时钟频率直接影响单片机运行速度,时钟电路质量影响系统运行稳定。

    分类:1)内部时钟方式                               2)外部时钟方式

晶振电路

        2.复位电路

    作用:单片机初始化。程序从0000H单元执行(程序开头)。

按键复位电路

上电复位,利用电容充放电特性,上电时,为高电平,类似短路接通

6.开发板实物图

开发板图

开发板各个模块

7.数据类型

C51数据类型

8.储存器类型

C51存储器类型

cut-off

    四、LED

        1.LED简介

            发光二极管简称LED,用于照明、广告、屏幕等

        

LED符号

LED应用电路    +接+,-接-

    2.LED引脚判断

        a)长短脚判断二极管正负极

长引脚:+极 短引脚:—极

内部电极较小:+极     电极较大:-极

        b)万用表测量二级管正负极

    可使用万用表来判断发光二极管正负极。操作方法:万用表R×1K挡,红、黑两表笔交替接自闪发光二极管的两根引线,当发现其中一次测量,表针先向右摆动一定距离,然后表针在此位置上开始轻微抖动(振动),摆动幅度在一小格左右。

(万用表测试发光二极管)

    种现象说明自闪发光二极管内部的集成电路在万用表内部1.5V电池电压的作用下开始振荡,输出的脉冲电流使指针产生抖动,只是因为电压太低还不能使发光二极管发光。但此现象说明万用表红、黑表笔的接法是正确的,即万用表黑表笔接的是自闪发光二极管的正极。

    3.开发板图

LED模块

    

cut-off

    4.点亮一个LED

CPU通过配置寄存器控制引角输出以控制硬件电路,通过硬件电路来实现功能

流程图

程序1  整体操作P2端口  LED置低电平(0)有效

注释://123:    单行注释

           /* 123 */:   多行注释

           注释不参加编译与执行

C语言真假判断:0为假,非0为真。

while(判断条件){内部语句}:循环语句,当判断条件成立,则执行内部语句,否则跳出循环

程序2 操作P2的一个端口

"=":赋值表达式,将常量赋予变量。(变量=常量)

把单片机内部地址P2^0=0xA0处的寄存器重名赋予led1,相当于直接操作led1就是对0xA0寄存器操作。

主函数:void:无返回值     ():默认无参数     main:主函数名

              特点:是程序开始执行的唯一入口。每条语句结尾加上分号(;),每条语句回车分隔(Enter)。注意代码简洁美观。

void main()

{

    内部代码;

}

进制转换

cut-off

    5.LED1s周期闪烁

流程图

程序

_nop_():精确定时:NOP指令时间为1个周期,执行一个空指令,12M晶振的活呢是1US秒的时间。

        a)数据类型

        b)延时

    1)程序延时

    2)定时器延时

1.程序延时

for语句延时并不精准

    a.精准计算延时:keil仿真

a.1.修改软件晶振参数与外部晶振参数一致

修改栏

修改晶振参数

晶振参数

a.2进入调试窗口

调试栏

调试窗口

    

功能介绍

为计算简单,以12MHZ计算

0.89s

b)利用STC-ICP软件生成延时函数

STC-ICP软件延时函数生产步骤

补:单片机的周期

  1. 时钟周期:      也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,为时钟频率倒数(12MHZ晶振,时钟周期1/12us)。Tosc = 1/fosc= 1/12 us。      通常也叫做系统时钟周期。是计算机中最基本的、最小的时间单位。      在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。

  2. 状态周期     状态周期是CPU从一个状态转换到另一状态所需要的时间。简单地说每个状态周期 Ts 分为两个震荡周期(时钟周期),即Ts = 2Tosc。

  3. 机器周期      完成一个基本操作所需要的时间称为机器周期。      一般情况下,一个机器周期由若干个S周期(状态周期)组成。MCS-51单片机一个机器周期包含六个状态例如,取指令、存储器读、存储器写等。即机器周期等于6个状态周期,而一个状态周期是2个时钟周期,因此一个机器周期又等于12个时钟周期。那么晶振频率为12MHz的的单片机的机器周期 T = 12*Tosc = 1 us。

  4. 指令周期      顾名思义,指令周期就是执行一条指令所需的全部时间。      MCS-51单片机的指令周期通常是 1 ~ 4 个机器周期组成。      单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,只有乘、除指令为4个机器周期

8051的机器周期

cut-off

6.LED流水灯

    方法1    分别操作P2端口,延时

LED流水灯

方法2    利用移位操作

流程图

方法2

<<:按位左移

>>:按位右移(二进制)

按位

方法3    利用数组

数组

数组:

形式:数据类型+数组名+[ ]={数组元素}

定义:相同类型数据的集合。

元素:元素下标从0开始。

注意数组越界问题。


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外遥控音量控制

  • LM317过压保护

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器