图书介绍

单片机应用及C51程序设计PDF|Epub|txt|kindle电子书版本网盘下载

单片机应用及C51程序设计
  • 陈涛编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111226488
  • 出版时间:2008
  • 标注页数:386页
  • 文件大小:183MB
  • 文件页数:399页
  • 主题词:单片微型计算机-C语言-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

单片机应用及C51程序设计PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

上篇 51单片机开发的背景、环境和工具第1章 51单片机与AT89S51/521

1.1 单片机概述1

1.2 51单片机2

1.3 AT89S51/52单片机3

第2章 μVision集成开发环境6

2.1 μVision的配置方案和安装目录6

2.2 μVision的主要构成7

2.3 μVision中的主要软件工具8

2.3.1 项目管理器8

2.3.2 编辑器9

2.3.3 宏汇编器9

2.3.4 C51编译器9

2.3.5 连接定位器10

2.3.6 调试器和软件模拟器11

2.3.7 仿真监控程序和高级GDI界面12

2.3.8 文件转换器12

2.3.9 库管理器12

2.4 μVision中的其他资源13

2.4.1 函数库13

2.4.2 头文件13

2.4.3 RTX51多任务实时操作系统14

2.4.4 样例程序14

2.4.5 说明和帮助文件15

2.5 μVision的两种工作状态16

2.6 菜单和μVision的其他操作手段18

2.7 工具栏和工具按钮19

2.8 主要工作窗口和对话框22

2.8.1 项目工作区及其中的5个页面23

2.8.2 用户区、源文件窗口和反汇编窗口24

2.8.3 输出窗口及其中的3个页面25

2.8.4 项目、文件组、文件选项设置对话框26

2.8.5 符号浏览窗口28

2.8.6 存储器窗口29

2.8.7 监视与堆栈调用窗口30

2.8.8 外围设备对话框31

2.8.9 串口窗口32

2.8.10 符号窗口33

2.8.11 代码覆盖窗口34

2.8.12 性能分析器窗口34

2.8.13 逻辑分析仪窗口35

第3章 仿真器和编程下载装置37

3.1 Keil仿真器37

3.1.1 Keil仿真器的结构与使用37

3.1.2 仿真芯片及其中的固件38

3.1.3 在实验主板上直接使用仿真芯片40

3.2 编程下载装置40

3.2.1 一款简易编程器41

3.2.2 在实验主板上直接使用UART串口下载芯片44

第4章 51实验板介绍48

4.1 板上的实验资源48

4.2 总体结构和元器件布局50

4.3 各跳线器和插孔的功能51

4.4 各单元电路的结构及使用52

4.4.1 CPU及周边电路52

4.4.2 存储器资源55

4.4.3 LED显示56

4.4.4 数码显示57

4.4.5 按键和开关输入58

4.4.6 一批串行连接的芯片58

4.4.7 输出机构61

4.4.8 两种串行异步通信电路及其接口62

4.4.9 外引总线64

4.4.10 供电65

4.5 实验板的常态设置和使用注意65

中篇 C51程序设计及程序处理67

第5章 从标准C到C5167

5.1 C51与标准C的简单比较67

5.2 C51扩展的关键字68

5.3 C51中的代码和数据69

5.3.1 存储区域和访问方式69

5.3.2 编译模式71

5.3.3 数据的分类和构成72

5.3.4 定义变量的绝对地址76

5.3.5 指针76

5.4 C51中的函数80

5.4.1 函数定义的一般形式81

5.4.2 函数参数与返回值的传递82

5.4.3 工作寄存器组的使用85

5.4.4 中断函数86

5.4.5 可重入函数87

5.4.6 代码优化88

第6章 库函数和头文件90

6.1 概述90

6.2 在头文件中定义的数据和数据类型92

6.2.1 头文件REG52.H92

6.2.2 头文件ABSACC.H94

6.2.3 头文件STDARG.H95

6.2.4 头文件FLOAT.H96

6.2.5 头文件STDDEF.H97

6.2.6 头文件ASSERT.H97

6.3 头文件CTYPE.H和字符操作函数97

6.4 头文件STRING.H和串操作函数99

6.5 头文件STDIO.H和标准输入输出函数102

6.5.1 scanf()函数104

6.5.2 printf()函数105

6.5.3 _getkey()函数106

6.5.4 putchar()函数106

6.6 头文件STDLIB.H和标准杂函数108

6.7 头文件MATH.H和数学函数110

6.8 头文件INTRINS.H和内联函数112

6.9 头文件SETJMP.H和全程跳转函数113

6.10 C51的启动文件和初始化文件115

