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
基于中颖SH79F164单片机的电子血压计应用:电子血压计因具有无创性、操作简单、携带方面等优点,目前得到广泛的应用和推广。无创检测血压的方法很多,如柯氏音法,测振法,超声法、双袖带法、恒定袖带法、逐拍跟踪法、张力定测法和恒定容积法等。其中测振法就是我们常说的示波法,由于具有较好的抗干扰能力,能比较可靠地判断血压、实现血压的自动检测而成为无创血压的主流。目前国内外大多数电子血压计都采用示波法。示波法的原理同柯氏音法,也需要充气袖套来阻断动脉流,但在放气过程中不是检测柯氏音,而是检测气袖内气体的振荡波(测振法由此得名),这些振荡波是袖带与动脉耦合的结果,源于心血管周期内血管壁由于收缩舒张引起的压力脉动。理论计算和实践均证明此振荡波的幅度有一定的规律,与动脉收缩压、平均压以及舒张压有一定的函数关系。针对示波法,本文将详细介绍基于中颖电子SH79F164 单片机的血压计系统方案与软硬件实现。 在硬件电路设计方面,笔者参考了大量的资料,最终选定SH79F164 单片机作为主控IC。其理由是SH79F164 内建资源丰富,既能节省大量外围器件,又方便系统调试。SH79F164 内建资源主要有:可编程仪表放大器(PGA)、带通滤波器、固定增益放大器、恒流源放大器、10 位A/D 转换器、时基定时器(RTC)。硬件部分构成:压力传感器、SH79F164 单片机、LCD、袖套、充气泵、放气阀、按键等(见图3)。
上传时间: 2013-10-23
上传用户:muhongqing
单片机综合应用技术 1.1 单片机技术的发展与单片机应用的广泛选择 1.2 带A/D转换的8位微控制器PIC12C67X?? 1.3 SPI串行总线在8031单片机应用系统中的实现?? 1.4 单总线技术在测控系统中的应用?? 1.5 多任务机制在单片机系统中的应用?? 1.6 软件实现的8031单片微机中断多优先级研究?? 1.7 单片机汇编语言程序设计的变量取值表技术?? 1.8 单片机的代码优化方法?? 1.9 由微机复位引出的问题?? 1.10 一种快速CRC差错校验技术?? 1.11 基于单片机的Chebyshev神经网络硬件设计?? 1.12 二维条形码(PDF417)及其应用?? 1.13 EDA技术的应用?? 1.14 CPLD/FPGA在电子设计中的应用前景?? 1.15 现场可编程模拟ASIC与电子系统设计?? 1.16 用单片PLD器件ispLSI1016实现数显频率计
标签: 单片机
上传时间: 2014-05-05
上传用户:daxigua
单片机原理与应用《课程简介》:单片机已成为电子系统中进行数据采集、信息处理、通信联络和实施控制的重要器件。通常利用单片机技术在各种系统、仪器设备或装置中,形成嵌入式智能系统或子系统。因此,单片机技术是电类专业特别是电子信息类学生必须具备的基本功。本课程以51系列单片机为模型,主要向学生介绍单片机的基本结构、工作原理、指令系统与程序设计、系统扩展与工程应用。作为微机原理与接口技术的后续课程,本课程强调实践环节,侧重系统构成与应用设计。力求通过实践环节,软、硬结合,培养初步的单片机开发能力,并使其前导课程讲授的基本概念得到综合与深化。由于课时的限制,综合性的应用设计安排在后续课程《微机应用系统设计》中进行。 课 程 内 容:第一章 单片微型计算机概述单片机的发展与应用 MCS-51系列单片机简介第二章 MCS-51系列单片机结构MCS-51单片机基本结构 CPU 时序简介 存储器空间结构 片内RAM与SFR时钟电路与复位电路 并行I/O口与总线扩展第三章 MCS-51单片机指令系统指令系统简介数据传送指令 数据处理指令 位处理指令 程序控制指令汇编语言程序设计方法 程序调试的常用方法第四章 SCB-I 单片单板机SCB-I 单片单板机结构简介 监控系统简介SCB-I 单片单板机的基本操作 第五章 单片机常用接口电路的软、硬件设计LED显示接口电路与应用编程键盘接口电路与应用编程计数器/定时器工作原理及其应用编程MCS-51中断系统及其应用编程8255扩展并行接口及其应用编程串行通信接口及其应用编程A/D与D/A转换接口及其应用编程*第六章 单片机应用系统设计举例第七章 单片机开发工具简介* 加“*”为选讲内容教学要求:1、 了解单片机的一般性概念及单片机技术的发展。2、 掌握51系列单片机的基本结构与工作原理。3、 掌握51系列单片机的指令系统与程序设计的基本方法。4、 以单片单板机为样板,掌握51系列单片机的系统扩展设计。5、 通过实验,掌握单片机常用接口电路的软硬件设计及其应用。6、 以上为本课程的基本要求。作为提高要求,对有能力、有兴趣的学生,若能较快地完成基本实验,可在规定课时内安排有一定难度的综合性实验,以提高其应用设计的能力。 课时安排和考核方式:1、 讲课40学时,实验20学时,课内外学时比 1:2 ;(实验从第七周开始,7个基本实验,选做1个综合实验)2、 考核方式平时考查 20实验考核 40(含实验过程、实验验收与实验报告)期末笔试 40参考书:《MCS-51单片机应用设计》 张毅刚 等编 哈尔滨工业大学出版社《MCS-51系列单片机原理及应用》 孙涵芳 徐爱卿 编著 北京航空航天大学出版社《单片微机与测控技术》 赵秀菊 等编 东南大学出版社《单片微型机原理、应用与实验》 张友德 等编 复旦大学出版社 《单片机实验》 肖璋 雷兆宜 编 暨南大学讲义
上传时间: 2014-01-08
上传用户:417313137
ACPCI系列的产品就是专为工控机和台式机及其他电脑工程项目和测试调试设计的。和计算机的连接接口是通用的PCI接口,ACPCI是南京来可电子根据多年的CAN总线工程应用经验总结而成的,力求在CAN总线的兼容性、稳定性和标准性上做到最好,ACPCI的单通道发送速度最高大于5000帧/秒,单通道接收速度最高大于7000帧/秒。总线2500V DC-DC隔离,总线接口防雷击浪涌保护,配套有免费的测试软件Adawin CANTest,方便对卡和客户的CAN应用系统进行测试。
上传时间: 2013-11-08
上传用户:born2007
触摸知识
上传时间: 2013-11-11
上传用户:yl8908
随着高科技发展, 先进的设计手段不断更新,其技术方法已渗透到各个应用领域。基于FPGA的SOPC嵌入式技术,开发设计功率较大的高频电磁阻垢机及其SOPC控制系统,给出SOPC控制系统的硬、软件设计和触控屏操作界面设计,实现高频信号产生、触摸屏彩色显示和实时监控等多种功能。经过系统调试和实际使用,达到相应技术要求,取得较好的阻垢效果,实现了产品智能化,可以作为这类设备的更新换代产品。
上传时间: 2013-10-09
上传用户:sy_jiadeyi
利用横向递归算法解决数据组合的问题, 比如数组为a, 长度为len, 横向递归 B display(a,len) b是二维数组,a是一维数组
上传时间: 2015-03-21
上传用户:tb_6877751
一个比较简单的算法程序。输入一些数,计算后按照矩阵的形式输出。设了三个数组a[],b[],c[]。分别实现c[]=a[]+b[],c[]=a[]-b[],c[]=a[]*b[]。
上传时间: 2015-03-23
上传用户:qilin
C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.1415926 /* 宏常量,在稍后章节再详解 */ #define circle(radius) (PI*radius*radius) /* 宏函数,圆的面积 */ /* 将比较数值大小的函数写在自编include文件内 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的结果:%d %d %d\n", a, b, c) } 程序执行结果: 由小至大排序之后的结果:1 2 3 可将内建函数的include文件展开在自编的include文件中 圆圈的面积是=201.0619264
标签: my_Include include define 3.141
上传时间: 2014-01-17
上传用户:epson850