书籍详情

从C到嵌入式C编程语言:入门.实用.深入

从C到嵌入式C编程语言:入门.实用.深入

作者:梁合庆 吕京建 博洋

出版社:北京航空航天大学出版社

出版时间:2000-11-01

ISBN:9787810129992

定价:¥35.00

购买这本书可以去
内容简介
  本书分为三部分:第一部分是C语言基础,介绍PC机使用的C;第二部分是8位嵌入式C语言,介绍8051的C;第三部分是16位嵌入式C语言,介绍80C51XA的C。有C语言基础的人,可以跳过第一部分,直接学习嵌入式C,通过本书从嵌入式C进入C语言大门;想再深入掌握PC机上的C,只需补修具体C编译器的库函数和用法指南即可直接上机操作。本书对于变量和函数的说明采用C的最新规范并充分考虑与C++的顺利衔接。本书的重要特点是将题目的的全貌以格式化的形式集中展现在读者眼前,兼收入门简洁、深入不失全貌、疑难应用一查了然;对于容易混淆或被忽略的地方,从感观上给以清晰的强化。章节组织原则:首先是内在顺序,其次是重要的在前;各项内容皆有举例,简单在前复杂在后;内容取舍一般与深入兼顾,又因手册性的需要,深入的梯度较大。本书对编程语言与实际连编操作并重,克服一般语言书在连编操作方面或无或过简的弊病。本书集作者多年80X86 C++及8051 Franklin C51编程实践经验加以总结和归纳写成。本书适用于工程技术人员自学,也可作为各工科大、专院校和中等专业学校的辅助教材及培训班教材。
