51单片机入门教程

1.课程简介

  • 安装Keil5和STC-ISP,分别为编辑器和编译器、汇编器

  • MCU(Micro Controller Unit)单片机

  • 集成CPU、RAM、ROM。定时器、中断系统、通讯接口等

  • 信息采集(传感器)、处理(CPU)、控制硬件设备(电机、LED)

  • 本课程采用的51单片机型号STC89C52

  • 命名规则

  • 晶体振荡器:有一些电子设备需要频率高度稳定的交流信号,而LC振荡器稳定性较差,频率容易漂移(即产生的交流信号频率容易变化)。在振荡器中采用一个特殊的元件——石英晶体,可以产生高度稳定的信号,这种采用石英晶体的振荡器称为晶体振荡器。

  • 单片机管脚

  • Vcc正极 Gnd负极

  • 单片机最小系统

  • 开发板原理图

  • C51数据类型

2.LED基础

  • LED(Light Emitting Diode)发光二极管

  • 电路计数法

    • 102 = 10*10^2
    • 1003 = 100*10^3
  • LED模块

  • 也就是说,通过控制P2寄存器使P2输出端口输出高低电平就可以实现LED的亮灭,高电平1灭,低电平0亮

3.独立按键控制LED

  • 独立按键模块

  • 也就是说,MCU从P3端口读取输入来获取独立按键是否按下的信息

  • 按键的抖动

    • 硬件消除抖动
    • 软件消除抖动

4.数码管显示

  • 数码管模块

  • 解码器模块

  • 数码管消影

5.模块化编程

  • .h .c分模块

  • LCD1602液晶屏显示用作调试工具

6.矩阵键盘

  • 逐行扫描和逐列扫描,节省IO口

  • 由于端口IO复用,采用逐列扫描

  • IO为什么既是输入又是输出?
    弱上拉?

7.定时器

  • 定时器属于单片机内部资源,可以代替主时钟的计时功能,减少时钟周期的浪费,提高CPU的运行效率

  • 定时器工作模式

  • 中断资源

  • 相关寄存器

  • 需要设置中断处理函数在每次定时器中断时执行

8.串口通信

  • 硬件电路





9.LED点阵屏

  • 8*8的单色点阵屏

  • 74HC595移位寄存器

  • code关键字把变量放入flash闪存中(ROM),而不是程序堆栈中(RAM),用于存储大型数据

example
1
2
3
4
5
6
7
8
unsigned char code Animation[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFF,0x08,0x08,0x08,0xFF,0x00,0x0E,0x15,
0x15,0x15,0x08,0x00,0x7E,0x01,0x02,0x00,
0x7E,0x01,0x02,0x00,0x0E,0x11,0x11,0x0E,
0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

10.DS1302时钟

  • RTC(Real Time Clock)实时时钟,集成电路时钟芯片

  • BCD码

11.蜂鸣器


  • 乐理


    • #升音符号 半音
    • b降音符号 半音
    • $1=D\frac{4}{4}$ 代表D调,分母4表示以四分音符为标准一拍,分子4代表每小节有四拍

12.AT24C02

  • 存储器

  • AT24C02是一种E2PROM存储芯片

  • I2C总线

  • 时序结构



13.DS18B20温度传感器

  • 温度传感器



  • 单总线

  • 时序结构



14.LCD1602

  • 显示屏


  • 时序结构

  • 指令集

15.直流电机驱动(PWM)

  • 直流电机

  • PWM

16.模拟数字转换AD/DA

  • 模拟数字转换








  • XPT2046时序

17.红外遥控




作者

huayi

发布于

2023-07-29

更新于

2023-08-16

许可协议