6.10.1 启动文件STARTUP.A51115

6.10.2 初始化文件INIT.A51118

第7章 编译预处理和编译控制124

7.1 编译预处理124

7.2 编译控制126

7.2.1 编译的文件产物126

7.2.2 编译控制命令的分类和实现127

7.2.3 编译控制命令的具体描述128

第8章 混合编程136

8.1 C51程序的制作过程136

8.2 段的属性和段名前缀137

8.3 数据目标138

8.4 程序目标138

8.4.1 程序目标中的3种段138

8.4.2 程序目标中的函数参数139

8.5 在C51程序中插入汇编行140

8.6 编写带C51接口的汇编模块145

8.6.1 一个具体例子146

8.6.2 汇编模块制作方法讨论149

第9章 RTX51实时操作系统及其使用154

9.1 多任务系统概述155

9.2 任务的状态和任务的调度156

9.3 RTX51-Tiny提供的主要文件157

9.4 RTX51-Tiny提供的功能函数159

9.4.1 任务管理函数159

9.4.2 事件等待函数和事件160

9.4.3 信号控制函数和信号161

9.5 RTX51-Tiny的系统配置162

9.6 RTX51-Tiny的应用举例163

下篇 C51程序设计实践与实例168

第10章 μVision下的典型设置和典型操作168

10.1 项目的创建、打开和关闭168

10.2 项目选项的设置169

10.3 项目中的文件及文件操作属性的设置173

10.4 项目制作174

10.5 项目调试174

10.6 项目管理175

10.7 编辑器设置176

第11章 软件模拟实验177

11.1 实验R1——代码转换178

【例R1.1】分离多字节压缩BCD码(汇编)179

【例R1.2】采用直接地址访问分离多字节压缩BCD码(C51)179

【例R1.3】采用变量操作分离多字节压缩BCD码(C51)180

【例R1.4】分离多字节压缩BCD码并用标准I/O函数输入/输出(C51)180

11.2 实验R2——多字节数加减181

【例R2.1】3字节二进制数相加(汇编)182

【例R2.2】3字节BCD码数相加(汇编)183

【例R2.3】3字节BCD码数相减(C51)183

11.3 实验R3——批量数据的统计和排序184

【例R3.1】统计批量数据中的正数、零和负数(汇编)185

【例R3.2】统计批量数据中的正数、零和负数(C51)186

【例R3.3】将一批单字节无符号数从小到大进行排序(汇编)187

【例R3.4】将一批单字节无符号数从小到大进行排序(C51)187

11.4 实验R4——查表程序188

【例R4.1】用指令movca,@a+dptr查单字节表求菲波那奇数(汇编)189

【例R4.2】用指令movca,@a+pc查单字节表求菲波那奇数(汇编)189

【例R4.3】查双字节表求正弦函数(汇编)190

【例R4.4】查双字节表求正弦函数(C51)191

11.5 实验R5——软件延时及子程序调用192

【例R5.1】编写延时10ms子程序并对其进行调用(汇编)192

【例R5.2】编写延时函数并对其进行调用(C51)193

11.6 实验R6——软件模拟定时器的计数操作和触发外中断事件194

【例R6.1】用软件仿真模拟定时器的计数操作(汇编)195

【例R6.2】用软件仿真模拟定时器的计数操作(C51)195

【例R6.3】用软件仿真模拟外中断事件(C51)196

第12章 针对实验主板的硬件实验198

12.1 实验Y1——单个I/O引脚的输入和输出199

【例Y1.1】INT1按键控制有源蜂鸣器鸣响(C51)199

【例Y1.2】发光数码管循环显示十六进制数码0~F(C51)199

12.2 实验Y2——P0口操作和LED显示201

【例Y2.1】用P0口I/O操作实现8位LED左流水点亮(C51)201

【例Y2.2】用总线操作方式实现16位LED右流水点亮(C51)202

12.3 实验Y3——开关量输入和键盘操作202

【例Y3.1】用LED显示拨动开关的状态(C51)203

【例Y3.2】带换档功能的8键键盘的识别(C51)204

12.4 实验Y4——外部SRAM芯件的读写206

【例Y4.1】读写外部扩展的静态RAM芯片6264(C51)206

12.5 实验Y5——中断应用208

【例Y5.1】用外中断按键INT1改变LED流水显示的方向(C51)209

【例Y5.2】使用外中断INT1键和INT0键分别进行计数和清0操作(C51)209

12.6 实验Y6——定时器应用211

【例Y6.1】用查询定时器溢出标志的方法控制流水灯显示的节奏(C51)215

