第一图书网

32位单片机C语言编程

贾西欧 人民邮电
出版时间:

2009-12  

出版社:

人民邮电  

作者:

贾西欧  

页数:

330  

Tag标签:

无  

前言

随着微电子技术的蓬勃发展,嵌入式控制系统正朝着微型化、功能化、智能化的方向大步前进,并已广泛应用于工业生产和日常生活中。嵌入式控制系统的核心是微处理器,而单片机则是其中使用最为广泛的一类微处理器。随着系统性能要求和任务难度的不断提高,单片机已经由经典的8位机发展为16位机以及最新的32位机,并且还集成了种类愈加丰富、功能愈加强大的外围设备。另一方面,由于系统功能的复杂度不断增大,嵌入式控制系统的软件设计也已由当初的汇编语言编程升级为以c语言为代表的高级语言编程。因此,嵌入式控制系统设计师有必要了解一些新器件,掌握一些高级语言编程技术。本书正是在上述背景下出现的重要技术参考书,它依托最新型的32位单片机PIC32平台,详细介绍了基于c语言的嵌入式控制系统的软件设计方法,通过大量新颖而实用的工程实例,展示了PIC32单片机强大的运算处理能力和集成外围设备的丰富功能。本书作者LucioDiJasio先生是一位经验丰富的嵌入式控制系统设计专家,曾长期从事基于8位单片机的系统设计工作。他结合自己从8位单片机升级到32位单片机、从汇编语言编程升级到c语言编程的体会,对比了32位单片机与8位单片机在运算处理能力上的区别,以及c语言与汇编语言在易用性方面的差异,使读者直观地感受到32位单片机的强大功能和C语言的优越性。全书在内容组织上注重循序渐进,首先介绍基础知识,使读者能够快速建立嵌入式控制系统软件的基本架构,学会基本的I/O操作,学会用定时器实现精确延时,掌握PIC32的中断系统等;然后通过精心设计的实例使读者利用PIC32单片机的各种片上外围设备,实现同步/异步串行通信、LCD显示控制以及ADC采样等;最后,通过新颖的、趣味性极强的高级实例,使读者掌握PS/2键盘控制、视频显示、MMC/SD卡接口、文件操作以及音频处理等技术。这样,既能使初学者在短时间内迅速掌握PIC32单片机和嵌入式控制系统c语言编程的关键技术,又能使经验丰富的8位或16位单片机行家掌握PIC32单片机的新功能,从嵌入式汇编语言设计高手轻松地转型为c语言编程高手。本书主要由张鼎和岳虹翻译。BeFlying工作室负责人肖国尊协助翻译质量和进度的控制与管理,在此予以衷心感谢。译文虽经多次修改和校正,但是由于译者的水平有限,加之时间仓促,错漏之处在所难免,我们真诚地希望同行和读者不吝赐教,译者不胜感激之至。

内容概要

  《32位单片机C语言编程:基于PIC32》介绍32位单片机PIC32的C语言编程技术,引导读者循序渐进地掌握基于PIC32单片机的嵌入式控制系统的软硬件设计技术。全书内容分为三部分,第一部分是基础知识,第二部分是基本实践,第三部分是高级应用。  《32位单片机C语言编程:基于PIC32》内容新颖实用,趣味性强,既可作为嵌入式系统设计人员的参考书,也可作为高年级本科生、研究生的学习参考书。任何对嵌入式控制系统设计感兴趣的读者都会从中受益。

作者简介

作者:(意大利)贾西欧(Lucio Di Jasio) 译者:张鼎 岳虹 等

书籍目录

