为你推荐
内容简介
前言
项目1 认识编程载体——单片机和编程开发环境
1.1 单片机的应用及主要类型
1.2 单片机的外形与框架
1.2.1 内部结构框图和主要部件
1.2.2 引脚:数据输入/输出通道
1.3 C51语言及其开发环境简介
1.3.1 C语言的历史及特点
1.3.2 C51的KeilμVision开发环境简介
1.4 任务1:Keil C应用入门——单片机输出“Hello C51”
1.4.1 建立工程、设计程序、编译
1.4.2 Keil的初步调试:查看串口输出“Hello C51”
1.5 结构化程序设计——建立函数概念
1.5.1 仅由main()函数构成的C语言程序
1.5.2 由main()函数和max()函数构成的C语言程序
1.5.3 C51程序的一般结构
1.5.4 规范书写程序语句
1.5.5 程序设计流程
1.6 单片机硬件知识补充
1.6.1 存储器:永久程序和临时数据的住所
1.6.2 I/O(输入/输出)口结构、功能
1.6.3 I/O口的负载能力
1.6.4 STC89系列单片机新增资源及I/O口驱动能力举例
1.7 知识小结
习题与思考1
项目2 多变的花样灯
2.1 任务1:点亮一个灯
2.1.1 一个引脚定义和应用
2.1.2 定义一组引脚,输入/输出1字节数据
2.1.3 亮灯逻辑
2.1.4 Proteus界面与元器件操作
2.1.5 亮一个LED的电路、程序设计
2.1.6 编译、代码下载、仿真、测判
2.1.7 STC单片机代码下载
2.1.8 实物制作与上电测试
2.1.9 进阶设计与思路点拨1:亮多个灯
2.1.10 进阶设计与思路点拨2:用BCD数码管显示自己的学号
2.2 任务2:有规律变化的花样灯——亮点流动
2.2.1 任务要求与分析
2.2.2 头文件reg51.h解读
2.2.3 流程与程序设计——一个亮点流动
2.2.4 编译、代码下载、仿真、测判
2.2.5 应用移位函数_crol_设计亮点流动程序
2.3 任务3:有规律变化的花样灯——一一亮灯
2.3.1 任务要求与分析
2.3.2 用“位”运算符实现一一亮灯
2.3.3 预处理:条件编译#if、#else、#endif等
2.3.4 设计延时函数头文件“dly05s.h”
2.3.5 流程与程序设计
2.3.6 编译、代码下载、仿真、测判
2.3.7 进阶设计与思路点拨3:1~8个灯逐一熄灭
2.4 任务4:有规律变化的花样灯——高/低4位交替闪烁
2.4.1 任务要求与分析
2.4.2 流程与程序设计
2.4.3 编译、代码下载、仿真、测判
2.4.4 进阶设计与思路点拨4:用“>>”“<<”实现两个亮点相向和相背运动
2.4.5 进阶设计与思路点拨5:用移位函数实现两个亮点相向运动
2.4.6 进阶设计与思路点拨6:用移位函数实现两个亮点相背运动
2.5 任务5:三种效果的花样灯设计
2.5.1 任务与要求
2.5.2 流程与程序设计
2.5.3 编译、代码下载、仿真、测判
2.5.4 在Keil中进行延时程序调试
2.6 算术运算、赋值运算
2.6.1 算术运算
2.6.2 赋值及复合赋值运算
2.7 初识函数
2.7.1 函数格式
2.7.2 函数调用中参数的传递
2.7.3 自定义函数的声明
2.7.4 预处理:#include引用库、自定义函数
2.7.5 设计变时长的延时函数头文件Dly_nms.h
2.7.6 进阶设计与思路点拨7:变速流水灯
2.8 知识小结
习题与思考2
项目3 键控花样灯
3.1 任务1:键控花样灯1(用if语句实现)
3.1.1 任务要求与分析
3.1.2 if条件语句的结构
3.1.3 关系运算符和关系表达式
3.1.4 流程及程序设计
3.1.5 编译、代码下载、仿真、测判
3.2 任务2:键控花样灯2(用if-else语句实现)
3.2.1 任务要求与分析
3.2.2 流程及程序设计
3.2.3 编译、代码下载、仿真、测判
3.3 任务3:键控花样灯3(用if-else-if多分支语句实现)
3.3.1 任务要求与分析
3.3.2 流程及程序设计
3.3.3 编译、代码下载、仿真、测判
3.4 任务4:键控花样灯4(用if嵌套语句实现)
3.4.1 任务要求与分析
3.4.2 if语句嵌套
3.4.3 流程及程序设计
3.4.4 编译、代码下载、仿真、测判
3.5 任务5:键控花样灯5(用switch多分支语句实现)
3.5.1 任务要求与分析
3.5.2 switch语句
3.5.3 流程与程序设计
3.5.4 编译、代码下载、仿真、测判
3.5.5 加载*.omf代码文件,实施Proteus单步调试
3.5.6 进阶设计与思路点拨1
3.6 任务6:学习循环结构,求□
3.6.1 goto语句
3.6.2 while语句
3.6.3 do-while语句
3.6.4 for语句
3.6.5 循环结构的嵌套与跳转
3.6.6 break语句
3.6.7 continue语句
3.7 任务7:键控花样灯6(用for、while语句实现)
3.7.1 任务要求与分析
3.7.2 流程与程序设计
3.7.3 编译、代码下载、仿真、测判
3.7.4 进阶设计与思路点拨2
3.8 任务8:键控花样灯7(用for、break语句实现)
3.8.1 任务要求与分析
3.8.2 流程与程序设计
3.8.3 编译、代码下载、仿真、测判
3.8.4 将break改成continue的变化
3.9 任务9:一位示意计数器设计
3.9.1 任务要求与分析
3.9.2 流程与程序设计
3.9.3 编译、代码下载、仿真、测判
3.9.4 进阶设计与思路点拨3:两位示意计数器设计
3.9.5 进阶设计与思路点拨4:两位十进制计数器设计
3.10 知识小结
习题与思考3
项目4 逻辑思维训练
4.1 任务1:用printf语句输出各种类型数据
4.1.1 数据是对描述对象的数学抽象
4.1.2 C51的数据类型
4.1.3 标识符与关键字
4.1.4 常量与变量
4.1.5 宏定义(#define)、数据类型的重新命名(typedef)
4.1.6 C51的输入/输出函数
4.1.7 从单片机串口输出各种数据
4.1.8 数据的存储器类型
4.1.9 C51变量的存储模式(编译模式)
4.1.10 在Keil中查看各变量的存储地址及数值
4.2 任务2:歌星大赛计分——简单统计运算
4.2.1 任务要求与分析
4.2.2 算法设计
4.2.3 流程与程序设计
4.2.4 Proteus串口输出测试电路设计
4.2.5 编译、代码下载、仿真、测判
4.3 任务3:求车号是多少——推理
4.3.1 任务要求与分析
4.3.2 推理过程与算法设计
4.3.3 外部函数serial_init()调用——以关键字extern声明
4.3.4 流程与程序设计
4.3.5 编译、代码下载、仿真、测判
4.3.6 进阶设计与思路点拨1:角谷猜想
4.4 任务4:谁是罪犯——逻辑运算
4.4.1 任务要求与分析
4.4.2 逻辑运算、条件运算
4.4.3 算法设计
4.4.4 流程与程序设计
4.4.5 编译、代码下载、仿真、测判
4.4.6 进阶设计与思路点拨2:新娘和新郎
4.5 任务5:百钱百鸡问题——穷举、组合
4.5.1 任务要求与分析
4.5.2 算法设计
4.5.3 流程与程序设计
4.5.4 编译、代码下载、仿真、测判
4.5.5 进阶设计与思路点拨3:换钱币
4.6 任务6:数据从小到大排序——数组应用
4.6.1 任务要求与分析
4.6.2 数组
4.6.3 算法设计
4.6.4 流程与程序设计
4.6.5 编译、代码下载、仿真、测判
4.6.6 进阶设计与思路点拨4:从大到小排序
4.7 任务7:求解约瑟夫问题——结构数组应用
4.7.1 任务要求与分析
4.7.2 结构体、结构数组
4.7.3 算法设计
4.7.4 流程与程序设计
4.7.5 编译、代码下载、仿真、测判
4.7.6 进阶设计与思路点拨5:数3出局
4.8 局部变量、全局变量、外部变量
4.9 知识小结
习题与思考4
项目5 定时器/计数器、中断应用
5.1 任务1:用外中断干扰流水灯
5.1.1 任务要求与分析
5.1.2 中断系统简介
5.1.3 中断控制寄存器
5.1.4 中断过程
5.1.5 清除中断请求的补充
5.1.6 中断函数的编写
5.1.7 算法设计
5.1.8 程序设计
5.1.9 编译、代码下载、仿真、测判
5.2 任务2:两个外中断干扰流水灯
5.2.1 任务要求与分析
5.2.2 中断嵌套
5.2.3 程序设计
5.2.4 编译、代码下载、仿真、测判
5.2.5 进阶设计1
5.3 任务3:多少个小球——计数器应用
5.3.1 任务要求与分析
5.3.2 定时器/计数器T0、T1
5.3.3 定时器/计数器的控制及工作方式
5.3.4 定时器/计数器的计数容量及初值
5.3.5 定时器/计数器应用的基本步骤
5.3.6 认识数码管、设计电路
5.3.7 子任务:用单个数码管循环显示手机短号
5.3.8 算法与程序设计
5.3.9 编译、代码下载、仿真、测判
5.3.10 进阶设计2:如何显示999个小球
5.3.11 虚拟数字时钟信号□应用
5.4 任务4:定时产生2500Hz方波
5.4.1 任务要求与分析
5.4.2 算法设计
5.4.3 查询方式下程序流程及程序设计
5.4.4 用虚拟示波器观测信号周期
5.4.5 定时中断方式下程序设计
5.4.6 编译、代码下载、仿真、测判
5.4.7 听单片机发声
5.5 任务5:秒闪灯——长时间定时(应用static)
5.5.1 任务要求与分析
5.5.2 算法设计
5.5.3 程序设计
5.5.4 C51变量的存储类型
5.5.5 编译、代码下载、仿真、测判
5.5.6 进阶设计3:看谁耳尖手快——反应时间测试
5.5.7 进阶设计4:可反复测试反应时间的设计
5.6 任务6:T0定时产生不同频率的方波(推算公约数)
5.6.1 任务要求与分析
5.6.2 算法设计
5.6.3 程序流程及程序设计
5.6.4 编译、代码下载、仿真、测判
5.6.5 进阶设计5:矩形波设计
5.7 任务7:测量正脉冲宽度(巧用GATE位)
5.7.1 任务要求与分析
5.7.2 算法设计
5.7.3 程序流程及程序设计
5.7.4 编译、代码下载、仿真、测判
5.7.5 虚拟脉冲发生器□应用
5.7.6 进阶设计6:测量负脉冲的宽度
5.8 任务8:键控PWM调光灯
5.8.1 任务要求与分析
5.8.2 算法设计
5.8.3 程序流程及程序设计
5.8.4 编译、代码下载、仿真、测判
5.8.5 进阶设计7:呼吸灯
5.9 知识小结
习题与思考5
项目6 动态扫描技术的应用
6.1 任务1:并联数码管显示生日
6.1.1 任务要求与分析
6.1.2 算法设计
6.1.3 程序结构设计
6.1.4 流程与程序设计
6.1.5 编译、代码下载、仿真、测判
6.1.6 进阶设计1:轮流显示生日与手机短号
6.2 任务2:可调时钟
6.2.1 任务要求与分析
6.2.2 算法设计
6.2.3 程序结构设计
6.2.4 流程与程序设计
6.2.5 编译、代码下载、仿真、测判
6.2.6 进阶设计2:设计12小时制的时钟
6.3 任务3:多功能秒表——一键多功能
6.3.1 任务要求与分析
6.3.2 算法设计
6.3.3 程序结构设计
6.3.4 流程与程序设计
6.3.5 编译、代码下载、仿真、测判
6.4 任务4:矩阵键盘识别
6.4.1 任务要求与分析
6.4.2 电路设计
6.4.3 算法设计
6.4.4 程序结构设计
6.4.5 程序设计:key16.h
6.4.6 编译、代码下载、仿真、测判
6.4.7 进阶设计3:以七段数码管显示键值
6.5 任务5:打地鼠游戏设计
6.5.1 任务要求与分析
6.5.2 算法设计
6.5.3 程序结构设计
6.5.4 流程与程序设计
6.5.5 编译、代码下载、仿真、测判
6.5.6 进阶设计4:竞级打地鼠游戏设计
6.6 指针及其应用
6.6.1 为什么要设置指针
6.6.2 指针的运算符、定义
6.6.3 应用指针作为参数实现“传址”
6.6.4 指针与数组
6.6.5 指针与函数
6.7 知识小结
习题与思考6
项目7 音乐门铃及串行数据传输
7.1 任务1:生日快乐歌
7.1.1 任务要求与分析
7.1.2 音乐数据准备
7.1.3 程序结构设计
7.1.4 程序设计
7.1.5 编译、代码下载、仿真、测判
7.1.6 无线音乐门铃
7.2 任务2:用74HC595串出3位数据
7.2.1 任务要求与分析
7.2.2 74HC595简介
7.2.3 单片机串口通信简介
7.2.4 程序框架及程序设计
7.2.5 编译、代码下载、仿真、测判
7.2.6 进阶设计1:串出自己的手机长号数字
7.3 任务3:用74HC595串行控制8×8点阵显示I♥U
7.3.1 任务要求与分析
7.3.2 程序框架与程序设计
7.3.3 编译、代码下载、仿真、测判
7.3.4 进阶设计2:我的点阵图形设计
7.3.5 进阶设计3:人行道点阵小人指示灯设计
7.4 任务4:双单片机间串行通信
7.4.1 任务要求与分析
7.4.2 串口工作方式1及波特率计算
7.4.3 程序框架及程序设计
7.4.4 编译、代码下载、仿真、测判
7.4.5 用串口调试助手监测目标板上的数据
7.5 任务5:用单总线接口元件DS18B20测温
7.5.1 任务要求与分析
7.5.2 DS18B20简介
7.5.3 程序框架及程序设计
7.5.4 编译、代码下载、仿真、测判
7.6 知识小结
习题与思考7
项目8 A/D及D/A接口应用
8.1 任务1:LCD显示的简易电压表
8.1.1 任务要求与分析
8.1.2 程序规划
8.1.3 LCM1602简介
8.1.4 LCD显示的头文件lcd1602.h设计
8.1.5 ADC0831简介及时序
8.1.6 ADC0831的头文件adc0831.h设计
8.1.7 C51对存储器和外设的绝对地址访问
8.1.9 编译、代码下载、仿真、测判
8.1.10 进阶设计1:在LCD上显示自己的姓名、学号
8.2 任务2:简易波形发生器
8.2.1 任务要求与分析
8.2.2 DAC0832简介
8.2.3 程序流程与程序设计
8.2.4 编译、代码下载、仿真、测判
8.2.5 进阶设计2:设计一可调频率1~20kHz的方波发生器
8.3 知识小结
习题与思考8
附录A 开发板电路原理图、使用说明
附录B C51程序设计实践报告要求
附录C C51的运算符优先级及结合性
参考文献
反侵权盗版声明
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