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
微型计算机课程设计论文—通用微机发声程序的汇编设计 本文讲述了在微型计算机中利用可编程时间间隔定时器的通用发声程序设计,重点讲述了程序的发声原理,节拍的产生,按节拍改变的动画程序原理,并以设计一个简单的乐曲评分程序为引子,分析程序设计的细节。关键字:微机 8253 通用发声程序 动画技术 直接写屏 1. 可编程时间间隔定时器8253在通用个人计算机中,有一个可编程时间间隔定时器8253,它能够根据程序提供的计数值和工作方式,产生各种形状和各种频率的计数/定时脉冲,提供给系统各个部件使用。本设计是利用计算机控制发声的原理,编写演奏乐曲的程序。 在8253/54定时器内部有3个独立工作的计数器:计数器0,计数器1和计数器2,每个计数器都分配有一个断口地址,分别为40H,41H和42H.8253/54内部还有一个公用的控制寄存器,端地址为43H.端口地址输入到8253/54的CS,AL,A0端,分别对3个计数器和控制器寻址. 对8353/54编程时,先要设定控制字,以选择计数器,确定工作方式和计数值的格式.每计数器由三个引脚与外部联系,见教材第320页图9-1.CLK为时钟输入端,GATE为门控信号输入端,OUT为计数/定时信号输入端.每个计数器中包含一个16位计数寄存器,这个计数器时以倒计数的方式计数的,也就是说,从计数初值逐次减1,直到减为0为止. 8253/54的三个计数器是分别编程的,在对任一个计数器编程时,必须首先讲控制字节写入控制寄存器.控制字的作用是告诉8253/54选择哪个计数器工作,要求输出什么样的脉冲波形.另外,对8253/54的初始化工作还包括,向选定的计数器输入一个计数初值,因为这个计数值可以是8为的,也可以是16为的,而8253/5的数据总线是8位的,所以要用两条输出指令来写入初值.下面给出8253/54初始化程序段的一个例子,将计数器2设定为方式3,(关于计数器的工作方式参阅教材第325—330页)计数初值为65536. MOV AL,10110110B ;选择计数器2,按方式3工作,计数值是二进制格式 OUT 43H,AL ; j将控制字送入控制寄存器 MOV AL,0 ;计数初值为0 OUT 42H,AL ;将计数初值的低字节送入计数器2 OUT 42H,AL ;将计数初值的高字节送入计数器2 在IBM PC中8253/54的三个时钟端CLK0,CLK1和CLK2的输入频率都是1.1931817MHZ. PC机上的大多数I/O都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的.关于8255A的结构和工作原理及应用举例参阅教材第340—373页.教材第364页的”PC/XT机中的扬声器接口电路”一节介绍了扬声器的驱动原理,并给出了通用发声程序.本设计正是基于这个原理,通过编程,控制加到扬声器上的信号的频率,奏出乐曲的.2.发声程序的设计下面是能产生频率为f的通用发声程序:MOV AL, 10110110B ;8253控制字:通道2,先写低字节,后写高字节 ;方式3,二进制计数OUT 43H, AL ;写入控制字MOV DX, 0012H ;被除数高位MOV AX, 35DEH ;被除数低位 DIV ID ;求计数初值n,结果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;读入8255A端口B的内容MOV AH, AL ;保护B口的原状态OR AL, 03H ;使B口后两位置1,其余位保留OUT 61H,AL ;接通扬声器,使它发声
上传时间: 2013-10-17
上传用户:sunjet
摘要: 随着微电子技术和计算机技术的迅速发展,PLC(即可编程控制器)在工业控制领域内得到十分广泛地应用。PLC是一种基于数字计算机技术、专为在工业环境下应用而设计的电子控制装置,它采用可编程序的存储器,用来存储用户指令,通过数字或模拟的输入/输出,完成一系列逻辑、顺序、定时、记数、运算等确定的功能,来控制各种类型的机电一体化设备和生产过程。本文介绍了利用可编程控制器编写的一个五层电梯的控制系统,检验电梯PLC控制系统的运行情况。实践证明,PLC可遍程控制器和MCGS组态软件结合有利于PLC控制系统的设计、检测,具有良好的应用价值。 电梯是随着高层建筑的兴建而发展起来的一种垂直运输工具。多层厂房和多层仓库需要有货梯;高层住宅需要有住宅梯;百货大楼和宾馆需要有客梯,自动扶梯等。在现代社会,电梯已像汽车、轮船一样,成为人类不可缺少的交通运输工具。据统计,美国每天乘电梯的人次多于乘载其它交通工具的人数。当今世界,电梯的使用量已成为衡量现代化程度的标志之一。追溯电梯这种升降设备的历史,据说它起源于公元前236年的古希腊。当时有个叫阿基米德的人设计出--人力驱动的卷筒式卷扬机。1858年以蒸汽机为动力的客梯,在美国出现,继而有在英国出现水压梯。1889年美国的奥梯斯电梯公司首先使用电动机作为电梯动力,这才出现名副其实的电梯,并使电梯趋于实用化。1900年还出现了第一台自动扶梯。1949年出现了群控电梯,首批4~6台群控电梯在纽约的联合国大厦被使用。1955年出现了小型计算机(真空管)控制电梯。1962年美国出现了速度达8米/秒的超高速电梯。1963年一些先进工业国只成了无触点半导体逻辑控制电梯。1967年可控硅应用于电梯,使电梯的拖动系统筒化,性能提高。1971年集成电路被应用于电梯。第二年又出现了数控电梯。1976年微处理机开始用于电梯,使电梯的电气控制进入了一个新的发展时期。 1电梯简介 1.1电梯的基本分类 1.1.1按用途分类 ⑴ 乘客电梯:为运送乘客而设计的电梯。主用与宾馆,饭店,办公楼,大型商店等客流量大的场合。这类电梯为了提高运送效率,其运行速度比较快,自动化程度比较高。轿厢的尺寸和结构形式多为宽度大于深度,使乘客能畅通地进出。而且安全设施齐全,装潢美观。
上传时间: 2013-11-18
上传用户:yuanyuan123
摘要: 随着微电子技术和计算机技术的迅速发展,PLC(即可编程控制器)在工业控制领域内得到十分广泛地应用。PLC是一种基于数字计算机技术、专为在工业环境下应用而设计的电子控制装置,它采用可编程序的存储器,用来存储用户指令,通过数字或模拟的输入/输出,完成一系列逻辑、顺序、定时、记数、运算等确定的功能,来控制各种类型的机电一体化设备和生产过程。本文介绍了利用可编程控制器编写的一个五层电梯的控制系统,检验电梯PLC控制系统的运行情况。实践证明,PLC可遍程控制器和MCGS组态软件结合有利于PLC控制系统的设计、检测,具有良好的应用价值。 电梯是随着高层建筑的兴建而发展起来的一种垂直运输工具。多层厂房和多层仓库需要有货梯;高层住宅需要有住宅梯;百货大楼和宾馆需要有客梯,自动扶梯等。在现代社会,电梯已像汽车、轮船一样,成为人类不可缺少的交通运输工具。据统计,美国每天乘电梯的人次多于乘载其它交通工具的人数。当今世界,电梯的使用量已成为衡量现代化程度的标志之一。追溯电梯这种升降设备的历史,据说它起源于公元前236年的古希腊。当时有个叫阿基米德的人设计出--人力驱动的卷筒式卷扬机。1858年以蒸汽机为动力的客梯,在美国出现,继而有在英国出现水压梯。1889年美国的奥梯斯电梯公司首先使用电动机作为电梯动力,这才出现名副其实的电梯,并使电梯趋于实用化。1900年还出现了第一台自动扶梯。1949年出现了群控电梯,首批4~6台群控电梯在纽约的联合国大厦被使用。1955年出现了小型计算机(真空管)控制电梯。1962年美国出现了速度达8米/秒的超高速电梯。1963年一些先进工业国只成了无触点半导体逻辑控制电梯。1967年可控硅应用于电梯,使电梯的拖动系统筒化,性能提高。1971年集成电路被应用于电梯。第二年又出现了数控电梯。1976年微处理机开始用于电梯,使电梯的电气控制进入了一个新的发展时期。 1电梯简介 1.1电梯的基本分类 1.1.1按用途分类 ⑴ 乘客电梯:为运送乘客而设计的电梯。主用与宾馆,饭店,办公楼,大型商店等客流量大的场合。这类电梯为了提高运送效率,其运行速度比较快,自动化程度比较高。轿厢的尺寸和结构形式多为宽度大于深度,使乘客能畅通地进出。而且安全设施齐全,装潢美观。
上传时间: 2013-10-16
上传用户:lili123
教学提示:FX2N系列可编程控制器是日本三菱公司小型PLC的代表产品之一。本章主要介绍FX2N系列可编程控制器的系统特点、型号说明、技术指标、硬件配置及其等效元件等基本内容,是学习FX2N系列PLC的基础 教学要求: 学习、使用可编程控制器首先要熟悉可编程控制器的基本配置情况,例如PLC的技术指标、各单元的功能、输入输出点数、编程器及其他外部设备的使用等内容。要熟练使用可编程控制器必须牢牢掌握两个重要基本内容——等效元件及编程指令。本章详细介绍了FX2N系列可编程控制器的内部等效元件,这部分内容应熟练掌握,尤其是各等效元件的功能、使用方法及编号范围应重点掌握 3.1 FX2N的系统特点及配置 3.1.1 FX2N的技术特点 3.1.2 FX2N的型号说明 3.1.3 FX2N系统的硬件配置3.2 FX2N的编程等效元件3.3 FX2N的技术指标
上传时间: 2013-11-25
上传用户:liuchee
8路8位串行AD TLC0838与51系列单片机的接口程序,可多片并联,共用时钟线与数据线适用于多路采集,本程序中使用两片可采集16路
上传时间: 2014-01-16
上传用户:lijinchuan
编程序,按如下要求来求解n元一次线性方程组(假设方程组具有唯一解)。 (1)方程个数n之值由用户通过键盘输入; (2)方程组存放在“增广矩阵”A之中,而n行n+1列的A存储空间通过new来动态分配,且A的各元素值也由用户通过键盘输入; (3)方程组的解存放于“向量”B之中,而具有n个元素的B存储空间也通过new来动态分配。
标签: 编程
上传时间: 2014-11-06
上传用户:cjl42111
5000系列DSP实验常用程序,可供初学者参考
上传时间: 2015-09-28
上传用户:asdkin
供应用友财务通、U8软件、速达全系列软件. ... l 报表数据接口:提供与久其报表的接口:符合财政部统计评价司要求的数据接口软件,它可以独立运行,也可以内嵌其它软件中运行,它按照您定义的指标从用友账务中取数。
上传时间: 2014-02-07
上传用户:waitingfy
三菱FX系列PLC密码读取程序 通过PLC编程线连接电脑串口,可直接读取有密码的PLC程序的密码,便于用户上传下载PLC程序
上传时间: 2013-12-26
上传用户:13517191407