热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点

单片机应用技术项目教程(C语言版)

中国水利水电出版社
    【作 者】郭志勇 【I S B N 】978-7-5084-8051-0 【责任编辑】宋俊娥 【适用读者群】高职高专 【出版时间】2010-11-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】 【千字数】432 【印 张】17.75 【定 价】30 【丛 书】高职高专教育“十二五”规划教材 【备注信息】教育部高等学校高职高专计算机类专业教学指导委员会优秀教材
图书详情

    本书由学校骨干教师、项目研发人员和高新企业的工程师共同编写。本书采用“项目驱动”的编写思路,从职业岗位技能出发,分为技能基础篇和技能提高篇,共有11个项目28个工作模块以及两个课程设计范例。

    在技能基础篇中,注重职业岗位的基本技能训练,主要介绍单片机硬件系统、单片机开发系统、单片机并行端口应用、定时与中断系统、显示与键盘接口技术、A/D与D/A转换接口、串行接口通信技术以及单片机应用系统设计方法等内容;在技能提高篇中,注重职业岗位的开发技能训练,主要介绍键盘控制电机方向和转速、多路温度采集监控系统、按键设置液晶电子钟、16×32LED点阵显示设计与实现等单片机产品开发方法、关键知识以及这些项目的设计与实现,可以作为学生的课程设计。其中技能提高篇中的部分项目,可作为“中级嵌入式系统硬件设计工程师(单片机)”认证教材。两个课程设计范例分别是双向四车道交通灯和出租车计价器。

    本书适用作为高职高专院校计算机应用技术、电子信息、机电等相关专业单片机技术课程的教材,也可作为广大电子制作爱好者的自学用书。

    本书以解决实际项目的思路和操作为编写主线,采用“项目驱动”的编写思路,贯穿多个知识点,突出技能培养在课程中的主体地位。

    本书内容与职业岗位标准密切接轨,根据中级嵌入式系统硬件设计工程师(单片机)认证的要求,涉及必须掌握的关键知识点、基本技能以及单片机产品制作与调试等方面的内容,可以作为“中级嵌入式系统硬件设计工程师(单片机)”认证教材。

    注重采用企业真实工作任务、贴近企业职业岗位实际需求。本书既适合教学,又符合企业实际工作需要。

    打破了传统教材原有界限,与职业岗位基本技能融合在一起,引入Proteus仿真软件,采用C语言编程,将学生从单片机复杂的硬件结构中解放出来,侧重高职院校学生技能和动手能力的锻炼,实现了在计算机上完成单片机电路设计、软件设计及调试与仿真。真正实现了从概念到产品的完整设计,使学生理解和掌握从概念到产品的完整过程。

    教学资源丰富,配备课程教学网站,提供电子教案、实训项目、源代码和仿真电路、技能大赛作品、学生作品、课程设计、校企合作资源及相关其他素材等。

    《单片机应用技术项目教程(C语言版)》顺应现代高等教育指导思想的变革,突出技能培养在课程中的主体地位,用工作任务来引领理论,使理论从属于技能实践。本书可作为高职高专院校计算机应用技术、电子信息、机电等相关专业单片机技术课程的教材,也可作为广大电子制作爱好者的自学用书。

    本书主要特色如下:

    1.采用“项目驱动”的编写思路,突出技能培养在课程中的主体地位

    本书以解决实际项目的思路和操作为编写主线,贯穿多个知识点,用工作模块来引领理论,使理论从属于技能培养。教会学生如何完成工作任务,关注学生能做什么,而不是知道什么,知识、技能的学习结合工作任务的完成过程来进行。

    2.与职业岗位标准接轨,已获得行业协会认可,作为认证教材,具有独特的“双证书”特色

    本书内容与职业岗位标准密切接轨,部分项目由中国软件行业协会嵌入式系统分会的工程师编写,根据中级嵌入式系统硬件设计工程师(单片机)认证的要求,涉及必须掌握的关键知识点、基本技能以及单片机产品制作与调试等方面的内容,本书已获得中国软件行业协会嵌入式系统分会认可,作为“中级嵌入式系统硬件设计工程师(单片机)”认证教材。

    学习本书后,由中国软件行业协会嵌入式系统分会进行考核(或经中国软件行业协会嵌入式系统分会认可,由学校进行考核)。考核合格的,可以申请中国软件行业协会嵌入式系统分会的“中级嵌入式系统硬件设计工程师(单片机)”证书。该证书可以作为专业技术人员职业能力考核的证明,以及岗位聘用的重要依据。

    3.既适合教学,又符合企业实际工作需要

    注重采用企业真实工作任务、贴近企业职业岗位实际需求。本书在拉近单片机教学与职业岗位需求距离的同时,兼顾知识的系统性和完整性。本书既适合教学,又符合企业实际工作需要。

    4.全新的仿真教学模式,C语言编程

    打破了传统教材原有界限,与职业岗位基本技能融合在一起,引入Proteus仿真软件,采用C语言编程,将学生从单片机复杂的硬件结构中解放出来,侧重高职院校学生技能和动手能力的锻炼,实现了在计算机上完成单片机电路设计、软件设计及调试与仿真。真正实现了从概念到产品的完整设计,使学生理解和掌握从概念到产品的完整过程。

    5.教学资源丰富,提供教学支持及服务

    课程教学网站提供支持,包括电子教案、实训项目、源代码和仿真电路、技能大赛作品、学生作品、课程设计、校企合作资源及相关其他素材等。

    本书由学校骨干教师、项目研发人员和高新企业的工程师共同编写。采用“项目驱动”的编写思路,从职业岗位技能出发,分为技能基础篇和技能提高篇,共有11个项目28个工作模块以及两个课程设计范例。

    在技能基础篇中,注重职业岗位的基本技能训练。主要介绍单片机硬件系统、单片机开发系统、单片机并行端口应用、定时与中断系统、显示与键盘接口技术、A/D与D/A转换接口、串行接口通信技术以及单片机应用系统设计方法等内容;在技能提高篇中,注重职业岗位的开发技能训练,主要介绍键盘控制电机方向和转速、多路温度采集监控系统、按键设置液晶电子钟、16×32 LED点阵显示设计与实现等单片机产品开发方法、关键知识以及这些项目的设计与实现,可以作为学生的课程设计。其中技能提高篇中的部分项目,可作为“中级嵌入式系统硬件设计工程师(单片机)”认证教材。两个课程设计范例分别是双向四车道交通灯和出租车计价器。

    本书由郭志勇任主编,王韦伟任副主编。郭志勇对本书的编写思路与大纲进行了总体规划,指导全书的编写,承担全书的各个项目连贯性及统稿。项目一和项目六由郭志勇编写,项目二和项目十由王韦伟编写,项目三和项目八由巩雪洁编写,项目五和项目九由李健编写,项目七和课程设计范例一由李自成编写,项目四和课程设计范例二由程淑玉编写,项目十一由林艺春编写。参加本书电路调试、程序调试、素材收集、校对等工作的还有张长井、杨振宇、郭雨、王大灵、郭丽、赵露、蔡瑞瑞等。

    为了方便教师教学,本书配有电子教学课件、习题参考答案、C语言源程序代码和Proteus仿真电路。读者也可以通过该课程教学网站(http://www1.avceit.cn/jisuanji/ktzi.html)获得教材的技能训练、技能拓展、问题与讨论、所有源代码和仿真电路,以及学生的实训项目、课程设计项目作品和技能大赛作品。还可以与作者联系(adzgzy@163.com),获取更多教学服务支持。

    本课程采用“教、学、做”一体化,参考学时如下表所示,读者可根据实际教学情况增减。

    本课程参考学时

    项目 参考学时

    技能基础篇

    (共64学时) 项目一 发光二极管LED控制 8

    项目二 LED循环点亮控制 10

    项目三 数码管显示控制 10

    项目四 键盘的设计与实现 10

    项目五 定时/计数器综合应用 8

    项目六 模拟量输入输出设计与实现 8

    项目七 单片机串行通信设计与实现 10

    技能提高篇

    (任选) 项目八 键盘控制电机方向和转速 6

    项目九 按键设置液晶电子钟 8

    项目十 8路温度采集监控系统 8

    项目十一 点阵显示设计与实现 12

    由于时间紧迫和编者水平有限,书中难免会有错误和不妥之处,敬请广大读者和专家批评指正。

    编 者

    2010年10月

    前言

    项目一 发光二极管LED控制 1
    1.1 工作模块1 点亮一个LED 1
    1.1.1 用Proteus设计第一个LED控制电路 1
    1.1.2 用Keil C51设计第一个C语言
    LED控制程序 5
    1.1.3 用Proteus仿真运行调试 8
    1.2 认识单片机 9
    1.2.1 单片机概述 9
    1.2.2 AT89S52单片机结构 13
    1.2.3 AT89S52单片机引脚功能 14
    1.2.4 AT89S52单片机最小系统 15
    【技能训练1-1】单片机最小系统应用——
    开关控制LED点亮 17
    1.3 工作模块2 LED闪烁控制 18
    1.3.1 LED闪烁控制设计与实现 18
    1.3.2 C语言程序的基本构成 20
    1.3.3 C语言基本语句 22
    1.4 技能拓展 音频控制应用 23
    1.4.1 音频控制电路 23
    1.4.2 音频控制程序 24
    【技能训练1-2】报警产生器 24
    关键知识点小结 25
    问题与讨论 26
    项目二 LED循环点亮控制 27
    2.1 工作模块3 LED循环点亮控制 27
    2.1.1 LED循环点亮电路设计 27
    2.1.2 LED循环点亮程序设计 28
    2.1.3 并行I/O端口电路 29
    【技能训练2-1】P0口外接上拉电阻 32
    2.2 MCS-51单片机内存空间 33
    2.2.1 数据存储器 34
    2.2.2 特殊功能寄存器 35
    2.2.3 “头文件包含”处理 38
    2.2.4 程序存储器 39
    2.3 工作模块4 开关控制LED循环点亮 41
    2.3.1 开关控制LED循环点亮电路设计 41
    2.3.2 开关控制LED循环点亮程序设计 41
    2.3.3 C51数据类型 42
    2.3.4 C语言常量与变量 45
    2.4 工作模块5 步进电机控制 47
    2.4.1 认识步进电机 47
    2.4.2 步进电机控制电路设计 48
    2.4.3 步进电机控制程序设计 49
    2.5 技能拓展 ULN2003A驱动器应用 50
    2.5.1 ULN2003A的特点 50
    2.5.2 ULN2003A的引脚功能 51
    【技能训练2-2】单片机驱动继电器
    电路设计 51
    关键知识点小结 52
    问题与讨论 53
    项目三 数码管显示控制 54
    3.1 工作模块6 数码管循环显示0~9 54
    3.1.1 认识数码管 54
    3.1.2 数码管循环显示0~9电路设计 56
    3.1.3 数码管显示程序设计 57
    【技能训练3-1】共阳极LED数码管应用 58
    3.2 C语言语句结构 59
    3.2.1 关系运算符和关系表达式 59
    3.2.2 逻辑运算符和逻辑表达式 59
    3.2.3 if语句 60
    3.2.4 switch语句 62
    3.2.5 循环结构控制语句 63
    3.2.6 break语句和continue语句 65
    3.3 工作模块7 多个数码管动态扫描显示 66
    3.3.1 多个数码管动态显示电路设计 66
    3.3.2 多个数码管动态显示程序设计 67
    3.3.3 C语言数组 68
    3.4 工作模块8 0~99计数显示
    (静态显示) 70
    3.4.1 0~99计数显示电路设计 70
    3.4.2 0~99计数显示程序设计 71
    3.4.3 C语言函数 72
    3.5 技能拓展 7段字型译码器74LS47应用 74
    3.5.1 认识74LS47 74
    3.5.2 74LS47引脚功能 75
    【技能训练3-2】使用74LS47实现0~99
    计数显示 75
    关键知识点小结 76
    问题与讨论 77
    项目四 键盘的设计与实现 78
    4.1 工作模块9 独立式键盘设计与实现 78
    4.1.1 认识键盘 78
    4.1.2 独立式键盘电路设计 79
    4.1.3 独立式键盘程序设计 79
    4.1.4 键盘防抖动措施 81
    【技能训练4-1】一键多功能按键识别
    设计与实现 82
    4.2 工作模块10 矩阵式键盘设计与实现 84
    4.2.1 矩阵式键盘的结构与原理 84
    4.2.2 矩阵式键盘电路设计 85
    4.2.3 矩阵式键盘程序设计 86
    4.3 工作模块11 中断方式矩阵键盘 88
    4.3.1 中断概念 88
    4.3.2 中断方式矩阵键盘电路设计 89
    4.3.3 中断方式矩阵键盘程序设计 89
    4.4 MCS-51单片机中断系统 90
    4.4.1 单片机中断源 90
    4.4.2 中断系统结构 91
    4.4.3 中断有关的4个特殊功能寄存器 92
    4.4.4 中断处理过程 94
    4.4.5 C语言中断服务函数 97
    4.5 技能拓展 外部中断源的扩展 98
    4.5.1 用定时器扩展外部中断源 98
    4.5.2 中断加查询的扩展方法 98
    【技能训练4-2】利用外部中断0扩展
    4个外部中断 99
    关键知识点小结 100
    问题与讨论 101
    项目五 定时/计数器综合应用 102
    5.1 工作模块12 生产线自动打包系统 102
    5.1.1 认识定时器/计数器 102
    5.1.2 生产线自动打包控制电路 104
    5.1.3 生产线自动打包控制程序 105
    5.2 工作模块13 霓虹灯控制系统 106
    5.2.1 定时器/计数器工作方式 106
    5.2.2 定时器/计数器有关寄存器 108
    5.2.3 霓虹灯控制系统设计与实现 109
    【技能训练5-1】0~59秒数码显示
    (定时器) 111
    5.3 工作模块14 电子钟设计与实现 113
    5.3.1 电子钟电路设计 113
    5.3.2 电子钟程序设计 115
    5.4 技能拓展 INTRINS.H头文件的应用 116
    5.4.1 _crol_、_irol_和_lrol_函数 116
    5.4.2 _cror_、_iror_和_lror_函数 117
    5.4.3 _nop_函数 117
    5.4.4 _testbit_函数 117
    【技能训练5-2】用_crol_函数实现LED
    循环点亮 118
    关键知识点小结 118
    问题与讨论 119
    项目六 模拟量输入输出设计与实现 120
    6.1 工作模块15 模数转换LED显示 120
    6.1.1 模拟量输入输出概述 120
    6.1.2 模数转换LED显示电路 121
    6.1.3 模数转换LED显示程序 121
    6.2 ADC0808/ADC0809模数转换器 122
    6.2.1 认识ADC0808/ADC0809
    模数转换器 122
    6.2.2 ADC0808/ADC0809结构及引脚 123
    6.2.3 ADC0808/ADC0809工作过程及
    编程方法 125
    【技能训练6-1】采用中断方式完成模数
    转换LED显示 125
    6.3 工作模块16 数字电压表设计与实现 127
    6.3.1 数字电压表电路设计 127
    6.3.2 数字电压表程序设计 128
    6.3.3 C语言结构体类型 129
    6.3.4 结构体数组 131
    【技能训练6-2】结构体数组的应用 132
    6.4 工作模块17 信号发生器设计与实现 132
    6.4.1 认识DAC0832数模转换器 133
    6.4.2 信号发生器电路设计 135
    6.4.3 信号发生器程序设计 136
    6.5 技能拓展 直流电机转速控制 137
    6.5.1 什么是PWM 138
    6.5.2 占空比 138
    6.5.3 直流电机转速控制 138
    【技能训练6-3】基于ADC0808/0809
    的直流电机转速控制 138
    关键知识点小结 139
    问题与讨论 140
    项目七 单片机串行通信设计与实现 142
    7.1 工作模块18 单片机点对点数据传输 142
    7.1.1 串行通信基本知识 142
    7.1.2 单片机点对点数据传输电路设计 145
    7.1.3 单片机扩展I/O口程序设计 146
    7.2 工作模块19 水塔水位单片机远程
    监控系统 147
    7.2.1 单片机串行口结构 147
    7.2.2 串行通信设置 149
    7.2.3 水塔水位单片机远程监控电路设计 151
    7.3 工作模块20 单片机点对多数据传输 155
    7.3.1 MCS-51多机通信技术 155
    7.3.2 单片机点对多数据传输电路设计 156
    7.3.3 单片机点对多数据传输程序设计 157
    【技能训练7-1】单片机串行口扩展I/O
    口电路设计 160
    7.4 技能拓展 RS-485串行接口应用 162
    【技能训练7-2】全双工RS-485连接电
    路设计与实现 163
    关键知识点小结 163
    问题与讨论 164
    项目八 键盘控制电机方向和转速 166
    8.1 单片机产品开发 166
    8.1.1 单片机产品的结构 166
    8.1.2 单片机产品开发流程 167
    8.2 工作模块21 步进电机控制系统设计
    与实现 169
    8.2.1 步进电机控制技术 170
    8.2.2 步进电机控制系统电路设计 170
    8.2.3 步进电机控制系统程序设计 171
    8.3 工作模块22 直流电机控制系统设计
    与实现 174
    8.3.1 直流电机控制技术 174
    8.3.2 直流电机控制系统电路设计 175
    8.3.3 直流电机控制系统程序设计 176
    8.4 技能拓展 步进电机智能控制 179
    8.4.1 步进电机智能控制思路 179
    8.4.2 步进电机智能控制组成 180
    【技能训练8-1】步进电机智能控制设计 180
    关键知识点小结 181
    问题与讨论 182
    项目九 按键设置液晶电子钟 183
    9.1 RT12864阵型液晶显示模块 183
    9.1.1 认识RT12864液晶屏 183
    9.1.2 RT12864液晶显示模块内部结构 185
    9.1.3 控制指令及相应代码 186
    9.2 工作模块23 液晶电子钟电路设计
    与实现 188
    9.2.1 按键设置电路设计 189
    9.2.2 液晶显示电路设计 189
    9.2.3 按键设置液晶电子钟电路设计 189
    9.3 工作模块24 液晶电子钟程序设计
    与实现 191
    9.3.1 按键设置程序设计 191
    9.3.2 时间程序设计 194
    9.3.3 液晶显示程序设计 195
    9.4 技能拓展 DS1302时钟芯片的应用 201
    9.4.1 认识DS1302 201
    9.4.2 DS1302寄存器 201
    【技能训练9-1】使用DS1302芯片实现液晶
    电子钟电路设计 202
    关键知识点小结 203
    问题与讨论 204
    项目十 8路温度采集监控系统 205
    10.1 DS18B20温度传感器 205
    10.1.1 认识DS18B20 205
    10.1.2 DS18B20内部结构及功能 207
    10.1.3 DS18B20通信协议 209
    10.2 工作模块25 8路温度采集监控
    电路设计 212
    10.2.1 温度采集电路设计 212
    10.2.2 监控电路设计 212
    10.2.3 8路温度采集监控电路设计与实现 213
    10.3 工作模块26 8路温度采集监控
    程序设计 214
    10.3.1 键盘处理程序设计 214
    10.3.2 8路温度采集程序设计 216
    10.3.3 8路温度显示程序设计 217
    10.4 技能拓展 I2C串行扩展 219
    10.4.1 I2C总线接口电路 219
    10.4.2 I2C总线数据传送操作 219
    【技能训练10-1】基于AT24C1024片外程序
    存储器扩展 221
    关键知识点小结 222
    问题与讨论 223
    项目十一 点阵显示设计与实现 224
    11.1 工作模块27 16×32 LED点阵汉字
    显示设计 224
    11.1.1 LED点阵显示系统结构与原理 224
    11.1.2 16×32 LED点阵汉字显示电路
    设计 226
    11.1.3 16×32 LED点阵汉字显示程序
    设计 231
    11.2 工作模块28 点阵屏焊接与调试 243
    11.2.1 MCU最小系统和串口焊接与调试 244
    11.2.2 显示功能板焊接和调试 248
    11.2.3 外扩RAM及Flash的焊接和调试 249
    11.2.4 外扩KEY和EEPROM焊接与
    调试 249
    11.2.5 系统整体测试 249
    11.3 技能拓展 并行I/O接口扩展 250
    11.3.1 并行I/O口扩展特性 250
    11.3.2 I/O接口扩展常用芯片 250
    【技能训练11-1】P0口扩展I/O接口设计
    与实现 252
    关键知识点小结 253
    问题与讨论 254
    附表1 LED各模块焊接步骤对应元件清单 255
    附表2 LED显示模块焊接元件清单 256
    课程设计范例一 双向四车道交通灯控制 257
    课程设计范例二 出租车计价器 266
    参考文献 272
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册