资讯

单片机C51语言的位操作及其应用详细说明(2023-05-19)
贴近硬件的特点。这也是在各个领域中都可以看到C的重要原因。在这一节中将详细讲解C51中的位操作及其应用。
1、位运算符
C51提供了几种位操作符,如下表所示:
1)“按位与”运算符(&)
参加运算的两个数......

用c语言实现函数重载(2024-07-25)
用c语言实现函数重载;一. 什么是函数重载? 函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表(参数个数、类型、顺序)的函数,这组函数被称为重载函数。重载......

C51使用经验(2022-12-27)
;*( HotPoint)=0xaa;}/*正常工作代码*/}
然而实际调试中发现,无论是热启动还是冷启动,开机后所有内存单元的值都被复位为0,当然也实现不了热启动的要求。这是为什么呢?原来,用C语言编程时,开机......

C51编程经验汇总分享(2023-04-06)
不了热启动的要求。这是为什么呢?原来,用C语言编程时,开机时执 行的代码并非是从main()函数的第一语句开始的,在main()函数的第一语句执行前要先执行一段‘起始代码’。正是这段代码执行了内存清零的工作。 C......

手动实现51单片机函数切换(2024-08-22)
main函数主体初始化,此处定义两个函数控制块tcb,用来存放函数的堆栈指针(函数的堆栈其实就是一个数组,用来保存函数的运行数据),然后我们在将函数的入口地址保存在堆栈的最低两位,接着将SP指针向上偏移14......

为啥任意调换两相接线,电机就反转?(2023-12-15)
改变定子绕组产生的磁场方向或转子导体中的电流方向即可。
接下来,我们来分析如何通过调换两相接线来实现电机的反转。在三相电机中,有三相绕组,分别为A相、B相和C相。三相绕组可以连接成星形(Y型)或三角形(Δ型)。在星形连接中,三个......

手把手教你如何写单片机的结构体(2024-07-12)
真的太清楚了吧!但是等你真正的学单片机的时候,你会发现我不是学过C语言吗?计算机二级我也过了啊!怎么这个指针和结构体都不懂啊?难道我学了一个假的C语言?
其实这不是你的错,也不是单片机的错,而是在C语言......

结合STM32单片来讲讲结构体的运用(2023-10-20)
真的太清楚了吧!但是等你真正的学单片机的时候,你会发现我不是学过C语言吗?计算机二级我也过了啊!怎么这个指针和结构体都不懂啊?难道我学了一个假的C语言?
其实这不是你的错,也不是单片机的错,而是在C语言......

用_crol_函数实现LED流水灯的调试过程(2024-08-16)
经过我们的赋值,它是0xFE,经过_crol_它的值还是0xFE, 这就很奇怪了,然后我就想着是不是这个函数有什么问题
于是定义了一个变量ret来接受_crol_函数的返回值,并把ret也作为watch的对象,看一下它的值是怎么......

为什么学习STM32时还要学习汇编(2024-02-28)
debug模式,在view下选择disassembly window 。
看光标,c文件下指向了main函数的第一行。
汇编窗口也指向了对应的语句。但是,在执行C语言的第一行之前,仍然......

学习STM32时为什么要学习汇编?(2024-01-25)
。
看光标,c文件下指向了main函数的第一行。
汇编窗口也指向了对应的语句。但是,在执行C语言的第一行之前,仍然有许多操作要做,比如变量放在哪?在哪里调用了main函数等,这些......

在学习STM32时为什么要学习汇编?(2024-09-26)
下阅读汇编 按d进入debug模式,在view下选择disassembly window 。
看光标,c文件下指向了main函数的第一行。 汇编窗口也指向了对应的语句。但是,在执行C语言......

c51特殊功能寄存器定义及作用(2024-03-20)
存器具有位寻址能力,它们的字节地址都能被8整除,即字节地址是以8或0为尾数的。
为了能直接访问这些SPR,FranklinC51提供了一种自主形式的定义方法,这种定义方法与标准C语言不兼容,只适......

51单片机的内存映射(一)(2022-12-15)
工作寄存器的地址以及工作寄存器组的选择如下图所示:
工作寄存器的功能是传递函数参数、局部变量的赋值、保存函数运行的结果等。此外,很多指令也都会用到工作寄存器,我们可以先来想一下这样一个问题:四个数的......

