MSP430系列单片机C语言程序设计与开发MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言程序设计已在《MSP430系列超低功耗16位单片机的原理与应用》及《MSP430系列 FLASH型超低功耗16位单片机》等书中作了全面介绍。《MSP430系列单片机C语言程序设计与开发》介绍IAR公司为MSP430系列单片机配备的C程序设计语言C430。书中叙述了C语言的基本概念、C430的扩展特性及C库函数;对C430的集成开发环境的使用及出错信息作了详尽的说明;并以MSP430F149为例,对各种应用问题及外围模块操作提供了典型的C程序例程,供读者在今后的C430程序设计中参考。 《MSP430系列单片机C语言程序设计与开发》可以作为高等院校计算机、自动化及电子技术类专业的教学参考书,也可作为工程技术人员设计开发时的技术资料。MSP430系列超低功耗16位单片机的原理与应用目录MSP430系列单片机C语言程序设计与开发 目录 第1章 C语言基本知识1.1 标识符与关键字11.1.1 标识符11.1.2 关键字11.2 数据基本类型21.2.1 整型数据21.2.2 实型数据31.2.3 字符型数据41.2.4 各种数据转换关系61.3 C语言的运算符71.3.1 算术运算符71.3.2 关系运算符和逻辑运算符71.3.3 赋值运算符81.3.4 逗号运算符81.3.5 ? 与 :运算符81.3.6 强制转换运算符91.3.7 各种运算符优先级列表91.4 程序设计的三种基本结构101.4.1 语句的概念101.4.2 顺序结构111.4.3 选择结构121.4.4 循环结构141.5 函数181.5.1 函数定义181.5.2 局部变量与全局变量191.5.3 形式参数与实际参数201.5.4 函数调用方式201.5.5 函数嵌套调用211.5.6 变量的存储类别221.5.7 内部函数和外部函数231.6 数组231.6.1 一维数组241.6.2 多维数组241.6.3 字符数组261.7 指针271.7.1 指针与地址的概念271.7.2 指针变量的定义281.7.3 指针变量的引用281.7.4 数组的指针281.7.5 函数的指针301.7.6 指针数组311.8 结构和联合321.8.1 结构定义321.8.2 结构类型变量的定义331.8.3 结构类型变量的初始化341.8.4 结构类型变量的引用341.8.5 联合341.9 枚举361.9.1 枚举的定义361.9.2 枚举元素的值371.9. 3 枚举变量的使用371.10 类型定义381.10.1 类型定义的形式381.10.2 类型定义的使用381.11 位运算391.11.1 位运算符391.11.2 位域401.12 预处理功能411.12.1 简单宏定义和带参数宏定义411.12.2 文件包含431.12.3 条件编译命令44第2章 C430--MSP430系列的C语言2.1 MSP430系列的C语言452.1.1 C430概述452.1.2 C430程序设计工作流程462.1.3 开始462.1.4 C430程序生成472.2 C430的数据表达482.2.1 数据类型482.2.2 编码效率502.3 C430的配置512.3.1 引言512.3. 2 存储器分配522.3.3 堆栈体积522.3.4 输入输出522.3.5 寄存器的访问542.3.6 堆体积542.3.7 初始化54第3章 C430的开发调试环境3.1 引言563.1.1 Workbench特性563.1.2 Workbench的内嵌编辑器特性563.1.3 C编译器特性573.1. 4 汇编器特性573.1.5 连接器特性583.1.6 库管理器特性583.1.7 C?SPY调试器特性593.2 Workbench概述593.2.1 项目管理模式593.2.2 选项设置603.2.3 建立项目603.2.4 测试代码613.2.5 样本应用程序613.3 Workbench的操作623.3.1 开始633.3.2 编译项目683.3.3 连接项目693.3.4 调试项目713.3.5 使用Make命令733.4 Workbench的功能汇总753.4.1 Workbench的窗口753.4.2 Workbench的菜单功能813.5 Workbench的内嵌编辑器993.5.1 内嵌编辑器操作993.5.2 编辑键说明993.6 C?SPY概述1013.6.1 C?SPY的C语言级和汇编语言级调试1013.6.2 程序的执行1023.7 C?SPY的操作1033.7.1 程序生成1033.7.2 编译与连接1033.7.3 C?SPY运行1033.7.4 C语言级调试1043.7.5 汇编级调试1113.8 C?SPY的功能汇总1133.8.1 C?SPY的窗口1133.8.2 C?SPY的菜单命令功能1203.9 C?SPY的表达式与宏1323.9.1 汇编语言表达式1323.9.2 C语言表达式1333.9.3 C?SPY宏1353.9.4 C?SPY的设置宏1373.9.5 C?SPY的系统宏137 第4章 C430程序设计实例4.1 程序设计与调试环境1434.1.1 程序设计调试集成环境1434.1.2 设备连接1444.1.3 ProF149实验系统1444.2 数值计算1454.2.1 C语言表达式1454.2.2 利用MPY实现运算1464.3 循环结构1474.4 选择结构1484.5 SFR访问1494.6 RAM访问1504.7 FLASH访问1514.8 WDT操作1534.8. 1 WDT使程序自动复位1534.8.2 程序对WATCHDOG计数溢出的控制1544.8.3 WDT的定时器功能1554.9 Timer操作1554.9.1 用Timer产生时钟信号1554.9.2 用Timer检测脉冲宽度1564.10 UART操作1574.10.1 点对点通信1574.10.2 点对多点通信1604.11 SPI操作1634.12 比较器操作1654.13 ADC12操作1674.13.1 单通道单次转换1674.13.2 序列通道多次转换1684.14 时钟模块操作1704.15 中断服务程序1714.16 省电工作模式1754.17 调用汇编语言子程序1764.17.1 程序举例1764.17.2 生成C程序调用的汇编子程序177第5章 C430的扩展特性5.1 C430的语言扩展概述1785.1.1 扩展关键字1785.1.2 #pragma编译命令1785.1.3 预定义符号1795.1.4 本征函数1795.1.5 其他扩展特性1795.2 C430的关键字扩展1795.2.1 interrupt1805.2.2 monitor1805.2.3 no_init1815.2.4 sfrb1815.2.5 sfrw1825.3 C430的 #pragma编译命令1825.3.1 bitfields=default1825.3.2 bitfields=reversed1825.3.3 codeseg1835.3.4 function=default1835.3.5 function=interrupt1845.3.6 function=monitor1845.3.7 language=default1845.3.8 language=extended1845.3.9 memory=constseg1855.3.10 memory=dataseg1855.3.11 memory=default1855.3.12 memory=no_init1865.3.13 warnings=default1865.3.14 warnings=off1865.3.15 warnings=on1865.4 C430的预定义符号1865.4.1 DATE1875.4.2 FILE1875.4.3 IAR_SYSTEMS_ICC1875.4.4 LINE1875.4.5 STDC1875.4.6 TID1875.4.7 TIME1885.4.8 VER1885.5 C430的本征函数1885.5.1 _args$1885.5.2 _argt$1895.5.3 _BIC_SR1895.5.4 _BIS_SR1905.5.5 _DINT1905.5.6 _EINT1905.5.7 _NOP1905.5.8 _OPC1905.6 C430的汇编语言接口1915.6.1 创建汇编子程序框架1915.6.2 调用规则1915.6.3 C程序调用汇编子程序1935.7 C430的段定义1935.7.1 存储器分布与段定义1945.7.2 CCSTR段1945.7.3 CDATA0段1945.7.4 CODE段1955.7.5 CONST1955.7.6 CSTACK1955.7.7 CSTR1955.7.8 ECSTR1955.7.9 IDATA01965.7.10 INTVEC1965.7.11 NO_INIT1965.7.12 UDATA0196第6章 C430的库函数6.1 引言1976.1.1 库模块文件1976.1.2 头文件1976.1.3 库定义汇总1976.2C 库函数参考2046.2.1 C库函数的说明格式2046.2.2 C库函数说明204第7章 C430编译器的诊断消息7.1 编译诊断消息的类型2307.2 编译出错消息2317.3 编译警告消息243附录 AMSP430系列FLASH型芯片资料248附录 BProF149实验系统251附录 CMSP430x14x.H文件253附录 DIAR MSP430 C语言产品介绍275
上传时间: 2014-05-05
上传用户:253189838
单片机C语言应用程序设计针对目前最通用的单片机8051和最流行的程序设计语言——C语言,以KEII。公司8051单片机开发套件讲解单片机的C语言应用程序设计。该套件的编译器有支持经典8051及8051派生产品的版本,统称为Cx51。Windows集成开发环境μVision2把μVisionl用的模拟调试器dScope与集成环境无缝结合起来,使用更方便,支持的单片机品种更多。 本书的特点是取材于原文资料,总结实际教学和应用经验,实例较多,实用性强。本书中C语言是针对8051特有结构描述的,这样,即使无编程基础的人,也可通过本书学习单片机的c编程。单片机C语言应用程序设计目录第1章 单片机基础知识 1.1 8051单片机的特点 1.2 8051的内部知识 1.3 8051的系统扩展 习题一第2章 C与8051 2.1 8051的编程语言 2.2 Cx51编译器 2.3 KEIL 8051开发工具 2.4 KEIL Cx51编程实例 2.5 Cx51程序结构 习题二第3章 Cx51 数据与运算 3.1 数据与数据类型 3.2 常量与变量 3.3 Cx51数据存储类型与8051存储器结构 3.4 8051特殊功能寄存器(SFR)及其Cx51定义 3.5 8051并行接口及其Cx51定义 3.6 位变量(BIT)及其Cx51定义 3.7 Cx51运算符、表达式及其规则 习题三第4章 Cx51 流程控制语句 4.1 C语言程序的基本结构及其流程图 4.2 选择语句 4.3 循环语句 习题四第5章 Cx51 构造数据类型 5.1 数组 5.2 指针 5.3 结构 5.4 共用体 5.5 枚举 习题五第6章 Cx51 函数第7章 模块化程序设计第8章 8051内部资源的C编辑第9章 8051扩展资源的C编辑第10章 8051输出控制的C编程第11章 8051数据采集的C编程第12章 8051机间通信的C编程第13章 8051人机交互的C编程附录A μVision2集成开发环境使用附录B KEIL Cx51 上机制南
上传时间: 2013-10-21
上传用户:行者Xin
资料介绍说明 PCB panel Setup 企业版:该软件简单易用,功能强大。具有单拼和双拼俩种开料方式。开料引擎采用精确验证的枚举算法编写。 一确保开料结果最优化。同时该软件具有开料图形的打印和保存功能。
上传时间: 2014-01-17
上传用户:testAPP
资料介绍说明 PCB panel Setup 企业版:该软件简单易用,功能强大。具有单拼和双拼俩种开料方式。开料引擎采用精确验证的枚举算法编写。 一确保开料结果最优化。同时该软件具有开料图形的打印和保存功能。
上传时间: 2013-10-14
上传用户:dyctj
本文简单探讨了verilog HDL设计中的可综合性问题,适合HDL初学者阅读 用组合逻辑实现的电路和用时序逻辑实现的 电路要分配到不同的进程中。 不要使用枚举类型的属性。 Integer应加范围限制。 通常的可综合代码应该是同步设计。 避免门级描述,除非在关键路径中。
上传时间: 2013-11-18
上传用户:swaylong
USB Qorivva JTAG调试器简介 USB Qorivva JTAG调试器可以用来烧写和调试Freescale 公司的MPC55XX和MPC56XX系列Power PC单片机。USB Qorivva JTAG具有驱动自动安装、与CodeWarroir IDE软件无缝集成,使用方便等特点。USB Qorivva JTAG调试器采用了Freescale公司新推出带有USB 2.0控制器的MC9S08JM60单片机作为主控芯片,确保高速下载代码、高效的调试代码。 USB Qorivva JTAG调试器特性: 全速USB 2.0接口(兼容USB1.1) 支持目标单片机系列: MPC55XX MPC56XX USB Qorivva JTAG调试器支持不同版本的CodeWarrior,例如CodeWarrior IDE for MPC55XX,56XX 2.7版、2.8版、2.9版等,也支持Codewarrior V10.1和Codewarrior V10.2等Eclipse version的Codewarrior 驱动程序自动安装(前提是先要安装Codewarrior) 与CodeWarrior无缝集成,无需复杂的设置,使用方法和PE公司的USB Qorivva Multilink完全一样 USB状态和目标板电源指示灯指示USB枚举状态和目标板电源连接 USB Qorivva JTAG固件程序自动更新 支持向目标板供电 兼容Windows 2000/XP/Vista/Win7操作系统
上传时间: 2013-10-23
上传用户:fghygef
随着USB技术日趋成熟,USB开发者只需要关注顶层开发即可,这样虽然减少了工作量,但容易使开发者忽略USB基础理论与概念,导致的弊端在于开发者一旦遇到问题,往往不知如何解决。作者基于多年USB开发经验,针对当前很多USB开发者容易混淆的概念,进行深入浅出的剖析,针对枚举和重枚举的区别、不同启动方式的区别等问题,进行了归纳总结。本文从对比的角度分析问题,有助于开发者理清USB的工作机理。
标签: USB
上传时间: 2013-10-26
上传用户:zaocan888
引导装载程序(boot loader)控制复位后的初始化操作,并提供对Flash存储器进行编程的方法。这可以对空片进行初始编程、对事先已编程的芯片进行擦除和再编程或者是在系统运行时通过系统中的应用程序对Flash存储器进行编程。19.3特性在系统编程:在系统编程(ISP)是通过使用引导装载程序软件和UART0串口对片内Falsh存储器进行编程/再编程的方法。这种方法也可以在芯片位于终端用户板时使用;在应用编程:在应用编程(IAP)是通过终端用户的应用代码对片内Flash存储器进行擦除/写操作的方法;只有LPC134x系列Cortex-M3微控制器支持从USB端口引导,通过将其枚举为大容量存储器等级(MSC)设备来连接到USB主机接口(仅适用于Windows操作系统);Flash访问时间可通过Flash控制器模块中的寄存器来配置;每个扇区的擦除时间为100ms±5%;而每个256字节的模块,其编程时间为1ms±5%。
上传时间: 2013-11-04
上传用户:weixiao99
周立功D12开发板中带的WINDOWS XP驱动程序,在编译后会出现USB设备不能正常工作. 以下是修改的代码,修改后可以正常工作. 在d12.c和Ioctl.c中, 将+256去掉,这个会引去枚举设备时,设备描述符的长度不对,修改后: siz = sizeof(USB_CONFIGURATION_DESCRIPTOR) 在d12.c中的D12_SelectInterface函数中, 设备查询完接口后有一段代码,也会引起驱动返回不对,需要屏蔽下面的代码 // Retrieve the selected Configuration and Interface 修改上面两处后,USB可以正常使用了.
上传时间: 2014-01-06
上传用户:it男一枚
这个程序是本人对周立功的ARM 2200实验板开发的USB固件程序的第一部分,已能实现对USB的枚举,PC能识别USB设备了!其余的功能各位可以自行增加!
上传时间: 2014-01-05
上传用户:yuanyuan123