第一部分 探索第1章 初识PIC32 21.1 计划 21.2 准备 21.3 探索 31.4 编译与链接 51.5 链接器脚本 61.6 生成第一个工程 61.7 使用仿真器 71.8 确定方向 81.9 JTAG端口 101.10 测试PORTB 111.11 小结 131.12 对汇编语言行家的提示 131.13 对PIC MCU行家的提示 141.14 对C语言行家的提示 141.15 提示与技巧 141.16 练习 151.17 参考书 151.18 链接 15第2章 循环 162.1 计划 162.2 准备 162.3 探索 172.4 while循环 172.5 动态仿真 192.6 使用逻辑分析仪 222.7 小结 242.8 对汇编语言编程行家的提示 242.9 对8位PIC单片机行家的提示 242.10 对16位PIC单片机行家的提示 242.11 对C语言行家的提示 252.12 对MIPS行家的提示 252.13 提示与技巧 252.14 使用外围设备函数库的提示 252.15 练习 262.16 参考书 262.17 链接 26第3章 循环和数组 273.1 计划 273.2 准备 273.3 探索 273.4 do循环 273.5 变量声明 283.6 for循环 293.7 更多循环示例 303.8 数组 303.9 发送一条信息 313.10 用逻辑分析仪进行测试 333.11 用Explorer 16演示板进行测试 333.12 用PIC32 Starter Kit进行测试 343.13 小结 353.14 对汇编语言行家的提示 353.15 对PIC单片机行家的提示 363.16 对C语言行家的提示 363.17 提示与技巧 363.18 练习 373.19 参考书 373.20 链接 37第4章 算术操作与优化 384.1 计划 384.2 准备 384.3 探索 384.4 关于优化(完全不优化) 404.5 测试 404.6 关于long long类型 404.7 整数除法 414.8 浮点数 424.9 评估系统的性能 434.10 小结 454.11 对汇编语言行家的提示 454.12 对8位PIC单片机行家的提示 464.13 对16位PIC和dsPIC单片机行家的提示 464.14 提示与技巧 474.14.1 数学函数库 474.14.2 复数数据类型 474.15 练习 484.16 参考书 484.17 链接 48第5章 中断 495.1 计划 495.2 准备 495.3 探索 495.4 中断和异常 495.5 中断源 505.6 中断优先级 515.7 中断服务程序的声明 535.8 管理中断的函数库 545.9 单向量中断的管理 545.10 管理多个中断 575.11 多重向量中断的管理 595.12 一个简单的应用示例 625.13 辅助振荡器 665.14 实时时钟和日历(RTCC) 665.15 小结 685.16 对PIC单片机行家的提示 685.17 提示与技巧 685.18 练习 695.19 参考书 695.20 链接 69第6章 存储器 706.1 计划 706.2 准备 706.3 探索 706.4 存储空间的分配 716.5 查看映射 756.6 指针 776.7 堆 786.8 PIC32MX总线 786.9 PIC32MX存储器映射 796.10 嵌入式控制应用的存储器映射 826.11 小结 836.12 对C语言行家的提示 836.13 对汇编语言行家的提示 836.14 对PIC单片机行家的提示 836.15 提示与技巧 846.16 练习 846.17 参考书 846.18 链接 84第二部分 实践第7章 时间与初始化 867.1 计划 867.2 准备 867.3 探索 867.4 性能与功耗 887.5 主振荡时钟链 897.6 外围设备总线时钟 907.7 器件的初始配置 907.8 在代码中设定配置位 917.9 艰巨的任务 927.10 准备、设置、出发 977.11 微调PIC32:配置Flash等待状态 987.12 微调PIC32:打开指令和数据缓存 997.13 微调PIC32:打开预取指令功能 1007.14 微调PIC32:最后一步 1017.15 小结 1027.16 对汇编语言行家的提示 1027.17 对PIC单片机行家的提示 1027.18 提示与技巧 1037.19 练习 1057.20 参考书 1057.21 链接 105第8章 通信 1068.1 计划 1068.2 准备 1068.3 探索 1068.4 同步串行接口 1068.5 异步串行接口 1088.6 并行接口 1088.7 基于SPI的同步通信 1098.8 测试读状态寄存器命令 1128.9 向EEPROM写数据 1148.10 读取存储器的内容 1148.11 32位串行EEPROM存储器的函数库 1158.12 测试新的串行EEPROM存储器函数库 1178.13 小结 1188.14 对C语言编程行家的提示 1188.15 对Explorer 16专家的提示 1198.16 对PIC24行家的提示 1198.17 提示与技巧 1198.18 练习 1208.19 参考书 1208.20 链接 120第9章 异步通信 1219.1 计划 1219.2 准备 1219.3 探索 1219.4 UART的配置 1229.5 数据发送与接收 1249.6 测试串行通信程序 1259.7 生成一个简单的控制台函数库 1279.8 测试VT100终端 1289.9 将串行端口用作调试工具 1309.10 Matrix工程 1309.11 小结 1329.12 对C语言编程行家的提示 1329.13 对PIC单片机行家的提示 1329.14 提示与技巧 1329.15 练习 1339.16 参考书 1339.17 链接 133第10章 LCD显示 13410.1 计划 13410.2 准备 13410.3 探索 13410.4 与HD44780控制器兼容 13410.5 并行主端口 13710.6 配置PMP用于LCD模块控制 13710.7 访问LCD显示模块的小型函数库 13810.8 生成LCD函数库并使用PMP函数库 14110.9 函数库EXPLORER.C 14410.10 创建include和lib目录 14610.11 高级LCD控制 14710.12 进度条工程 14810.13 小结 15010.14 对PIC24单片机行家的提示 15110.15 提示与技巧 15110.16 练习 15110.17 参考书 15110.18 链接 152第11章 模数转换 15311.1 计划 15311.2 准备 15311.3 探索 15311.4 完成第一次转换 15511.5 自动采样的时序 15611.6 开发演示系统 15711.7 创建自己的小型ADC函数库 15811.8 乐趣与游戏 15811.9 温度检测 16011.10 小结 16411.11 对PIC24行家的提示 16411.12 提示与技巧 16411.13 练习 16411.14 参考书 16411.15 链接 165第三部分 扩展第12章 捕获用户输入 16812.1 计划 16812.2 准备 16812.3 按钮和机械开关 16812.4 封装按钮输入信号 17012.5 消除按钮输入弹跳 17112.6 旋转编码器 17312.7 中断驱动的旋转编码器输入 17612.8 键盘 17912.9 PS/2物理接口 17912.10 PS/2通信协议 18012.11 PIC32和PS/2相连接 18012.12 输入捕获模块 18012.13 用激励脚本进行测试 18412.14 仿真器的运行特性统计工具 18812.15 变更通知模块 18912.16 开销评估 19312.17 I/O轮询 19312.18 测试I/O轮询方法 19712.19 开销和效能的考虑 19912.20 键盘缓冲 20012.21 按键码的解码 20312.22 小结 20612.23 对PIC24行家的提示 20612.24 提示与技巧 20712.25 练习 20712.26 参考书 20712.27 链接 208第13章 视频处理 20913.1 计划 20913.2 准备 20913.3 探索 20913.4 复合视频信号的产生 21113.5 输出比较模块 21513.6 图像缓冲 21713.7 串行化、DMA和同步 21813.8 完成一个视频库文件 22213.9 测试复合视频信号 22513.10 测试性能 22713.11 看到黑屏 22713.12 测试模式 22813.13 绘图 23013.14 一片星空 23113.15 画出一条线 23213.16 Bresenham算法 23313.17 画出数学函数 23613.18 画出二维函数图 23713.19 分形 24013.20 文本 24513.21 通过视频打印文本 24713.22 文本测试 24913.23 Matrix程序的修改 25013.24 小结 25113.25 对PIC24行家的提示 25213.26 提示与技巧 25213.27 练习 25313.28 参考书 25313.29 链接 254第14章 大容量存储 25514.1 计划 25514.2 准备 25514.3 探索 25514.4 物理接口 25614.5 和Explorer 16演示板连接 25614.6 开始一个新工程 25714.7 选择SPI的操作模式 25814.8 在SPI模式下发送命令 25814.9 完成SD卡的初始化 26014.10 从SD/MMC卡读取数据 26114.11 向SD/MMC卡写入数据 26314.12 测试SD/MMC接口 26514.13 小结 26814.14 提示与技巧 26814.15 练习 26914.16 参考书 26914.17 链接 270第15章 读写文件 27115.1 计划 27115.2 准备 27115.3 探索 27115.4 扇区和簇 27115.5 文件分配表 27215.6 根目录 27315.7 寻宝 27515.8 打开文件 28315.9 从文件中读取数据 28915.10 关闭文件 29315.11 fileio模块 29315.12 测试fopenM()和freadM() 29515.13 向文件中写入数据 29715.14 关闭文件(续) 30015.15 辅助函数 30215.16 测试完整的fileio模块 30415.17 代码体积 30715.18 小结 30715.19 提示与技巧 30715.20 练习 30815.21 参考书 30815.22 链接 308第16章 音乐播放器 30916.1 计划 30916.2 准备 30916.3 探索 30916.4 OC PWM模式 31116.5 把PWM作为D/A转换器进行测试 31216.6 产生模拟波形 31416.7 复制声音信息 31716.8 媒体播放器 31816.9 WAVE文件格式 31916.10 play()函数 32016.11 音频例程 32616.12 一个简单的WAVE文件播放器 32816.13 小结 32916.14 提示与技巧 32916.15 练习 33016.16 参考书 33016.17 链接 33016.18 免责声明 33016.19 对于一些行家的最后提示 330

