首 页服务网点企业文化解决方案致远电子人才招聘联系我们技术论坛网站更新通知大学老师登记 ?
 NXP 32位ARM微控制器系列
LPC2000系列ARM
LH7(原夏普)系列ARM
ARM系列开发平台
ARM嵌入式系统教学
RealView MDK开发套件
MiniARM嵌入式工控模块
ARM嵌入式工控机
邮购价(1)
 Luminary Micro半导体系列
Stellaris系列ARM
经典配套外围器件
配套开发工具
应用设计
邮购价(2)
 NXP 8位单片机系列
LPC700系列单片机
LPC700配套开发工具
LPC900系列单片机
LPC900配套开发工具
80C51系列单片机
应用设计
邮购价(3)
 Actel FPGA系列
Fusion系列
ProASIC3系列
IGLOO系列
配套开发工具
邮购价(4)
 RAMTRON半导体
FRAM铁电简介
串行FRAM
并行FRAM
处理器外围电路
Versa 8051系列MCU
状态保持器
配套开发工具
邮购价(5)
 热门外围器件系列
CAN-bus器件
USB-bus器件
I2C-bus器件
NXP UART系列器件
LCD驱动器
数码管显示与键盘管理芯片
ESD保护器件
智能卡读写芯片
智能卡读写模块(Mifare)
语音模块
电源模块(DC-DC)
邮购价(6)
 NXP 汽车电子系列
汽车网络
 CATALYST 半导体系列
复位监控器件
内置E2PROM存储器的监控电路
串行E2PROM
可编程数字电位器
LED驱动器
LDO电源管理器件
应用设计
 Exar(原Sipex)半导体系列
选型指南
DC / DC升压型稳压器
DC / DC降压型稳压器
Exar UART系列器件
LDO电源管理器件
电源Blox组件
复位监控器件
USB电源控制开关
多协议接口器件
RS232接口器件
RS485接口器件
 Keil C51软件
Keil C51软件
 嵌入式系统产品系列
逻辑分析仪
USB-bus分析仪
CAN-bus分析仪
编程器
仿真器
80C51系列开发平台
FPGA系列开发平台
 其他产品
OEM/ODM产品
邮购价(7)
 工业通讯产品系列
CAN-bus总线产品
DeveiceNet网络产品
EtherNet网络产品
无线通讯系列
 智能楼宇/ODM/OEM
Mifare读卡模块
门禁控制系统
协议转换器
门禁考勤系统
读卡器/发卡器
门禁/考勤管理系统



单片机C语Windows环境编程宝典


(点击图片可放大)

书名:单片机C语言Windows环境编程宝典(含光盘)
马忠梅 刘滨 戚军(周立功公司研究所所长) 马岩编著
北京航空航天大学出版社出版发行
ISBN 7-81077-296-1
开本:787×1092 1/16
字数: 1069千字
定价:65.00元
2003年6月第1版
2003年6月第1次印刷
购买联系: 北航出版社  网上购书
内容简介
      本书以KEIL公司最新版本8051单片机开发套件讲述单片机C语言应用程序设计。该套件的编译器有支持经典8051和8051派生产品的版本,统称为Cx51。Windows集成开发环境μVision2把μVision1用的模拟调试器dScope与集成环境无缝地结合起来,使用更方便,支持的单片机品种更多。全书共分三部分:Cx51基础篇、Cx51工具篇和Cx51应用篇。基础篇适用于单片机的初学者,结合8051结构讲述C语言基础知识。使用篇包括详细的编译器、宏汇编器和链接器的控制命令,以及μVision环境使用方法。应用篇包括混合编程以及单片机内部资源、扩展资源和实时操作系统的编程方法。
      本书的特点是取材于最新原文资料,总结实际教学和应用经验,内容范围广泛,实例详细具体。本书既适用于单片机初学者学习,又可作为单片机设计开发人员的工具书。
      本书附带一张光盘,内含评估版本软件和书中程序。
