项目1单片机与开发环境1任务1.1了解单片机1
1.1.1单片机概述1
1.1.2MCS51单片机简介5
1.1.3单片机的开发环境7
1.1.4单片机开发流程10
任务1.2用Proteus设计单片机最小系统11
1.2.1Proteus简介11
1.2.2单片机最小系统12
1.2.3任务实施14
任务1.3用Keil建立一个“helloworld”C51源文件20
1.3.1Keil简介20
1.3.2C语言概述21
1.3.3任务实施21
项目总结26
练习题26
项目2单片机控制LED闪烁27
任务2.1LED单灯闪烁27
2.1.1硬件电路图的设计28
2.1.2单片机的P1口29
2.1.3单片机控制灯的闪烁29
2.1.4单片机中的程序及数据存储32
2.1.5任务实施37
任务2.28LED流水灯闪烁38
2.2.1C51的位运算符39
2.2.2单片机I/O端口40
2.2.3任务实施44
项目总结46
练习题46
项目3单片机控制数码管的显示48
任务3.1单数码管轮流显示0~9十个数483.1.1硬件知识49
3.1.2C51语言知识51
3.1.3任务实施54
单片机原理与应用设计目录任务3.2四数码管动态显示0~9十个数57
3.2.1位选和段选58
3.2.2数码管的动态显示和静态显示58
3.2.3任务实施59
任务3.38×8点阵显示62
3.3.1LED点阵63
3.3.28×8点阵显示屏的结构63
3.3.3点阵的引脚结构65
3.3.48×8LED点阵的汉字显示编码65
3.3.5LED点阵的显示方式66
3.3.6任务实施66
项目总结68
练习题69
项目4单片机控制按键中断71
任务4.1单键点亮流水灯71
4.1.1中断的概念72
4.1.2中断源72
4.1.3中断控制相关寄存器73
4.1.4中断向量74
4.1.5中断过程75
4.1.6任务实施76
任务4.2多键改变8LED流水灯状态77
4.2.1中断嵌套78
4.2.2任务实施78
任务4.3矩阵键盘点亮16灯81
4.3.1矩阵键盘82
4.3.2任务实施83
项目总结86
练习题86
项目5单片机的定时与计数88
任务5.1单灯1秒定时亮/灭88
5.1.1定时器/计数器的结构和工作原理89
5.1.2定时器/计数器的相关寄存器90
5.1.3定时器/计数器的工作方式92
5.1.4定时器/计数器定时的实现95
5.1.5任务实施96
任务5.28LED流水灯定时1秒亮/灭100
5.2.1定时器/计数器工作方式2101
5.2.2任务实施101
任务5.3外部脉冲计数105
5.3.1外部脉冲计数的工作原理106
5.3.2任务实施106
任务5.4单音阶音乐108
5.4.1单片机发声原理108
5.4.2任务实施110
项目总结112
练习题112
项目6单片机的串口输出113
任务6.1单数码管串口通信113
6.1.1串口通信的基础知识114
6.1.251单片机的串行口117
6.1.3任务实施119
任务6.2单片机双机通信121
6.2.1双机通信122
6.2.2波特率的应用122
6.2.3任务实施124
任务6.3单片机多机通信127
6.3.1串口工作方式2、方式3的多机通信128
6.3.2多机通信的工作原理128
6.3.3任务实施129
项目总结133
练习题134
项目7单片机的系统扩展135
任务7.18255扩展并行I/O 135
7.1.1单片机系统扩展概述136
7.1.2单片机存储器的扩展137
7.1.3单片机I/O的扩展142
7.1.4任务实施147
任务7.2单片机扩展串行EEPROM151
7.2.1串行存储器概述151
7.2.2AT24C02C芯片152
7.2.3数据传送过程152
7.2.4任务实施154
项目总结159
练习题159
项目8单片机的信号转换160
任务8.1制作数字电压表160
8.1.1A/D转换的基础知识161
8.1.2ADC0809 A/D转换器及接口设计161
8.1.3单片机与A/D转换器接口程序设计163
8.1.4任务实施163
任务8.2A/D转换器及接口设计168
8.2.1工作原理169
8.2.2任务实施170
项目总结174
练习题174
项目9综合实训1——简易数字钟的设计175
实训目标175
实训要求175
实训准备175
相关知识176
指针176
系统方案的选择177
实训步骤178
项目10综合实训2——单片机与步进电机的接口技术187
实训目标187
实训要求187
实训准备187
相关知识187
步进电机概述187
步进电机分类188
步进电机工作原理188
实训步骤190
附录AC51语言基本语法193
附录B单片机常用元件说明 203
参考文献211
任务1.1了解单片机1
1.1.1单片机概述1
1.1.2MCS51单片机简介5
1.1.3单片机的开发环境7
1.1.4单片机开发流程10
任务1.2用Proteus设计单片机最小系统11
1.2.1Proteus简介11
1.2.2单片机最小系统12
1.2.3任务实施14
任务1.3用Keil建立一个“hello world”C51源文件20
1.3.1Keil简介20
1.3.2C语言概述21
1.3.3任务实施21
项目总结25
练习题26
项目2单片机控制LED闪烁27
任务2.1LED单灯闪烁27
2.1.1硬件电路图的设计28
2.1.2单片机的P1口29
2.1.3单片机控制灯的闪烁29
2.1.4单片机中的程序及数据存储32
2.1.5任务实施37
任务2.28LED流水灯闪烁38
2.2.1C51的位运算符39
2.2.2单片机I/O端口40
2.2.3任务实施44
项目总结46
练习题46
项目3单片机控制数码管的显示48
任务3.1单数码管轮流显示0~9十个数483.1.1硬件知识49
3.1.2任务实施54
任务3.2四数码管动态显示0~9十个数57
单片机原理与应用设计目录3.2.1位选和段选57
3.2.2数码管的动态显示和静态显示58
3.2.3任务实施58
任务3.38×8点阵显示61
3.3.1LED点阵62
3.3.28×8点阵显示屏的结构62
3.3.3点阵的引脚结构64
3.3.48×8LED点阵的汉字显示编码64
3.3.5LED点阵的显示方式65
3.3.6任务实施65
项目总结67
练习题68
项目4单片机控制按键中断70
任务4.1单键点亮流水灯70
4.1.1中断的概念71
4.1.2中断源71
4.1.3中断控制相关寄存器72
4.1.4中断向量73
4.1.5中断过程74
4.1.6任务实施75
任务4.2多键改变8LED流水灯状态76
4.2.1中断嵌套77
4.2.2任务实施77
任务4.3矩阵键盘点亮16灯79
4.3.1矩阵键盘80
4.3.2任务实施81
项目总结84
练习题84
项目5单片机的定时与计数86
任务5.1单灯1秒钟定时亮灭86
5.1.1定时器/计数器的结构和工作原理87
5.1.2定时器/计数器的相关寄存器88
5.1.3定时器/计数器的工作方式90
5.1.4定时器/计数器定时的实现93
5.1.5任务实施94
任务5.28LED流水灯定时1s亮灭98
5.2.1定时器/计数器工作方式299
5.2.2任务实施99
任务5.3外部脉冲计数103
5.3.1外部脉冲计数的工作原理104
5.3.2任务实施104
任务5.4单音阶音乐106
5.4.1单片机发声原理106
5.4.2任务实施108
项目总结110
练习题110
项目6单片机的串口输出111
任务6.1单数码管串口通信111
6.1.1串口通信的基础知识112
6.1.251单片机的串行口115
6.1.3任务实施117
任务6.2单片机双机通信119
6.2.1双机通信120
6.2.2波特率的应用120
6.2.3任务实施122
任务6.3单片机多机通信125
6.3.1串口工作方式2、方式3的多机通信126
6.3.2多机通信的工作原理126
6.3.3任务实施127
项目总结131
练习题132
项目7单片机的系统扩展133
任务7.18255扩展并行I/O133
7.1.1单片机系统扩展概述134
7.1.2单片机存储器的扩展135
7.1.3单片机I/O的扩展140
7.1.4任务实施145
任务7.2单片机扩展串行EEPROM149
7.2.1串行存储器概述149
7.2.2AT24C02C芯片150
7.2.3数据传送过程150
7.2.4任务实施152
项目总结157
练习题157
项目8单片机的信号转换158
任务8.1制作数字电压表158
8.1.1A/D转换的基础知识159
8.1.2ADC0809 A/D转换器及接口设计159
8.1.3单片机与A/D转换器接口程序设计161
8.1.4任务实施161
任务8.2A/D转换器及接口设计166
8.2.1工作原理167
8.2.2任务实施168
项目总结172
练习题172
项目9综合实训1——简易数字钟的设计173
实训目标173
实训要求173
实训准备173
相关知识173
指针173
系统方案的选择175
实训步骤176
项目9综合实训2——单片机与步进电机的接口技术185
实训目标185
实训要求185
实训准备185
相关知识185
步进电机概述185
步进电机分类186
步进电机工作原理186
实训步骤188
附录AC51语言基本语法191
附录B单片机常用元件说明201
参考文献209