计算机的指令系统是表征计算机性能的重要指标,每种计算机都有自己的指令系统。MCS—51单片机的指令系统是一个具有255种代码的集合,绝大多数指令包含两个基本部分:操作码和操作数。操作码表明指令要执行的操作的性质;操作数说明参与操作的数据或数据所存放的地址。MCS—51指令系统中所有程序指令是以机器语言形式表示,可分为单字节、双字节、三字节3种格式。用二进制编码表示的机器语言由于阅读困难,且难以记忆。因此在微机控制系统中采用汇编语言指令来编写程序。本章介绍MCS—51指令系统就是以汇编语言来描述的。 一条汇编语言指令中最多包含4个区段,如下所示: 标号: 操作码目的操作数,源源操作数;注释 标号与操作码之间“:”隔开; 操作码与操作数之间用“空格”隔开; 目的操作数和源源操作数之间有“,”分隔; 操作数与注释之间用“;”隔开。 标号是由用户定义的符号组成,必须用英文大写字母开始。标号可有可无,若一条指令中有标号,标号代表该指令所存放的第一个字节存储单元的地址,故标号又称为符号地址,在汇编时,把该地址赋值给标号。 操作码是指令的功能部分,不能缺省。MCS—51指令系统中共有42种助记符,代表了33种不同的功能。例如MOV是数据传送的助记符。 操作数是指令要操作的数据信息。根据指令的不同功能,操作数的个数有3、2、1或没有操作数。例如MOV A,#20H,包含了两个操作数A和#20H,它们之间用“,”隔开。注释可有可无,加入注释主要为了便于阅读,程序设计者对指令或程序段作简要的功能说明,在阅读程序或调试程序时将会带来很多方便。
上传时间: 2013-11-04
上传用户:kr770906
§4-1 程序设计语言计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。 机器语言、汇编语言和高级语言比较一览表§4-2 汇编语言源程序格式汇编语言源程序格式如下:1、汇编语言源程序由一条一条汇编语句组成。2、每条汇编语句独占一行,以CR—LF结束。3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释§4-3 伪指令一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS §4-4 汇编语言程序设计基础一、汇编语言程序设计的一般步骤 分析课题 确定算法 画流程图 编写程序 上机调试二、程序结构 按程序的走向可以将程序分成4种结构: 简单程序 分支程序 循环程序 子程序
上传时间: 2013-10-15
上传用户:daoxiang126
单片机基础知识单片机的外部结构:1、 DIP40双列直插;2、 P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)3、 电源VCC(PIN40)和地线GND(PIN20);4、 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位)5、 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍)6、 程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序)7、 P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)1、 四个8位通用I/O端口,对应引脚P0、P1、P2和P3;2、 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、 一个串行通信接口;(SCON,SBUF)4、 一个中断控制器;(IE,IP)针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。教科书的160页给出了针对MCS51系列单片机的C语言扩展变量类型。 C语言编程基础:1、 十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。2、 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。3、 ++var表示对变量var先增一;var—表示对变量后减一。4、 x |= 0x0f;表示为 x = x | 0x0f;5、 TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。6、 While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;}第一章 单片机最小应用系统:单片机最小系统的硬件原理接线图:1、 接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF2、 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用12MHz),还有辅助电容30pF3、 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理4、 接配置:EA(PIN31)。说明原因。第二章 基本I/O口的应用第三章 显示驱动第七章 串行接口应用
标签: 单片机
上传时间: 2013-10-30
上传用户:athjac
第1章 单片机系统概述1.1 AVR系列单片机的特点1.2 AT90系列单片机简介第2章 AT90LS8535单片机的基础知识2.1 AT90LS8535单片机的总体结构2.1.1 AT90LS8535单片机的中央处理器2.1.2 AT90LS8535单片机的存储器组织2.1.3 AT90LS8535单片机的I/O接口2.1.4 AT90LS8535单片机的内部资源2.1.5 AT90LS8535单片机的时钟电路2.1.6 AT90LS8535单片机的系统复位2.1.7 AT90LS8535单片机的节电方式2.1.8 AT90LS8535单片机的芯片引脚2.2 AT90LS8535单片机的指令系统2.2.1 汇编指令格式2.2.2 寻址方式2.2.3 伪指令2.2.4 指令类型及数据操作方式2.3 应用程序设计2.3.1 程序设计方法2.3.2 应用程序举例第3章 AT90LS8535单片机的C编程3.1 支持高级语言编程的AVR系列单片机3.2 AVR的C编译器3.3 ICC AVR介绍3.3.1 安装ICC AVR3.3.2 设置ICC AVR3.4 用ICC AVR编写应用程序3.5 下载程序文件第4章 数据类型、运算符和表达式4.1 ICC AVR支持的数据类型4.2 常量与变量4.2.1 常量4.2.2 变量4.3 AT90LS8535的存储空间4.4 算术和赋值运算4.4.1 算术运算符和算术表达式4.4.2 赋值运算符和赋值表达式4.5 逻辑运算4.6 关系运算4.7 位操作4.7.1 位逻辑运算4.7.2 移位运算4.8 逗号运算第5章 控制流5.1 C语言的结构化程序设计5.1.1 顺序结构5.1.2 选择结构5.1.3 循环结构5.2 选择语句5.2.1 if语句5.2.2 switch分支5.2.3 选择语句的嵌套5.3 循环语句5.3.1 while语句5.3.2 do…while语句5.3.3 for语句5.3.4 循环语句嵌套5.3.5 break语句和continue语句第6章 函数6.1 函数的定义6.1.1 函数的定义的一般形式6.1.2 函数的参数6.1.3 函数的值6.2 函数的调用6.2.1 函数的一般调用6.2.2 函数的递归调用6.2.3 函数的嵌套使用6.3 变量的类型及其存储方式6.3.1 局部变量6.3.2 局部变量的存储方式6.3.3 全局变量6.3.4 全局变量的存储方式6.4 内部函数和外部函数6.4.1 内部函数6.4.2 外部函数第7章 指针第8章 结构体和共用体第9章 AT90LS8535的内部资源第10章 AT90LS8535的人机接口编程第11章 AT90LS8535的外围扩展第12章 AT90LS8535的通信编程第13章 系统设计中的程序处理方法
上传时间: 2013-10-31
上传用户:smthxt
电子发烧友网核心提示:Altera公司昨日宣布,在业界率先在28 nm FPGA器件上成功测试了复数高性能浮点数字信号处理(DSP)设计。独立技术分析公司Berkeley设计技术有限公司(BDTI)验证了能够在 Altera Stratix V和Arria V 28 nm FPGA开发套件上简单方便的高效实现Altera浮点DSP设计流程,同时验证了要求较高的浮点DSP应用的性能。本文是BDTI完整的FPGA浮点DSP分析报告。 Altera的浮点DSP设计流程经过规划,能够快速适应可参数赋值接口的设计更改,其工作环境包括来自MathWorks的MATLAB和 Simulink,以及Altera的DSP Builder高级模块库,支持FPGA设计人员比传统HDL设计更迅速的实现并验证复数浮点算法。这一设计流程非常适合设计人员在应用中采用高性能 DSP,这些应用包括,雷达、无线基站、工业自动化、仪表和医疗图像等。
上传时间: 2014-12-28
上传用户:18888888888
介绍了基于Xilinx Spartan- 3E FPGA XC3S250E 来完成分辨率为738×575 的PAL 制数字视频信号到800×600 的VGA 格式转换的实现方法。关键词: 图像放大; PAL; VGA; FPGA 目前, 绝大多数监控系统中采用的高解析度摄像机均由47 万像素的CCD 图像传感器采集图像, 经DSP 处理后输出的PAL 制数字视频信号不能直接在VGA 显示器上显示, 而在许多场合需要在VGA 显示器上实时监视, 这就需要将隔行PAL 制数字视频转换为逐行视频并提高帧频, 再将每帧图像放大到800×600 或1 024×768。常用的图像放大的方法有很多种, 如最临近赋值法、双线性插值法、样条插值法等[ 1] 。由于要对图像进行实时显示, 本文采用一种近似的双线性插值方法对图像进行放大。随着微电子技术及其制造工艺的发展, 可编程逻辑器件的逻辑门密度有了很大提高, 现场可编程逻辑门阵列( FPGA) 有着逻辑资源丰富和可重复以及系统配置的灵活性, 同时随着微处理器、专用逻辑器件以及DSP 算法以IP Core 的形式嵌入到FPGA 中[ 2] , FPGA 的功能越来越强, 因此FPGA 在现代电子系统设计中发挥着越来越重要的作用。本课题的设计就是采用VHDL 描述, 基于FPGA 来实现的。
上传时间: 2013-12-03
上传用户:aa54
摘要: 串行传输技术具有更高的传输速率和更低的设计成本, 已成为业界首选, 被广泛应用于高速通信领域。提出了一种新的高速串行传输接口的设计方案, 改进了Aurora 协议数据帧格式定义的弊端, 并采用高速串行收发器Rocket I/O, 实现数据率为2.5 Gbps的高速串行传输。关键词: 高速串行传输; Rocket I/O; Aurora 协议 为促使FPGA 芯片与串行传输技术更好地结合以满足市场需求, Xilinx 公司适时推出了内嵌高速串行收发器RocketI/O 的Virtex II Pro 系列FPGA 和可升级的小型链路层协议———Aurora 协议。Rocket I/O支持从622 Mbps 至3.125 Gbps的全双工传输速率, 还具有8 B/10 B 编解码、时钟生成及恢复等功能, 可以理想地适用于芯片之间或背板的高速串行数据传输。Aurora 协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议, 可用于高速线性通路之间的点到点串行数据传输, 同时其可扩展的带宽, 为系统设计人员提供了所需要的灵活性[4]。但该协议帧格式的定义存在弊端,会导致系统资源的浪费。本文提出的设计方案可以改进Aurora 协议的固有缺陷,提高系统性能, 实现数据率为2.5 Gbps 的高速串行传输, 具有良好的可行性和广阔的应用前景。
上传时间: 2013-11-06
上传用户:smallfish
目录 C语言基础知识 C 语言简介 C 语言的特点… C 语言的发展和标准化…数据类型、运算、表达式和编译预处理 数据类型… 基本类型与数据表示 整数类型和整数的表示… 实数类型和实数的表示… 字符类型和字符的表示… 运算符、表达式与计算… 算术运算符 算术表达式 表达式的求值… 变量——概念、定义和使用… 变量的定义0 变量的使用:取值与赋值 预处理 文件包含命令… 宏定义与宏替换…逻辑判断与运算… 关系运算和逻辑运算 复杂条件的描述0 i f语句循环控制 whi le语句 for语句… 循环程序常用的若干机制 增量和减量运算符(++、--) 逗号运算符 控制结构和控制语句 do-while循环结构… 流程控制语句… goto语句… 开关语句…函数 概述… 函数定义和程序的函数分解… 函数定义… 函数调用…数组 数组的概念、定义和使用 数组变量定义… 数组的使用 数组的初始化…结构 结构(struct) 结构说明与变量定义 结构变量的初始化和使用 结构与函数 处理结构的函数0指针 指针的概念 指针操作… 指针作为函数的参数 与指针有关的一些问题… 指针与数组 指向数组元素的指针 基于指针运算的数组程序设计 数组参数与指针 字符指针与字符数组0
上传时间: 2013-11-16
上传用户:asdkin
电子发烧友网核心提示:Altera公司昨日宣布,在业界率先在28 nm FPGA器件上成功测试了复数高性能浮点数字信号处理(DSP)设计。独立技术分析公司Berkeley设计技术有限公司(BDTI)验证了能够在 Altera Stratix V和Arria V 28 nm FPGA开发套件上简单方便的高效实现Altera浮点DSP设计流程,同时验证了要求较高的浮点DSP应用的性能。本文是BDTI完整的FPGA浮点DSP分析报告。 Altera的浮点DSP设计流程经过规划,能够快速适应可参数赋值接口的设计更改,其工作环境包括来自MathWorks的MATLAB和 Simulink,以及Altera的DSP Builder高级模块库,支持FPGA设计人员比传统HDL设计更迅速的实现并验证复数浮点算法。这一设计流程非常适合设计人员在应用中采用高性能 DSP,这些应用包括,雷达、无线基站、工业自动化、仪表和医疗图像等。
上传时间: 2015-01-01
上传用户:sunshie
介绍了基于Xilinx Spartan- 3E FPGA XC3S250E 来完成分辨率为738×575 的PAL 制数字视频信号到800×600 的VGA 格式转换的实现方法。关键词: 图像放大; PAL; VGA; FPGA 目前, 绝大多数监控系统中采用的高解析度摄像机均由47 万像素的CCD 图像传感器采集图像, 经DSP 处理后输出的PAL 制数字视频信号不能直接在VGA 显示器上显示, 而在许多场合需要在VGA 显示器上实时监视, 这就需要将隔行PAL 制数字视频转换为逐行视频并提高帧频, 再将每帧图像放大到800×600 或1 024×768。常用的图像放大的方法有很多种, 如最临近赋值法、双线性插值法、样条插值法等[ 1] 。由于要对图像进行实时显示, 本文采用一种近似的双线性插值方法对图像进行放大。随着微电子技术及其制造工艺的发展, 可编程逻辑器件的逻辑门密度有了很大提高, 现场可编程逻辑门阵列( FPGA) 有着逻辑资源丰富和可重复以及系统配置的灵活性, 同时随着微处理器、专用逻辑器件以及DSP 算法以IP Core 的形式嵌入到FPGA 中[ 2] , FPGA 的功能越来越强, 因此FPGA 在现代电子系统设计中发挥着越来越重要的作用。本课题的设计就是采用VHDL 描述, 基于FPGA 来实现的。
上传时间: 2014-02-22
上传用户:a1054751988