标号: FTOD 功能:格式化浮点数转换成双字节定点数入口条件:格式化浮点操作数在[R0]中。出口信息:OV=1时溢出,OV=0时转换成功:定点数的绝对值在[R0]中(双字节),数符在位1FH中,F0=1 时为整数,CY=1时为一字节整数一字节小数,否则为纯小数。影响资源:PSW、A、B、R2、R3、R4、位1FH 堆栈需求: 6字节FTOD: LCALL MVR0 ;将[R0]传送到第一工作区MOV A,R2JZ FTD4 ;阶码为零,纯小数JB ACC.7,FTD4;阶码为负,纯小数
上传时间: 2013-10-15
上传用户:洛木卓
P89V51RD2具有IAP(在应用中编程)功能,用户通过在应用程序中调用IAP子程序,可实现有选择的对FLASH块进行擦除和编程。P89V51RD2的bootrom区为0000H~1FFFH,为避免和用户的程序代码发生冲突,调用IAP功能的代码要从地址2000H以后开始存放。以下讲述在Keil μVision2下用C语言和汇编语言混编的办法实现IAP调用的方法。
上传时间: 2013-10-08
上传用户:一诺88
μC/OS-II调试插件支持μC/OS-II各种设施的观察。包含任务、信号量、互斥量、邮箱、消息队列、标志、定时器和存储区等。同时可自定义刷新时间,动态的刷新各设施的数据显示,还可以将任务信息保存到日志文件中
上传时间: 2014-12-28
上传用户:shen007yue
keil 使用笔记:在Memory窗口上输入address_type:address才能看到正确地址的变量debug~perfermance analyzer加入要察看的模块名称,然后view~perfermance analyzer window 可以察看各个模块运行时间①Display address_type:address B:Bit address C:Code Memory Bx:Code Bank D D:80H 命令可以查看特殊寄存器 data D I:0 命令可以查看内部RAM数据iData; D X:0 命令可以查看外部RAM数据xData; ②R1 //显示R1 register ~R1 //显示变量R1 R1 = R7 //对寄存器Rx操作R1 = --R7 R1 = 0x20 ③main //显示main()的开始地址d main //显示main()的代码④向RAM.ROM中写数据Enter data_type address_type:address expr,expr.... data_type:int char double float long E char data:0x20 1,2,3,4 //向data区0x20开始的地址写1,2,3,4 变量放在RAM的30H,要把定义放在main前面!另外特别注意,内部RAM通常供C程序存放中间变量等,所以一定要看看编译后的程序中是否存在存储单元冲突的情况,比如如果程序中 使用了别的寄存器组的话,08-1FH单元就不能用了unsigned long data i _at_ 0x30
上传时间: 2013-11-05
上传用户:dongqiangqiang
利用SPMC75本身的Flash做数据备份:SPMC75F2413A 32k字的内嵌Flash(embedded Flash)分为两区:信息区和通用区,在同一时间只能访问其中的一区。信息区包含64个字,寻址空间为0x8000 ~ 0x803F。地址0x8000为系统选项寄存器P_System_Option。其它地址空间可由用户自定义重要信息比如:版本控制,日期,版权名称,项目名称等等。信息区的内容只有在仿真或烧录的状态下才能改变。32k字Flash被划分为16个页,每页2K字,每页可分为8帧,这样32K的Flash就可以分成128个帧。只有位于00F000 ~00F7FF区域的页面在自由运行模式下可以设置为只读或可读可写,其它页面均为只读.也就说片内FLASH数据备份区为是0xF000~0xF7FF,备份区为Bank14,最多存储的数据为2K字。SPMC75F2413A的32K字的内嵌式闪存结构入下图2-1,图2-2。
上传时间: 2013-11-08
上传用户:6546544
SPMC65系列单片机编程指南(中文版):SPMC65X系列是由凌阳公司设计开发的8位微控制器。每款芯片都独具特色,同时凌阳公司还开发了一款仿真芯片ECMC653,专门用于SPMC65X系列的仿真。采用 SPMC65 CPU 核,凌阳公司新开发了功能强大的8位SPMC65系列CPU。该系列CPU 具有可编程的通用I/O端口、不同大小的ROM 和RAM 区、8位/16位定时/计数器、强大的CCP (Capture/Compare/PWM)功能模块和看门狗复位电路等。并采用先进的微米制造工艺,保证了产品高的电磁兼容性和可靠性。除此之外,部分SPMC65X系列芯片具备高吸入电流和慢速输出的端口、丰富的外部中断源、低电压复位、ADC、PWM、标准通讯接口和多种时钟选择。SPMC65X系列芯片适用于通用工控场合、计算机外围控制和家电等。ECMC653采用8位SPMC65 CPU 核,具有928字节的RAM 和16k字节的ROM。同时还集成了1个时基、1个看门狗定时器、6个16位定时/计数器和9通道的ADC。为了降低整个仿真板的成本,该芯片还配有一个OTP ROM 的串行可编程接口。此外,为了帮助用户加快程序的调试,并发现程序中隐藏的错误,该芯片内部专门有一RAM区域用于记录程序最近一段时间执行的指令,用户可以从中了解到程序是否正确执行。
上传时间: 2013-11-01
上传用户:Jesse_嘉伟
如何使用高级触发测量程序跑飞:LA系列逻辑分析仪内部集成了32位的定时器、32位的计数器和高速比较模块,高效的使用以上模块资源可以使您的测量事半功倍。逻辑分析仪在实际应用中主要作用有:1.观察波形,看看测量波形中是否存在毛刺、干扰、频率是否正确等;2.时序测量,对被测信号进行时序校对,看看操作时序是否符合要求。3.辅助分析,利用逻辑分析仪完善的协议分析功能来进行辅助分析;4.查错功能,利用逻辑分析仪强大的触发功能来进行错误捕获。当单片机的PC值(程序计数器)对没有程序的地方进行取指时,称为程序跑飞。程序跑飞的原因有多种,主要有以下原因:1) 客观原因:单片机受到外界强干扰造成PC值寄存器改变;2)程序Bug:用户程序调用函数指针,对非程序空间进行对用。以80C51单片机为例子,当程序跑到非用户程序区时,单片机使用PSEN对外部程序进行取指,使用逻辑分析仪可以设置触发条件,当使用PSEN对外部程序进行取指时进行记录,把出错情况前后的状态记录下来进行分析,查找出错原因。如80C51的取指范围正确为0x0000~0x3fff,则当对0x3fff以上地址进行取指时为程序跑飞。分析80C51对外部程序取指的时序,如图1所示。
上传时间: 2013-10-11
上传用户:panpanpan
单片机指令系统 3.1 MCS-51指令简介 3.2 指令系统 3.1 MCS-51指令简介 二、MCS-51系列单片机指令系统分类 按寻址方式分为以下七种:按功能分为以下四种: 1、立即立即寻址 1、数据传送指令位操 2、直接寻址 2、算术运算指令 3、寄存器寻址 3、逻辑运算指令 4、寄存器间接寻址指令 4、控制转移类指令 5、相对寻址 5、位操作指令 6、变址寻址 7、位寻址 三、寻址方式 3、寄存器间接寻址 MOV A, @R1 操作数是通过寄存器间接得到的。 4、立即寻址 MOV A, #40H 操作数在指令中直接给出。 5、基址寄存器加变址寄存器寻址 以DPTR或PC为基址寄存器,以A为变址寄存器, 以两者相加形成的16位地址为操作数的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符号说明 Rn——当前寄存器区的8个工作寄存器R0~R7(n=0~7); Ri——当前寄存器区可作地址寄存器的2个工作寄存器R0和R1(i=0,1); direct——8位内部数据存储器单元的地址及特殊功能寄存器的地址; #data——表示8位常数(立即数); #datal6——表示16位常数; add 16——表示16位地址; addrll——表示11位地址; rel——8位带符号的地址偏移量; bit——表示位地址; @——间接寻址寄存器或基址寄存器的前缀; ( )——表示括号中单元的内容 (( ))——表示间接寻址的内容; 五、MCS-51指令简介 1. 以累加器A为目的操作数的指令 2. 以Rn为目的操作数的指令 3. 以直接地址为目的操作数的指令 4. 以寄存器间接地址为目的操作数指令 应用举例1 8段数码管显示 应用举例2 3.2 指令系统 2、堆栈操作指令 3. 累加器A与外部数据传输指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字节交换指令 6. 半字节交换指令 二、算术操作类指令 PSW寄存器 2. 带进位加法指令 3. 加1指令 4. 十进制调整指令 5. 带借位减法指令(Subtraction) 6. 减1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、逻辑运算指令 1. 简单逻辑操作指令 2. 循环指令 带进位左循环指令(Rotate Accumulator Left through Carry flag) 右循环指令(Rotate Accumulator Right) 带进位右循环指令(Rotate A Right with C) 3. 逻辑与指令 4. 逻辑或指令 5. 逻辑异或指令 四、控制转移类指令 1. 跳转指令 相对转移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中标号与地址之间的关系 2. 条件转移指令 3. 比较不相等转移指令 4. 减 1 不为 0 转移指令 5. 调用子程序指令 7. 中断返回指令 五、位操作指令 1. 数据位传送指令 2. 位变量逻辑指令 3. 条件转移类指令
上传时间: 2013-10-27
上传用户:xuanjie
Keil C51使用详解:8051 系列微处理器基于简化的嵌入式控制系统结构被广泛应用于从军事到自动控制再到PC 机上的键盘上的各种应用系统上仅次于Motorola 68HC11 在 8 位微控制器市场上的销量很多制造商都可提供8051 系列单片机像Intel Philips Siemens 等这些制造商给51 系列单片机加入了大量的性能和外部功能像I2C 总线接口模拟量到数字量的转换看门狗PWM 输出等不少芯片的工作频率达到40M 工作电压下降到1.5V 基于一个内核的这些功能使得8051 单片机很适合作为厂家产品的基本构架它能够运行各种程序而且开发者只需要学习这一个平台8051 系列的基本结构如下1 一个8 位算术逻辑单元2 32 个I/O 口4 组8 位端口可单独寻址3 两个16 位定时计数器4 全双工串行通信5 6 个中断源两个中断优先级6 128 字节内置RAM7 独立的64K 字节可寻址数据和代码区每个8051 处理周期包括12 个振荡周期每12 个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12 取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz 除以12 后就得到了每秒执行的指令个数为921583
上传时间: 2014-04-05
上传用户:xaijhqx
单片机系统软件抗干扰方法:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是: 消除模拟输入信号的嗓声(如数字滤波技术); 程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。1.1 指令冗余CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。1.2 拦截技术所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。1.2.1 软件陷阱的设计当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱:
上传时间: 2013-10-29
上传用户:大三三