章节摘录

插图:这将是我们首次探索32位单片机PIC32,有些读者可能还是首次使用MPI-AB-IDE(集成开发环境)以及MPLABC32程序语言开发包开发工程。即使你从未听说过c语言,但是你也应该听说过著名的“Helloworld”程序示例。如果你对此也很陌生,那我还是说说吧。自从几十年前Kemighan和Ritchie编著了第一本c语言的书以来,任何正规的c语言书籍都会提到一个在电脑屏幕上显示“HelloWorld”的示例程序。成百上千的书籍都遵从这个传统,因此本书也不例外。但是,本书的示例会略有不同,它更加真实:由于我们要设计嵌入式控制应用系统,因此我们讨论的是单片机编程。虽说所有的个人电脑或者工作站都有显示屏,但是嵌入式控制应用系统却往往并非如此。因此,在本书的第一个嵌入式应用设计中,还是采用更为基本的输出方式:数字I/O引脚。在后面几章介绍高级应用时,嵌入式系统将与LCD显示屏相接,或者通过串行端口与另一个终端相接。到那时就将实现更加高级的功能,而不只是简单地显示“HelloWorld”。1.2准备无论你是计划一次短期的户外旅行还是筹备一次大型的北极探险,都一定要携带合适的装备。尽管对PIC32架构的探索决不关乎生死,但是如果你能在出门前,我的意思是在开始编写代码前,完成下列简单工作,那么你就会备感轻松。


编辑推荐

《32位单片机C语言编程:基于PIC32》:Microchip公司全套课程解决方案推荐用书嵌入式控制系统设计专家为您介绍功能强大的32位PIC32芯片

图书封面

图书标签Tags

广告

下载页面


32位单片机C语言编程 PDF格式下载



翻译过来的书,翻译质量算是中等吧,同作者还翻了其他不少书。本书算是PIC32为数不多的书籍了,该涉及到的模块什么的都有了,并且辅以实例。看完了感觉深度上欠缺一点,要是可以再深入一点就好了。


物流特别快,第二天就到了,书也没什么问题,只是运送的时候有的地方有点儿小折角,这也是难免的,总之挺好的!


我们用这本书当教材,很不错,由浅入深!


当初是因为卓越买书满100可以送券。怎么到今天券也没有啊?卓越不是忽悠把。


相关图书