由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版新书] 嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版) 孙俊喜
¥ ×1
书名: | 嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版) |
出版社: | 清华大学出版社 |
出版日期 | 2022 |
ISBN号: | 9787302617679 |
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》对32位精简指令集系统中嵌入式微处理器S3C2410的硬件系统和C语言驱动程序进行了详细讲解,书中的源代码和实例程序对学习或从事嵌入式系统设计的读者都颇具参考价值。在人机界面设计、系统初始化程序编写、仿真器设置和复杂项目构建等方面给出了简单易行的方法,使初学者能够轻松、快速地掌握嵌入式系统的设计方法。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》以实用技术为主,内容通俗易懂,实例丰富,特别适合初学者和从事嵌入式系统设计工作的读者使用。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》配套的电子课件、配套实验讲义、各章的习题答案和部分工具软件可以通过http://www.tupwk.com.cn/ downpage网站下载,也可以扫描前言中的二维码获取。 |
|
|
图书特色 * 通过项目开发实例展示嵌入式程序的调试、运行和烧写 * 全面讲解嵌入式开发的软硬件知识 * 带领读者快速掌握嵌入式系统开发技术 嵌入式系统大多具有小巧、轻、薄的特点,程序的代码不是很大,本书建议初学者不使用Linux操作系统而直接在Windows下采用C语言进行系统开发。这样开发ARM嵌入式系统就像开发MCS-51一样简单,能让学生利用系统提供的软硬件资源,参考示例程序,参照书中做法绕过难点。快速掌握嵌入式系统设计开发能力是本书最大特点。 |
|
第1章 嵌入式控制系统简介 1 1.1 单片机和嵌入式控制系统的定义 及分类 1 1.1.1 单片机和嵌入式控制系统的定义 1 1.1.2 嵌入式控制系统的设计方法 2 1.1.3 嵌入式控制系统各种设计方法的特点 2 1.2 ARM处理器简介 4 1.2.1 ARM体系结构的发展 4 1.2.2 ARM体系结构的存储器格式 8 1.3 ARM技术应用领域的现状及 发展趋势 9 1.4 习题 11 第2章 ADS1.2开发环境的创建和使用 13 2.1 ADS1.2开发环境的创建 13 2.1.1 ADS1.2概述 13 2.1.2 ADS1.2的安装 14 2.2 ADS集成开发环境的使用 16 2.2.1 新建一个项目 16 2.2.2 设置开发环境 17 2.2.3 其他开发环境介绍 21 2.3 用AXD进行代码仿真、调试 21 2.3.1 AXD简介 21 2.3.2 JTAG概述 24 2.3.3 NOR和NAND Flash的区别与使用 24 2.3.4 烧写Flash 26 2.4 ARM C语言程序的基本规则和 系统初始化程序 26 2.4.1 ARM使用C语言编程的基本规则 26 2.4.2 初始化程序和开发环境设置 27 2.5 习题 29 第3章 ARM9微处理器S3C2410 资源 31 3.1 S3C2410微处理器介绍 31 3.1.1 AMBA、AHB和APB总线的特点 31 3.1.2 S3C2410微处理器的体系结构 33 3.1.3 S3C2410微处理器的管理系统 33 3.1.4 S3C2410微处理器的存储空间映射 33 3.1.5 S3C2410微处理器的时钟和电源管理 34 3.2 S3C2410微处理器片上资源的定义 和使用 36 3.3 参考软件资源2410test.mcp 36 3.4 几个常用的输入/输出函数 41 3.5 def.h头文件 47 3.6 习题 47 第4章 S3C2410的I/O端口和I/O 端口操作 49 4.1 S3C2410 I/O端口描述 49 4.2 I/O端口控制寄存器 50 4.2.1 端口A控制寄存器及其功能配置 50 4.2.2 端口B控制寄存器及其功能配置 51 4.2.3 端口C控制寄存器及其功能配置 52 4.2.4 端口D控制寄存器及其功能配置 54 4.2.5 端口E控制寄存器及其功能配置 55 4.2.6 端口F控制寄存器及其功能配置 56 4.2.7 端口G控制寄存器及其功能配置 57 4.2.8 端口H控制寄存器及其功能配置 58 4.3 I/O端口控制C语言编程实例 59 4.3.1 硬件电路 59 4.3.2 参考程序 59 4.4 电平转换和光电隔离 61 4.5 习题 63 第5章 S3C2410的中断系统 65 5.1 S3C2410的中断源 65 5.2 S3C2410的中断处理 66 5.3 中断控制 67 5.3.1 中断模式(INTMOD)寄存器 67 5.3.2 中断挂起寄存器和中断源挂起 寄存器 68 5.3.3 中断屏蔽(INTMSK)寄存器 70 5.3.4 中断优先级(PRIORITY)寄存器 70 5.4 子中断源的中断控制 72 5.5 中断向量的设置 73 5.6 其他常用寄存器 74 5.7 编写中断程序时需要注意的问题 76 5.8 中断实验和中断程序的编写 77 5.9 习题 81 第6章 S3C2410的串口UART 83 6.1 S3C2410的串口UART概述 83 6.1.1 S3C2410 UART单元 83 6.1.2 波特率的产生 83 6.1.3 UART通信操作 84 6.2 UART的控制寄存器 84 6.2.1 UART线路控制寄存器ULCONn (n=0~2) 84 6.2.2 UART控制寄存器UCONn(n=0~2) 84 6.2.3 UART FIFO控制寄存器UFCONn (n=0~2) 85 6.2.4 UART MODEM控制寄存器UMCONn (n=0或1) 85 6.2.5 发送寄存器UTXHn(n=0~2)和接收寄存器URXHn(n=0~2) 86 6.2.6 UART TX/RX状态寄存器UTRSTATn (n=0~2) 86 6.2.7 S3C2410 UART使用的端口 86 6.3 UART通信程序示例 86 6.3.1 RS232接口电路 86 6.3.2 UART实验程序 87 6.4 习题 92 第7章 S3C2410的A/D、D/A转换控制 93 7.1 S3C2410的A/D转换控制寄存器 93 7.1.1 A/D转换控制寄存器(ADCCON) 93 7.1.2 A/D转换控制程序的编写步骤 94 7.2 参考程序 94 7.3 习题 97 第8章 触摸屏控制 99 8.1 触摸屏的结构和工作原理 99 8.1.1 触摸屏的工作原理 99 8.1.2 S3C2410的触摸屏控制 101 8.2 触摸屏控制程序 104 8.3 习题 106 第9章 S3C2410的实时时钟(RTC) 107 9.1 实时时钟在嵌入式系统中的作用 107 9.1.1 S3C2410的实时时钟单元 107 9.1.2 S3C2410的实时时钟寄存器 108 9.2 参考程序及说明 110 9.3 习题 115 第10章 直接存储器存取(DMA)控制 117 10.1 DMA基础知识 117 10.2 S3C2410的DMA控制器 119 10.3 用DMA方式实现存储器到存储器的数据传送 121 10.3.1 头文件定义和函数声明 121 10.3.2 以DMA方式实现存储器到存储器的数据传送 122 10.4 习题 126 第11章 S3C2410的PWM控制 127 11.1 PWM定时器概述 127 11.1.1 什么是脉宽调制 127 11.1.2 S3C2410的PWM及其控制 127 11.1.3 S3C2410定时器的特性 128 11.1.4 定时器操作示例 129 11.1.5 死区生成器 130 11.2 PWM输出电平控制 131 11.2.1 PWM的工作原理 131 11.2.2 PWM输出控制 132 11.3 PWM定时器控制寄存器 132 11.3.1 定时器配置寄存器0 132 11.3.2 定时器配置寄存器1 133 11.3.3 减法缓冲寄存器和比较缓冲寄存器 133 11.3.4 定时器控制寄存器 133 11.3.5 减法计数器观察寄存器 134 11.4 PWM参考程序 134 11.5 习题 141 第12章 S3C2410的看门狗电路控制 143 12.1 看门狗电路的功能及工作原理 143 12.1.1 S3C2410的看门狗控制 143 12.1.2 看门狗定时器的寄存器 144 12.2 参考程序及说明 145 12.3 习题 146 第13章 S3C2410的I2C总线控制 147 13.1 I2C总线的工作原理 147 13.2 EEPROM读/写操作 150 13.2.1 AT24C04的结构与应用简述 150 13.2.2 设备地址(DADDR) 151 13.2.3 AT24CXX的数据操作格式 151 13.3 S3C2410处理器I2C接口 151 13.3.1 S3C2410 I2C接口简介 151 13.3.2 使用S3C2410 I2C总线读/写方法 153 13.4 S3C2410 I2C总线读/写参考程序的编写 153 13.5 I2C实验程序 154 13.6 习题 157 第14章 I2S介绍和S3C2410的I2S控制 159 14.1 数字音频信号(I2S)介绍 159 14.2 数字音频计算机处理 160 14.2.1 采样频率和采样精度 160 14.2.2 音频编码 161 14.2.3 I2S数字音频接口 161 14.3 音频芯片UDA1341TS介绍 161 14.3.1 硬件结构 161 14.3.2 S3C2410和UDA1341TS的连接 162 14.3.3 UDA1341TS的软件编程 163 14.3.4 UDA1341TS DATA0编程 165 14.3.5 UDA1341TS DATA1编程 167 14.3.6 UDA1341TS 控制寄存器STATUS编程 168 14.4 S3C2410中的I2S控制寄存器 169 14.5 WAV声音格式文件 171 14.6 I2S实验参考程序 171 14.7 习题 179 第15章 串行外设接口(SPI)介绍 181 15.1 SPI接口及操作 181 15.1.1 SPI串行外设接口的原理 181 15.1.2 SPI串行外设接口的特性 182 15.2 SPI接口控制寄存器 183 15.2.1 SPI控制寄存器(SPICONn) 183 15.2.2 SPI状态寄存器(SPSTAn) 183 15.2.3 SPI引脚控制寄存器(SPPINn) 183 15.2.4 SPI波特率预分频寄存器(SPPREn) 184 15.2.5 SPI发送数据寄存器(SPTDATn) 184 15.2.6 SPI接收数据寄存器(SPRDATn) 184 15.2.7 SPI接口操作 185 15.2.8 SPI接口编程 185 15.2.9 SPI接口的传输格式 185 15.2.10 SPI通信模式 186 15.3 参考程序 187 15.4 习题 190 第16章 S3C2410的人机界面设计 191 16.1 英文字符的存储与显示原理 191 16.1.1 ASCII码 191 16.1.2 英文字符的显示 192 16.2 汉字在计算机中的表示和显示 193 16.2.1 汉字的内码和区位码 193 16.2.2 汉字的显示 194 16.2.3 其他西文字符在计算机中的存储和显示 195 16.2.4 在屏幕上“打点” 196 16.2.5 字模提取与建立小字库概述 196 16.3 字模提取与建立小字库 197 16.3.1 用C语言提取字模和建立小字库 197 16.3.2 用Delphi提取字模和建立小字库 200 16.3.3 通用字模提取程序MinFonBase的使用说明 210 16.4 S3C2410显示控制的特点 211 16.4.1 STN LCD显示器 211 16.4.2 TFT LCD显示器 211 16.4.3 LCD控制器的特点 211 16.5 S3C2410的LCD控制信号和外部引脚 212 16.5.1 LCD专用控制寄存器 213 16.5.2 LCD专用控制寄存器的设置 218 16.5.3 LCD屏幕“打点”程序 221 16.6 S3C2410的LCD驱动程序 224 16.6.1 S3C2410的LCD驱动程序编写步骤 224 16.6.2 利用S3C2410显示汉字与曲线 225 16.7 S3C2410在LCD驱动方面的其他应用 233 16.7.1 HD66421概述 233 16.7.2 HD66421的编程 234 16.7.3 HD66421与微处理器的连接及驱动程序 238 16.8 在LCD屏上按一定格式显示汉字和曲线 249 16.9 S3C2410的LCD控制信号和外部引脚 250 16.9.1 S3C6410(ARM11)简介 250 16.9.2 S3C6410(ARM11)的汉字和曲线显示 251 16.10 习题 258 第17章 程序的调试、运行和烧写 259 17.1 VIVI软件的运行和使用 259 17.1.1 VIVI软件的运行 259 17.1.2 VIVI软件的几个常用命令 259 17.2 VIVI软件的安装 261 17.3 程序的调试和运行 263 17.4 程序的烧写 270 17.5 习题 272 第18章 项目开发实例 273 18.1 实例目的和软硬件准备 273 18.1.1 实例目的 273 18.1.2 软硬件准备 273 18.2 字模提取、建立小字库 274 18.2.1 汉字字模提取、建立小汉字库 274 18.2.2 西文字符和数学符号字模提取 275 18.2.3 ASCII码字模处理、其他图形字模处理 276 18.3 项目构建 276 18.3.1 项目结构 276 18.3.2 MAIN.c程序简介 277 18.4 项目编译和调试 278 18.4.1 设置开发环境 278 18.4.2 项目编译 282 18.4.3 项目调试 283 18.5 项目烧写(固化) 285 参考文献 289 |
嵌入式控制系统的教学现状 嵌入式控制系统的教学一般分为两个层次。 第一个层次,完成以MCS-51为代表的8位单片机教学。这在各所高校都得到了重视,大多数高校安排理论课64学时,实验课32学时,课时比较充足。在这个层次上,无论是讲授C语言程序设计,还是讲授汇编语言程序设计,可供选择的教材都比较多。 第二个层次,也就是以32位ARM为代表的嵌入式控制系统教学。目前,许多高校都还没有开设,主要有以下三个原因。 一是缺乏师资。毕竟,以ARM为代表的嵌入式控制系统设计是20世纪90年代才发展起来的新技术,它不仅包括高性能、功能丰富的硬件平台,而且软件开发的难度和嵌入式操作系统的应用,都对教师提出了更高的要求。 二是在课时安排上也有一定困难。这么复杂的软硬件系统,包括嵌入式操作系统,即使是用96学时(包括实验),也不一定能讲深讲透。况且,整个教学计划中也没有太多的时间。 三是没有合适的教材。特别是深入浅出、条理分明、适应本科生水平、课时比较合理的教材非常少。 为了克服上述困难,也为了满足教学需要,作者根据多年的科研和教学经验编写了《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》。 作者的想法是:在以32位ARM为代表的嵌入式控制系统教学中,不讲述嵌入式操作系统部分,而选择一种有代表性的32位单片机(类似8位机中的MCS-51)。《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》选择的是韩国三星S3C2410 ARM9单片机。在ADS1.2 For Windows集成开发环境中,用C语言完成嵌入式控制系统的开发工作。理论课内容安排48学时,实验课时间和内容由教师根据各高校的时间和条件自行决定。 在48学时(16周,每周3学时)内,让学生集中将S3C2410的最基本硬件结构、软件资源学深学透,学会用C语言编写应用程序。在用C语言编写驱动程序时,尽量借助系统资源,参考示例程序,减少设计者的工作量。通过较短时间的学习,学生可以很快掌握嵌入式控制系统的设计方法,完成嵌入式控制系统的设计工作。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》篇幅虽然不长,但程序源代码较多,对于嵌入式系统开发和学习来说是非常宝贵的资源。但是,如果在课堂上讲解和分析这些代码,学时显然不够。建议教师主要讲解S3C2410的硬件资源和编程方法,具体的程序源代码留给学生课后慢慢消化理解。 教学实验平台介绍 有条件的学校,在完成理论课教学的同时,应安排一定的实验课,这样教学效果会更好。 作者接触的ARM9(SAMSUNG 2410)教学实验系统有深圳市英蓓特信息技术有限公司的EmbestEDUKIT-Ⅱ/Ⅲ、北京博创科技有限公司的UP-NETARM 2410教学实验系统、北京精仪达盛科技有限公司的EL-ARM-830教学实验系统。上述教学实验系统都有基于ARM9系统资源的C语言实验程序示例,使用方便,可供选择。随书下载的实验讲义有两册:一册基于深圳市英蓓特信息技术有限公司的Embest EDUKIT-Ⅱ/Ⅲ,实验时应配合Embest EDUKIT-Ⅱ/Ⅲ教学实验系统平台,并安装Embest IDE;另一册基于北京精仪达盛科技有限公司的EL-ARM-830教学实验系统,实验时应配合EL-ARM-830教学实验系统平台。这两套实验系统程序的执行都要去掉目录中的中文目录,并尽量缩简目录深度。 本书主要内容和学习本书所需掌握的基础知识 第1章:简单讲述嵌入式控制系统的定义、研究现状和研究方法。 第2章:较详细地讲述基于ARM芯片的集成开发环境ADS1.2的创建和使用。 第3章:讲述ARM9芯片S3C2410的片上资源和编程参考项目2410test.mcp。 第4章:讲述S3C2410的I/O端口和I/O端口操作。 第5章:讲述S3C2410的中断系统及编程。 第6章:讲述S3C2410的串口UART。 第7章:讲述S3C2410的A/D和D/A转换控制。 第8章:讲述ADC和触摸屏控制。 第9章:讲述S3C2410的实时时钟(RTC)和编程。 第10章:讲述直接存储器存取(DMA)的工作原理及S3C2410的DMA控制。 第11章:讲述脉宽调制(PWM)的工作原理及S3C2410的PWM控制。 第12章:讲述看门狗(Watchdog)电路的工作原理及S3C2410的看门狗电路控制。 第13章:讲述双向二线制同步串行总线 I2C以及S3C2410的I2C控制电路。 第14章:讲述数字音频信号(I2S)和S3C2410的I2S控制。 第15章:介绍串行外设接口(SPI)。 第16章:讲述S3C2410的人机界面设计。 第17章:讲述程序的调试、运行和烧写。 第18章:项目开发实例。 除第1~5章外,其他各章内容基本独立。教师如果觉得在48学时内完成教学比较困难,建议除第2~5章和第16、17章作为重点必讲外,其他各章可根据实际情况有选择地进行讲解。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》附带一个软件包,其中包括《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》的电子课件、S3C2410使用手册、实验讲义、各章习题答案、ADS1.2、参考项目2410test.mcp、通用字模提取程序和部分示例程序。 第五版课件由孙颖馨老师在第三版和第四版的基础上重新进行了制作,第六版未做改动。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》的特点是通过深入浅出的讲述,将基于ARM9的嵌入式控制系统设计方法教给学生,使学生能够在最短的时间内入门。 学习《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》至少要具备C语言基础,如果有MCS-51单片机基础,学习《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》就会更加轻松。 工作中遇到的控制对象是各种各样的,因此要根据控制对象的性质来选择控制系统。控制一台数控机床或一条生产线、一架飞机或一艘舰船,采用嵌入式控制系统就不合适。此时应该考虑采用工业PC或工业控制站,软件应考虑采用面向对象编程语言。 嵌入式控制系统的特点是小、巧、轻、灵、薄,因此控制系统就不应该设计得太复杂,就像不能用数控机床削铅笔一样。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》旨在为学生提供简单的学习方法,让他们快速掌握嵌入式控制系统的设计。在学习《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》的过程中,若对某章内容看不懂,没关系,可以略过,不影响对书中方法的理解和掌握。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》通用字模提取程序的密码:194512125019。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》由孙俊喜任主编,侯殿有任副主编,席红旗参编,虽然我们做了很大努力,但难免百密一疏,若有考虑不周甚至欠妥之处,真诚欢迎读者多提宝贵意见和建议。我们的信箱是992116@qq.com,电话是010-62796045。 《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》配套的电子课件、配套实验讲义、各章的习题答案和部分工具软件可以到http://www.tupwk.com.cn/downpage网站下载,也可以扫描下方的二维码获取。 编者 2022年3月 |
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格