虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

SSL、open<b>SSL</b>、网络、安全

  • 基于DSP和FPGA实时视频采集、处理和显示平台

    基于高速数字信号处理器(DSP) 和大规模现场可编程门阵列( FPGA) ,成功地研制了小型\\r\\n化、低功耗的实时视频采集、处理和显示平台. 其中的DSP 负责图像处理,其外围的全部数字逻辑功能都集成在一片FPGA 内,包括高速视频流FIFO、同步时序产生与控制、接口逻辑转换和对视频编/ 解码器进行设置的I2 C 控制核等. 通过增大FIFO 位宽、提高传输带宽,降低了占用EMIF 总线的时间 利用数字延迟锁相环逻辑,提高了显示接口时序控制精度. 系统软件由驱动层、管理层和应用层组成,使得硬件管理与

    标签: FPGA DSP 实时视频 采集

    上传时间: 2013-08-08

    上传用户:PresidentHuang

  • 一种以CPLD为核心、以VHDL为开发工具的时间控制器

    本文介绍一种以CPLD[1]为核心、以VHDL[2]为开发工具的时间控制器,该控制器不仅具有时间功能,而且具有定时器功能,能在00:00~23:59之间任意设定开启时间和关闭时间,其设置方便、灵活,广泛应用于路灯、广告灯箱、霓虹灯等处的定时控制。

    标签: CPLD VHDL 核心 开发工具

    上传时间: 2013-08-16

    上传用户:chenjjer

  • 无功功率自动补偿控制器

    1) 全数字化设计,交流采样,人机界面采用大屏幕点阵图形128X64 LCD中文液晶显示器。 2) 可实时显示A、B、C各相功率因数、电压、电流、有功功率、无功功率、电压总谐波畸变率、电流总谐波畸变率、电压3、5、7、9、11、13次谐波畸变率、电流3、5、7、9、 11、13次谐波畸变率频率、频率、电容输出显示及投切状态、报警等信息。 3) 设置参数中文提示,数字输入。 4) 电容器控制方案支持三相补偿、分相补偿、混合补偿方案,可通过菜单操作进行设置。 5) 电容器投切控制程序支持等容/编码(1:2、 1:2:3、 1:2:4:8…)等投切方式。 6) 具有手动补偿/自动补偿两种工作方式。 7) 提供电平控制输出接口(+12V),动态响应优于20MS。 8) 取样物理量为无功功率,具有谐波测量及保护功能。 9) 控制器具有RS-485通讯接口,MODBUS标准现场总线协议,方便接入低压配电系统。

    标签: 无功功率 控制器 自动补偿

    上传时间: 2013-11-09

    上传用户:dancnc

  • 浩辰CAD 2012专业版下载

    附件附带破解补丁 浩辰CAD 2012专业版破解方法: 按正常安装浩辰CAD 2012专业版,点击安装KeyGen.exe。 浩辰CAD2012,以增强软件实用性、易用性为主要目标,新增了大量实用功能,改进了着色、消隐的正确性,提升了大幅面光栅图像处理的性能,同时改进了LISP\VBA二次开发接口的正确性和兼容性。 浩辰CAD 2012根据国内外用户的需求,增加了大量实用功能,例如动态块、DWF文件插入、隔离隐藏对象、转换EXCEL表格、块属性管理器、放样、超级填充等。 浩辰cad2012新增功能: 1、动态块(bedit)      动态块具有灵活性和智能性。 用户在操作时可以轻松地更改图形中的动态块参照。 可以通过自定义夹点或自定义特性来操作动态块参照中的几何图形。   a)通过设置图块中元素的可见性,一个图块中可以包含一种图形的多种形态,如下图的汽车模块就包含跑车、轿车和卡车的各向视图,只需在可见性列表中选择一个选项,就可以显示相应的图形。   还可对图块中的图形设置参数和动作,可对图块的整体或部分图形进行移动、旋转、翻转、缩放、阵列等;并可建立查询列表,对图块进行参数化控制。通过图块的动作设置,一个图块可以派生出数个图块,如下图所示:   2、DWF参考底图(dwfattach)      可以将dwf文件插入到当前图中作为参考底图,并可以捕捉到底图的端点、中点,如下图所示:   3、对象隔离、对象隐藏、取消对象隔离      可将选择的对象暂时隐藏,也可将选择对象以外的其他所有对象隐藏。当图中对象较多,利用此命令可以简化图纸,方便后续操作,操作起来比图层隔离更加简便、直观。   4、冻结其它图层和锁定其它图层      浩辰CAD 之前版本提供了图层隔离的功能,冻结其他图层和锁定其它图层与图层隔离功能类似,可以通过选择需要显示或可编辑对象,将其他图层进行冻结和锁定。      5、CAD表格转EXCEL表格      可以直接选择CAD中由直线、多段线和单行文字、多行文字组成的表格输出为EXCEL表格。   6、文字递增      可以对序号、编号、数值进行递增复制,间距、数量和增量均可随心所欲地控制。   7、多段线布尔运算      可直接对封闭的多段线进行差并交计算,无需转换面域,有时比修剪更简便。   8、拼写检查(spell)      此功能实现对用户输入的单词或文章进行单词校验,提示匹配的单词列表,方便用户进行正确的单词填写工作。可以实现不同语言的单词校验工作,包括英文,德文,等8种语言。      可以对全部实体(包括布局,模型中的所有实体)进行校验。      可以分别对布局或模型中的实体进行校验。      可以单独对一个实体或一个选择集进行校验。      方便用户自定义词典。      兼容的自定义词典。      支持文字,块内文字,块属性,属性,标注的校验。      9、放样(Loft)      通过对包含两条或者两条以上的横截面曲线的一组曲线进行放样(绘制实体或曲面)来创建三维实体或曲面。   10、块属性管理器(battman)      创建带属性的块后,执行 battman 对块中属性定义进行查询和修改,如果将修改应用到所有块参照,则对应块的块参照中属性实体也会做对应修改。   11、超级填充(superhatch)      超级填充命令有点像hatch命令,不同的是,可以使用该命令将光栅图像、块、外部参照和擦除这些实体作为填充实体对闭合区域进行填充。   12、线上写字      可以在选择线上书写文字,线会被自动打断,文字会放到线中间。 ◆ 重要功能改进      1、超链接      浩辰CAD 2012版的超链接不仅修改了以前存在的一些错误,而且提供了更为丰富的功能。   a)支持web链接的浏览和连接的设置。      b)支持打开操作系统可打开的所有文件。      c)支持dwg图纸的视图定位。      d)支持超链接的复制粘贴。      e)可以通过鼠标光标状态来判断是否存在链接,方便用户判断是否存在链接。      f)可以通过ctrl+鼠标点击打开设置的文件,方便用户的操作。      g)可以通过右键打开块内实体的链接。      2、光栅图像      浩辰CAD 2012版不仅增加了图像格式的支持,同时提升了大分辨率光栅图像的插入、显示和打印的效果和速度。   a) 增加了对多种图像格式的支持,诸如:CALS-1(*.cal,*.mil,*.rst,*.cg4)、RLC、GEOSPORT(.bil)、PICT(.pct/.pict)、IG4、Autodesk Animator(.fil/.flc)。      b) 内存使用问题,可以插入多张图片,内存不会增加。      c) 光栅图像打印问题(不清晰)。      d) 插入大图像时,预览速度大幅提升。      3、二次开发改进      浩辰CAD 2012版针对二次开发商和用户提出的一些LISP及VBA与AutoCAD存在的兼容性问题进行了系统梳理,兼容性有明显提升,此外还针对国外二次开发商的需求开发了Lisp调试器。      a) Lisp改进      处理了线程问题、命令范围值问题、VLX解析问题,对Lisp程序执行速度进行了优化。      b) VBA改进      处理了VBA的文档管理、接口不全、接口错误、类派生关系错误问题。      c) Lisp调试器      用户在使用浩辰CAD时,由于LISP与AutoCAD不完全兼容,用户需要一个工具进行调试,以协助用户解决及分析报告LISP问题。此系统以完成调试功能为主,不处理词法分析前的映射。适用于中级以上开发用户。

    标签: 2012 CAD 浩辰

    上传时间: 2013-11-10

    上传用户:giraffe

  • MOTOROLA 8位增强型单片机M68HC11原理与应用

    本书分三部分介绍在美国广泛应用的、高功能的M68HC11系列单片机(8位机 ,Motorola公司)。内容包括M68HC11的结构与其基本原理、开发工具EVB(性能评估板)以及开发和应用技术。本书在介绍单片机硬、软件的基础上,进一步介绍了在美国实验室内,如何应用PC机及EVB来进行开发工作。通过本书的介绍,读者可了解这种单片机的原理并学会开发和应用方法。本书可作为大专院校单片机及其实验的教材(本科、短训班)。亦可供开发、应用单片机的各专业(计算机、机电、化工、纺织、冶金、自控、航空、航海……)有关技术人员参考。 第一部分 M68HC11 结构与原理Motorola单片机 1 Motorla单片机 1.1 概述 1.1.1 Motorola 单片机发展概况(3) 1.1.2 Motorola 单片机结构特点(4) 1.2 M68HC11系列单片机(5) 1.2.1 M68HC11产品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9单片机引脚说明(8) 1.3 Motorola 32位单片机(14) 1.3.1中央处理器(CPU32)(15) 1.3.2 定时处理器(TPU)(16) 1.3.3 串行队列模块(QSM)(16) 1.3.4 系统集成模块 (SIM)(16) 1.3.5 RAM(17) 2 系统配置与工作方式 2.1 系统配置(19) 2.1.1 配置寄存器CONFIG(19) 2.1.2 CONFIG寄存器的编程与擦除(20) 2?2 工作方式选择(21) 2.3 M68HC11的工作方式(23) 2.3.1 普通单片工作方式(23) 2.3.2 普通扩展工作方式(23) 2.3.3 特殊自举方式(27) 2.3.4 特殊测试方式(28) 3 中央处理器(CPU)与片上存储器 3.1 CPU寄存器(31) 3?1?1 累加器A、B和双累加器D(32) 3.1.2 变址寄存器X、Y(32) 3.1.3 栈指针SP(32) 3.1.4 程序计数器PC(33) 3.1.5 条件码寄存器CCR(33) 3.2 片上存储器(34) 3.2.1 存储器分布(34) 3.2.2 RAM和INIT寄存器(35) 3.2.3 ROM(37) 3.2.4 EEPROM(37) 3.3 M68HC11 CPU的低功耗方式(39) 3.3.1 WAIT方式(39) 3.3.2 STOP方式(40) 4 复位和中断 4.1 复位(41) 4.1.1 M68HC11的系统初始化条件(41) 4.1.2 复位形式(43) 4.2 中断(48) 4.2.1 条件码寄存器CCR中的中断屏蔽位(48) 4.2.2 中断优先级与中断矢量(49) 4.2.3 非屏蔽中断(52) 4.2.4 实时中断(53) 4.2.5 中断处理过程(56) 5 M68HC11指令系统 5.1 M68HC11寻址方式(59) 5.1.1 立即寻址(IMM)(59) 5.1.2 扩展寻址(EXT)(60) 5.1.3 直接寻址(DIR)(60) 5.1.4 变址寻址(INDX、INDY)(61) 5.1.5 固有寻址(INH)(62) 5.1.6 相对寻址(REL)(62) 5.1.7 前置字节(63) 5.2 M68HC11指令系统(63) 5.2.1 累加器和存储器指令(63) 5.2.2 栈和变址寄存器指令(68) 5.2.3 条件码寄存器指令(69) 5.2.4 程序控制指令(70) 6 输入与输出 6.1 概述(73) 6.2 并行I/O口(74) 6.2.1 并行I/O寄存器(74) 6.2.2 应答I/O子系统(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 数据格式(83) 6.3.3 SCI硬件结构(84) 6.3.4 SCI寄存器(86) 6.4 串行外围接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引脚信号(92) 6.4.3 SPI结构(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系统与外部设备进行串行数据传输(99) 7 定时器系统与脉冲累加器 7.1 概述(105) 7.2 循环计数器(107) 7.2.1 时钟分频器(107) 7.2.2 计算机正常工作监视功能(110) 7.2.3 定时器标志的清除(110) 7.3 输入捕捉功能(111) 7.3.1 概述(111) 7.3.2 定时器输入捕捉锁存器(TIC1、TIC2、TIC3) 7.3.3 输入信号沿检测逻辑(113) 7.3.4 输入捕捉中断(113) 7.4 输出比较功能(114) 7.4.1 概述(114) 7.4.2 输出比较功能使用的寄存器(116) 7.4.3 输出比较示例(118) 7.5 脉冲累加器(119) 7.5.1 概述(119) 7.5.2 脉冲累加器控制和状态寄存器(121) 8 A/D转换系统 8.1 电荷重新分布技术与逐次逼近算法(125) 8.1.1 基本电路(125) 8.1.2 A/D转换逐次逼近算法原理(130) 8.2 M68HC11中A/D转换的实现方法(131) 8.2.1 逐次逼近A/D转换器(131) 8.2.2 控制寄存器(132) 8.2.3 系统控制逻辑(135)? 9 单片机的内部操作 9.1 用立即>    图书前言   美国Motorola公司从80年代中期开始推出的M68HC11系列单片机是当今功能最强、性能/价格比最好的八位单片微计算机之一。在美国,它已被广泛地应用于教学和各种工业控制系统中。?   该单片机有丰富的I/O功能,完善的系统保护功能和软件控制的节电工作方式 。它的指令系统与早期Motorola单片机MC6801等兼容,同时增加了91条新指令。其中包含16位乘法、除法运算指令等。   为便于用户开发和应用M68HC11单片机,Motorola公司提供了多种开发工具。M68HC11 EVB (Evaluation Board)性能评估板就是一种M68HC11系列单片机的廉价开发工具。它既可用来 调试用户程序,又可在仿真方式下运行。为方便用户,M68HC11 EVB可与IBM?PC连接 ,借助于交叉汇编、通信程序等软件,在IBM?PC上调试程序。?   本书分三部分(共15章)介绍了M68HC11的结构和基本原理、开发工具-EVB及开发应用实例等。第一部分(1~9章),介绍M68HC11的结构和基本原理。包括概述,系统配置与工作方式、CPU和存储器、复位和中断、指令系统、I/O、定时器系统和脉冲累加器、A/D转换系统、单片机的内部操作等。第二部分(10~11章),介绍M68HC11 EVB的原理和技术特性以及EVB的应用。第三部分(12~15章),介绍M68HC11的开发与应用技术。包括基本的编程练习、应用程序设计、接口实验、接口设计及应用等。   读者通过学习本书,不仅可了解M68HC11的硬件、软件,而且可了解使用EVB开发和应用M68HC11单片机的方法。在本书的第三部分专门提供了一部分实验和应用程序。?   本书系作者张宁作为高级访问学者,应邀在美国马萨诸塞州洛厄尔大学(University of Massachusetts Lowell)工作期间完成的。全书由张宁执笔。在编著过程中,美国洛厄尔大学的R·代克曼教授?(Professor Robert J. Dirkman)多次与张宁一起讨论、研究,并提供部分资料及实验数据。参加编写和审校等工作的还有王云霞、孙晓芳、刘安鲁、张籍、来安德、张杨等同志。?   为将M68HC11系列单片机尽快介绍给我国,美国Motorola公司的Terrence M.S.Heng先生曾大力支持本书的编著和出版。在此表示衷心感谢。    

    标签: MOTOROLA M68 68 11

    上传时间: 2013-10-27

    上传用户:rlgl123

  • TLC2543 中文资料

    TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明    TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double  sum_final1; double  sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe};  void delay(unsigned char b)   //50us {           unsigned char a;           for(;b>0;b--)                     for(a=22;a>0;a--); }  void display(uchar a,uchar b,uchar c,uchar d) {    P0=duan[a]|0x80;    P2=wei[0];    delay(5);    P2=0xff;    P0=duan[b];    P2=wei[1];    delay(5);   P2=0xff;   P0=duan[c];   P2=wei[2];   delay(5);   P2=0xff;   P0=duan[d];   P2=wei[3];   delay(5);   P2=0xff;   } uint read(uchar port) {   uchar  i,al=0,ah=0;   unsigned long ad;   clock=0;   _cs=0;   port<<=4;   for(i=0;i<4;i++)  {    d_in=port&0x80;    clock=1;    clock=0;    port<<=1;  }   d_in=0;   for(i=0;i<8;i++)  {    clock=1;    clock=0;  }   _cs=1;   delay(5);   _cs=0;   for(i=0;i<4;i++)  {    clock=1;    ah<<=1;    if(d_out)ah|=0x01;    clock=0; }   for(i=0;i<8;i++)  {    clock=1;    al<<=1;    if(d_out) al|=0x01;    clock=0;  }   _cs=1;   ad=(uint)ah;   ad<<=8;   ad|=al;   return(ad); }  void main()  {   uchar j;   sum=0;sum1=0;   sum_final=0;   sum_final1=0;    while(1)  {              for(j=0;j<128;j++)          {             sum1+=read(1);             display(a1,b1,c1,d1);           }            sum=sum1/128;            sum1=0;            sum_final1=(sum/4095)*5;            sum_final=sum_final1*1000;            a1=(int)sum_final/1000;            b1=(int)sum_final%1000/100;            c1=(int)sum_final%1000%100/10;            d1=(int)sum_final%10;            display(a1,b1,c1,d1);           }         } 

    标签: 2543 TLC

    上传时间: 2013-11-19

    上传用户:shen1230

  • 单片机几种软件滤波程序示例

    假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad(); 1、限幅滤波法(又称程序判断滤波法)     A、方法:         根据经验判断,确定两次采样允许的最大偏差值(设为A)         每次检测到新值时判断:         如果本次值与上次值之差<=A,则本次值有效         如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值     B、优点:         能有效克服因偶然因素引起的脉冲干扰     C、缺点         无法抑制那种周期性的干扰         平滑度差 /*  A值可根据实际情况调整     value为有效值,new_value为当前采样值      滤波程序返回有效的实际值  */ #define A 10 char value; char filter() {    char  new_value;    new_value = get_ad();    if ( ( new_value - value > A ) || ( value - new_value > A )       return value;    return new_value;          } 2、中位值滤波法     A、方法:         连续采样N次(N取奇数)         把N次采样值按大小排列         取中间值为本次有效值     B、优点:         能有效克服因偶然因素引起的波动干扰         对温度、液位的变化缓慢的被测参数有良好的滤波效果     C、缺点:         对流量、速度等快速变化的参数不宜 /*  N值可根据实际情况调整     排序采用冒泡法*/

    标签: 单片机 软件滤波 程序

    上传时间: 2014-12-26

    上传用户:nanshan

  • 高性能、低价格、支持JTAG仿真的ATMEGA16单片机

    在16MHZ频率下速度为16MIPS的8位RISC结构单片机,内含硬件乘法器。 支持JTAG端口仿真和编程,仿真效果比传统仿真同更真实有效。 8通道10位AD转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器。 16K字节的FLASH存贮器,支持ISP、IAP编程,使系统开发、生产、维护更容易。 多达1K字节的SRAM,32个通用寄存器,三个数据指针,使用C语言编程更容易。 512字节的EEPROM存贮器,可以在系统掉电时保存您的重要数据。 多达20个中断源,每个中断有独立的中断向量入口地址。 2个8位定时/计数器,1个16位定时/计数器,带捕捉、比较功能,有四个通道的PWM。 硬件USART、SPI和基于字节处理的I2C接口。 杰出的电气性能,超强的抗干扰能力。每个IO口可负载40mA的电流,总电流不超过200mA。 可选片内/片外RC振荡、石英/陶瓷晶振、外部时钟,更具备实时时钟(RTC)功能;片内RC振荡可达8MHZ,频率可校调到1%精度;片外晶振振荡幅度可调,以改善EMI性能。 内置模拟量比较器。 可以用熔丝开启、带独立振荡器的看门狗,看门狗溢出时间分8级可调。 内置上电复位电路和可编程低电压检测(BOD)复位电路。 六种睡眠模式,给你更低的功耗和更灵活的选择。 ATMEGA16L工作电压2.7V-5.5V,工作频率0-8MHZ;ATMEGA16工作电压4.5-5.5V,工作频率0-16MHZ。 32个IO口,DIP40、TQFP44封装。 与其它8位单片机相比,有更高的程序安全性,保护您的知识产权。

    标签: ATMEGA JTAG 16 性能

    上传时间: 2013-11-22

    上传用户:wcl168881111111

  • 单片机指令系统原理

    单片机指令系统原理 51单片机的寻址方式 学习汇编程序设计,要先了解CPU的各种寻址法,才能有效的掌握各个命令的用途,寻址法是命令运算码找操作数的方法。在我们学习的8051单片机中,有6种寻址方法,下面我们将逐一进行分析。 立即寻址 在这种寻址方式中,指令多是双字节的,一般第一个字节是操作码,第二个字节是操作数。该操作数直接参与操作,所以又称立即数,有“#”号表示。立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的。 例如:MOV  A,#3AH这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累加器A中。MOV  DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组成。这条指令的意思就是把立即数的高8位(即82H)送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。这里也特别说明一下:在80C51单片机的指令系统中,仅有一条指令的操作数是16位的立即数,其功能是向地址指针DPTR传送16位的地址,即把立即数的高8位送入DPH,低8位送入DPL。 直接寻址 直接寻址方式是指在指令中操作数直接以单元地址的形式给出,也就是在这种寻址方式中,操作数项给出的是参加运算的操作数的地址,而不是操作数。例如:MOV  A,30H  这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。 在80C51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器以及位地址空间,具体的说就是:1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-127共128位的任何一位,例如0位是以00H这个单元地址形式给出、1位就是以01H单元地址给出、127位就是以7FH形式给出。2、位寻址区。20H-2FH地址单元。3、特殊功能寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形式给出。例如下面我们分析的一条指令 MOV  IE,#85H 前面的学习我们已知道,中断允许寄存器IE的地址是80H,那么也就是这条指令可以以MOV  IE,#85H 的形式表述,也可以MOV  80H,#85H的形式表述。 关于数据存储器RAM的内部情况,请查看我们课程的第十二课。 直接寻址是唯一能访问特殊功能寄存器的寻址方式! 大家来分析下面几条指令:MOV  65H,A       ;将A的内容送入内部RAM的65H单元地址中MOV  A,direct    ;将直接地址单元的内容送入A中MOV  direct,direct;将直接地址单元的内容送直接地址单元MOV  IE,#85H      ;将立即数85H送入中断允许寄存器IE 前面我们已学过,数据前面加了“#”的,表示后面的数是立即数(如#85H,就表示85H就是一个立即数),数据前面没有加“#”号的,就表示后面的是一个地址地址(如,MOV 65H,A这条指令的65H就是一个单元地址)。 寄存器寻址 寄存器寻址的寻址范围是:1、4个工作寄存器组共有32个通用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专用寄存器的学习中,我们已知道,是由程序状态字PSW中的RS1和RS0来确定的),因此在使用前常需要通过对PSW中的RS1、RS0位的状态设置,来进行对当前工作寄存器组的选择。2、部份专用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和进位位CY。 寄存器寻址方式是指操作数在寄存器中,因此指定了寄存器名称就能得到操作数。例如:MOV A,R0这条指令的意思是把寄存器R0的内容传送到累加器A中,操作数就在R0中。INC R3这条指令的意思是把寄存器R3中的内容加1 从前面的学习中我产应可以理解到,其实寄存器寻址方式就是对由PSW程序状态字确定的工作寄存器组的R0-R7进行读/写操作。 寄存器间接寻址 寄存间接寻址方式是指寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的,因此称为寄存器间接寻址。 MCS-51单片机规定工作寄存器的R0、R1做为间接寻址寄存器。用于寻址内部或外部数据存储器的256个单元。为什么会是256个单元呢?我们知道,R0或者R1都是一个8位的寄存器,所以它的寻址空间就是2的八次方=256。例:MOV  R0,#30H  ;将值30H加载到R0中    MOV  A,@R0    ;把内部RAM地址30H内的值放到累加器A中    MOVX A,@R0    ;把外部RAM地址30H内的值放到累加器A中 大家想想,如果用DPTR做为间址寄存器,那么它的寻址范围是多少呢?DPTR是一个16位的寄存器,所以它的寻址范围就是2的十六次方=65536=64K。因用DPTR做为间址寄存器的寻址空间是64K,所以访问片外数据存储器时,我们通常就用DPTR做为间址寄存器。例:MOV   DPTR,#1234H  ;将DPTR值设为1234H(16位)    MOVX  A,@DPTR      ;将外部RAM或I/O地址1234H内的值放到累加器A中 在执行PUSH(压栈)和POP(出栈)指令时,采用堆栈指针SP作寄存器间接寻址。例:PUSH  30H    ;把内部RAM地址30H内的值放到堆栈区中堆栈区是由SP寄存器指定的,如果执行上面这条命令前,SP为60H,命令执行后会把内部RAM地址30H内的值放到RAM的61H内。 那么做为寄存器间接寻址用的寄存器主要有哪些呢?我们前面提到的有四个,R0、R1、DPTR、SP 寄存器间接寻址范围总结:1、内部RAM低128单元。对内部RAM低128单元的间接寻址,应使用R0或R1作间址寄存器,其通用形式为@Ri(i=0或1)。 2、外部RAM 64KB。对外部RAM64KB的间接寻址,应使用@DPTR作间址寻址寄存器,其形式为:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的单元的内容送入累加器A中。外部RAM的低256单元是一个特殊的寻址区,除可以用DPTR作间址寄存器寻址外,还可以用R0或R1作间址寄存器寻址。例如MOVX  A,@R0;这条指令的意思是,把R0指定的外部RAM单元的内容送入累加器A。 堆栈操作指令(PUSH和POP)也应算作是寄存器间接寻址,即以堆栈指针SP作间址寄存器的间接寻址方式。 寄存器间接寻址方式不可以访问特殊功能寄存器!! 寄存器间接寻址也须以寄存器符号的形式表示,为了区别寄存器寻址我寄存器间接寻址的区别,在寄存器间接寻址方式式中,寄存器的名称前面加前缀标志“@”。 基址寄存器加变址寄存器的变址寻址 这种寻址方式以程序计数器PC或DPTR为基址寄存器,累加器A为变址寄存器,变址寻址时,把两者的内容相加,所得到的结果作为操作数的地址。这种方式常用于访问程序存储器ROM中的数据表格,即查表操作。变址寻址只能读出程序内存入的值,而不能写入,也就是说变址寻址这种方式只能对程序存储器进行寻址,或者说它是专门针对程序存储器的寻址方式。例:MOVC  A,@A+DPTR这条指令的功能是把DPTR和A的内容相加,再把所得到的程序存储器地址单元的内容送A假若指令执行前A=54H,DPTR=3F21H,则这条指令变址寻址形成的操作数地址就是54H+3F21H=3F75H。如果3F75H单元中的内容是7FH,则执行这条指令后,累加器A中的内容就是7FH。 变址寻址的指令只有三条,分别如下:JMP    @A+DPTRMOVC   A,@A+DPTRMOVC   A,@A+PC 第一条指令JMP @A+DPTR这是一条无条件转移指令,这条指令的意思就是DPTR加上累加器A的内容做为一个16位的地址,执行JMP这条指令是,程序就转移到A+DPTR指定的地址去执行。 第二、三条指令MOVC   A,@A+DPTR和MOVC   A,@A+PC指令这两条指令的通常用于查表操作,功能完全一样,但使用起来却有一定的差别,现详细说明如下。我们知道,PC是程序指针,是十六位的。DPTR是一个16位的数据指针寄存器,按理,它们的寻址范围都应是64K。我们在学习特殊功能寄存器时已知道,程序计数器PC是始终跟踪着程序的执行的。也就是说,PC的值是随程序的执行情况自动改变的,我们不可以随便的给PC赋值。而DPTR是一个数据指针,我们就可以给空上数据指针DPTR进行赋值。我们再看指令MOVC   A,@A+PC这条指令的意思是将PC的值与累加器A的值相加作为一个地址,而PC是固定的,累加器A是一个8位的寄存器,它的寻址范围是256个地址单元。讲到这里,大家应可明白,MOVC   A,@A+PC这条指令的寻址范围其实就是只能在当前指令下256个地址单元。所在,这在我们实际应用中,可能就会有一个问题,如果我们需要查询的数据表在256个地址单元之内,则可以用MOVC   A,@A+PC这条指令进行查表操作,如果超过了256个单元,则不能用这条指令进行查表操作。刚才我们已说到,DPTR是一个数据指针,这个数据指针我们可以给它赋值操作的。通过赋值操作。我们可以使MOVC   A,@A+DPTR这条指令的寻址范围达到64K。这就是这两条指令在实际应用当中要注意的问题。 变址寻址方式是MCS-51单片机所独有的一种寻址方式。 位寻址 80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。 位寻址的范围,也就是哪些部份可以进行位寻址: 1、我们在第十二课学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或者叫单元地址),而在这里,这些数据都变成了位地址。我们在指令中,或者在程序中如何来区分它是一个单元地址还是一个位地址呢?这个问题,也就是我们现在正在研究的位寻址的一个重要问题。其实,区分这些数据是位地址还是单元地址,我们都有相应的指令形式的。这个问题我们在后面的指令系统学习中再加以论述。 2、对专用寄存器位寻址。这里要说明一下,不是所有的专用寄存器都可以位寻址的。具体哪些专用寄存器可以哪些专用寄存器不可以,请大家回头去看看我们前面关于专用寄存器的相关文章。一般来说,地址单元可以被8整除的专用寄存器,通常都可以进行位寻址,当然并不是全部,大家在应用当中应引起注意。 专用寄存器的位寻址表示方法: 下面我们以程序状态字PSW来进行说明 D7 D6 D5 D4 D3 D2 D1 D0 CY   AC  F0  RS1  RS0  OV    P  1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示为D5H   MOV  C,D5H 2、位名称表示:表示该位的名称,例如PSW的位5是F0,所以可以用F0表示   MOV  C,F0 3、单元(字节)地址加位表示:D0H单元位5,表示为DOH.5    MOV  C,D0H.5 4、专用寄存器符号加位表示:例如PSW.5    MOV C,PSW.5 这四种方法实现的功能都是相同的,只是表述的方式不同而已。 例题:   1. 说明下列指令中源操作数采用的寻址方式。   MOV R5,R7 答案:寄存器寻址方式   MOV A,55H 直接寻址方式   MOV A,#55H 立即寻址方式   JMP @A+DPTR 变址寻址方式   MOV 30H,C 位寻址方式   MOV A,@R0 间接寻址方式   MOVX A,@R0 间接寻址方式 改错题   请判断下列的MCS-51单片机指令的书写格式是否有错,若有,请说明错误原因。   MOV R0,@R3 答案:间址寄存器不能使用R2~R7。   MOVC A,@R0+DPTR 变址寻址方式中的间址寄存器不可使用R0,只可使用A。   ADD R0,R1 运算指令中目的操作数必须为累加器A,不可为R0。   MUL AR0 乘法指令中的乘数应在B寄存器中,即乘法指令只可使用AB寄存器组合。

    标签: 单片机指令 系统原理

    上传时间: 2013-11-11

    上传用户:caozhizhi

  • linux 中断和设备驱动

    linux 中断和设备驱动 本章介绍L i n u x内核是如何维护它支持的文件系统中的文件的,我们先介绍 V F S ( Vi r t u a lFile System,虚拟文件系统),再解释一下L i n u x内核的真实文件系统是如何得到支持的。L i n u x的一个最重要特点就是它支持许多不同的文件系统。这使 L i n u x非常灵活,能够与许多其他的操作系统共存。在写这本书的时候, L i n u x共支持1 5种文件系统: e x t、 e x t 2、x i a、 m i n i x、 u m s d o s、 msdos 、v f a t、 p r o c、 s m b、 n c p、 i s o 9 6 6 0、 s y s v、 h p f s、 a ffs 和u f s。无疑随着时间的推移,L i n u x支持的文件系统数还会增加。

    标签: linux 中断 设备驱动

    上传时间: 2013-11-13

    上传用户:zxh122