前    言

      单片机体积小、重量轻,具有很强的灵活性而且价格不高,得到越来越广泛的应用。20世纪80年代中期,Intel公司将8051单片机内核使用权以专利互换或出售形式转给世界许多著名IC制造厂商,如Philips,Atme1,Dallas,Infineon和ADI公司等。这样8051就变成有众多制造厂商支持的、发展出上百个品种的大家族。到目前为止,其他任何一个单片机系列均未发展到如此的规模且如此具有生命力。8051是单片机教学的首选机型,已成为单片机领域的实际标准。
     C语言是一种编译型程序设计语言。它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。单片机的程序设计应该以C语言为主,以汇编语言为辅。汇编语言掌握到只要可以读懂程序,能在时间要求比较严格的模块中进行程序的优化即可。采用C语言不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量存储单元的分配,编程者只需专注于应用软件部分的设计,可大大加快软件的开发速度。采用C语言可以很容易地进行单片机的程序移植工作,有利于产品中单片机的重新选型。
     KEIL公司C51编译器DOS版本曾通过美国Franklin公司在市场上销售多年,最早传入我国并得到广泛使用的是Franklin C51 V3.2版本。北京航空航天大学出版社1997年就出版了以此版本为基础的《单片机的C语言应用程序设计》;1999年对该书进行了修订,使其成为一些学校的单片机教材,受到广大单片机用户的欢迎。随着时间的推移,KEIL公司的产品不断升级,V5.0以上版本C51编译器就配有基于Windows的μVision集成开发环境和dScope软件模拟调试程序。现KEIL公司的编译器有支持经典8051和8051派生产品的版本,统称为Cx51。新版本μVision2把μVision1用的模拟调试器dScope与集成开发环境无缝地结合起来,界面更友好,使用更方便,支持的单片机品种更多。广州周立功单片机发展有限公司已取得KEIL公司8051单片机开发套件的代理权,拥有KEIL公司最新使用手册,可为国内单片机高级语言编程者提供技术支持。本书是在周立功公司的技术人员与北京理工大学、中国海洋大学和中央民族大学的老师通力协作下完成的。
     全书共分三大部分:Cx51基础篇、Cx51工具篇和Cx51应用篇。Cx51基础篇为第一章~第六章,包括单片机基础和C语言基础,使单片机的初学者可以具备基本的编程能力。C语言的讲解结合8051的硬件结构。Cx51使用篇为第七章~第十章,包括Windows集成开发环境、编译器、汇编器、链接器和实用工具的使用,使学习者可以熟练使用开发环境和配置控制命令。控制命令带有μVision环境的使用方法和使用样例。Cx51应用篇为第十一章~第十四章,包括单片机内部资源和扩展资源的编程技术、C语言和汇编语言混合编程技术以及带实时操作系统的编程技术,读者可得到深入的编程知识。混合编程技术结合模块化结构程序设计,是高效编程的关键。
     本书取材于最新原文资料,总结实际教学和应用经验,编程实例丰富,内容覆盖面广,附带一张光盘,内含评估版本软件和书中程序。希望本书能作为单片机开发人员的必备工具书,对单片机的应用推广工作起到一定的作用。
      由于书中程序和图表较多,难免有误漏之处,恳请读者批评指正。
      若读者需要KEIL Cx51软件和技术支持,可与代理商周立功单片机发展有限公司联系。

目    录
第一部分 Cx51基础篇

第一章 单片机基础知识3
1.1 8051单片机的特点3
1.2 8051的内部结构4
1.2.1 中央处理器5
1.2.2 存储器组织7
1.2.3 片内并行接口9
1.2.4 8051的内部资源11
1.2.5 8051的芯片引脚12
1.2.6 单片机的工作方式12
1.3 8051的系统扩展14
1.3.1 外部总线的扩展15
1.3.2 外部程序存储器的扩展16
1.3.3 外部数据存储器的扩展19
1.4 8051指令系统21
1.4.1 寻址方式21
1.4.2 指令说明22
1.4.3 伪指令28
1.4.4 指令系统表30
1.5 实用程序设计34