作者简介
暂缺《从C到嵌入式C编程语言:入门.实用.深入》作者简介
目录
第一部分 C语言基础
第一章 词法
1.1 标识符
1.2 关键字
1.3 常量
1.3.1 整数常量
1.3.2 浮点数常量
1.3.3 枚举常量
1.3.4 字符常量
1.4 字符串
1.5 运算符
1.5.1 单目运算符
1.5.2 双目运算序
1.5.3 三目运算管
1.5.4 赋值运算管
1.5.5 逗号运算符
1.5.6 函数参数运算林
1.5.7 数组下标运算浮
1.5.8 结构/联合成员运算符
1.5.9 结构/联合指针运算符
1.6 分隔符
1.6.1 方括号分隔符
1.6.2 圆括号分隔浮
1.6.3 花括号分隔符
1.6.4 逗号分隔符
1.6.5 分号分隔符
1.6.6 冒号分隔符
1.6.7 省略号分隔符
1.6.8 星号分隔符
1.6.9 等号分隔符
1.6.10 预处理器伪指令符
1.7 空白符(nul)
第二章 说明
2.1 对象与左值
2.1.1 对象
2.1.2 左值
2.2 变量说明
2.3 数组说明
2.3.1 一维数组,一维指针数组,一维数组指针
2.3.2 多维数组,多维指针数组,多维数组指针,多重指针
2.4 结构说明
2.4.1 原型法
2.4.2 类型别名法
2.4.3 关于结构的讨论
2.4.4 位段结构
2.5 联合说明
2.6 函数说明
第三章 语句
3.1 语句
3.2 表达式
3.3 表达式语句
3.4 复合语句
3.5 循环语句
3.5.1 for循环语句
3.5.2 while循环语句
3.5.3 do while循环语句
3.6 条件语句
3.6.1 一般条件语句
3.6.2 嵌套条件语句
3.6.3 多选一条件语句
3.7 开关语句
3.8 间断语句
3.9 接续语句
3.10 跳转语句
3.11 返回语句
3.12 空语句
第四章 函数及函数库
4.1 前言
4.2 单文件程序(一)——字符串处理
4.3 单文件程序(二)——二维数组
4.4 多文件程序——台式计算器逆波兰算法的实现
4.5 关于函数参数值的传送问题
4.6 主函数
4.7 C语言的函数库
4.8 头文件
4.9 分类库函数
4.9.1 归类函数
4.9.2 转换函数
4.9.3 目录控制函数
4.9.4 诊断函数
4.9.5 图形函数
4.9.6 内部函数
4.9.7 输入输出函数
4.9.8 各类接口函数(dos,bios,8086)
4.9.9 串与内存块操作函数
4.9.10 数学函数
4.9.11 动态内存管理函数
4.9.12 杂项函数
4.9.13 进程控制函数
4.9.14 窗口文本显示函数
4.9.15 日期时间函数
4.9.16 变参数表函数
4.10 全局变量
4.10.1 argc
4.10.2 argv
4.10.3 ctype
4.10.4 daylight
4.10.5 directvideo
4.10.6 environ
4.10.7 error,_doserrno,sys_errlist,sys_nerr
4.10.8 fmode
4.10.9 heaplen
4.10.10 _new_handler
4.10.11 _osmajor,_osminor
4.10.12 ovrbuffer
4.10.13 _psp
4.10.14 _stklen
4.10.15 timezone
4.10.16 tzname
4.10.17 _version
4.10.18 _wscroll
4.10.19 _8087
第五章 预处理器
5.1 前言
5.2 包含文件伪指令
5.3 伪指令宏
5.3.1 简单宏
5.3.2 参数宏
5.3.3 宏释放
5.3.4 条件宏定义
5.3.5 预定义宏
5.3.6 宏体中使用转义符#和合并将##
5.4 条件编译伪指令
5.5 #pragma伪指令
5.6 #line伪指令
5.7 #error伪指令
第二部分 C51(8051用8位嵌入式C语言)
第六章 C51前言
第七章 C51说明
7.1 C51简单变量说明
7.1.1 类型说明将bit
7.1.2 预定义特殊功能寄存器说明符sfr和sfr16
7.1.3 预定义特殊功能寄存器位说明符sbit
7.1.4 在bdata RAM空间定义位变量(借用位类型符shit)
7.2 C51复合变量说明
7.3 C51指针变量说明
7.3.1 通用指针
7.3.2 抽象指针——匿名指体
7.3.3 指针可用运算管
第八章 C51存储模式
8.1 C51三种存储模式
8.2 C51内部对数据和函数的组织规范
8.2.1 标识符改大写字符和函数换名
8.2.2 全局变量存放的段名规定
8.2.3 函数的段名
8.2.4 函数的参数传送规则
8.2.5 重入栈的有关规定
8.2.6 函数返回值的规定
第九章 C51函数及库函数
9.1 函数说明
9.2 函数被修饰使用指定的寄存器组
9.3 函数被修饰为中断函数
9.4 函数被修饰为重入函数
9.5 函数被修饰为使用指定的存储模式
9.6 C51与PL/M51函数的交叉调用
9.7 C与汇编函数的交叉调用
9.8 内部函数
9.8.1 左移多位函数
9.8.2 右移多位函数
9.8.3 空操作函数
9.8.4 位测试函数
9.9 抽象数组(绝对地址存取)——absacc库函数
9.10 C到库函数介绍
第十章 C51 SFR头文件和配置文件
10.1 特殊功能寄存器头文件
10.2 C51配置文件
10.2.1 STARTUP.A51文件
10.2.2 INIT.A51文件
10.2.3 PUTCHAR.C文件
10.2.4 GETKEY.C文件
第十一章 C51预处理器伪指令
第十二章 C51编译命令行控制选项和控制伪指令
12.1 简介
12.2 编译命令行
12.2.1 一次性使用编译控制伪指令
12.2.2 可多次使用编译控制伪指令
第十三章 C51及L51使用方法
13.1 C51的使用环境
13.2 C51安装
13.3 编译方法
13.4 C51支持的文件名和设备名
13.5 错误号
13.6 连接/定位方法
13.7 连接控制选项
13.7.1 一般的连接控制选项
13.7.2 特殊的连接控制选项
13.8 定位控制选项
13.9 映像列表文件控制选项
13.10 连接/定位命令
13.11 特殊连接控制选项示例
13.12 使用C51和L51的完整示例
13.12.1 多模块编程
13.12.2 多模块编译
13.12.3 多模块连接定位
第三部分 XAC(80C51XA用16位嵌入式C语言)
第十四章 XAC说明
14.1 XAC变量说明
14.1.1 XAC一般变量说明
14.1.2 绝对变量与SFR
14.1.3 位变量与可位寻址SFR
14.2 XAC数组说明
14.3 XAC结构说明
14.4 XAC联合说明
14.5 XAC函数说明
14.5.1 XAC一般函数说明
14.5.2 XAC banked中断函数说明
14.5.3 中断向量表(ROM向量表)的添写
14.5.4 中断接管与RAM向量表
第十五章 XAC编译器内部管理规范和约定
15.1 XAC标准程序子段(psect)
15.2 XAC有关寄存器的约定
15.3 XAC有关参数传送和函数返回的约定
15.4 XAC关于函数的签字
15.5 XAC有关存赌器的约定
15.6 XAC的存储模式
15.7 XAC关于运行时启动模块的规定
15.8 XAC上电子程序
15.9 XAC标准启动模块的编程
15.9.1 连接器定义符号名
15.9.2 bss和rbss清零程序
15.9.3 data和rdta复制程序
15.10 XAC定制的启动模块
15.10.1 手工优化代码
15.10.2 定制启动模块的编写
15.10.3 关于版权信息
第十六章 XAC的混合编程和函数库
16.1 C语言与汇编语言混合编程
16.1.1 C与汇编函数的交叉调用
16.1.2 在线嵌入汇编指令段
16.2 XAC运行时间库函数
16.2.1 标准输入输出库函数及用户的定制
16.2.2 XAC库函数汇总
16.2.3 XAC库管理器实用程序
第十七章 XAC编译器
17.1 编译命令行控制选项
17.1.1 -A(指定ROM和RAM定位地址)
17.1.2 -AAHEX(指定按美国自动化符号格式生成HEX文件)
17.1.3 -AV((指定符号文件用Avocet风格)
17.1.4 -BIN(指定生成二进制输出文件)
17.1.5 -BI(指定选用大存储模式)
17.1.6 -Bm(指定选用中存储模式)
17.1.7 -Bs(指定选用小存储模式
17.1.8 -C(只翻译到目标文件)
17.1.9 -CR(生成交叉访问表)
17.1.10 -CLIST(生成C列表文件)
17.1.11 -D(定义宏)
17.1.12 -DOUBLE(起用IEEE64位DOUBLE变量)
17.1.13 -E(编译器使用editor格式的错误信息)
17.1.14 -E(编译器错误信息重走向到指定文件)
17.1.15 -H(生成汇编级符号文件)
17.1.16 -I(指定附加的搜索头文件的路径)
17.1.17 -L(指定附加的扫描库)
17.1.18 -L-(指定传递给LINKER的控制选项)
17.1.19 -M(生成映像文件)
17.1.20 -MOTOROLA(生成Motorola S-Record格式的HEX文件)
17.1.21 -N(指定标识符有效字符长度)
17.1.22 -O(启动优化)
17.1.23 -O(指定输出文件)
17.1.24 -OMF51(指定生成OMF51格式的输出文件)
17.1.25 -PROTO(指定生成包括ANSI和K&R风格的函数原型文件)
17.1.26 -PSECTMAP(程序段映像表)
17.1.27 -S(编译生成汇编源文件)
17.1.28 -STRICT(严格遵守ANSI标准)
17.1.29 -TEK(编译生成Tektronics HEX文件)
17.1.30 -U(解除宏定义)
17.1.31 -UBROF(指定生成UBROF格式的输出文件)
17.1.32 -UNSIGNED(指定unsigned char为char的缺省类型)
17.1.33 -V(详示编译命令)
17.1.34 -W(设置告警级别)
17.1.35 -X(去除局部符号)
17.1.36 -Zg(启动全局优化)
17.2 编译器输出文件格式
17.3 编译器生成的符号文件
17.4 CREF生成交叉访问表的实用程序
17.4.1 -F路径或文件名
17.4.2 -H表头名
17.4.3 -L每页行数
17.4.4 -O输出文件名
17.4.5 -p页宽
17.4.6 -S包含拒选符号的文件名
17.4.7 -X拒选符号的前导字符序列
第十八章 XAC预处理器
18.1 XAC预定义宏
18.2 #pragma编译控制伪指令
第十九章 XAC宏汇编器
19.1 序言
19.2 XA汇编源文件语句
19.2.1 字符集
19.2.2 数
19.2.3 分隔符
19.2.4 特殊字符
19.2.5 标识符
19.2.6 汇编生成的标识符
19.2.7 位置计数器
19.2.8 寄存器符号
19.2.9 字符串
19.2.10 暂时标号
19.2.11 表达式
19.2.12 汇编语句的格式
19.3 XA汇编伪指令
19.3.1 伪指令语句格式
19.3.2 PUBLIC
19.3.3 EXTRN
19.3.4 GLOBAL
19.3.5 END
19.3.6 程序段(PSECT)
19.3.7 ORG
19.3.8 EQU和SET
19.3.9 DB和DW
19.3.10 DF
19.3.11 DS
19.3.12 IF ELSE EKSEIF ENDIF
19.3.13 SIGNAT
19.3.14 控制选项伪指令行
19.4 宏
19.4.1 MACRO ENDM
19.4.2 LOCAL
19.4.3 REPT
19.4.4 IRP
19.4.5 IRPC
19.5 XA汇编命令行
19.5.1 XA汇编命令行格式
19.5.2 汇编选项
第二十章 HLINK连接器
20.1 简介
20.2 连接与定位(或装载)的基本概念
20.3 连接命令
20.4 OBTOHEX实用程序
第二十一章 HPDXA 51XA集成开发平台
21.1 安装
21.1.1 MS_DOS下的安装
21.1.2 UNIX操作系统下的安装
21.2 快速入门
21.2.1 简单程序示例
21.2.2 使用HPDXA
21.2.3 使用XAC命令行
21.2.4 运行程序
21.3 HPDXA用户接口
21.3.1 监视器模式必性选择
21.3.2 菜单命令操作
21.4 HPDXA菜单命令快览
21.4.1 系统子菜单(<<>>)
21.4.2 File子菜单
21.4.3 Edit子菜单
21.4.4 Option子菜单
21.4.5 Compile子菜单
21.4.6 Make子菜单
21.4.7 Run子菜单
21.4.8 Utility子菜单
21.4.9 Help子菜单
21.5 HPDXA编辑器
21.6 编译连接一条龙示例
附录
附录A C51函数库
A.1 数学函数
A.1.1 函数名:abs,cabs.fabs.labs
A.1.2 函数名:exp,log,log10
A.1.3 函数名:sqrt
A.1.4 函数名:rand,srand
A.1.5 函数名:cos,sin,tan
A.1.6 函数名:acos,asin,atan,atan2
A.1.7 函数名:cosh,sinh,tanh,
A.1.8 函数名:fpsave,fprestore
A.1.9 函数名:ceil
A.1.10 函数名:floor
A.1.11 函数名:modf
A.1.12 函数名:pow
A.2 标准化I/O函数
A.2.1 函数名:_getkey()
A.2.2 函数名:getchar
A.2.3 函数名:gets
A.2.4 函数名:ungetchar
A.2.5 函数名:-ungetkey
A.2.6 函数名:putchar
A.2.7 函数名:printf
A.2.8 函数名:sprintf
A.2.9 函数名:puts
A.2.10 函数名:scanf
A.2.11 函数名:sscanf
A.3 动态存储函数
A.3.1 函数名:calloc
A.3.2 函数名:free
A.3.3 函数名:int_mempool
A.3.4 函数名:malloc
A.3.5 函数名:realloc
A.4 字符归类函数
A.4.1 函数名:isalpha
A.4.2 函数名:isalnum
A.4.3 函数名:iscntrl
A.4.4 函数名:isdigit
A.4.5 函数名:isgraph
A.4.6 函数名:isprint
A.4.7 函数名:ispunct
A.4.8 函数名:islower
A.4.9 函数名:isupper
A.4.10 函数名:isspace
A.4.11 函数名 isxdigit
A.4.12 函数名:toascil(参数宏)
A.4.13 函数名:toint
A.4.14 函数名:tolower
A.4.15 函数名: tolower(参数宏)
A.4.16 函数名: toupper
A.4.17 函数名:_toupper(参数宏)
A.5 字符串函数
A.5.1 函数名:memchr
A.5.2 函数名:memcmp
A.5.3 函数名:memcpy
A.5.4 函数名:memccpy
A.5.5 函数名:memmove
A.5.6 函数名:memset
A.5.7 函数名:strcat
A.5.8 函数名:strncat
A.5.9 函数名:strcmp
A.5.10 函数名:strncmp
A.5.11 函数名:strcpy
A.5.12 函数名:strncpy
A.5.13 函数名:strlen
A.5.14 函数名:strchr,strpos
A.5.15 函数名:strrchr,strrpos
A.5.16 函数名:strspn,strcspn,strpbrk,strrpbrk
A.6 字符串转换函数
A.6.1 函数名:atof
A.6.2 函数名:atol
A.6.3 函数名:atoi
A.7 变参数函数
A.7.1 宏名:va_list
A.7.2 宏名:va_start(va_list ap,last_argument)
A.7.3 宏名:type va_ arg(va_list ap,type)
A.7.4 宏名:va_end(va_list ap)
A.8 全程跳转函数
A.8.1 函数名:setjmp
A.8.2 函数名:longjmp
A.9 内部函数
A.9.1 函数名:_crol_,_irol_,_lrol_
A.9.2 函数名:_cror_,_iror_,_lror_
A.9.3 函数名:_nop_
A.9.4 函数名:_testbit_
A.10 抽象数组
A.10.1 函数名:CBYTE,BDYTE,PBYTE,XBYTE
A.10.2 函数名:CWORD,DWORD,XWORD,PWORD
附录B C51编译器使用错误提示
B.1 前言
B.2 致命错误
B.3 语法及语义错误
附录C L51连接/定位器使用错误提示
C.1 前言
C.2 L51警告
C.3 L51错误
C.4 L51致命错误
C.5 例外信息
附录D C51的极限值
附录E XAC运行时间库函数
E.1 ACOS
E.2 ASCTIME
E.3 ASIN
E.4 ASSERT
E.5 ATAN
E.6 ATOF
E.7 ATOI
E.8 ATOL
E.9 BSEARCH
E.10 CALLOC
E.11 CEIL
E.12 CGETS
E.13 COS
E.14 COSH,SINA,TANH
E.15 CPUTS
E.16 CTIME
E.17 DI,EI
E.18 DIV
E.19 EXIT
E.20 EXP
E.21 FABS
E.22 FLOOR
E.23 FREE
E.24 FREXP
E.25 GETC
E.26 GETCH,GETCHE,UNGETCH
E.27 GETS
E.28 GMTIME
E.29 ISALNUM,ISALPHA,ISDIGIT,ISLOWER等
E.30 KBHIT
E.31 LDEXP
E.32 LDIV
E.33 LOCALTIME
E.34 LOG,LOG10
E.35 LONGJMP
E.36 MALLOC
E.37 MEMCHR
E.38 MEMCMP
E.39 MEMCPY
E.40 MEMMOV
E.41 MEMSET
E.42 PERSIST_CHECK,PERSIST_VALIDATE
E.43 POW
E.44 PRINTF,VPRINTF
E.45 PUTCH
E 46 PUTS
E.47 QSORT
E.48 RAND
E.49 REALLOC
E.50 SCANF,VSCANF
E.51 SET_VECTOR
E.52 SETJMP
E.53 SIN
E.54 SPRINTF,VSPRINTF
E.55 SQRT
E.56 SRAND
E.57 SSCANF,VSSCANF
E.58 STRCAT 
E.59 STRCHR
E.60 STRCMP
E.61 STRCPY
E.62 STRLEN
E.63 STRNCAT
E.64 STRNCMP
E.65 STRNCPY
E.66 STRRCHR
E.67 TAN
E.68 TOLOWER,TOUPPER,TOASCll
E.69 VA_STSRT,VA_ARG,VA_END

附录F XAC使用错误信息
附录G HTDXA菜单命令热健
猜您喜欢

读书导航