c语言编程技巧,主要讲述嵌入式系统编程技巧,包括:背景篇,软件架构篇,内存操作,屏幕操作,键盘操作,性能优化。有助于嵌入式系统编程技术的提高。
上传时间: 2013-06-06
上传用户:axxsa
一本很好的汇编语言教程,跟大家一起分享 课程介绍 第1章 预备知识 1.1 汇编语言的由来及其特点 1 机器语言 2 汇编语言 3 汇编程序 4 汇编语言的主要特点 5 汇编语言的使用领域 1.2 数据的表示和类型 1 数值数据的表示 2 非数值数据的表示 3 基本的数据类型 1.3 习题 第2章 CPU资源和存储器 2.1 寄存器组 1 寄存器组 2 通用寄存器的作用 3 专用寄存器的作用 2.2 存储器的管理模式 1 16位微机的内存管理模式 2 32位微机的内存管理模式 2.3 习题 第3章 操作数的寻址方式 3.1 立即寻址方式 3.2 寄存器寻址方式 3.3 直接寻址方式 3.4 寄存器间接寻址方式 3.5 寄存器相对寻址方式 3.6 基址加变址寻址方式 3.7 相对基址加变址寻址方式 3.8 32位地址的寻址方式 3.9 操作数寻址方式的小结 3.10 习题 第4章 标识符和表达式 4.1 标识符 4.2 简单内存变量的定义 1 内存变量定义的一般形式 2 字节变量 3 字变量 4 双字变量 5 六字节变量 6 八字节变量 7 十字节变量 4.3 调整偏移量伪指令 1 偶对齐伪指令 2 对齐伪指令 3 调整偏移量伪指令 4 偏移量计数器的值 4.4 复合内存变量的定义 1 重复说明符 2 结构类型的定义 3 联合类型的定义 4 记录类型的定义 5 数据类型的自定义 4.5 标号 4.6 内存变量和标号的属性 1 段属性操作符 2 偏移量属性操作符 3 类型属性操作符 4 长度属性操作符 5 容量属性操作符 6 强制属性操作符 7 存储单元别名操作符 4.7 表达式 1 进制伪指令 2 数值表达式 3 地址表达式 4.8 符号定义语句 1 等价语句 2 等号语句 3 符号名定义语句 4.9 习题 第5章 微机CPU的指令系统 5.1 汇编语言指令格式 1 指令格式 2 了解指令的几个方面 5.2 指令系统 1 数据传送指令 2 标志位操作指令 3 算术运算指令 4 逻辑运算指令 5 移位操作指令 6 位操作指令 7 比较运算指令 8 循环指令 9 转移指令 10 条件设置字节指令 11 字符串操作指令 12 ASCII-BCD码调整指令 13 处理器指令 5.3 习题 第6章 程序的基本结构 6.1 程序的基本组成 1 段的定义 2 段寄存器的说明语句 3 堆栈段的说明 4 源程序的结构 6.2 程序的基本结构 1 顺序结构 2 分支结构 3 循环结构 6.3 段的基本属性 1 对齐类型 2 组合类型 3 类别 4 段组 6.4 简化的段定义 1 存储模型说明伪指令 2 简化段定义伪指令 3 简化段段名的引用 6.5 源程序的辅助说明伪指令 1 模块名定义伪指令 2 页面定义伪指令 3 标题定义伪指令 4 子标题定义伪指令 6.6 习题 第7章 子程序和库 7.1 子程序的定义 7.2 子程序的调用和返回指令 1 调用指令 2 返回指令 7.3 子程序的参数传递 1 寄存器传递参数 2 存储单元传递参数 3 堆栈传递参数 7.4 寄存器的保护与恢复 7.5 子程序的完全定义 1 子程序完全定义格式 2 子程序的位距 3 子程序的语言类型 4 子程序的可见性 5 子程序的起始和结束操作 6 寄存器的保护和恢复 7 子程序的参数传递 8 子程序的原型说明 9 子程序的调用伪指令 10 局部变量的定义 7.6 子程序库 1 建立库文件命令 2 建立库文件举例 3 库文件的应用 4 库文件的好处 7.7 习题 第8章 输入输出和中断 8.1 输入输出的基本概念 1 I/O端口地址 2 I/O指令 8.2 中断 1 中断的基本概念 2 中断指令 3 中断返回指令 4 中断和子程序 8.3 中断的分类 1 键盘输入的中断功能 2 屏幕显示的中断功能 3 打印输出的中断功能 4 串行通信口的中断功能 5 鼠标的中断功能 6 目录和文件的中断功能 7 内存管理的中断功能 8 读取和设置中断向量 8.4 习题 第9章 宏 9.1 宏的定义和引用 1 宏的定义 2 宏的引用 3 宏的参数传递方式 4 宏的嵌套定义 5 宏与子程序的区别 9.2 宏参数的特殊运算符 1 连接运算符 2 字符串整体传递运算符 3 字符转义运算符 4 计算表达式运算符 9.3 与宏有关的伪指令 1 局部标号伪指令 2 取消宏定义伪指令 3 中止宏扩展伪指令 9.4 重复汇编伪指令 1 伪指令REPT 2 伪指令IRP 3 伪指令IRPC 9.5 条件汇编伪指令 1 条件汇编伪指令的功能 2 条件汇编伪指令的举例 9.6 宏的扩充 1 宏定义形式 2 重复伪指令REPEAT 3 循环伪指令WHILE 4 循环伪指令FOR 5 循环伪指令FORC 6 转移伪指令GOTO 7 宏扩充的举例 8 系统定义的宏 9.7 习题 第10章 应用程序的设计 10.1 字符串的处理程序 10.2 数据的分类统计程序 10.3 数据转换程序 10.4 文件操作程序 10.5 动态数据的编程 10.6 COM文件的编程 10.7 驻留程序 10.8 程序段前缀及其应用 1 程序段前缀的字段含义 2 程序段前缀的应用 10.9 习题 第11章 数值运算协处理器 11.1 协处理器的数据格式 1 有符号整数 2 BCD码数据 3 浮点数 11.2 协处理器的结构 11.3 协处理器的指令系统 1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 12.1 汇编语言的嵌入 12.2 C语言程序的汇编输出 12.3 一个具体的例子 12.4 习题 附录
上传时间: 2013-07-05
上传用户:hw1688888
一些单片机C语言汇编编程的例子,很实用。
上传时间: 2013-04-24
上传用户:dbs012280
单片机应用编程技巧,非常使用的哦!单片机应用编程技巧,非常使用的哦!
上传时间: 2013-06-07
上传用户:gaojiao1999
基础机器人制作与编程,利用C语言进行机器人程序设计的入门级资粮
上传时间: 2013-06-28
上传用户:ZJX5201314
51单片机上c语言编程手册,非常实用,我自己就是看着这个学习的
上传时间: 2013-05-18
上传用户:ikemada
IIR数字滤波器是冲激响应为无限长的一类数字滤波器,是电子、通信及信号处理领域的重要研究内容,国内外学者对IIR数字滤波器的优化设计进行了大量研究。其中,进化算法优化设计IIR数字滤波器虽然取得了一定的效果,但是其也有自身的一些不足;另外,基于粒子群算法以及人工鱼群算法的IIR数字滤波器优化设计也取得了较好的效果。但这些方法都是将多目标优化问题转化为单目标优化问题,这种方法是将每个目标赋一个权值,然后将这些赋了权值的目标相加,把相加的结果作为目标函数,在此基础上寻找目标函数的最小值,这样做造成的问题是可能将其中的任何一种满足目标函数值最小的情况作为最优解,但实际上得到的不一定是最优解。也就是说,单目标的方法难以区分哪一种情况为最优解,这样的寻优模型从理论上来说是难以得到最优解的。另外,在将多目标转化为单目标时,各个目标的权值难以确定,而且最终只能得到唯一解。针对这些问题,本文在研究传统遗传算法、进化规划算法以及量子遗传算法的IIR数字滤波器优化设计的基础上,将重点研究IIR数字滤波器的粒子进化规划优化、遗传多目标优化以及量子多目标优化。另外,由于在通信系统中IIR数字滤波器有广泛应用,并且大量采用FPGA实现,多目标优化方法得到的滤波器性能也值得验证,因此,对多目标优化方法得到的IIR数字滤波器系数进行FPGA仿真验证有重要的现实意义。 @@ 论文的主要工作及研究成果具体如下: @@ 1.分析IIR数字滤波器的数学模型及其优化设计的参数;针对低通IIR数字滤波器,采用遗传算法及量子遗传算法对其进行优化设计,并给出相应的仿真结果及分析。 @@ 2.针对使用进化规划算法优化设计IIR数字滤波器时容易陷入局部极值的问题,研究粒子进化规划算法,并将其应用于IIR数字滤波器的优化设计,该算法将粒子群优化算法与进化规划算法相结合,继承了粒子群算法局部搜索能力强和进化规划算法遗传父代优良基因能力强的优点。将这种新的粒子进化规划算法应用于IIR低通、高通、带通、带阻数字滤波器的优化设计,显示了较好的效果。 @@ 3.优化设计IIR数字滤波器时,通常将多目标转化为单目标的优化问题,这种方法虽然设计简单,但是在将多目标转化为单目标时,各个目标的权值难以确定,而且最终只能得到唯一解,不能提供更多的有效解给决策者。针对常 用基于单目标优化算法的不足,在分析IIR数字滤波器优化模型和待优化参数的基础上,本文研究遗传算法的IIR数字滤波器多目标优化设计方法,该方法将多个目标值直接映射到适应度函数中,通过比较函数值的占优关系来搜索问题的有效解集,使用这种方法可以求得一组有效解,并且将多目标转化为单目标的优化方法得到的唯一解也能被包括在这一组有效解中。@@ 4.将量子遗传算法应用于IIR数字滤波器多目标优化设计,研究量子遗传算法的IIR数字滤波器多目标优化设计方法,并将优化结果与传统遗传算法的多目标优化方法进行了比较。仿真结果表明,在对同一种滤波器进行优化设计时,使用该方法得到的结果通带波动更小,过渡带更窄,阻带衰减也更大。 @@ 5.针对IIR数字滤波器的硬件实现问题,在对IIR数字滤波器的结构特征进行分析的基础上,分别采用遗传多目标优化方法量子多目标方法优化设计IIR数字滤波器的系数,然后针对两组系数进行了FPGA( Field-Programmable GateArray,现场可编程门阵列)仿真验证,并对两种结果进行了对比分析。 @@关键词:IIR数字滤波器;优化设计
上传时间: 2013-06-09
上传用户:熊少锋
ARM嵌入式系统C语言编程资料,欢迎各位朋友 下载
上传时间: 2013-06-06
上传用户:himbly
c++编程应用,大多都涉及MFC,希望对需要的人有好处。是比较好的资料。
上传时间: 2013-06-09
上传用户:brucewan
现场可编程门阵列(FPGA,Field Programmable Gate Array)是可编程逻辑器件的一种,它的出现是随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC,Application Specific Integrated Circuit).芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中。现在,FPGA已广泛地运用于通信领域、消费类电子和车用电子。 本文中涉及的I/O端口模块是FPGA中最主要的几个大模块之一,它的主要作用是提供封装引脚到CLB之间的接口,将外部信号引入FPGA内部进行逻辑功能的实现并把结果输出给外部电路,并且根据需要可以进行配置来支持多种不同的接口标准。FPGA允许使用者通过不同编程来配置实现各种逻辑功能,在IO端口中它可以通过选择配置方式来兼容不同信号标准的I/O缓冲器电路。总体而言,可选的I/O资源的特性包括:IO标准的选择、输出驱动能力的编程控制、摆率选择、输入延迟和维持时间控制等。 本文是关于FPGA中多标准兼容可编程输入输出电路(Input/Output Block)的设计和实现,该课题是成都华微电子系统有限公司FPGA大项目中的一子项,目的为在更新的工艺水平上设计出能够兼容单端标准的I/O电路模块;同时针对以前设计的I/O模块不支持双端标准的缺点,要求新的电路模块中扩展出双端标准的部分。文中以低压双端差分标准(LVDS)为代表构建双端标准收发转换电路,与单端标准比较,LVDS具有很多优点: (1)LVDS传输的信号摆幅小,从而功耗低,一般差分线上电流不超过4mA,负载阻抗为100Ω。这一特征使它适合做并行数据传输。 (2)LVDS信号摆幅小,从而使得该结构可以在2.5V的低电压下工作。 (3)LVDS输入单端信号电压可以从0V到2.4V变化,单端信号摆幅为400mV,这样允许输入共模电压从0.2V到2.2V范围内变化,也就是说LVDS允许收发两端地电势有±1V的落差。 本文采用0.18μm1.8V/3.3V混合工艺,辅助Xilinx公司FPGA开发软件ISE,设计完成了可以用于Virtex系列各低端型号FPGA的IOB结构,它有灵活的可配置性和出色的适应能力,能支持大量的I/O标准,其中包括单端标准,也包括双端标准如LVDS等。它具有适应性的优点、可选的特性和考虑到被文件描述的硬件结构特征,这些特点可以改进和简化系统级的设计,为最终的产品设计和生产打下基础。设计中对包括20种IO标准在内的各电器参数按照用户手册描述进行仿真验证,性能参数已达到预期标准。
上传时间: 2013-05-15
上传用户:shawvi