第二章 C与805137
2.1 8051的编程语言37
2.2 Cx51编译器38
2.3 KEIL 8051开发工具39
2.4 KEIL Cx51编程实例43
2.5 Cx51程序结构48

第三章 Cx51数据与运算50
3.1 数据与数据类型50
3.2 常量与变量51
3.3 Cx51数据的存储类型与8051存储器结构53
3.4 8051特殊功能寄存器(SFR)及其Cx51定义58
3.5 8051并行接口及其Cx51定义60
3.6 位变量(BIT)及其Cx51定义61
3.7 Cx51运算符、表达式及其规则63
3.7.1 Cx51算术运算符及其表达式63
3.7.2 Cx51关系运算符、表达式及优先级64
3.7.3 Cx51逻辑运算符、表达式及优先级65
3.7.4 Cx51位操作及其表达式66
3.7.5 自增减运算符、复合运算符及其表达式71

第四章 Cx51流程控制语句73
4.1 C语言程序的基本结构及流程图73
4.1.1 顺序结构及其流程图73
4.1.2 选择结构及其流程图73
4.1.3 循环结构及其流程图74
4.2 选择语句76
4.2.1 选择语句 if76
4.2.2 switch/case语句78
4.3 循环语句79
4.3.1 while语句80
4.3.2 do while语句81
4.3.3 for循环语句82

第五章 Cx51构造数据类型85
5.1 数组85
5.1.1 一维数组85
5.1.2 二维数组88
5.1.3 字符数组89
5.1.4 查表90
5.1.5 数组与存储空间90
5.2 指针91
5.2.1 指针的基本概念91
5.2.2 数组指针和指向数组的指针变量94
5.2.3 指向多维数组的指针和指针变量98
5.2.4 关于KEIL Cx51的指针类型98
5.3 结构100
5.3.1 结构的定义和引用100
5.3.2 结构数组104
5.3.3 指向结构类型数据的指针105
5.4 共用体107
5.5 枚举109

第六章 Cx51函数111
6.1 函数的分类112
6.2 函数的定义112
6.3 函数的参数和函数值114
6.4 函数的调用116
6.4.1 函数调用的一般形式116
6.4.2 函数调用的方式116
6.4.3 对被调用函数的说明117
6.4.4 函数的嵌套和递归调用118
6.4.5 函数的递归调用118
6.4.6 用函数指针变量调用函数120
6.5 数组、指针作为函数的参数122
6.5.1 用数组作为函数的参数122
6.5.2 用指向函数的指针变量作为函数的参数123
6.5.3 用指向结构的指针变量作为函数的参数125
6.5.4 返回指针的函数127

第二部分 Cx51工具篇

第七章 μVision2集成开发环境131
7.1 菜单栏命令131
7.2 创建应用136
7.2.1 创建项目136
7.2.2 项目目标和文件组141
7.2.3 配置对话框142
7.2.4 代码分体143
7.2.5 μVision2工具146
7.2.6 编写优化代码154
7.2.7 技巧和诀窍157
7.3 调试程序164
7.3.1 μVision2调试器164
7.3.2 Debug命令173
7.3.3 表达式175
7.3.4 技巧和诀窍186
7.4 μVision2调试函数190
7.4.1 创建和调用函数190
7.4.2 函数分类192
7.4.3 调试函数和C之间的区别200
7.4.4 μVision2调试器和dScope之间的差别200
7.5 样例程序201
7.5.1 第一个8051 C程序HELLO201
7.5.2 远程测量系统MEASURE205
7.6 使用Monitor51212