【例Y6.2】用定时器中断控制流水灯显示的节奏(C51)216

【例Y6.3】用定时器和无源蜂鸣器演奏新疆民歌“美丽的姑娘”(C51)217

【例Y6.4】用无源蜂鸣器演奏带半音的转调乐曲“在银色的月光下”(C51)219

12.7 实验Y7——串口应用222

【例Y7.1】通过实验板上的RS-232串口实现串行数据的自发自收(C51)223

【例Y7.2】通过RS-232串口实现PC与实验板之间的双向通信(C51)226

12.8 实验Y8——用脉宽调制实现D/A转换229

【例Y8.1】利用PWM原理实现分档键控D/A转换(C51)229

【例Y8.2】利用PWM原理实现近似的锯齿波输出(C51)231

12.9 实验Y9——风扇转速的测量和控制233

【例Y9.1】通过霍尔器件和INT0中断测试直流风扇的每秒转速(C51)234

【例Y9.2】用按键实现对风扇转速的分档控制(C51)235

【例Y9.3】采用简单控制策略将风扇转速控制在设定值(C51)239

12.10 实验Y10——脉冲参数的测量242

【例Y10.1】测试霍尔器件产生的脉冲周期、高电平持续时间和占空比(C51)242

12.11 实验Y11——串口实时时钟芯片DS1302的使用246

【例Y11.1】对串口实时时钟芯片DS1302进行多种操作(C51)246

12.12 实验Y12——I2C口E2PROM芯片AT24C02的使用252

【例Y12.1】对带I2C口的E2PROM芯片AT24C02进行写/读操作(C51)253

12.13 实验Y13——SPI口E2PROM芯片AT93C46的使用257

【例Y13.1】对带SPI口的E2PROM芯片93C46进行8位写/读操作(C51)258

12.14 实验Y14——SPI口A/D转换芯片ADC0832的使用266

【例Y14.1】对带SPI串口的A/D转换芯片ADC0832进行操作(C51)266

12.15 实验Y15——单总线数字测温芯片DS18B20的使用271

【例Y15.1】对1片单线数字测温芯片DS18B20进行相关操作(C51)272

【例Y15.2】对1片DS18B20设置数据、读取数据,并进行CRC校验(C51)275

【例Y15.3】搜索总线上所有DS18B20并进行测温和输出(C51)280

12.16 实验Y16——键控数字钟286

【例Y16.1】用4个按键实现键控24小时整点报时数字钟(C51)287

12.17 实验Y17——C51与汇编语言的混合编程292

【例Y17.1】在程序中嵌入汇编行(混合)293

【例Y17.2】在程序中嵌入汇编模块,实现RS-485单工通信(混合)294

12.18 实验Y18——自建函数库及其使用298

【例Y18.1】用自制函数库实现“带换档功能的8键键盘的识别”(C51)300

12.19 实验Y19——实时操作系统RTX51-Tiny及多任务编程303

【例Y19.1】蜂鸣器奏乐、数码管循环显示、LED流水显示的并行操作(C51)304

【例Y19.2】用RTX51-Tiny和多任务编程实现键控整点报时数字闹钟(C51)307

第13章 针对扩展板的硬件实验318

13.1 实验K1——8255/矩阵键盘/数码动态显示扩展板实验319

【例K1.1】8255扩展板上8个数码管的动态扫描显示(C51)321

【例K1.2】8255扩展板上16键键盘的逐行扫描识别和键值显示(C51)322

13.2 实验K2——液晶显示扩展板实验324

【例K2.1】通过I/O访问在1602A液晶屏上显示西文字符(C51)329

【例K2.2】通过总线访问在1602A液晶屏上显示动态时间数据(C51)332

【例K2.3】通过总线访问在12232A液晶屏上显示粗细不断变化的线条(C51)337

【例K2.4】通过I/O访问在12864C液晶屏上显示汉字和动态测温数据(C51)339

13.3 实验K3——语音录放扩展板实验346

【例K3.1】APR用9600随机存取模式进行8段键控录音和放音(C51)350

【例K3.2】用9600录音带模式实现顺序录音和顺序放音(C51)353

【例K3.3】用ISD1420和两个程序分别实现录音及语音播报当前温度(C51)358

【例K3.4】用ISD4002实现录音和语音播报直流风扇的每秒转速(C51)366

13.4 实验K4——步进电机扩展板实验371

【例K4.1】两相微型步进电机的4拍驱动和8拍驱动(C51)374

附录379

附录A 51单片机分类指令表379

附录B 7位ASCII码表382

附录C 系统配置和检测/演示芯片的使用383

参考文献386

热门推荐