单片机应用及C51程序设计PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:陈涛编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2011
- ISBN:9787111314899
- 页数:460 页
第1篇51单片机开发的背景、环境和工具 1
第1章 单片机与51单片机 1
1.1单片机概述 1
1.2 51单片机概述 2
1.3 Atmel公司的51单片机 4
1.4宏晶公司的51单片机 7
1.4.1 STC89和STC90系列 8
1.4.2 STC10和STC11系列 9
1.4.3 STC12系列 11
第2章pVision集成开发环境 17
2.1 μVision的配置方案和安装目录 17
2.2 的主要构成 18
2.3 μVision中的主要软件工具 19
2.3.1项目管理器 19
2.3.2编辑器 19
2.3.3宏汇编器 20
2.3.4 C51编译器 20
2.3.5连接定位器 21
2.3.6调试器和软件模拟器 22
2.3.7仿真监控程序和高级GDI界面 22
2.3.8文件转换器 24
2.3.9库管理器 24
2.4.μVision中的其他资源 24
2.4.1函数库 24
2.4.2头文件 25
2.4.3 RTX51多任务实时操作系统 25
2.4.4样例程序 26
2.4.5说明和帮助文件 27
2.5 μVision的两种工作状态 27
2.6菜单和μVision的其他操作手段 29
2.7工具栏和工具按钮 31
2.8主要工作窗口和对话框 33
2.8.1项目工作区及其中的5个页面 34
2.8.2用户区、源文件窗口和反汇编窗口 35
2.8.3输出窗口及其中的3个页面 36
2.8.4项目/文件组/文件选项设置对话框 37
2.8.5源浏览窗口 39
2.8.6存储器窗口 40
2.8.7监视与堆栈调用窗口 41
2.8.8外围设备对话框 42
2.8.9串口窗口 43
2.8.10符号窗口 44
2.8.11代码覆盖分析窗口 45
2.8.12性能分析器窗口 45
2.8.13逻辑分析仪窗口 46
第3章 单片机应用系统的开发及工具 47
3.1概述 47
3.2 Keil仿真器 50
3.2.1 Keil仿真器的结构与使用 51
3.2.2仿真芯片及其中的固件 52
3.2.3在实验板上直接使用仿真芯片 54
3.3编程下载装置 54
3.3.1廉价编程下载装置概述 54
3.3.2在实验板上直接用STC单片机进行程序下载 56
3.4 ISD51在线调试器及其使用方法 59
3.4.1 ISD51在线调试概述 59
3.4.2 ISD51在线调试的工作机制 60
3.4.3 ISD51提供的调试函数和调试实现步骤 61
3.4.4 ISD51在线调试举例 64
3.5 STC仿真器 67
第4章51实验板介绍 68
4.1板上的实验资源 68
4.2总体结构和元器件布局 69
4.3各跳线器和插孔的功能 70
4.4各单元电路的结构及使用 72
4.4.1 CPU及周边电路 72
4.4.2存储器资源 75
4.4.3 LED显示 76
4.4.4数码显示 76
4.4.5按键和开关输入 77
4.4.6一些串行连接的芯片 78
4.4.7输出机构 80
4.4.8两种串行异步通信电路及其接口 82
4.4.9外引总线 83
4.4.10供电 84
4.5实验板的常态设置和使用注意 84
第2篇C51程序设计及程序处理 86
第5章 从标准C到C51 86
5.1 C51与标准C的简单比较 86
5.2 C51扩展的关键字 87
5.3 C51中的代码和数据 88
5.3.1存储区域和访问方式 88
5.3.2编译模式 90
5.3.3数据的分类和构成 91
5.3.4定义变量的绝对地址 94
5.3.5指针 94
5.4 C51中的函数 97
5.4.1函数定义的一般形式 98
5.4.2函数参数与返回值的传递 99
5.4.3工作寄存器组的使用 102
5.4.4中断函数 103
5.4.5可重入函数 104
5.4.6代码优化 105
第6章 库函数和头文件 107
6.1概述 107
6.2在头文件中定义的数据和数据类型 109
6.2.1头文件REG52.H 109
6.2.2头文件ABSACC.H 110
6.2.3头文件STDARG.H 110
6.2.4头文件FLOAT.H 112
6.2.5头文件STDDEF.H 112
6.2.6头文件ASSERT.H 112
6.3头文件CTYPE.H和字符操作函数 113
6.4头文件STRING.H和串操作函数 114
6.5头文件STDIO.H和标准输入/输出函数 116
6.5.1 scanf()函数 118
6.5.2 printf()函数 119
6.5.3 _getkey()函数 120
6.5.4 putchar()函数 120
6.6头文件STDLIB.H和标准杂函数 121
6.7头文件MATH.H和数学函数 123
6.8头文件INTRINS.H和内联函数 125
6.9头文件SETJMP.H和全程跳转函数 126
6.10 C51的启动文件和初始化文件 127
6.10.1启动文件STARTUP.A51 127
6.10.2初始化文件INIT.A51 129
第7章 编译预处理和编译控制 134
7.1编译预处理 134
7.2编译控制 136
7.2.1编译的文件产物 136
7.2.2编译控制命令的分类和实现 137
7.2.3编译控制命令的具体描述 138
第8章 混合编程 145
8.1 C51程序的制作过程 145
8.2段的属性和段名前缀 146
8.3数据目标 146
8.4程序目标 147
8.4.1程序目标中的3种段 147
8.4.2程序目标中的函数参数 148
8.5在C51程序中插入汇编行 148
8.6编写带有C51接口的汇编模块 153
8.6.1一个具体的例子 153
8.6.2汇编模块制作方法讨论 155
第9章RTX51实时操作系统及其使用方法 160
9.1多任务系统概述 160
9.2任务的状态和任务的调度 162
9.3 RTX51-Tiny提供的主要文件 163
9.4 RTX51-Tiny提供的功能函数 164
9.4.1任务管理函数 165
9.4.2事件等待函数和事件 165
9.4.3信号控制函数和信号 166
9.5 RTX51-Tiny的系统配置 167
9.6 RTX51-Tiny的应用举例 168
第3篇μVision下的典型操作和程序调试 172
第10章μVision下的典型设置和典型操作 172
10.1项目的创建、打开和关闭 172
10.2项目选项的设置 173
10.3项目中的文件及文件操作属性的设置 177
10.4项目制作 178
10.5项目调试 178
10.6项目管理 178
10.7编辑器配置和编辑辅助功能 179
10.7.1编辑器配置 179
10.7.2 μVision提供的编辑辅助功能 180
第11章μVision中的程序调试 184
11.1两种调试模式的应用特点及适用范围 184
11.2存储器映射 186
11.2.1 μVision提供的仿真存储空间 187
11.2.2映射方案及映射项目的访问属性 187
11.2.3存储器映射对话框及其操作 190
11.3程序运行控制及断点操作 190
11.3.1μVision对程序运行的控制 190
11.3.2断点分类及到达断点时的判断和操作 191
11.3.3断点对话框及其操作 192
11.4基于图形界面的调试操作 194
11.5 μVision表达式、表达式命令及其构成 199
11.5.1常量 199
11.5.2符号概述 200
11.5.3地址与地址符号 202
11.5.4系统定义的变量和符号 202
11.5.5用户定义的变量和符号 206
11.5.6运算符及其操作属性 206
11.5.7表达式命令及其应用 206
11.6 μVision中的调试命令 207
11.6.1调试命令的分类概述 208
11.6.2断点命令及其应用 209
11.6.3程序命令及其应用 211
11.6.4存储器命令及其应用 214
11.6.5监视点命令及其应用 216
11.6.6一般命令及其应用 217
11.7.Vision中的调试函数 224
11.7.1调试函数概述 224
11.7.2调试命令与调试函数的比较 227
11.7.3调试函数与用户程序中C函数的比较 228
11.7.4调试函数的编辑、编译和运行 228
11.7.5调试函数中的预定义函数 230
11.7.6调试函数中的信号函数 233
11.7.7调试函数中的用户函数 237
11.8在μVision中调用外部程序并向它传递参数 239
11.8.1在μVision中何时会用到对外部程序的调用 239
11.8.2通过命令行中的键序列向外部程序传递参数 241
11.8.3通过自定义工具菜单访问外部程序 242
11.8.4通过安装配置VSS 6.0实现软件版本控制 243
11.9调试手段综合应用举例 246
11.9.1软件模拟调试—串口输入/输出 246
11.9.2软件模拟调试—并口输入/输出 249
11.9.3软件模拟调试—定时/计数器操作和外中断操作 251
11.9.4软件模拟调试—用A/D转换通道作键盘接口 253
第4篇C51程序设计实践与实例 257
第12章 软件模拟实验 257
12.1实验R1—代码转换 258
【例R1-1】分离多字节压缩BCD码(汇编) 259
【例R1-2】采用直接地址访问分离多字节压缩BCD码(C51) 259
【例R1-3】采用变量操作分离多字节压缩BCD码(C51) 260
【例R1-4】分离多字节压缩BCD码并用标准I/O函数输入/输出(C51) 260
12.2实验R2—多字节数加减 261
【例R2-11 3字节二进制数相加(汇编) 261
【例R2-2】 3字节BCD码数相加(汇编) 262
【例R2-3】3字节BCD码数相减(C51) 262
12.3实验R3—批量数据的统计和排序 263
【例R3-1】统计批量数据中的正数、零和负数(汇编) 263
【例R3-2】统计批量数据中的正数、零和负数(C51) 264
【例R3-3】将一批单字节无符号数从小到大进行排序(汇编) 265
【例R3-4】将一批单字节无符号数从小到大进行排序(C51) 265
12.4实验R4—查表程序 266
【例R4-1】用指令movc a,@ a+dptr查单字节表求菲波那奇数(汇编) 266
【例R4-2】用指令movc a,@ a+pc查单字节表求菲波那奇数(汇编) 267
【例R4-3】查双字节表求正弦函数(汇编) 267
【例R4-4】查双字节表求正弦函数(C51) 268
12.5实验R5—软件延时及子程序调用 269
【例R5-1】编写延时为10 ms的子程序并对其进行调用(汇编) 269
【例R5-2】编写延时函数并对其进行调用(C51) 270
12.6实验R6—定时器计数和外中断事件的软件模拟 270
【例R6-1】用软件仿真模拟定时器的计数操作(汇编) 271
【例R6-2】用软件仿真模拟定时器的计数操作(C51) 272
【例R6-3】用软件仿真模拟外中断事件(C51) 272
第13章 针对实验主板的硬件实验 273
13.1实验Y1—单个I/O引脚的输入和输出 273
【例Y1-1】用INT1按键控制有源蜂鸣器的鸣响(C51) 274
【例Y1-2】令发光数码管循环显示十六进制数码0~F(C51) 274
13.2实验Y2— P0口操作和LED显示 275
【例Y2-1】用P0口I/O操作实现8位LED左流水点亮(C51) 276
【例Y2-2】用总线操作方式实现16位LED右流水点亮(C51) 276
13.3实验Y3—开关量输入和键盘操作 276
【例Y3-1】用LED显示拨动开关的状态(C51) 277
【例Y3-2】带换档功能的8键键盘的识别(C51) 278
13.4实验Y4—外部SRAM芯片的读写操作 279
【例Y4-1】读写外部扩展的静态RAM芯片6264(C51) 280
13.5实验Y5—中断应用 281
【例Y5-1】用外中断按键INT1改变LED流水显示的方向(C51) 281
【例Y5-2】使用外中断INT1键和INT0键分别进行计数和清0操作(C51) 282
13.6实验Y6—定时器应用 283
【例Y6-1】用查询定时器溢出标志的方法控制流水灯显示的节奏(C51) 287
【例Y6-2】用定时器中断控制流水灯显示的节奏(C51) 287
【例Y6-3】用定时器和无源蜂鸣器演奏新疆民歌《美丽的姑娘》(C51) 288
【例Y6-4】用无源蜂鸣器演奏带半音的转调乐曲《在银色的月光下》(C51) 290
13.7实验Y7—串口应用 292
【例Y7-1】通过实验板上的RS - 232串口实现串行数据的自发自收(C51) 293
【例Y7-2】通过RS - 232串口实现PC与实验板之间的双向通信(C51) 295
13.8实验Y8—用脉宽调制实现D/A转换 297
【例Y8-1】利用PWM原理实现分档键控D/A转换(C51) 297
【例Y8-2】利用PWM原理实现近似的锯齿波输出(C51) 299
13.9实验Y9—直流风扇转速的测量和控制 300
【例Y9-1】通过霍尔器件和INT0中断测试直流风扇的每秒转数(C51) 301
【例Y9-2】用按键实现对直流风扇转速的分档控制(C51) 302
【例Y9-3】采用简单控制策略将风扇转速控制在设定值(C51) 305
13.10实验Y10—脉冲参数的测量 307
【例Y10-1】测试由霍尔器件产生的脉冲的周期、高电平持续时间和占空比(C51) 307
13.11实验Y11—串口实时时钟芯片DS1302的使用 310
【例Y11-1】对串口实时时钟芯片DS1302进行多种操作(C51) 310
【例Y11-2】利用16键扩展键盘设置DS1302中的时间数据(C51) 315
13.12实验Y12— I2C口E2 PROM芯片AT24 C02的使用 320
【例Y12-1】对带I2C口的E2 PROM芯片AT24C02进行写/读操作(C51) 321
13.13实验Y13— SPI口E2 PROM芯片AT93 C46的使用 324
【例Y13-1】对带SPI口的E2 PROM芯片93C46进行8位写/读操作(C51) 325
13.14实验Y14— SPI口A/D转换芯片ADC0832的使用 330
【例Y14-1】对带SPI串口的A/D转换芯片ADC0832进行操作(C51) 331
13.15 实验Y15—单总线数字测温芯片DS18B20的使用 334
【例Y15-1】对一片单总线数字测温芯片DS18 B20进行相关操作(C51) 335
【例Y15-2】对一片DS18B20进行设置数据、读取数据和CRC校验操作(C51) 337
【例Y15-3】搜索总线上所有的DS18B20并进行测温和数据输出(C51) 341
13.16实验Y16—键控数字钟 346
【例Y16-1】用4个按键实现键控24小时整点报时数字钟(C51) 347
13.17实验Y17— C51与汇编语言的混合编程 350
【例Y17-1】在程序中嵌入汇编行(混合) 351
【例Y17-2】在程序中嵌入汇编模块,实现RS -485单工通信(混合) 352
13.18实验Y18—自建函数库及其使用 355
【例Y18-1】用自建函数库实现“带换档功能的8键键盘的识别”(C51) 356
13.19实验Y19—实时操作系统RTX51-Tiny及多任务编程 359
【例Y19-1】蜂鸣器奏乐、数码管循环显示、LED流水显示的并行操作(C51) 360
【例Y19-2】用RTX51-Tiny和多任务编程实现键控整点报时数字闹钟(C51) 362
第14章 针对扩展板的硬件实验 371
14.1实验K1— 8255/矩阵键盘/数码动态显示扩展板实验 372
【例K1-1】 8255扩展板上8个数码管的动态扫描显示(C51) 374
【例K1-2】 8255扩展板上16键键盘的逐行扫描识别和键值显示(C51) 375
14.2实验K2—液晶显示扩展板实验 376
【例K2-1】通过I/O访问在1602A液晶屏上显示西文字符(C51) 380
【例K2-2】通过总线访问在1602A液晶屏上显示动态的时间数据(C51) 383
【例K2-3】通过总线访问在12232A液晶屏上显示粗细不断变化的线条(C51) 386
【例K2-4】通过I/O访问在12864C液晶屏上显示汉字和动态测温数据(C51) 388
14.3实验K3—语音录放扩展板实验 393
【例K3-1】用APR9600随机存取模式进行8段键控录音和放音(C51) 396
【例K3-2】用APR9600录音带模式实现顺序录音和顺序放音(C51) 399
【例K3-3】用ISD1420和两个程序分别实现录音及语音播报当前温度(C51) 402
【例K3-4】用ISD4002实现录音和语音播报直流风扇的每秒转数(C51) 408
14.4实验K4—步进电机扩展板实验 412
【例K4-1】两相微型步进电机的4拍驱动和8拍驱动(C51) 414
14.5实验KS—单片机操作U盘文件和目录 418
【例K5-1】单片机对U盘文件/目录的管理和操作(C51) 421
14.6实验K6—汉字菜单、数码输入和键盘功能的典型配置 429
【例K6-1】一个演示汉字菜单、数码输入和键盘功能典型配置的程序(C51) 433
附录 451
附录A 51单片机分类指令表 451
附录B 7位ASCII码表 455
附录C系统配置及检测/演示芯片的使用 455
附录D关于本书电路图的几点说明 458
参考文献 460
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《单片机原理及应用》庄友谊 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019