STM32中重要的C语言知识点整理(2023-10-20)
()语句。
相关文章:【C语言笔记】assert()怎么用?
预处理指令
1、#error
#error......

单片机c语言教程第三章--C51数据类型(2023-05-25)
单片机c语言教程第三章--C51数据类型;每写一个程序,总离不开数据的应用,在学习 c51 语言的过程中掌握理解数据类型也是 很关键的。先看表 3-1,表中列出了 KEIL uVision2 单片......

一篇关于CPU的入门知识(2024-03-05)
关部分执行该指令。
03. CPU的内部结构
刚才提到了很多CPU的重要性,那么CPU的内部结构是什么呢?又是由什么组成的呢?下图展示了一般程序的运行流程(以C语言为例),一般来说,了解......

C语言在单片机中是如何执行的(2024-07-04)
大小的栈用来存放这个str数组,此时它不使用占坑的方式了,而是直接改变SP的值来改变栈区的大小。
1.2.2 数据段
如上图所示,创建两个全局变量a和b,还有一个静态变量c,在调试窗口中可以看到,变量a的地......

七、ARM 指令集(2023-07-11)
)实现,不过在 ARMV7 指令集中增加了除法指令
7.1.3 比较指令
CMP:比较两个数,会影响标志位
TST:测试某一位是否为0,常与 EQ, NE 等条件码结合使用
TEQ:判断两个数的......

单片机常用的14个C语言算法,看过的都成了大神!(2022-12-20)
存放在x[1]中,个位是2的个数存放在x[2]中,……个位是0的个数存放在数组x[10]。
二、求两个整数的最大公约数、最小公倍数
分析:求最大公约数的算法思想:(最小公倍数=两个......

STM32中重要的C语言知识点总结(2023-10-24)
重新编译程序,这样就可以重新启用了assert()语句。
相关文章:【C语言笔记】assert()怎么用?
预处理指令1、#error
#error “Please select first the target......

欧姆龙比较指令的用法 欧姆龙cmp指令用法(2024-06-13)
于控制系统中的逻辑判断和决策。该指令可以比较两个16位的数据,如果它们相等,则将零标志位设置为1,否则将其清零。
P_EQ
用CMP指令比较两个数的值,如果它们相等,则P_EQ标志位为1,否则为0。可以根据P_EQ标志位的值来判断两个数......

总结STM32开发中常用的C语言知识(2024-11-05 11:58:11)
,不同为1。我们可以利用按位异或实现两个数的交换 num01 = 1; // 0001 num02 = 4; // 0100 printf("num01 ^ num02 = %d......

单片机开发中的C语言技巧(上)(2023-01-09)
至可以将这个难懂的语句作为不友好代码的例子。但是它也可以让你更好的理解C语言。根据运算符优先级以及编译器识别字符的贪心法原则,第二句代码可以写成更明确的形式:
y=(a++)+(--b);
当赋值给变量y时,a的值为8......

单片机各类指令详解(2024-02-28)
数加起为,就成为要查找的单元的地址。
1)查找到的结果被放在A中,因此,本条指令执行前后,A中的值不一定相同。
例:有一个数在R0中,要求用查表的方法确定它的平方值(此数的取值范围是0-5......

教你如何轻松写单片机的指针(2024-05-06)
教你如何轻松写单片机的指针;摘要:大家想过没有我们用keil写单片机的代码,你的函数啊、变量啊最终都放在了哪里?我们一直说的内存五区,到底是哪五区?到底放在芯片的哪个地方呢?还有为什么你学完C语言......

用一堆开关做成一个CPU?(2024-11-05 12:00:22)
必要为所有的计算逻辑实现出对应的硬件,硬件只需要提供最通用的功能。
接下来看下硬件是怎么提供所谓的通用功能。
让我们来思考一个问题,CPU怎么能知道自己要去对两个数进行加法计算,以及哪两个数......

【51单片机】矩阵键盘线反转法实验仿真(2024-04-07)
是想实现一个计算器的基本功能。上次用逐行扫描法做的计算器只能计算两个数的计算,现在至少得进步一下才能看到新东西。所以这次琢磨中,实现了连续运算的功能。
1)线反转法和逐行扫描法
首先我们先来捋一捋键盘检测的流程:
先行......

