目录

  • 1 项目1:认识编程载体-单片机和开发环境
    • 1.1 目标与知识技能要求
    • 1.2 认识单片机和计算机语言
    • 1.3 KEIL入门操作
      • 1.3.1 操作步骤
      • 1.3.2 常见错误
    • 1.4 结构化程序设计--建立函数概念
    • 1.5 单片机存储器及数据交流之IO口
    • 1.6 KEIL安装 说明
    • 1.7 Proteus  安装说明
    • 1.8 KEIL串口输出汉字乱码解决方案
    • 1.9 学习参考网站
    • 1.10 小结
    • 1.11 测验1
    • 1.12 教材PDF
    • 1.13 单片机初学的疑问解答
    • 1.14 学生作品展示
  • 2 项目2  多变的花样灯
    • 2.1 目标-知识与技能要求
    • 2.2 任务1:亮一个灯——多个灯
      • 2.2.1 电路的PROTEUS绘制
      • 2.2.2 网络标号连线法
      • 2.2.3 亮一个灯
        • 2.2.3.1 引脚与位——硬软件对应
        • 2.2.3.2 仿真测试、判断
        • 2.2.3.3 代码下载到STC单片机中
        • 2.2.3.4 实物测试
      • 2.2.4 8位引脚与16进制数
      • 2.2.5 亮多个灯-LED显示学号
        • 2.2.5.1 亮多个灯
        • 2.2.5.2 用LED表示 学号
      • 2.2.6 用BCD数码管显示学号
    • 2.3 任务2:亮点流动的花样灯
      • 2.3.1 认识头文件
      • 2.3.2 顺序结构的程序设计
      • 2.3.3 用库函数CROL/CROR
        • 2.3.3.1 循环移位函数说明
        • 2.3.3.2 变化规律分析与表达式
        • 2.3.3.3 参考程序
    • 2.4 任务3:一一亮起的花样灯
      • 2.4.1 讲解
      • 2.4.2 位逻辑运算-与或非-异或,《、》
      • 2.4.3 动态数据分析
      • 2.4.4 自定义头文件dly05s.h
      • 2.4.5 参考程序
      • 2.4.6 随堂测
      • 2.4.7 仿真与实物对比视频
    • 2.5 任务4:高低4位交替的花样灯
      • 2.5.1 参考程序讲解
      • 2.5.2 进阶设计:两个亮点相向 / 相背
        • 2.5.2.1 用移位运算符实现
          • 2.5.2.1.1 用移位函数实现
      • 2.5.3 随堂测
    • 2.6 三种效果 的花样灯
      • 2.6.1 仿真与实物运行视频
      • 2.6.2 参考程序
      • 2.6.3 进阶:变速流水灯
      • 2.6.4 可变时长的延时程序:dly_nms.h
      • 2.6.5 算术及赋值复合运算符随堂测
    • 2.7 初识函数
    • 2.8 小结
    • 2.9 测验2
    • 2.10 教材PDF
  • 3 项目3:键控灯
    • 3.1 目标与知识技能要求
    • 3.2 任务1:键控灯——IF分支结构训练
      • 3.2.1 讲解-仿真
      • 3.2.2 参考程序
    • 3.3 任务2:键控灯2-IF-ELSE
      • 3.3.1 讲解-仿真
      • 3.3.2 参考程序
    • 3.4 任务3:键控灯3——IF-ELSE-IF 多分支
      • 3.4.1 讲解-仿真
      • 3.4.2 参考程序
    • 3.5 任务4:键控灯4——if 嵌套
      • 3.5.1 讲解-仿真
      • 3.5.2 参考程序
    • 3.6 任务5:键控灯5——switch语句训练
      • 3.6.1 讲解-仿真
      • 3.6.2 参考程序
      • 3.6.3 进阶设计
    • 3.7 任务6:学习循环结构训练
      • 3.7.1 讲解-仿真
      • 3.7.2 求和——参考程序
      • 3.7.3 BREAK  CONTINUE 语句
    • 3.8 任务7:键控灯6-综合FOR-WHILE
      • 3.8.1 讲解-仿真
      • 3.8.2 参考程序
      • 3.8.3 Proteus 源码调试-看时长
      • 3.8.4 循环语句随堂测
    • 3.9 任务8:键控灯7-FOR-BREAK
      • 3.9.1 讲解-仿真
      • 3.9.2 参考程序
    • 3.10 任务9:一位示意计数器设计
      • 3.10.1 任务 分析
        • 3.10.1.1 视频讲解
        • 3.10.1.2 OMF调试设置步骤
      • 3.10.2 进阶设计
    • 3.11 小结
    • 3.12 测验3
    • 3.13 教材PDF
  • 4 项目4:逻辑思维训练
    • 4.1 目标与知识技能要求
    • 4.2 任务1:用printf语句跟踪数据
      • 4.2.1 什么是数据类型
      • 4.2.2 标识符与常量 、变量、宏定义
      • 4.2.3 变量输出——printf()
      • 4.2.4 参考程序
      • 4.2.5 关于数据类型的测验
    • 4.3 任务2:歌星大赛计分——简单统计运算
      • 4.3.1 设计过程讲解
      • 4.3.2 程序流程、参考程序
      • 4.3.3 测试与判断
    • 4.4 任务3:车号是多少——推理
      • 4.4.1 设计过程讲解
      • 4.4.2 程序设计
      • 4.4.3 测试与判断
      • 4.4.4 进阶设计与思路点拨1:角谷猜想
    • 4.5 任务4:谁是罪犯——逻辑运算
      • 4.5.1 设计过程讲解
      • 4.5.2 程序设计
      • 4.5.3 测试与判断
      • 4.5.4 进阶设计与思路点拨2:新娘和新郞
    • 4.6 任务5:百鸡百钱——穷举、组合
      • 4.6.1 设计过程讲解、仿真
      • 4.6.2 程序设计
      • 4.6.3 测试与判断
      • 4.6.4 进阶设计与思路点拨3:换钱币
    • 4.7 任务6:冒泡排序——数组
      • 4.7.1 认识数组
      • 4.7.2 设计过程讲解、仿真
      • 4.7.3 程序设计
      • 4.7.4 进阶设计
    • 4.8 任务7:求解约瑟夫问题——结构数组
      • 4.8.1 结构体
      • 4.8.2 结构数组-班级学生信息表
      • 4.8.3 设计过程讲解、仿真
      • 4.8.4 程序设计
    • 4.9 局部、全局、外部变量--变量的时、空性
    • 4.10 小结
    • 4.11 测验4
    • 4.12 教材PDF
    • 4.13 补充阅读:比赛名次和凶手
  • 5 项目5:定时器/计数器、中断应用
    • 5.1 目标与知识技能要求
    • 5.2 中断系统简介
    • 5.3 任务1:用外中断干扰流水灯
      • 5.3.1 测试电路
      • 5.3.2 参考程序
      • 5.3.3 测试与进阶
    • 5.4 任务2:两中断干扰流水灯-中断优先级
      • 5.4.1 测试 电路
      • 5.4.2 参考程序
      • 5.4.3 测试与进阶
    • 5.5 任务3:多少个小球——计数器
      • 5.5.1 任务分析与思路
      • 5.5.2 单片机的计数器工作原理
      • 5.5.3 单个数码管应用
      • 5.5.4 测试电路
      • 5.5.5 程序设计
      • 5.5.6 测试与进阶
    • 5.6 任务4:定时产生2500Hz方法
      • 5.6.1 任务分析与构思
      • 5.6.2 测试电路
      • 5.6.3 程序设计
      • 5.6.4 测试与进阶
    • 5.7 任务5:长时间定时-static应用
      • 5.7.1 任务分析与构思
      • 5.7.2 参考电路
      • 5.7.3 程序设计
      • 5.7.4 测试与进阶
    • 5.8 任务6:T0定时产生不同频率的方波-推算公约数
      • 5.8.1 任务分析与构思
      • 5.8.2 测试电路
      • 5.8.3 程序设计
      • 5.8.4 测试与进阶
    • 5.9 任务7:测量正脉冲宽度
      • 5.9.1 任务分析与构思
      • 5.9.2 测试电路
      • 5.9.3 程序设计
      • 5.9.4 测试与进阶
      • 5.9.5 虚拟脉冲发生器应用
    • 5.10 任务8:键控PWM调光灯
      • 5.10.1 任务分析与构思
      • 5.10.2 测试电路
      • 5.10.3 程序设计
      • 5.10.4 测试与进阶
    • 5.11 测验5
    • 5.12 教材PDF
  • 6 项目6: 动态扫描技术应用
    • 6.1 目标与知识技能要求
    • 6.2 任务1:并联数码管显示生日
      • 6.2.1 任务分析与构思
      • 6.2.2 测试电路参考
        • 6.2.2.1 6联数码管简介
        • 6.2.2.2 74245手册
      • 6.2.3 程序构思与程序参考
        • 6.2.3.1 seg_dis.c
        • 6.2.3.2 dly_nms.h
        • 6.2.3.3 seg_dis.h
      • 6.2.4 测试与进阶
    • 6.3 任务2:可调时钟
      • 6.3.1 任务分析与构思
      • 6.3.2 测试电路参考
      • 6.3.3 程序构思与主程序  clk_led.c  参考
      • 6.3.4 测试与进阶
    • 6.4 任务3:多功能秒表——一键多用
      • 6.4.1 任务分析与构思
      • 6.4.2 测试电路参考
      • 6.4.3 程序构思 与主程序  mb.c  参考
      • 6.4.4 测试与进阶
    • 6.5 任务4:矩阵键盘识别
      • 6.5.1 任务分析与构思
      • 6.5.2 测试电路参考
      • 6.5.3 程序构思与程序参考
        • 6.5.3.1 keytest.c
        • 6.5.3.2 key16.h
      • 6.5.4 测试与进阶
    • 6.6 任务5:打地鼠游戏机设计
      • 6.6.1 任务分析与构思
      • 6.6.2 测试电路参考
      • 6.6.3 程序构思与主要程序 dishu.c  参考
      • 6.6.4 测试与进阶
    • 6.7 补充:指针及其应用
    • 6.8 测验6
    • 6.9 教材PDF
    • 6.10 小结
  • 7 项目7: 音乐门铃及串行通信
    • 7.1 目标与知识技能要求
    • 7.2 任务1:生日快乐歌
      • 7.2.1 任务分析与构思
      • 7.2.2 测试电路参考- 蜂鸣器简介与驱动
      • 7.2.3 程序构思与参考--music.c
        • 7.2.3.1 defn.h
        • 7.2.3.2 sondplay.c
      • 7.2.4 测试与进阶
    • 7.3 任务2:595串出3位数据-串口0方式应用
      • 7.3.1 任务分析与构思
      • 7.3.2 测试电路参考
      • 7.3.3 74HC 595简介
      • 7.3.4 串口简介
      • 7.3.5 程序构思与参考
      • 7.3.6 测试与进阶
    • 7.4 任务3:用595中行控制8*8点阵
      • 7.4.1 任务分析与构思
      • 7.4.2 测试电路参考
      • 7.4.3 程序构思与参考
      • 7.4.4 测试与进阶
      • 7.4.5 8*8点阵补充说明
        • 7.4.5.1 8*8仿真模型说明
        • 7.4.5.2 8*8实物简介
    • 7.5 任务4:双单片机间串行通信
      • 7.5.1 任务分析与构思
      • 7.5.2 测试电路参考
      • 7.5.3 程序构思与参考
      • 7.5.4 测试与进阶
      • 7.5.5 用串口调试助手监测目标板上的数据
    • 7.6 18B20测温
      • 7.6.1 任务分析与构思
      • 7.6.2 18B20简介
      • 7.6.3 程序构思与参考
        • 7.6.3.1 主程序
        • 7.6.3.2 延时程序
        • 7.6.3.3 测温程序
    • 7.7 测验7
  • 8 项目8:AD及DA接口应用
    • 8.1 目标与知识技能要求
    • 8.2 任务1:LCD显示的简易 电压表
      • 8.2.1 任务分析与构思
      • 8.2.2 测试电路参考
        • 8.2.2.1 LCD602 简介
        • 8.2.2.2 ADC0831 简介及程序设计
      • 8.2.3 程序构思与参考
        • 8.2.3.1 1602.h
        • 8.2.3.2 myhead.h
        • 8.2.3.3 dly_nms.h
        • 8.2.3.4 ADC0831.h
        • 8.2.3.5 ADC0831-1602.c
      • 8.2.4 测试与进阶
    • 8.3 任务2:简易波形发生器
      • 8.3.1 任务分析与构思
      • 8.3.2 测试电路参考
      • 8.3.3 程序构思与参考
      • 8.3.4 测试与进阶
      • 8.3.5 DAC0832- LM358 简介
        • 8.3.5.1 DAC0832简介
        • 8.3.5.2 运放LM358\LM324简介
    • 8.4 测验8
中断系统简介