- 博客(8)
- 收藏
- 关注
转载 51单片机ucos ii任务切换汇编代码分析(2)
这篇文章是ucos ii在51上的汇编文件OS_CPU_A.ASM源码解析,下载的chen shi zhi的注释,然后自己也加了一些注释。$NOMOD51;不使用keil提供的51寄存器地址定义,而使用下面自己写的寄存器地址定义EA BIT 0A8H.7SP DATA 081HB DATA 0F0HACC DATA 0E0HDPH DATA 08
2017-12-15 13:11:35 808
原创 51单片机SP指向的系统栈中都有什么?LCALL、RETI等解析
在调用函数时,也即当使用LCALL、ACALL等汇编指令时,PC指针会被自动入栈到SP指向的系统栈,随着函数调用链条不断加深,SP被吃掉的空间越来越多
2017-12-12 14:30:10 10034
原创 51单片机 interrupt和 using使用详解
首先推荐一篇文章,点击打开链接这篇文章大部分是翻译软件直接翻译的,建议直接读读英文原版,有一定参考价值。下面是我对interrupt和 using使用详解,首先看interrupt,这个比较简单,直接看一个外部中断0服务函数的例子void ext_int0_src() interrupt 0 using 2//{ /*外部中断0的服务函数*/}inter
2017-12-11 21:20:58 19618 9
原创 51单片机ucos ii任务切换汇编代码分析(1)
ucos中任务切换函数都是汇编写的,属于“需移植”文件,这个汇编文件名一般叫做:OS_CPU_A.ASM要想看懂任务切换的原理,首先遇到的第一个难点,就是OS_CPU_A.ASM这个汇编文件里的一大堆不常见的汇编伪指令,搞懂这些指令是搞懂程序原理的第一步。这个文件为ucos操作系统提供了4个API函数,分别是:PUBLIC OSStartHighRdy;函数功能:切换到
2017-12-10 18:46:01 1141
原创 关于51单片机的仿真栈(模拟栈/可重入栈)
51单片机的仿真栈(又叫模拟栈、或者可重入栈)。首先来看,51的系统栈(又叫系统栈,或者硬件栈),就是SP所指向的栈,他是一个满增栈(注释1),位于片内RAM的128 bytes之中,上电之后系统堆栈指针SP的初值等于多少呢?这个要从51的启动文件来分析,启动文件中有这样的汇编代码:?STACK SEGMENT IDATA ;定义一个片内数据段,段名:?STACK
2017-12-07 15:44:14 1850 2
转载 51单片机汇编部分资料
51单片机汇编启动文件详解,百度文库链接:https://wenku.baidu.com/view/b788fce8a98271fe900ef906.html若链接失效,可在百度文库里搜索:STARTUP51、STARTUP51.A51详解。51单片机的idata,xdata,pdata,data的详解:https://www.cnblogs.com/jik
2017-12-07 13:31:53 934
转载 51的时钟总线
51选择12MHz的晶振作为时钟源呢有什么好处?这就要说51单片机内部的几个周期了:振荡周期、时钟周期、机器周期、指令周期。振荡周期:是指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期,例如外部晶振12M。时钟周期:又称作状态周期或状态时间S,它是振荡周期的两倍,分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的数据传送操作。(注
2017-12-05 15:13:40 226
原创 C语言“参数数量可变的函数”
//STM32平台#include <stdarg.h>void test(int, ...);void test(int num_args, ...){ double V1,V2,V3,V4; va_list ap; va_start(ap, num_args); V1 = num_args;//va_arg(ap, int); V2 = va_arg(
2017-11-22 13:34:52 1161
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人