技术文档

单片机 清空 单片机的两种清0方式有什么区别

小编 2025-07-02 技术文档 23 0

单片机的两种清0方式有什么区别

单片机文档的时候一般寄存器是rw类型,还有一些是r或者w,对于一些特殊寄存器的置1是由硬件自动实现的,比如标志位flag、中断int,但清0还是需要通过软件进行操作,清0方式有两种,写1清0,写0清0,这两种方式有什么区别呢?在硬件实现上有什么不同?

单片机的两种清0方式有什么区别

单片机内部有各种功能的寄存器,比如PIC,C51系列8位的单片机,寄存器的宽度就是八个二进制位,一般是高位在前低位在后,例如:11000011,一共是八位,高四位数据是1100,低四位数据是0011。单片机是可以进行位操作的,一个8位的寄存器我们可以只针对其中一个位或者某些位进行操作,将寄存器相应的位赋值1(高电平)为置位,相反赋值0(低电平)为清零。这是一种比较容易理解的方式,但对于写1清0有几种说法。

1、从电路角度去看,对某位写1,即输入一个高电平,使内部的一个三极管导通接地,电容放电进行清0。

2、写1是在硬件上产生一个复位脉冲。能写0清除就很可能也可以写1进去,而这与功能要求不符。如要控制只能写0而不能写1,则硬件比较复杂。

3、从应用便捷性角度来说,读了寄存器数据以后,照着写回去就可以清0,不用再更改一次数据。

还有寄存器一般支持的是byte, half word, word操作,对于寄存器上有几个标志位的情况下,完成对单一标志位的清0,又不影响其他标志位,但又必须对其他位进行写,因此也就只能是写1或者写0清0才有效,只能一种方式。

个人理解,有什么不对的,烦请评论指正探讨,尽信书不如无书,理越辩越明

51单片机用汇编语言实现存储器块清零

一、 单片机存储器结构

80C51存储器可以分成两大类:

ROM:写入信息后不易改写的存储器。断电后,其中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。

RAM:CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。

学习中要注意片内外程序存储器配置、片内外数据存储器配置及特殊功能寄存器(SFR)的功能。

相关指令和程序:

◆伪指令 ORG、END

◆指令 MOV

INC

CLR

CJNE

◆程序 顺序结构

循环结构

二、流程图:

三、步骤:

运行Keil uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。 将文件添加到工程。输入代码进行编程,完成后编译。如有错,请更改直到编译成功。单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式。在这个模式下会出现MeMory窗口(如果没有可单击View\MeMory Window)。

然后点击单步运行(step into)如图:

小箭头表示当前执行到的程序。程序先给存储单元30H-39H中写入数据,在MeMory Window窗口中会显示如下图:(在存储器窗口中输入D:30H,然后单步执行)

继续单步运行,这些存储单元的数据又被清空。

相关问答

怎么把上次烧写到 单片机 的程序删除掉?

现在用的单片机用的都是电可擦可编程只读存储器,英文简称:EEPROM,或称E2PROM,所谓电可擦,就是通电就把之前的程序擦除掉了,所以,你只要再次烧写其他程序进...

怎么删除 单片机 上已下载的程序-ZOL问答

下载程序的软件上有“擦除”选项,把单片机和电脑联上后,给单片机供电,点一下擦除就行了。当你重新向单片机下载程序时,里面以前的程序就被覆盖了。电脑通过is...

51 单片机 如何 清空 buf数组?

在51单片机中,清空buf数组需要使用一个循环语句将每一个元素赋值为0。可以使用for循环或while循环实现,循环次数应该根据数组的长度来确定。例如,对于一个长度...

51 单片机 中断如何关闭?

51的串口中断,接收和发送是共用一个中断向量的,没法单独关闭。一般在中断服务函数中检测TI标志并及时清零就可以了。1、在中断服务程序里,关闭中断允许标志当...

谢谢!如果真是从电源线回流冲击 单片机 ,应如何清除该电磁波呢?

在单片机的电源上多做功夫:1.单片机使用独立变压器供电,而且变压器初级并联0.1u~250V以上的电容,同时最好串上二型滤波线圈,消除高频电磁波.2.在低压端最好...

8051 单片机 提供了几个中断源?它们的中断标志是什么?又如何清除陈这些中断标志?各?

共有5个中断源:(发生中断后,进入中断服务函数,执行玩中断服务函数后又硬件自动清零标志位)外部中断0,interrupt0,中断标志位IE0;定时器0,interrupt1...

51 单片机 在初始化程序中把T0和T1两个定时器都开启时,T1的中断程序具体是什么时候进行的?

T0的中断程序执行完之后,若没有比T1的中断更高的中断,则执行T1的中断程序,因为,若不人为的清除T1中断标志位TF1,不执行中断程序,硬件不会清除TF1位谢谢,...T...

单片机 里sp是什么意思啊-ZOL问答

1,当单片机复位时PC=0000H,sp=07H,PO-P3口均为高电平2,当单片机复位时,psw=(00H),这时当前的工作寄存器区是第0区,R7所对应的存储单元地址为(07)H楼上说的对....

单片机 RAM中,sp的作用是什么?

使用SP时有一点需要特别注意:按照单片机的堆栈操作机制,在入栈时是先将SP+1,然后再向这个指针指向的地址存入数据。比方说SP当前值为07,执行PUSH指令会将数...

微机原理中芯片8255 8259 8253这几种芯片在实际中有哪些应用?

8255芯片8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择...

猜你喜欢