课程说明:
该课程以STC系列单片机为基础,深入浅出,结合理论和实际操作技巧,讲解C51应用的开发语言基础及实践经验。通过本课程,读者可以基本掌握基于C51的单片机开发所需要的理论基础和实践经验。尽管是以STC单片机为基础,涉及不同概念的时候,课程仍然会指出标准89c51系列单片机会遇到什么问题。
课程建议读者具备一定的语言基础,任何编程语言都可以,不是必须。电路方面,需要有电路的基本概念。实践项目安排上,各课程都保障有一个结合本次课程并能够实现的小功能,同时总体课程学习完后,能够完成2-3个实用项目。使用STC系列的好处是,硬件的复杂度可以降到最低。进阶的学习中,必须的硬件,我们将专门设计对应开发板,保障读者可以以最低价格得到产品。课程中,涉及的相关知识,如果是时间允许的,教学中会一一提及,时间不够的,会提供相关资源。
第一章 嵌入式开发基础及功能演示
1.1嵌入式的概念,现状和应用前景
1.2 对读者的建议
1.3 本课程部分项目演示
1.3.1 红绿灯
1.3.2 点阵
1.3.3 温度记录仪
1.3.4 点阵显示
1.3.5 光方向跟踪
1.3.6 无线开关
第二章 C语言基础
2.1 C语言简介
2.1.1 C语言和编程语言
2.1.2 程序逻辑和数据结构
2.1.3 变量和数据类型
2.2 变量和运算符
2.2.1 常用运算符
2.2.2 二进制和位运算
2.2.3 格式化输入和输出
2.3 条件结构
2.3.1 if
2.3.2 多分支结构
2.3.3 goto语句
第三章 C语言中的循环
3.1 循环结构
3.2 循环的流程控制
第四章 数组和字符串
4.1 数组
4.1.1 数据的定义和初始化
4.1.2 数据的基本操作
4.1.3排序算法
4.2 字符串
4.2.1 字符串和数组
4.2.2字符串的操作
第五章 函数和指针
5.1 函数和函数的调用
5.1.1 函数和结构化编程
5.1.2 函数的参数
5.1.3 一些函数的应用
5.2 自定义函数和传参
5.2.1 自定义函数
5.2.2 函数传参
5.3 结构体和预编译指令
5.3.1 结构体
5.3.2 预编译指令
5.3.3 项目文件结构组织
5.3.4 变量作用域
5.4 指针变量及函数指针
5.4.1指针变量
5.4.2 函数指针
第六章 C语言与单片机编程/C51
6.1 C51简介
6.1.1 C51的特点
6.2 开发环境 Keil UV2/3
6.2.1 Keil UV2介绍
6.2.2 程序调试
6.3 C51应用初体验
6.3.1 单片机编程基础
6.3.2 数码管显示的实现
第七章 中断控制
7.1 中断和中断服务
7.1.1 标准51单片机的中断结构
7.1.2 STC 51单片机的中断
7.1.3 外部中断的使用
7.2 中断进阶
7.2.1中断的排队机制
7.2.2中断优先级
7.2.3 STC中断特点
第八章 计时器/计数器应用
8.1 计时器的基本概念
8.2 计时器的应用
8.1.1 计时器的设置和应用
8.3 使用计时器来实现任务调度
8.3.1 任务调度基础知识
8.3.2 使用计时器实现任务的调度
8.4 项目实战 模拟红绿灯
8.4.1 简单的红绿灯的实现
8.4.2 稍微复杂的红绿灯逻辑的实现和优化
第九章 单片机通讯
9.1 单片机和上位机的通讯
9.1.1 串口通讯
9.1.2 CRC简介
9.2 本地通讯
9.2.2 本地通讯协议介绍
9.2.2 STC的SPI接口操作
第十章 模数转换及应用
10.1 STC内置AD的应用
10.1.1 AD的基本概念和应用范围
10.1.2 STC单片机内置AD的操作
10.2 使用外置AD实现高精度数据采集
10.2.1 AD7705芯片简介
10.2.2 AD7705芯片的应用
10.2.3 使用AD7705实现数字温度计
第十一章 输入和交互
11.1 数码管驱动
11.1.1 基于74HC595和74LS138的数码管驱动的实现
11.1.2 使用计时器实现扫描式数码管显示
11.2 键盘输入
11.2.1 简单的键盘输入
11.2.2 IO扫描式键盘
11.2.3 AD输入键盘
11.3 外围设备的控制简介
11.3.1 继电器和光耦控制强电
11.3.2 步进电机
第十二章 内存管理和任务调度
12.1 STC单片机的存储结构组成
12.1.1 内存管理
12.1.2 EEPROM的应用
第十三章51单片机操作系统入门
13.1 操作及相关概念姐姐
13.2 RTx51TINY的使用
13.3 其他操作系统基本概念
第十四章 项目实战
14.1 基于STC单片机的光线跟踪实现
14.2 基于STC单片机实现无线通讯功能