单片机编程

单片机编程程序里的$什么意思

在单片机汇编语言的保留字符中,符号$用于表示当前指令行所在地址。在本题目所给出的汇编子程序中,指令行DJNZ R4,$表示这是一条有条件的转移指令,即R4寄存器中数值减1,如果寄存器值不等于0,转到指定的地址执行程序。而此行指令所指定地址$,就是本行指令所在的地址,所以会重复执行本条指令,直到R4寄存器中内容减至0后,转而执行下条指令。
此处之所以出现这样的写法,完全是为了凑延时吋间。从子程序给出的注释信息可以看出,这是一段500ms的延时程序。在经典的51系列单片机中,执行一条DJNZ操作指令需要2个机器周期,一个机器周期又是12个系统时钟周期。对于系统时钟频率11..0592MHz的单片机,执行一次DJNZ指令占用的时间为2×12x1/11.0592,大约等于2us。因R4寄存器赋初值250,该重复操作所产生延时为2×250=500us。这500us延时又被嵌套在LOOP1和LOOP2两重循环中,LOOP1循环200次,LOOP2循环5次,由此可以计算出子程序总的延时为500×200x5=500(ms)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-05-08
单片机汇编语言中,符号$表示当前行地址。图中djnz r2,$指令的意思是当R2减1不为0时,仍然执行当前行指令,知道R2减1到0时,继续下一条指令。本回答被提问者采纳
第2个回答  2019-01-19
美元符号$常在转移类指令的操作数字段中使用,用于表示该转移指令操作码所在的地址。如:
JNB F0,$
表示若PSW寄存器中的F0=0.,则机器总是执行该指令,当F0=1时,才往下执行下一条指令。它与如下指令是等价的:
HERE:JNB F0,HERE
同样的道理,D3: DJNZ R7,$ (在本句中,标号D3其实可以省略)
等效于 D3: DJNZ R7,D3 (在本句中,标号D3就不能省略)
第3个回答  2019-03-22
在51汇编语言中,$表示本条指令当前所在的内存地址。本题目程序中的DJNZ R4,$ 是条件转移指令,即当R4减1不等于0,就跳转到后面参数所指示的地址,因在这里R4后面跟随的参数是$,所以当R4减1不为0时,程序就重复执行本条指令。
第4个回答  2019-01-26
单片机编程中$这个字符常用在汇编语言的编程语句中,表示“当前行”地址,比如:
SJMP $;指令意思是短转移到当前行,其实就是原地踏步,死循环。
DJNZ R2,$;意思是当R2减1不为零时继续本行操作。

单片机用什么语言编程
单片机用以下语言可以编程:1、C语言。单片机C语言是一种编译语言,具有编译语言的特点。C语言具有功能丰富的库函数、计算速度快、编译效率高、可移植性好,可直接控制系统。此外,C语言程序具有完整的程序模块结构,为软件开发中模块化程序设计方法的使用提供了有力的保证。2、汇编语言。它的主要优点是占用...

单片机编程是什么
单片机编程是指对单片机(Microcontroller Unit,MCU)进行编程的过程。单片机是一种集成度高、功能强大的微型计算机,广泛应用于各种嵌入式系统中。编程的主要目的是通过编写和烧录特定的代码,来控制单片机的行为,实现特定的功能或任务。单片机编程涉及到硬件和软件两个方面。硬件方面,需要了解单片机的内部结构...

如何快速的学会单片机C语言编程
1、重点是:多看,多写,多练,多思考。2、单片机有很多种,每种的侧重都有不同,在自己想深入的单片机方向选择一本经典教材,然后将心沉入教材,开始用功学习。切记不要只看书,要读懂书中例子程序,且动手编程实现它。3、学习编程语言最好的方法是读程序,读程序是学习C语言入门最快,也是最好的方...

单片机在编程中起到什么作用?
单片机编程通常涉及低级语言,如汇编或C语言,这些语言允许开发者直接控制硬件资源,实现高效、定制化的系统设计。编程过程需要深入理解硬件架构和接口特性,通过编写算法和控制程序,实现对单片机功能的充分利用。总之,单片机在编程中的作用主要体现在提供高效、定制化控制解决方案的能力上。它们简化了硬件与软件的...

单片机用什么软件编程
目前应用最广泛的单片机编程软件是keil和IAR。keil主要用来开发51单片机,ARM公司收购keil这个软件后,将之进行了升级,现在叫做MDK,可以开发几乎全系列的ARM芯片。单片机是典型的嵌入式微控制器(MicrocontrollerUnit),由运算器,控制器,存储器,输入输出设备等构成,相当于一个微型的计算机。与应用在个人...

STC单片机PWM编程!
4. 了解用单片机产生正弦信号的基本方法。二、实验原理 ADuC848中包含一个12位电压输出DAC模块,DAC模块中寄存器的设置如下:DAC控制寄存器:DACCON NC表示未定义;DACPIN为DAC输出引脚选择;1 = 设置DAC输出引脚为Pin 13 (AINCOM);0 = 设置DAC输出引脚为Pin 14 (DAC);DAC8为DAC转换位数模式...

单片机编程语言一般有哪几种
汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。高级语言包括:C语言、BASIC语言和PL\\M语言等。(现在一般使用C语言进行单片机编程,其他语言用作单片机编程较少)5...

单片机可以用Java编程吗?
单片机是一种嵌入式系统芯片,通常用于控制和监测各种物理设备,如家电、工业控制、智能家居等。这些设备需要实时响应,并且对性能和资源的要求非常高。而Java是一种通用的、跨平台的编程语言,主要用于开发桌面应用程序、Web应用程序和移动应用程序等。Java的设计初衷是让开发者能够编写一次代码,然后在任何...

单片机编程语言有哪些
单片机编程语言有以下几种:1. C语言 C语言是单片机编程中最为普遍使用的语言之一。它提供了对底层硬件的直接操作能力,可以进行高效的代码编写,适用于复杂系统的开发。2. C++语言 C++语言是C语言的扩展,增加了面向对象的特性。它在单片机编程中也占有重要地位,特别是在需要处理复杂任务和进行实时系统...

单片机用什么编程
单片机编程的语言既可以用C,也可以用汇编。用汇编的优势主要是程序可以被编程者优化,而不是由编译器优化,这样就可以绝对可控,程序的安全性和执行速度受编程者水平限制,不过总的执行速度较C语言快,代码占程序存储器的容量较C语言小。这样,汇编程序更适合程序存储器和数据存储器较小的老式单片机。但是...

相似回答