目录

  • 1 第一章 51单片机基础知识
    • 1.1 单片机及其分类
    • 1.2 51单片机内部结构.
    • 1.3 时钟与时序
    • 1.4 复位与中断
    • 1.5 存储器组织方式
    • 1.6 特殊功能寄存器
    • 1.7 并行端口
    • 1.8 单片机最小系统
  • 2 第二章 开发仿真与电路板制作
    • 2.1 开发仿真环境使用简介
    • 2.2 安装Keil和Proteus
    • 2.3 下载程序到单片机
    • 2.4 电路板的制作
    • 2.5 电路板的调试与问题排查
      • 2.5.1 电阻、电容
      • 2.5.2 二极管、三极管、芯片
      • 2.5.3 焊接、调试与问题排查
      • 2.5.4 排查不能下载程序的问题
  • 3 第三章 C语言基础
    • 3.1 变量
    • 3.2 常量
    • 3.3 运算
    • 3.4 流程图与语句
    • 3.5 基于循环+移位的流水灯
    • 3.6 基于循环+并行分支的流水灯
    • 3.7 数组与基于查找表法的流水灯
    • 3.8 结构体
    • 3.9 指针与指向数组的指针
    • 3.10 指向结构体的指针
    • 3.11 指针的灵活应用
    • 3.12 函数指针
    • 3.13 状态机
  • 4 第四章  内部功能模块
    • 4.1 中断基础知识
    • 4.2 外部中断
    • 4.3 定时器基础
    • 4.4 51单片机的定时器
    • 4.5 例程:输出1kHz方波
    • 4.6 例程:输出1kHz矩形波
    • 4.7 使用单元封装某个功能
    • 4.8 例程:按键控制的PWM信号输出
    • 4.9 例程:指示灯1Hz闪烁
    • 4.10 例程:基于定时器的流水灯
    • 4.11 例程:按键控制流水灯的起停
    • 4.12 例程:任意花式流水灯单元
    • 4.13 例程:音乐播放器_1_音调单元
    • 4.14 例程:音乐播放器_2_节拍单元
    • 4.15 例程:音乐播放器_3_歌曲单元
    • 4.16 例程:音乐播放器_4_主控单元
  • 5 人机界面
    • 5.1 数码管的显示原理
    • 5.2 四位数码管的显示原理
    • 5.3 四位数码管驱动单元
      • 5.3.1 定时器驱动的扫描显示
      • 5.3.2 设置显示数字
      • 5.3.3 显示小数点
      • 5.3.4 闪烁显示
    • 5.4 独立按键
      • 5.4.1 独立按键的检测原理
      • 5.4.2 独立按键的驱动单元
      • 5.4.3 多个独立按键的检测
    • 5.5 阵列按键
    • 5.6 例程:电子时钟
      • 5.6.1 例程:电子时钟_功能划分
      • 5.6.2 例程:电子时钟_计时单元
      • 5.6.3 例程:电子时钟_设置小时
      • 5.6.4 例程:电子时钟_设置分钟
      • 5.6.5 例程:电子时钟_主控程序
  • 6 模拟信号输入输出
    • 6.1 模数转换器基础知识
    • 6.2 TLC549的应用
    • 6.3 例程:电压表
    • 6.4 数模转换器DAC0832
    • 6.5 DAC0832的应用
    • 6.6 例程:任意波形发生器
  • 7 串行口通讯
    • 7.1 UART基础知识
    • 7.2 51的UART寄存器
    • 7.3 例程:UART发送数据
    • 7.4 例程:UART接收数据
    • 7.5 例程:基于UART的应答通讯
  • 8 编写程序的一般要求
    • 8.1 程序必须分层
    • 8.2 底层代码需要好移植
    • 8.3 函数、全局变量、常量的命名规则
    • 8.4 对某一个硬件的具体操作只能在一个底层单元中实现
    • 8.5 命令、ID、数据个数一定要采用宏定义常量
    • 8.6 正确缩进、对齐
    • 8.7 对代码进行详细的注释
  • 9 一些小技巧
    • 9.1 不编译没有调用的函数,可以节省代码和数据空间
程序必须分层