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

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

    关注

    6074

    文章

    45340

    浏览量

    663427
  • 寄存器
    +关注

    关注

    31

    文章

    5588

    浏览量

    129051
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用位操作精准配置单片机寄存器

    * 4))) define GPIOA_ODR0x48000014 define PA55 // 置位PA5*BITBAND(GPIOA_ODR, PA5) = 1; // 清零PA5
    发表于 11-24 07:22

    怎样学会单片机

    想学会单片机其实没那么复杂,先把心态放平稳,别被那些五花八门的名词吓住。一开始就得把 C 语言基础打扎实,位操作、指针、函数这些概念必须吃透,尤其是指针,单片机里操作寄存器、外设经常要用到,搞不懂
    的头像 发表于 07-23 10:23 456次阅读
    怎样学会<b class='flag-5'>单片机</b>?

    伺服系统和单片机什么区别

    伺服系统和单片机是两类完全不同的技术,主要区别体现在功能定位、工作原理、应用场景等方面。
    的头像 发表于 06-28 15:21 450次阅读

    PLC与单片机什么区别

    PLC(可编程逻辑控制器)与单片机(Microcontroller Unit,MCU)都是广泛应用于工业控制、自动化系统等领域的电子设备,但它们在多个方面存在显著区别,以下是详细对比: 1. 定义
    的头像 发表于 06-25 17:52 7494次阅读

    单片机和伺服什么区别

    单片机和伺服的区别 单片机(Microcontroller)和伺服(Servo System)是两种完全不同的技术概念,分别属于 控制系统硬件 和 运动控制执行系统 。以下是它们的详细对比和
    的头像 发表于 05-26 09:18 577次阅读

    PLC和单片机到底什么区别

    在自动化和嵌入式开发领域,PLC和单片机是两种常见的控制系统。虽然它们许多相似之处,但它们的功能、应用范围、开发成本等方面也存在显著差异。本文将从多个角度详细探讨这两者的不同之处,帮助大家更好地理
    的头像 发表于 04-07 11:58 4625次阅读
    PLC和<b class='flag-5'>单片机</b>到底<b class='flag-5'>有</b><b class='flag-5'>什么区别</b>?

    GD32与STM32什么区别

    电子发烧友网站提供《GD32与STM32什么区别.docx》资料免费下载
    发表于 04-03 17:27 0次下载

    私有云和公有云什么区别

    私有云和公有云在多个方面存在显著的区别,以下是具体的比较,主机推荐小编为您整理发布私有云和公有云什么区别
    的头像 发表于 02-20 10:38 1489次阅读

    将TLV5614与51单片机连接,出现的疑问求解

    我将TLV5614与51单片机连接,出现了这样的情况:通道之间可以切换,但是第一次开A通道,第二次开B通道,但是第二次开B通道的时候,A通道依然保持第一次写入的数据,这样就不正常了。断电后,A通道
    发表于 02-10 07:27

    DAC7678输出清零的时候偶尔会莫名其妙的冒出瞬间高输出,再回到0电平,为什么?

    DAC7678输出清零的时候偶尔会莫名其妙的冒出瞬间高输出,再回到0电平。 试过的控制方式: 1、直接对各个通道设置0x0000; 2、软件复位; 3、CLR引脚
    发表于 01-22 06:22

    用AFE4490的AFE_PDN脚停止工作和用控制寄存器0x23的PDNAFE位置停止工作区别

    用AFE4490的AFE_PDN 脚停止工作和用控制寄存器0x23的PDNAFE位置停止工作什么区别? AFE4490AFE4490的AFE_PDN pin如果低以后,所有寄存器都会复位吧
    发表于 01-20 06:31

    单片机控制ADS8364,程序怎么,才能读取转换结果?

    单片机控制ADS8364,程序怎么,才能读取转换结果 请大神给出一个430单片机控制8364采样和结果读取的程序。 6通道的更好。 搞了好几天没有处结果,急求!!
    发表于 01-17 08:12

    DAC38J84 config30-config32是配置相关的同步信号,请问这个同步是指什么?

    如何进行?是先清零config108,然后马上读取congfig108,还是其他操作? b.请问如何重置这两位?这个寄存器是写清零寄存器,是1清零
    发表于 01-02 07:28

    在上电后,有时候会出现DAC1220E输出不清零的情况,怎么解决?

    这段时间用到贵司DAC1220E来做压缩转速控制,输出0-5V,用2.5V作为参考电压,单片机采用STM32F103C8T6,单片机晶振为8M,DAC1220E晶振为无源晶振2.4
    发表于 12-18 07:24

    PGA900 TEST_MUX_DAC_EN位清零不会”Connects DAC output to TOP/TON pins“,仍然是是2.5V为什么?

    ADC_EN_VREF位置位后TOP_TON 就输出2.5v,TEST_MUX_DAC_EN位清零不会”Connects DAC output to TOP/TON pins“,仍然是
    发表于 12-10 08:34