04 2017 档案
摘要:在单片机中,负跳变指平由高电平变成低电平的过程,也叫下降沿,高脉冲就是正脉冲,给一个上升沿。 负跳变指令检测它前面的逻辑状态。如果上个程序扫描周期是1,本周期是0,则它后面的逻辑状态在本周期的剩余扫描时间内为1, 该指令仅在一个扫描周期内有效。 高脉冲即从逻辑0变化到逻辑1再变化到逻辑0,如此便是一
阅读全文
摘要:https://zhidao.baidu.com/question/320934203.html 优先级高的中断在执行时,如有低优先级中断到达,低优先级被挂起。等高优先级结束后,再处理低优先级。优先级低的中断在执行时,如有高优先级中断到达,开始执行高优先级中断。等高优先级结束后,再返回处理低优先级。
阅读全文
摘要:数据指针(DPTR)是80C51中一个功能比较特殊的寄存器。从结构DPTR是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。主要功能是存放16位地址,作为片外RAM寻址用的地址寄
阅读全文
摘要:8051单片机共有7种寻址方式。寻址方式是指令中确定操作数的形式,用来确定操作数所处的存储空间。 1.立即寻址:在指令中直接给出操作数 MOV A, #80H 8位操作数 MOV A, #2000H 16位操作数 2.直接寻址:指令中直接给出操作数地址 (1)SFR,这一存储空间只能使用直接寻址 M
阅读全文
摘要:主要8051是8位,而8086和8088是16位,所以汇编时会在书写方面不一样,那就要注意算法了,但只要掌握好8051就很快可以过度到16位机以下是一些概括性的资料:(是复制粘贴的)8086是intel的CPU,地球上生产CPU的不只intel还有motorola.随着人类的进步cpu也不断发展。8
阅读全文
摘要:MSC-51:1,片内4K字节程序存储器;2,片内128字节数据存储器;3,片内2个16位硬件定时器/计数器。MSC-52:1,片内8K字节程序存储器;2,片内256字节数据存储器;3,片内3个16位硬件定时器/计数器。
阅读全文
摘要:此表主要是为了方便大家查阅每条指令的作用,写法以及字节数和周期数,建议大家保存为书签。 助记符 指令说明 字节数 周期数 (数据传递类指令) MOV A,Rn 寄存器传送到累加器 1 1 MOV A,direct 直接地址传送到累加器 2 1 MOV A,@Ri 累加器传送到外部RAM(8 地址)
阅读全文
摘要:ROM指的是“只读存储器”,即Read-Only Memory。这是一种线路最简单半导体电路,通过掩模工艺, 一次性制 造,其中的代码与数据将永久保存(除非坏掉),不能进行修改。这玩意一般在大批量生产时才会被用的,优点是成本 低、非常低,但是其风险比较大,在产品设计时,如果调试不彻底,很容易造成几千
阅读全文
摘要:文章出处:http://www.ruitairt.com责任编辑:郭华 文章出处:http://www.ruitairt.com责任编辑:郭华 文章出处:http://www.ruitairt.com责任编辑:郭华 晶振从材质可以分为石英晶振和陶瓷晶振两大类,而从属性晶振可以分为无源晶振和有源晶振。
阅读全文
摘要:void __cdecl _free_base (void * pBlock) { int retval = 0; if (pBlock == NULL) return; RTCCALLBACK(_RTC_Free_hook, (pBlock, 0)); retval = HeapFree(_crt
阅读全文
摘要:“堆”和“栈”并不是数据结构上的Heap跟Stack,而是程序运行中的不同内存空间。 那么这就简单了,栈是程序启动的时候,系统分好了给你的,你自己用,系统不干预。 堆是用的时候才向系统申请的,用完了还回去,这个申请和交还的过程开销相对就比较大了。 栈与堆都是Java用来在Ram中存放数据的地方。 栈
阅读全文
摘要:看着这个标题没发狂吧?函数指针就够一般初学者折腾了,函数指针数组就更加麻烦,现在的函数指针数组指针就更难理解了。其实,没这么复杂。前面详细讨论过数组指针的问题,这里的函数指针数组指针不就是一个指针嘛。只不过这个指针指向一个数组,这个数组里面存的都是指向函数的指针。仅此而已。下面就定义一个简单的函数指
阅读全文
摘要:现在我们清楚表达式“char * (*pf)(char * p)”定义的是一个函数指针pf。既然pf 是一个指针,那就可以储存在一个数组里。把上式修改一下:char * (*pf[3])(char * p);这是定义一个函数指针数组。它是一个数组,数组名为pf,数组内存储了3 个指向函数的指针。这些
阅读全文
摘要:并行接口,简称并口。并口采用的是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错,目前,并行接口主要作为打印机端口等。 并口的工作模式: 1:SPP(Standard Paralle
阅读全文
摘要:8086汇编是指在某环境下汇编编译产生的程序,用机器去执行每条指令的长度为16位(可小于16),如DOS操作系统;WIN32汇编是32位环境下的汇编,如Windows(Windows也有64位的,XP和VISTA都有相应的版本)。大体是差不多,当然,各自也有些细微的差别,WIN32下多了一些寄存器的
阅读全文
摘要:http://www.rt-thread.org/官网 RT-Thread RTOS,由国内一些专业开发人员开发、维护。它不仅仅是一款 高效、稳定的实时操作系统内核,也是一套面向嵌入式系统的软件平台,覆盖了: 全抢占的实时操作系统内核 小巧而与底层具体实现无关的文件系统 轻型的TCP/IP协 议栈
阅读全文
摘要:在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。 在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更
阅读全文
摘要:uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,uC/OS II最大程度
阅读全文
摘要:STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-
阅读全文
摘要:#pragma hdrstop#pragma hdrstop 表示预编译头文件到此为止,后面的头文件不进行预编译。BCB 可以预编译头文件以加快链接的速度,但如果所有头文件都进行预编译又可能占太多磁盘空间,所以使用这个选项排除一些头文件。有时单元之间有依赖关系,比如单元A 依赖单元B,所以单元B 要
阅读全文
摘要:#pragma可以说是C++中最复杂的预处理指令了,下面是最常用的几个#pragma指令: #pragma comment(lib,"XXX.lib") 表示链接XXX.lib这个库,和在工程设置里写上XXX.lib的效果一样。 #pragma comment(linker,"/ENTRY:main
阅读全文
摘要:上面对define 的使用都很简单,再看看下面的例子:#define BSC //#define BMC /*#define EMC */D),BSC my single-line commentE),BMC my multi-line comment EMCD)和E)都错误,为什么呢?因为注释先于
阅读全文
摘要:ANSI 标准C 还定义了如下几个宏:_LINE_ 表示正在编译的文件的行号_FILE_ 表示正在编译的文件的名字预处理名称意义#define 宏定义#undef 撤销已定义过的宏名#include 使编译程序将另一源文件嵌入到带有#include 的源文件中#if #if 的一般含义是如果#if
阅读全文
摘要:你也许听说过“国际C 语言乱码大赛(IOCCC )”,能获奖的人毫无疑问是世界顶级C 程序员。这是他们利用C 语言的特点极限挖掘的结果。下面这个例子就是网上广为流传的 一个经典作品:// 原始代码如下 #include <stdio.h> char *a;main(int t,int _,char*
阅读全文
摘要:在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如: [cpp] view plain copy print? typedef struct test { int a; double b; char
阅读全文
摘要:有符号数与无符号数之间运算问题以下实验均在virual c++6中运行通过这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于应当频繁
阅读全文
摘要:1、register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。例如下面的内存块拷贝代码, /* Procedure for the assignment of structures, */ /* if the C compiler do
阅读全文
摘要:一.前言 1.编译器优化介绍: 由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软
阅读全文
摘要:of的设置,以加法为例,如果两数符号相同,结果却相反,则of=1;否则of=0;(如果两数符号相反,是不会溢出的)。cf的设置,最高有效位(bit7,比如)向高位进位则为1,否则为0。所以实际上of是表示有符号数的溢出,cf是表示无符号数的溢出。理解进位,从af位的设置更为容易。 of的设置,以加法
阅读全文
摘要:-r 用这个指令,得到的信息右下角: NV UP EI PL NZ NA PO NC这些符号代表的就是标志寄存器里常用标志位的值。 这个是符号值对应表: 溢出标志OF(Over flow flag) OV(1) NV(0)方向标志DF(Direction flag) DN(1) UP(0)中断标志I
阅读全文
摘要:汇编语言的注释是每行从分号“;”开始的,分号之后的内容都属于注释。一般而言,汇编语言的注释在以下几个地方:1、程序的最前面,注释内容一般说明该程序总的说明,解释程序的主要功能,程序的版本号,程序的修改日志,程序的编制人等等2、子程序的前面,一般说明该子程序或函数完成的功能,输入参数,输出参数,影响的
阅读全文
摘要:首先下载并安装 Chrome ,搜索技能up↑~ 然后(依个人需求)下载XX-net https://github.com/XX-net/XX-Net 闲话少说,上图! 运行 Chrome。。 打开XX-net。。 允许访问。。 校园网用户可以直接使用IPv6进行。。如果不是校园网用户就不用设置了。
阅读全文