本书根据职业院校单片机设计与开发相关课程的要求,以MCS-51 单片机的硬件和软件设计为背景,以C51 语言为基础,引入项目教学法,通过丰富的C 语言项目实例,由浅入深地介绍51 单片机的基础知识及各种应用开发技术。本书分为6个模块,涵盖单片机技术及应用的基本内容,8 个项目都来自企业的典型工作任务,包括点亮LED 指示灯、制作LED 闪烁灯、使用开关控制闪烁灯、制作球赛电子记分牌、使用中断系统制作声光报警器、使用定时/计数器制作数字时钟、制作银行动态密码获取系统、制作测量仪表。每个项目的内容都以岗位能力培养为主线,由浅入深、循序渐进,一步一步引导读者直观深入地学习单片机基础知识及应用开发技术。本书可作为职业院校电子与信息类、机电类相关专业的教材,也可作为单片机技术爱好者的自学用书。
杨广宇,高级讲师,信息系统项目管理师,主要从事智能产品开发、软件开发与教学、网络安全研究与教学,拥有10多年大型软件的开发经验和20多年教学经验,研究成果多次获一等奖,是省级信息化专家、学术技术带头人,竞赛优秀指导老师,致力于用AI创新研究与教学。
模块一 单片机技术基础及单片机操作环境
项目一 点亮LED 指示灯····················1
项目学习目标·······························1
项目基本知识·······························2
知识一 初识单片机·················2
知识二 51 单片机···················6
知识三 单片机开发常用工具··.10
项目技能实训····························.14
任务一 点亮LED 指示灯·······.14
任务二 操作使用Keil 集成开发软件·······················.16
任务三 烧录单片机程序········.21
项目小结·································.27
项目学习评价····························.27
模块二 单片机硬件系统
项目二 制作LED 闪烁灯·················.32
项目学习目标····························.32
项目基本知识····························.33
知识一 51 单片机并行I/O 口··.33
知识二 单片机的C51 语言基础知识(一) ··············.34
项目技能实训····························.41
任务一 制作LED 闪烁灯电路·.41
任务二 编写LED 闪烁灯程序·.45
任务三 调试LED 闪烁灯程序·.47
任务四 编写移位操作闪烁灯程序·······················.50
项目小结·································.53
项目学习评价···························.53
项目三 使用开关控制闪烁灯············.57
项目学习目标···························.57
项目基本知识···························.58
知识一 51 单片机的存储结构·.58
知识二 单片机的C51 语言基础知识(二) ··············.63
项目技能实训···························.77
任务一 开关控制闪烁灯交替亮灭······················.77
任务二 使用分支程序控制闪烁灯多样化显示···········.78
任务三 控制LED 呼吸闪烁····.79
项目小结·································.86
项目学习评价···························.87
模块三 显示与键盘接口技术
项目四 制作球赛电子记分牌············.90
项目学习目标···························.90
项目基本知识···························.91
知识一 LED 数码管接口·······.91
知识二 键盘接口················.95
知识三 LED 点阵显示模块接口·····················.100
知识四 LED 大屏幕显示接口·····················.104
项目技能实训··························.106
任务一 制作球赛电子记分牌电路······················.106
任务二 编写球赛电子记分牌程序······················.107
任务三 下载程序调试运行系统······················.115
*任务四 制作七段LED 数码管显示器·················.116
项目小结································.121
项目学习评价···························.121
模块四 中断技术
项目五 使用中断系统制作声光报警器··.125
项目学习目标···························.125
项目基本知识···························.126
51 单片机的中断系统及外部中断的应用···························.126
项目技能实训···························.134
任务一 制作声光报警器电路··.134
任务二 编写声光报警器程序··.136
任务三 下载程序调试运行系统······················.138
项目小结································.138
项目学习评价···························.139
模块五 定时与计时功能
项目六 使用定时/计数器制作数字时钟·.142
项目学习目标···························.142
项目基本知识···························.143
认识51 单片机的定时/计数器系统·································.143
项目技能实训···························.151
任务一 制作数字时钟硬件电路······················.151
任务二 编写数字时钟程序····.153
任务三 制作电子计时秒表····.161
*任务四 制作模拟交通灯控制系统····················.166
项目小结································.173
项目学习评价··························.174
模块六 串行通信功能
项目七 制作银行动态密码获取系统···.177
项目学习目标··························.177
项目基本知识··························.178
认识51 单片机的串行通信系统·································.178
项目技能实训··························.187
任务一 制作银行动态密码获取系统电路···············.187
任务二 编写运行银行动态密码获取系统程序··········.189
任务三 编译仿真银行动态密码获取系统···············.192
任务四 制作单片机与PC 通信系统电路··············.193
任务五 编写单片机与PC 通信系统程序··············.197
项目小结································.199
项目学习评价··························.200
*项目八 制作测量仪表···················.203
项目学习目标··························.203
项目基本知识··························.204
知识一 认识A/D 转换器······.204
知识二 认识D/A 转换器······.206
知识三 A/D 转换集成电路A
DC0809 及其与单片机的接口电路·············.208
项目技能实训··························.213
任务一 使用模拟温度传感器制作电子温度计·······.213
任务二 使用数字温度传感器制作电子温度计·······.217
项目小结································.231
项目学习评价··························.232
附录