第八章 Cx51编译器219
8.1 Cx51编译器控制命令221
8.2 Cx51语言扩展254
8.2.1 关键字254
8.2.2 存储区254
8.2.3 外部数据存储器255
8.2.4 存储模式256
8.2.5 存储类型257
8.2.6 数据类型258
8.2.7 位类型258
8.2.8 可位寻址对象259
8.2.9 特殊功能寄存器260
8.2.10 绝对变量定位262
8.2.11 指针263
8.2.12 函数声明273
8.3 预处理器281
8.3.1 预处理命令281
8.3.2 字符串化操作符282
8.3.3 标记合并操作符282
8.3.4 预定义宏常量283
8.4 支持的8051派生产品283
8.4.1 AD公司ADμC微转换器B2 系列产品284
8.4.2 Atmel公司89x8252及其派生产品284
8.4.3 Dallas公司80C320,80C420,80C520和80C530284
8.4.4 Dallas公司80C390,80C400,5240及其派生产品285
8.4.5 Infineon公司C517, C517A, C509,80C537及其派生产品285
8.4.6 Philips公司8xC750, 8xC751 和8xC752286
8.4.7 Philips公司80C51MX体系结构287
8.4.8 Philips和Atmel公司WM 的双数据指针287
8.5 高级编程技术287
8.5.1 配置文件287
8.5.2 优化器292
8.5.3 段的命名规约292
8.5.4 C与汇编程序的接口295
8.5.5 C与PL/M51程序的接口303
8.5.6 数据存储格式304
8.5.7 访问绝对存储器地址308
8.5.8 调试309
8.6 Cx51运行库310
8.6.1 内部函数310
8.6.2 库文件310
8.6.3 标准类型311
8.6.4 绝对存储器访问宏311
8.6.5 函数分类313
8.6.6 头文件319

第九章 Ax51宏汇编器322
9.1 汇编伪指令324
9.1.1 段控制伪指令326
9.1.2 符号定义332
9.1.3 存储区初始化336
9.1.4 保留存储区337
9.1.5 过程声明339
9.1.6 程序链接341
9.1.7 地址控制343
9.1.8 其他伪指令344
9.2 宏定义和宏调用345
9.2.1 标准宏伪指令346
9.2.2 宏定义346
9.2.3 运算符351
9.2.4 宏调用351
9.2.5 C宏352
9.3 调用和控制355
9.3.1 汇编控制命令357
9.3.2 条件汇编的控制369

第十章 链接器/定位器和实用工具374
10.1 链接器/定位器Lx51374
10.2 链接器/定位器的控制命令379
10.2.1 列表文件控制384
10.2.2 输出文件控制392
10.2.3 段和位置控制396
10.2.4 高级语言控制406
10.3 库管理器LIBx51410
10.4 ObjectHex转换器415
10.4.1 使用OHx51415
10.4.2 使用OC51417

第三部分 Cx51应用篇

第十一章 模块化程序设计421
11.1 基本概念421
11.2 模块化程序开发过程423
11.3 汇编和编译425
11.4 覆盖和共享429
11.5 库和链接器/定位器430
11.5.1 库430
11.5.2 链接器/定位器431
11.6 混合编程436
11.7 程序优化446

第十二章 8051内部资源的C编程448
12.1 中断448
12.2 定时器/计数器456
12.3 串行口466
12.4 8051派生产品的内部资源475
12.5 多机通信478

第十三章 8051扩展资源的C编程486
13.1 可编程外围定时器8253486
13.2 可编程外围并行接口8255491
13.3 实时时钟/日历芯片146818495
13.4 8位D/A芯片DAC0832499
13.5 12位D/A芯片AD7521503
13.6 8位A/D芯片ADC0809505
13.7 12位A/D芯片AD574508
13.8 可编程键盘/显示接口芯片8279511
13.9 字符型LCD显示模块518
13.10 点阵型LCD显示模块523

第十四章 RTX51实时多任务操作系统534
14.1 RTX51概述534
14.2 要求和定义541
14.3 创建RTX51 Tiny应用程序544
14.4 RTX51 Tiny的系统函数546
14.5 堆栈处理553
14.6 样例程序和系统调试553
14.6.1 交通灯控制器553
14.6.2 系统调试565
附录AKEIL Cx51与ANSI C的不同570
附录BKEIL Cx51的版本差异573
附录C代码优化578
附录D编译器限制581
附录E提示和技巧582
附录F库函数参考585

参考文献651

 
 
    首 页 | 公司介绍 | 服务网点 | 解决方案 | 人才招聘 | 致远电子 | 客户服务 | 联系我们
版权所有 © 广州周立功单片机发展有限公司