0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机的写1清零和写0清零有什么区别?

璟琰乀 来源:嵌入式ARM 作者:嵌入式ARM 2020-12-17 16:30 次阅读

单片机文档的时候一般寄存器是rw类型,还有一些是r或者w。对于一些特殊寄存器的置1是由硬件自动实现的,比如标志位flag、中断int;但清0还是需要通过软件进行操作。清0方式有两种,写1清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才有效,只能一种方式。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43947

    浏览量

    620480
  • 寄存器
    +关注

    关注

    30

    文章

    5020

    浏览量

    117612
收藏 人收藏

    评论

    相关推荐

    stm8s没有打开自动恢复功能,但是BOF位自动清零,数据重新发送为什么?

    Can_h对地短路,BOF标志位置1,恢复线路原状后,没有打开自动恢复功能,但是BOF位自动清零,数据重新发送,这是为什么?
    发表于 03-19 06:44

    汽车单片机与一般单片机什么区别

    汽车单片机与一般单片机什么区别?如果小白入手的需要怎么操作?
    发表于 01-26 08:35

    M467可以对QEI的计数进行清零吗?

    请问M467可以对QEI的计数进行清零吗? EQEI_GET_CNT_VALUE(EQEI0) 例如 对于这个获取到的数据。
    发表于 01-16 06:56

    AD7858电能寄存器读取时如何设置成读不清零

    AD7858电能寄存器读取时如何设置成读不清零,使能量就会累加上去
    发表于 12-26 07:36

    退出空载条件后,APNOLOAD和VARNOLOAD是否还需要清零

    空载条件后,APNOLOAD和VARNOLOAD是否还需要清零,还是说只是上电进行一次清零。 谢谢。
    发表于 12-26 07:14

    avr单片机两种烧程序方式的区别

    最近在做一个单片机程序,有点疑问,用avrstudio烧程序接的是avrdragon,用ISPUSB是另外一个软件,这两种烧程序什么区别?两者过程都是先写熔丝,flash,
    发表于 11-10 07:41

    为什么单片机发出的字节最后会自带0XFF?

    为什么单片机发出的字节最后会自带0XFF? 代码如下: #include #define uchar unsigned char uchar aflagi; uchar code table
    发表于 11-08 06:39

    FPGA和单片机什么区别

    FPGA和单片机什么区别?好像性能参数上也差不了太多。
    发表于 11-02 07:34

    DDS和单片机用DA输出的波形什么区别

    DDS和单片机用DA输出的波形什么区别
    发表于 10-23 06:16

    stm32怎么使能时钟?和51单片机什么区别?

    stm32怎么使能时钟和51单片机什么区别?
    发表于 10-17 07:05

    K210定时可以类似STM32一样清零寄存器吗?

    在STM32等MCU中,有这样的API,在定时器开启之后,随时可以对寄存器进行清零,使得计时器重新开始记时间,直到中断触发为止。那么在K210定时器中有没有这样的功能,我看相关的PDF中没有提及到这个功能。
    发表于 09-14 06:40

    清零程序的设计(3)#单片机

    电路单片机转换器
    未来加油dz
    发布于 :2023年08月01日 21:37:26

    清零程序的设计(2)#单片机

    电路单片机转换器
    未来加油dz
    发布于 :2023年08月01日 21:36:39

    清零程序的设计(1)#单片机

    电路单片机转换器
    未来加油dz
    发布于 :2023年08月01日 21:35:54

    在使用printf函数时,必须要把使能所有中断EA清零

    在使用printf函数时,必须要把使能所有中断EA清零
    发表于 06-25 08:00