描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121316609
任务1-1 控制1颗LED发光二极管闪烁 (1)
1.1 51单片机的引脚排列及其功能 (14)
1.2 单片机小应用系统 (15)
1.2.1 时钟电路 (15)
1.2.2 复位电路 (17)
习题1 (18)
项目2 单片机的内部结构及其存储系统 (19)
任务2-1 流水灯效果的实现 (19)
2.1 51单片机的内部结构 (21)
2.2 单片机的存储系统 (23)
2.2.1 数据存储器 (23)
2.2.2 程序存储器 (26)
习题2 (27)
项目3 认识单片机C语言 (30)
任务3-1 呼吸灯效果的实现 (30)
3.1 C51的数据类型及数据的存储 (32)
3.1.1 C51支持的数据类型 (32)
3.1.2 C51的存储类型及其与单片机存储空间的对应关系 (35)
3.1.3 C51的存储模式 (36)
3.1.4 C51的关键字 (38)
3.2 单片机C51基础 (38)
3.2.1 用#define和typedef定义类型别名 (38)
3.2.2 一些常见的运算符问题 (39)
3.2.3 文件包含 (40)
3.2.4 模块化编程基础 (40)
3.2.5 关于注释 (41)
3.2.6 C51中的延时函数及对应的延时时间 (42)
习题3 (43)
项目4 单片机的I/O口及其应用 (45)
任务4-1 数码管的显示控制实现 (45)
4.1 单片机I/O接口的内部结构及其功能 (47)
4.1.1 P0口 (47)
4.1.2 P1口 (49)
4.1.3 P2口 (50)
4.1.4 P3口 (50)
4.2 I/O口应用电路接口设计 (51)
4.2.1 驱动小功率发光二极管 (51)
4.2.2 驱动蜂鸣器发声 (52)
任务4-2 蜂鸣器发声控制 (52)
4.2.3 驱动继电器 (53)
4.2.4 控制数码管显示 (55)
任务4-3 应用单片机的I/O口控制4位数码管动态显示 (57)
习题4 (59)
项目5 认识单片机的定时器 (61)
任务5-1 数码管的显示控制实现 (61)
5.1 单片机定时/计数器的内部结构 (62)
5.2 单片机定时/计数器的工作方式 (65)
5.3 单片机定时/计数器的应用 (66)
任务5-2 利用单片机的定时器延时实现呼吸灯效果 (67)
习题5 (68)
项目6 认识单片机的中断 (71)
任务6-1 使用单片机的外部中断 71)
6.1 单片机中断的概念 (73)
6.2 单片机中断系统的结构 (74)
6.3 单片机中断的响应过程 (77)
6.4 中断函数的格式 (79)
6.5 中断的嵌套 (80)
6.6 中断的优点 (81)
任务6-2 学习使用单片机定时器中断 (81)
习题6 (82)
项目7 认识单片机的串行口 (85)
任务7-1 使用单片机的串行口进行数据的传输 (85)
7.1 串口通信基础知识 (90)
7.1.1 串行通信和并行通信 (90)
7.1.2 串行通信的分类及特点 (90)
7.2 单片机的串行口 (92)
7.3 单片机串行口的工作方式及波特率的约定 (94)
7.3.1 工作方式0 (94)
任务7-2 单片机串行口工作于方式0时的使用方式 (95)
7.3.2 工作方式1 (96)
任务7-3 单片机串行口工作于方式1时的使用方式 (97)
7.3.3 工作方式2和工作方式3 (99)
7.4 单片机串行口的应用编程 (101)
习题7 (101)
项目8 键盘接口技术基础 (103)
任务8-1 使用单片机的I/O口控制发光二极管的闪烁 (103)
8.1 独立式按键 (105)
8.2 矩阵式键盘 (106)
8.2.1 逐行扫描法 (106)
任务8-2 学习使用扫描法识别矩阵键盘的键值 (107)
8.2.2 线反转法 (112)
任务8-3 使用反转法识别键值并送数码管显示 (113)
习题8 (114)
项目9 基于状态机思想的按键识别 (115)
任务9-1 使用状态机实现对机械按键被按下的识别 (115)
9.1 状态机基础 (123)
9.2 应用状态机思想实现按键识别 (123)
9.3 应用状态机思想判断组合键 (124)
9.4 应用状态机实现按键长按及连发 (127)
习题9 (127)
项目10 LCD1602液晶屏显示技术 (128)
任务10-1 使用液晶屏LCD1602显示字符串 (128)
10.1 LCD1602液晶显示屏基础知识 (131)
10.1.1 LCD1602液晶显示屏的引脚结构 (131)
10.1.2 LCD1602的存储器结构 (132)
10.1.3 LCD1602的指令集 (133)
10.2 LCD1602与单片机的接口技术及其应用 (134)
习题10 (135)
项目11 LCD12864液晶屏显示技术 (136)
任务11-1 使用单片机控制LCD12864显示字符 (136)
11.1 LCD12864液晶显示屏基础知识 (139)
11.2 QC12864B的指令系统、读写时序及初始化流程 (141)
11.2.1 QC12864B的指令系统 (141)
11.2.2 QC12864B的读/写时序 (142)
11.2.3 对QC12864B的初始化 (143)
11.3 QC12864B的存储器结构 (143)
11.4 DDRAM、GDRAM与屏幕的映射关系 (145)
11.4.1 DDRAM与屏幕的映射关系 (145)
任务11-2 应用DDRAM在屏幕上显示汉字 (146)
11.4.2 GDRAM与屏幕的映射关系 (148)
任务11-3 熟悉GDRAM与屏幕的映射关系 (149)
11.5 QC12864B的其他应用 (152)
11.5.1 CGRAM及其应用 (152)
任务11-4 使用QC12864B的CGRAM显示汉字 (153)
11.5.2 全屏卷动(卷屏)的实现 (157)
任务11-5 使用QC12864B实现字幕滚动 (157)
11.5.3 反白效果的实现 (161)
任务11-6 QC12864B反白效果的实现 (161)
习题11 (164)
项目12 A/D和D/A转换技术的实现 (166)
任务12-1 使用ADC0809将模拟信号转换为数字信号 (166)
12.1 A/D转换 (169)
12.1.1 A/D转换概述 (169)
12.1.2 A/D转换芯片ADC0809 (170)
任务12-2 设计简易数字电压表 (172)
12.2 D/A转换 (180)
任务12-3 认识D/A转换 (180)
12.2.1 D/A转换概述 (181)
12.2.2 DAC0832的引脚结构及内部组成 (182)
12.2.3 DAC0832的输入数字量与输出电流的关系 (183)
12.2.4 DAC0832的主要技术参数 (184)
12.2.5 单片机与DAC0832的接口技术及其简单应用 (184)
任务12-4 设计锯齿波信号发生器 (185)
任务12-5 采用DAC0832实现两路信号的输出 (187)
习题12 (190)
项目13 温度传感器DS18B20 (191)
任务13-1 使用温度传感器DS18B20进行温度的测量 (191)
13.1 DS18B20基础知识 (197)
13.1.1 DS18B20的引脚结构 (198)
13.1.2 DS18B20的存储器结构 (198)
13.2 DS18B20与单片机系统的接口技术 (201)
13.2.1 单个DS18B20与单片机系统的连接 (201)
13.2.2 单片机读DS18B20所测得的温度 (201)
13.2.3 单片机读写DS18B20的时序 (202)
习题13 (205)
项目14 时钟芯片DS1302 (206)
任务14-1 使用时钟芯片DS1302记录时间 (206)
14.1 DS1302的基础知识 (211)
14.1.1 DS1302引脚结构 (212)
14.1.2 DS1302内部的存储单元 (212)
14.1.3 DS1302命令字 (212)
14.2 DS1302与单片机系统的接口技术 (213)
14.2.1 DS1302与单片机系统连接的硬件电路 (213)
14.2.2 DS1302读写时序及相关操作 (214)
习题14 (215)
项目15 设计可调电子钟 (216)
任务15-1 应用单片机的资源及外围设备进行综合设计 (216)
习题15 (235)
附录A Proteus仿真元件清单 (236)
参考文献 (237)
现代科学技术发展迅速,通用计算机的使用越来越普遍,但在很多设备的按键处理,一些简单的仪表控制、智能玩具和各种LED灯带中,还可以看到在大量应用的单片机。而且,物美价廉的单片机也一直朝着更低功耗、更快速度的方向进步。更为重要的是,作为一款入门级的处理器,通过对单片机的学习,学习者可以知道处理器是如何与外部电路互动的,这对学习更高级的处理器无疑有很大的帮助。所以,开设单片机的课程具有重要的意义。
本书从内容与方法、教与学等方面全方位体现了嵌入式应用的特点,这些特点主要包含以下几个方面。
1.完全从应用和职业岗位出发对全书内容进行组织和编排
目前的单片机在以下几个方面应用广泛:(1)按键的识别;(2)PWM调制;(3)中断;(4)控制LCD12864显示;(5)简单的仪表设计。在按键的识别方面,使用状态机方法比扫描法和反转法具有更高的效率,且组合键、连击、长按等有大量应用,为此,本书专门安排了2个案例对这些应用进行介绍。在PWM调制方面,目前市面所见的很多LED灯带使用单片机的PWM功能进行调制,为此,书中也安排了2个案例对PWM进行了学习。在中断的应用方面,书中对外部中断和定时器中断进行了重点介绍。在显示屏方面,LCD12864比LCD1602应用范围更广,基于此,我们安排了6个案例对LCD12864进行了全面的介绍和学习,这6个案例涵盖了LCD12864的绝大部分应用。在简单仪表设计方面,书中精心设计了1个可调电子钟案例来进行这方面的学习和介绍,读者可以通过这个案例和LCD12864中介绍的反白效果,开发出简单实用的嵌入式菜单。除了以上所列内容,针对常见的A/D和D/A转换、单总线、SPI总线的学习都做了专门介绍并有实例相对应。这些设计技术使单片机教学与职业岗位的要求一致。
2.从易学性和应用性出发,全书采用C语言进行教学,并引入模块化编程思想
应用C语言编写的程序直观易读、可移植性强,编程风格也更加人性化,有利于学生掌握和学习。同时,在实际的项目开发中,一个项目往往涉及多个模块的组合应用,为此,书中引入了模块化编程的思想。采用这种思想编程,程序的可读性和可移植性更好。为方便读者学习和理解,书中安排了4个案例来引导读者学习和掌握这种思想。
3.编写形式直观生动,内容连贯,可读性强
每个项目都有项目介绍,用于说明每个项目学习的是什么、需要使用什么工具以及该如何学习。另外,书中重要的源代码都配有详细的注释,方便读者阅读。
4.综合性和实用性更强
单片机的学习是对前面学习的模电、数电、C语言知识的综合运用,是嵌入式学习中软硬结合的步。尤其是C语言,可谓单片机学习的“命门”。本书针对C语言在单片机中的应用,专门列举了常见的应用问题,并给出了注释的规范。所以通过本书的学习,可以进一步巩固C语言知识,并提高综合应用这些知识解决实际问题的能力。另外,在所有的有菜单的项目的开发中不可避免要涉及菜单项的选择,这里面包含着按键移动的处理、反白效果的实现等功能,通过本书的后一个综合设计的学习,读者可以轻松掌握这方面的知识。
5.丰富的案例涵盖了单片机的大部分应用
本书针对各个知识点共安排了32个案例,这些案例涵盖了单片机学习的绝大部分应用。后,为了后续嵌入式学习的考虑,在书中亦安排了字模提取软件的内容。
本书由校企联合编写,参考学时数为80学时,在使用时可根据具体教学情况酌情增减。参与本书编写的人员主要有欧启标、邓云、刘建圻、赵振廷等。其中欧启标对本书的编写思路与大纲进行了总体策划,编写了本书的大部分内容并进行了统稿。邓云编写了项目5,刘建圻编写了项目8,赵振廷编写了项目10,欧启标编写了其余项目。学生郭林杰、黄存营、周善高、梁程、黄灏辉等对书中的程序进行了反复测试以确保其正确性,同时李建波、张永亮、黄练、熊冬青、赵金洪等老师也给予了大力支持和帮助,在此表示感谢。广东祥新光电科技有限公司的工程师吴良年为串口通信、状态机、DS18B20以及后的综合设计提供了大量的企业参考案例,在此一并表示感谢。
为了方便教学,本书配有免费的电子教学课件和习题答案、C语言源程序等资料,请有需要的读者登录华信教育资源网(www.hxedu.com.cn)免费注册后下载,如果需要其他教学资源,可以联系作者(邮箱:[email protected])索取。另外,书中部分项目使用了Proteus仿真元件,相关信息可以参考附录A。
由于时间紧迫和编者水平有限,书中的错误和缺点在所难免,热忱欢迎各位读者对本书提出批评与建议。
编 者
评论
还没有评论。