• 汇编语言的出现大大提高了编程效率,但是有一个问题就是不同CPU的指令集可能不同,这样就需要为不同的CPU编写不同的汇编程序。于是又出现了高级语言比如C,或者是后来的C++,JAVA,C#。高级语言把多条汇编指令合成成为了一个表达式,并且去除了许多操作细节(比如堆栈操作,寄存器操作),而是以一种更直观的方式来编写程序,而面向对象的语言的出现使得程序编写更加符合我们的思维方式。我们不必把尽力放到低层的细节上,而更多的关注程序的本身的逻辑的实现。 对于高级语言来说需要一个编译器来完成高级语言到汇编语言的转换。所
  • 汇编语言的出现大大提高了编程效率,但是有一个问题就是不同CPU的指令集可能不同,这样就需要为不同的CPU编写不同的汇编程序。于是又出现了高级语言比如C,或者是后来的C++,JAVA,C#。高级语言把多条汇编指令合成成为了一个表达式,并且去除了许多操作细节(比如堆栈操作,寄存器操作),而是以一种更直观的方式来编写程序,而面向对象的语言的出现使得程序编写更加符合我们的思维方式。我们不必把尽力放到低层的细节上,而更多的关注程序的本身的逻辑的实现。 对于高级语言来说需要一个编译器来完成高级语言到汇编语言的转换。所 >>
  • 来源:blog.sina.com.cn/s/blog_638ac15c0102w014.html
  • 汇编语言的出现大大提高了编程效率,但是有一个问题就是不同CPU的指令集可能不同,这样就需要为不同的CPU编写不同的汇编程序。于是又出现了高级语言比如C,或者是后来的C++,JAVA,C#。高级语言把多条汇编指令合成成为了一个表达式,并且去除了许多操作细节(比如堆栈操作,寄存器操作),而是以一种更直观的方式来编写程序,而面向对象的语言的出现使得程序编写更加符合我们的思维方式。我们不必把尽力放到低层的细节上,而更多的关注程序的本身的逻辑的实现。 对于高级语言来说需要一个编译器来完成高级语言到汇编语言的转换。所
  • 汇编语言的出现大大提高了编程效率,但是有一个问题就是不同CPU的指令集可能不同,这样就需要为不同的CPU编写不同的汇编程序。于是又出现了高级语言比如C,或者是后来的C++,JAVA,C#。高级语言把多条汇编指令合成成为了一个表达式,并且去除了许多操作细节(比如堆栈操作,寄存器操作),而是以一种更直观的方式来编写程序,而面向对象的语言的出现使得程序编写更加符合我们的思维方式。我们不必把尽力放到低层的细节上,而更多的关注程序的本身的逻辑的实现。 对于高级语言来说需要一个编译器来完成高级语言到汇编语言的转换。所 >>
  • 来源:blog.sina.com.cn/s/blog_638ac15c0102w014.html
  • 80C51是8位(数据线是8位)单片机,片内有256BRAM及4KBROM。中央处理器单元实现运算和控制功能。内部数据存储器共256个单元,访问它们的地址是00H~FFH,其中用户使用前128个单元(00H~7FH),后128个单元被特殊功能寄存器占用。内部的2个16位定时/计数器用作定时或计数。并可用定时或计数的结果实现控制功能。80C51有4个8位并行口(P0、P1、P2、P3),用以实现地址输出及数据输入/输出。片内还有一个时钟振荡器,外部只需接入石英晶体即可振荡。
  • 80C51是8位(数据线是8位)单片机,片内有256BRAM及4KBROM。中央处理器单元实现运算和控制功能。内部数据存储器共256个单元,访问它们的地址是00H~FFH,其中用户使用前128个单元(00H~7FH),后128个单元被特殊功能寄存器占用。内部的2个16位定时/计数器用作定时或计数。并可用定时或计数的结果实现控制功能。80C51有4个8位并行口(P0、P1、P2、P3),用以实现地址输出及数据输入/输出。片内还有一个时钟振荡器,外部只需接入石英晶体即可振荡。 >>
  • 来源:bbbs.weeqoo.com/showtree.aspx?topicid=279575&forumpage=1&postid=1234728
  • 一、CPU结构与特点 1.8086/8088 CPU结构框图 ??8086/8088由两个独立的处理部件组成: EU(Execution Unit),BIU(Bus ?? Interface Unit)。 ??EU为执行部件,负责全部指令的执行,向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理等。 ??BIU为总线接口部件,负责执行所有的"外部总线"周期,为EU取指令或访问数据,提供系统总线控制信号。 ?
  • 一、CPU结构与特点 1.8086/8088 CPU结构框图 ??8086/8088由两个独立的处理部件组成: EU(Execution Unit),BIU(Bus ?? Interface Unit)。 ??EU为执行部件,负责全部指令的执行,向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理等。 ??BIU为总线接口部件,负责执行所有的"外部总线"周期,为EU取指令或访问数据,提供系统总线控制信号。 ? >>
  • 来源:wjyl.nuaa.edu.cn/kejian/ketang/2/212.htm
  • 例题 下一节 8-3 边界扫描设计 扫描设计技术极大地提高了集成电路芯片的可测试性。IEEE1149.1是边界扫描设计接口标准。用具有边界扫描功能的芯片构成的印刷板将可通过相应的测试设备检测已安装在印刷板上的芯片的功能,检测印刷板连线的正确性,并对其逻辑功能进行故障检测和故障定位。   8.
  • 例题 下一节 8-3 边界扫描设计 扫描设计技术极大地提高了集成电路芯片的可测试性。IEEE1149.1是边界扫描设计接口标准。用具有边界扫描功能的芯片构成的印刷板将可通过相应的测试设备检测已安装在印刷板上的芯片的功能,检测印刷板连线的正确性,并对其逻辑功能进行故障检测和故障定位。   8. >>
  • 来源:gc.nuaa.edu.cn/digital/kejian/ch8/8-3.htm
  • 下面便以以下的程序来讲解指令的使用,用I0.2的上升沿来执行移位寄存器指令,那么就是一个扫描周期移一位的,指令中V100.0是移位寄存器的最低位,I0.3里面存的是0或1的数值,指令指定是移位加的,移位寄存器的长度是4。我们结合下面的时序图和移位的图来看,若V100为0000 0101,因为移位寄存器的长度是4,那么只有0101,当I0.
  • 下面便以以下的程序来讲解指令的使用,用I0.2的上升沿来执行移位寄存器指令,那么就是一个扫描周期移一位的,指令中V100.0是移位寄存器的最低位,I0.3里面存的是0或1的数值,指令指定是移位加的,移位寄存器的长度是4。我们结合下面的时序图和移位的图来看,若V100为0000 0101,因为移位寄存器的长度是4,那么只有0101,当I0. >>
  • 来源:blog.sina.com.cn/s/blog_8d586f570102veg4.html
  • 本系统采用常见的51单片机作为主控芯片,程序开始对单片机初始化,再对12864液晶初始化和始终芯片ds1302初始化后主控芯片就一直检测卡片传过来的信息并对其解码还原成卡号。并通过按键检测来识别身份和与内部存储的卡号对比来控制继电器的开关模拟门禁系统。通过程序来读取DS1302内部寄存器的数值来显示时间。 本程序是外部电路接收到开卡发回来的曼码与单片机接口相连,单片机检测输入的高低电平的跳变来还原成卡号。具体10跳变解码成1,01跳变解码成0.
  • 本系统采用常见的51单片机作为主控芯片,程序开始对单片机初始化,再对12864液晶初始化和始终芯片ds1302初始化后主控芯片就一直检测卡片传过来的信息并对其解码还原成卡号。并通过按键检测来识别身份和与内部存储的卡号对比来控制继电器的开关模拟门禁系统。通过程序来读取DS1302内部寄存器的数值来显示时间。 本程序是外部电路接收到开卡发回来的曼码与单片机接口相连,单片机检测输入的高低电平的跳变来还原成卡号。具体10跳变解码成1,01跳变解码成0. >>
  • 来源:www.9mcu.com/9mcubbs/forum.php?mod=viewthread&tid=1043948
  • 将指定的[写入触发位地址]置ON,保存在人机界面中的采样数据会被写入内部寄存器。 如果取消勾选[模式]选项卡-扩展设置中的[在完成指定周期后覆盖原有数据]复选框,可以写入每个块。 写入采样数据  如果在[写入数据]选项卡中勾选[包括周期数],则会在起始地址中以二进制形式保存执行的采样周期数(保存的采样数据数)。 例如,如果周期数是5,当前采样轮次是2,那么[存储数据数]就是2。此时,对于样本3及以后的采样数据,将在保存区中保存0。 如果未勾选[包括周期数],则从起始地址起保存第1个采样数据。
  • 将指定的[写入触发位地址]置ON,保存在人机界面中的采样数据会被写入内部寄存器。 如果取消勾选[模式]选项卡-扩展设置中的[在完成指定周期后覆盖原有数据]复选框,可以写入每个块。 写入采样数据 如果在[写入数据]选项卡中勾选[包括周期数],则会在起始地址中以二进制形式保存执行的采样周期数(保存的采样数据数)。 例如,如果周期数是5,当前采样轮次是2,那么[存储数据数]就是2。此时,对于样本3及以后的采样数据,将在保存区中保存0。 如果未勾选[包括周期数],则从起始地址起保存第1个采样数据。 >>
  • 来源:www.proface.com.cn/otasuke/files/manual/gpproex/new/refer/mergedProjects/sampling/sampling_mm_internaldeviceoperations.htm
  • 从上面的算法可以看出,处理数据的采样时钟对每一个抽头来说都是并行的,并且加法器和移位寄存器采用级联方式,完成了累加器的功能,综合了加法器和移位寄存器的优点,而且这种算法的各级结构相同,方便扩展,实现了任意阶数的滤波器。算法中,真正点用系统资源的是乘法器。如果将系数量化成二进制,就能采用移位寄存器和加法器实现乘法功能。对于一个特定的滤波器,由于它有固定的系数,乘法功能就是一个长数乘法器。下面将讨论乘法器的设计问题。 2 FIR并行滤波器的乘法器设计 在并行滤波器的设计中,每一个乘法器的一端输入数据,另一端为
  • 从上面的算法可以看出,处理数据的采样时钟对每一个抽头来说都是并行的,并且加法器和移位寄存器采用级联方式,完成了累加器的功能,综合了加法器和移位寄存器的优点,而且这种算法的各级结构相同,方便扩展,实现了任意阶数的滤波器。算法中,真正点用系统资源的是乘法器。如果将系数量化成二进制,就能采用移位寄存器和加法器实现乘法功能。对于一个特定的滤波器,由于它有固定的系数,乘法功能就是一个长数乘法器。下面将讨论乘法器的设计问题。 2 FIR并行滤波器的乘法器设计 在并行滤波器的设计中,每一个乘法器的一端输入数据,另一端为 >>
  • 来源:xilinx.eetop.cn/?action-viewnews-itemid-144
  • 1.I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL.   2.I2C总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SD .
  • 1.I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. 2.I2C总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SD . >>
  • 来源:www.lxway.com/4010804094.htm
  • 某容量为256MB的存储器由若干4M*8位的DRAM芯片构成,该DRAM芯片的地址引脚和数据引脚总数是 A、19 B、22 C、30 D、36 容量为 4M*8,则需22条地址线,8 条数据线,DRAM 芯片的地址线在芯片中是分时复用,仅需一半的引脚数,即11+8=19 总线信息传输方式 串行传输:是指数据的传输在一条线路上按位进行(只需一条数据传输线,线路的成本低,适合于长距离的数据传输).
  • 某容量为256MB的存储器由若干4M*8位的DRAM芯片构成,该DRAM芯片的地址引脚和数据引脚总数是 A、19 B、22 C、30 D、36 容量为 4M*8,则需22条地址线,8 条数据线,DRAM 芯片的地址线在芯片中是分时复用,仅需一半的引脚数,即11+8=19 总线信息传输方式 串行传输:是指数据的传输在一条线路上按位进行(只需一条数据传输线,线路的成本低,适合于长距离的数据传输). >>
  • 来源:blog.sina.com.cn/s/blog_6a82eb900102v8gc.html
  • (5)中断测试 中断测试就是对采集卡的中断进行一定的测试。它能对PCI8335采集卡上的三种中断进行测试。单击"打开中断总允许"按钮,可打开PCI8335中断功能,其界面如图10-14所示。 "FIFO半满中断"区域:可对FIFO半满产生的中断进行测试。单击"FIFO中断测试"按钮,打开FIFO中断允许,并启动A/D转换。当中断到来时,"中断次数"文本框显示由于FIFO半满产生的中断次数,"中断个数"文本框显示本次中断把FIFO中的数据读空,所读取的数据个数。 "计数器中断"区域:
  • (5)中断测试 中断测试就是对采集卡的中断进行一定的测试。它能对PCI8335采集卡上的三种中断进行测试。单击"打开中断总允许"按钮,可打开PCI8335中断功能,其界面如图10-14所示。 "FIFO半满中断"区域:可对FIFO半满产生的中断进行测试。单击"FIFO中断测试"按钮,打开FIFO中断允许,并启动A/D转换。当中断到来时,"中断次数"文本框显示由于FIFO半满产生的中断次数,"中断个数"文本框显示本次中断把FIFO中的数据读空,所读取的数据个数。 "计数器中断"区域: >>
  • 来源:book.51cto.com/art/200911/162343.htm
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。 >>
  • 来源:www.lxway.com/4011240006.htm
  • C串行总线标准,这里不再赘述。而S5920外加总线信号分为输入(in)、输出(out)和双向三态(t/s)三种。下面对S5920的外加总线引脚作一分类描述: 3.1 信箱通道引脚   MDMODE:(in),信箱通道数据模式选择端。高电平时,MD[70]信号恒为输入;低电平时,由LOAD#信号控制MD[70]为输入或输出。 LOAD#:(in),高电平时,MD[70]为输入,下一个时钟ADCLK的上升沿将数据锁入到外加总线输出信箱寄存器的第三字节;当低电平且MDMODE为0时,MD[70]上显示PC
  • C串行总线标准,这里不再赘述。而S5920外加总线信号分为输入(in)、输出(out)和双向三态(t/s)三种。下面对S5920的外加总线引脚作一分类描述: 3.1 信箱通道引脚   MDMODE:(in),信箱通道数据模式选择端。高电平时,MD[70]信号恒为输入;低电平时,由LOAD#信号控制MD[70]为输入或输出。 LOAD#:(in),高电平时,MD[70]为输入,下一个时钟ADCLK的上升沿将数据锁入到外加总线输出信箱寄存器的第三字节;当低电平且MDMODE为0时,MD[70]上显示PC >>
  • 来源:lunwen.freekaoyan.com/ligonglunwen/dianzi/20080216/120313686576916.shtml
  • 处理器模式 用户模式(user)简称usr 快速中断模式(FIQ)简称fiq 外部中断模式(IRQ)简称irq 特权模式(supervisor)简称sve 数据访问终止模式(abort)简称abt 未定义指令后终止模式(undefined)简称und 除了用户模式以外,其他的模式成为特权模式,这些模式下,程序可以访问所有系统资源,也可以任意进行处理机模式 处理其模式可以通过软件进行控制,可以同国外部中断或者是异常处理进行切换,大多数的用户程序运行在用户模式下,这时候应用程序不能访问一些受系统保护的系统资源
  • 处理器模式 用户模式(user)简称usr 快速中断模式(FIQ)简称fiq 外部中断模式(IRQ)简称irq 特权模式(supervisor)简称sve 数据访问终止模式(abort)简称abt 未定义指令后终止模式(undefined)简称und 除了用户模式以外,其他的模式成为特权模式,这些模式下,程序可以访问所有系统资源,也可以任意进行处理机模式 处理其模式可以通过软件进行控制,可以同国外部中断或者是异常处理进行切换,大多数的用户程序运行在用户模式下,这时候应用程序不能访问一些受系统保护的系统资源 >>
  • 来源:www.cnblogs.com/fengdashen/p/3724709.html
  • N = 1表示结果为负数,N= 0表示结果为正数 z = 1表示结果为0,z = 0表示结果不为0 c表示有进位借位情况发生 v表示有溢出 I表示中断IRQ,F表示中断FIQ,T表示运行的状态,当T= 1表示运行在THUMB上,当T = 0 表示运行在ARM状态 后面的四位表示其中模式的选择
  • N = 1表示结果为负数,N= 0表示结果为正数 z = 1表示结果为0,z = 0表示结果不为0 c表示有进位借位情况发生 v表示有溢出 I表示中断IRQ,F表示中断FIQ,T表示运行的状态,当T= 1表示运行在THUMB上,当T = 0 表示运行在ARM状态 后面的四位表示其中模式的选择 >>
  • 来源:www.lxway.com/611982251.htm
  • 从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下:
  • 从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下: >>
  • 来源:www.68idc.cn/help/makewebs/asks/20140604102813.html