5.4.2 按键扫描(单片机最简洁的键盘扫描程序详解)(2023-01-31)
有编辑器自动完成的。
最终形成的C语言代码一致。图形化代码只是辅助,最终的C语言代码是执行最后编译时使用!
3、定义键盘扫描函数
键盘扫描函数的完整图形代码块
C语言......

Keil C51是如何支持双数据指针,有哪些特别的要求(2023-08-09)
一个简单的INC AUXR1指令,就可以来回切换两个数据指针。
1 Keil C51对双数据指针的支持情况
作为一个常用的C51编译器,Keil C51是支持双数据指针的,但并不是直接支持。如果要在C51程序......

单片机课程设计一汇编语言实现四位数计算器(2023-02-01)
在判断是否进入某个子程序,可以在子程序中改变49H~53H中的值,使得数码管输出相应的结果,以此判断bug的位置)④ 利用最初学习加减乘除运算的本质,将加减乘除运算转变成加减操作,实现汇编语言十进制三位以上操作数的......

ARM基础:为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈(2024-08-13)
的值是存在lr中的),然后在子程序执行完毕的时候,再把堆栈中的lr的值pop出来,赋值给pc,这样就实现了子函数的正确的返回。
2.传递参数
C语言进行函数调用的时候,常常......

单片机晶振为什么不起振?(2024-04-02)
时候自然计算需要的倍数,参数就不一样了.
但可能因为频率除不尽的缘故,有一点点差异
单片机外接24M的晶振,1ms的基准延时函数用C语言怎么写?
答:定时器T0 工作方式1 晶振频率24MHz
定时器最大定时时间(us......

STM32系列里RTC的亚秒特性及功能(下)(2024-03-08)
按照从小到大排列的一批足够多的自然数列,按10进制展现。我们来看看几种情形:
1、如果找出只要个位数相同的数据,仍然按照从小到大排列,每相邻两个数的差值一定是10。对不对?
2、如果......

MCS-51单片机指令系统(3)(2022-12-12)
带符号数相加时,OV=1,表示加法运算超出了累加器A所能表示的带符号数的有效范围。
2.带进位加法指令(4条)
标志位Cy参加运算,因此是三个数相加。
ADDC A,Rn ;(A)+(Rn)+C→A,n=0~7......

C语言常见问题(2024-08-02)
中用宏实现,在C++中用内联函数实现
24、在C++程序中调用被C编译器编译后的函数,为什么要加extern C
C++语言支持函数的重载,C语言不支持函数的重载,编译后参数的名字不同,函数被C......

关于STM32启动文件startup_stm32f10x_hd.s的代码(2024-07-23)
节为一个单位,地址 0 存放的是栈顶地址, 0X04 存放的是复位程序的地址,以此类推。从代码上看,向量表中存放的都是中断服务函数的函数名,可我们知道 C 语言中的函数名就是一个地址。
DCD:分配......

43条说清单片机晶振的那些问题(2023-01-11)
时候自然计算需要的倍数,参数就不一样了。
但可能因为频率除不尽的缘故,有一点点差异。
三十七、单片机外接24M的晶振,1ms的基准延时函数用C语言怎么写?
答:
定时器T0 工作方式1 晶振频率24MHz
定时......

第十七课 C51结构、联合和枚举的使用(2023-06-26)
枚举就如变量一样, 但在程序中不能为其赋值。
联合
联合同样是 C 语言中的构造类型的数据结构。它和结构类型一样能包含不一样类型的 数据元素,所不一样的是联合的数据元素都是从同一个数据地址开始存放。结构......

C语言进阶之回调函数详解(2023-08-22)
写与读起来都是不方便和不习惯的。所以C语言的设计者们才会设计成又可允许 myFun(10) 这种形式地调用(这样方便多了,并与数学中的函数形式一样)。
在函数指针变量也可以存入一个数组内。数组的声明方法:int......

单片机和RTOS的中断系统也就这么回事(2023-02-03)
和任务C。那么在时间片轮转的调度机制里,它会让任务A运行一断时间,然后切换到任务B,然后切换到任务C,这样子不断的轮转。
两个任务间通过 Systick 轮转调度的简单模式
那么......

STM32的启动文件详解(2023-02-23)
的是栈顶地址,0X04 存放的是复位程序的地址,以此类推。从代码上看,向量表中存放的都是中断服务函数的函数名,可我们知道C 语言中的函数名就是一个地址。
DCD:分配一个或者多个以字为单位的内存,以四......

GCC 内联汇编(GCC内嵌ARM汇编规则)(2024-08-30)
模板后面用小括号括起来的是 C 语言表达式,本例中只有两个:result 和 input ,他们按照出现的顺序分别与指令操作数 %0 、%1 对应;注意对应顺序:第一个 C 表达式对应 %0 ;第二个表达式对应 %1 ,依次......

STM32启动文件startup_stm32f10x_hd.s的代码讲解(2023-06-26)
表从 FLASH 的 0 地址开始放置,以 4 个字节为一个单位,地址 0 存放的是栈顶地址, 0X04 存放的是复位程序的地址,以此类推。从代码上看,向量表中存放的都是中断服务函数的函数名,可我们知道 C 语言......

单片机怎么用回调函数在不同文件之间传递数据(2022-12-21)
单片机怎么用回调函数在不同文件之间传递数据;我们先来理解一下回调函数的作用。
函数我一般喜欢分为输出型和输入型(个人理解)。
输出型:
就是我们主动去调用的控制函数,比如说控制LED灯去亮和灭,控制......

C51热启动代码的编制(2024-07-25)
是热启动还是冷启动,开机后所有内存单元的值都被复位为0,当然也实现不了热启动的要求。这是为什么呢?原来,用C语言编程时,开机时执行的代码并非是从main()函数的第一句语句开始的,在main()函数的......

51单片机使用C语言点亮闪烁LED灯(2023-05-10)
我们在数据类型前加上修饰符unsigned来去掉符号位。
在C语言中,无法直接去操作变量中的单独的某一位,但C51中添加了bit位,是 c51编译器的一种扩充数据类型,利用它可定义一个位标量,它的值是一个二进制位,不是 0就是 1......

STM32片内RTC亚秒特性的应用示例(下)(2023-10-11)
按照从小到大排列,每相邻两个数的差值一定是10。对不对?
2、如果找出只要个位数与十位数都相同的数据,仍然按照从小到大排列,每相邻两个数的差值一定是100。没错吧。
3、如果......

STM32 SYSTICK定时器常见问题(2024-08-29)
】
因为都定义成32位数据宽度了,结果很大,但是正确的。很明显上图中A行代码更简洁。看来,库代码这里这样写是没问题的。
上面两次测试除了位宽差别外,其它都一样。怎么感觉求算不超过1个计量周期宽度内任意两个数......

单片机c语言教程第十三章--C51循环语句(2023-05-10)
单片机c语言教程第十三章--C51循环语句;循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作。如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么......
相关企业
;勤思智能电子;;PCB板制作及打样 C语言程序编写 新项目开发
;西安北大青鸟;;程序逻辑和C语言实现 SQL Server应用开发 Java面向对象程序设计 网页编程 .Net平台和C#编程 SQL Server数据库设计和实现 WinForms高级
;怎么;;
;法国迪朗西北总代理;;法国迪朗是一家专业的绿色减肥机构。不打针,不吃药,让你快速减肥,想怎么就怎么减。不节食,好处多多。就像你喝水那样简单,减肥方法简单易行。
;强哥伟业;;怎么这么难呀
;ARM、Xscale嵌入式开发;开发系统为Linux、Windows CE以及各种特定开发环境;开发语言C、C++;团队所有开发人员都是本行业中的优秀IT人士,具有丰富的经验,均有
也杜绝了脚臭,脚气,脚病的传染。广泛用于家庭、楼盘、无尘车间、医院、酒店、宾馆、实验室、微机室、等场所,是我们日常生活、工作中不可缺少的清洁好帮手。 客人来了,拖鞋不够…怎么办?? 客人
于开放原始码simple I/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。
Arduino包含两个主要的部分:硬件部分是可以用来做电路连接和Arduino电路
;华南数码商城;;精彩主题大放送 :-) 可别错过哦 ! ^# ⒌ 供应廉价销售全新电脑配件 手机 今天我在网上购物的过程,本人在中关村看到了《华南数码商城》w w w.h n 2 2 6.c o
;精华贸易有限公司;;主要经营水晶精品,CP线等CP线是镀锡铜包钢线的简称,是电阻、电容的材料供应商。线径分为:0.4-1.0,抗拉强度是按客户要求来配。已符合国家SJ的值量标准和SGS欧盟