《单片机系统设计》基于电子信息工程技术专业进行的“EP—CDIO”教学模式,从实际应用入手,以项目为载体,以“做中学”形式为基础,教师的主导为辅,循序渐进地学习51单片机C语言编程方法及51单片机的硬件结构和功能应用,掌握对单片机系统软硬件的设计、仿真和调试方法,提升学生软硬件系统的设计能力。全书共6个项目,内容丰富,实用性强,书中大部分内容均来自企业及教学实践,许多C语言代码可以直接应用到项目实践中。
单片机技术迅速发展,采用单片机开发的智能化测控设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高。企业迫切需要大量熟练掌握单片机技术,并能开发、应用和维护管理这些智能化产品的高级工程技术人才。
单片机以体积小、功能强、可靠性好、性价比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要器件。
本书是在电子信息工程技术专业进行的“EPCDIO”教学模式下,从实际应用入手,以项目为载体,以“做中学”的形式为基础、教师的主导为辅,循序渐进地介绍51单片机C语言编程方法及其硬件结构和功能应用,以及单片机系统软硬件的设计、仿真和调试方法,提升读者软硬件系统设计能力。
本书共6个项目,内容丰富,实用性强,书中大部分内容均来自企业及教学实践,许多C语言代码可以直接应用到项目实践中,可作为高等专科和高职院校相关专业单片机课程教材,适合于51单片机的初学者,也可供从事自动控制、机电一体化、电力电子、智能仪器仪表等专业的技术人员学习参考。
本书项目1和项目2为C语言程序设计基础部分,首先介绍C语言的发展及特点,并通过实例重点介绍C语言程序的基本结构和使用VC++60开发C语言的过程;然后通过“简单功能计算器”和“学生成绩统计系统”两个项目介绍C语言的语法和程序结构、函数、数组等相关知识,培养读者C程序编写的基本能力。项目3为小车状态指示灯控制器,实现了C语言在单片机控制中的应用,达到了C语言与单片机知识衔接的目的,增强读者对C程序作用的认识,进一步提高读者C程序的编程能力。
项目4~项目6为51单片机应用系统设计部分,书中通过对智能小车寻迹、循线和控制系统的设计,介绍51系列单片机基础知识、端口应用、内部资源的使用、传感器和外围电路的识别与应用的知识,同时提高读者单片机系统开发中的软硬件设计能力。
本书的项目1由黄应强编写,项目2由张艳编写,项目3由彭永杰编写,项目4~6由罗德雄编写,在编写过程中得到宜宾机电一体化研究所所长孙鸿和学院各级领导的指导和大力支持,在此一并表示感谢。
编者
前言
项目1简易功能计算器1
【学习目标】1
【项目描述】1
【项目实施】1
任务1设计方案1
任务2软件设计2
任务3系统仿真与调试4
【相关知识】7
1.1C语言基础7
1.1.1C语言的发展及特点7
1.1.2简单C程序介绍8
1.1.3C程序的开发过程10
1.1.4VC++6.0集成开发环境10
1.1.5数据类型和数据运算14
1.2流程图21
1.2.1流程图的作用21
1.2.2流程图的组成21
1.2.3流程图的绘制方法22
1.3C语言程序语句23
1.3.1控制语句23
1.3.2表达式语句23
1.3.3函数调用语句23
1.3.4空语句23
1.3.5复合语句23
1.3.6格式化输入/输出函数23
1.4算法与程序的三个基本结构29
1.4.1算法的概念29
1.4.2算法的特性29
1.4.3程序的三种基本控制结构29
【能力拓展】48
【项目考核】48
项目2学生成绩统计系统50
【学习目标】50
【项目描述】50
【项目实施】50
任务1设计方案50
任务2软件设计51
任务3系统仿真与调试56
【相关知识】58
2.1数组58
2.1.1一维数组的定义和引用58
2.1.2二维数组的定义和引用62
2.1.3字符数组64
2.2函数68
2.2.1概述68
2.2.2函数定义的一般形式70
2.2.3函数的参数和函数的值71
2.2.4函数的调用73
2.2.5函数的嵌套调用74
2.2.6函数的递归调用75
2.2.7数组作为函数参数77
2.2.8局部变量和全局变量79
2.3指针82
2.3.1地址指针的基本概念82
2.3.2变量的指针和指向变量的
指针变量83
2.3.3数组指针和指向数组的指针
变量86
【能力拓展】87
【项目考核】88
项目3小车状态指示灯控制器89
【学习目标】89
【项目描述】89
【主要的仪器设备和元器件】89
【项目实施】90
任务1总体设计90
任务2硬件设计90
任务3软件设计91
任务4系统仿真与调试92
【相关知识】93
3.1单片机基础93
3.1.1单片机的发展概况93
3.1.2单片机的应用94
3.2单片机的内部结构95
3.2.1CPU系统95
3.2.2存储器系统100
3.2.3并行I/O端口系统107
3.2.4其他功能单元110
3.3单片机的外部结构110
3.3.1单片机的引脚功能110
3.3.2复位电路112
单片机系统设计目录3.4单片机执行指令过程113
3.5软件Proteus和Keil C的使用114
3.5.1软件Proteus的使用114
3.5.2Keil软件的使用115
3.6独立式键盘126
3.6.1键盘接口技术126
3.6.2独立式键盘126
3.6.3键盘程序设计流程127
【能力拓展】128
【项目考核】128
项目4智能小车寻迹控制系统130
【学习目标】130
【项目描述】130
【主要的仪器设备和元器件】130
【项目实施】131
任务1总体设计131
任务2硬件设计132
任务3软件设计133
任务4系统仿真与调试137
【相关知识】137
4.1直流电动机及其控制137
4.1.1H桥驱动电路137
4.1.2使能控制和方向逻辑138
4.2寻迹传感器140
4.2.1光电传感器构成的循迹检测
电路140
4.2.2黑线检测原理140
【能力拓展】141
【项目考核】141
项目5智能小车循线控制系统143
【学习目标】143
【项目描述】143
【主要的仪器设备和元器件】143
【项目实施】144
任务1总体设计144
任务2硬件设计144
任务3软件设计145
任务4系统仿真与调试149
【相关知识】150
5.1数码管及其显示控制150
5.1.1数码管的结构151
5.1.2数码管的工作原理151
5.1.3数码管的字形编码151
5.1.4LED数码管的显示方式152
5.2定时/计数器153
5.2.1定时器/计数器153
5.2.2定时/计数器方式控制寄存器
TMOD154
5.2.3定时器/计数器的控制寄存器
TCON154
5.2.4定时/计数器的初始化155
5.2.5定时器/计数器的工作方式155
5.3中断系统159
5.3.1中断系统的结构160
5.3.2中断系统控制161
5.3.3中断系统响应163
5.3.4中断系统应用164
【能力拓展】165
【项目考核】166
项目6智能小车控制系统167
【学习目标】167
【项目描述】167
【主要的仪器设备和元器件】167
【项目实施】168
任务1总体设计168
任务2硬件设计168
任务3软件设计169
任务4系统仿真与调试175
【相关知识】176
6.1矩阵式键盘176
6.1.1扫描方式键盘的程序设计
流程176
6.1.2键盘扫描程序177
6.1.3键盘扫描的中断控制方式178
6.2DA转换器178
.......