详解单片机中的关键字:sfr sbit
单片机C编程 关键字: sfr 、sbit。
直接上图 上例子来理解
以P2口为例(可在附加中找到相关引脚的原理图),假设只有一个89C52的芯片,芯片上的各个引脚未定义
sbit K0 = P2^0;按位操作,将P2^0赋给独立按键K0。这样独立按键K0就代表了P2^0口,更具有现实意义。
sbit K1 = P2^1;
sbit K2 = P2^2;
sbit K3 = P2^3;
sbit K4 = P2^4;
sbit K5 = P2^5;
sbit K6 = P2^6;
sbit K7 = P2^7;
(注意附加图片中的 TCON寄存器写着 可位寻址)
sbit TCON^0 = 1;外部中断0下降沿触发
等价于
IT0 = 1;(如果不可以按位寻址 则不可以这样置1)
等价于
TCON = 0x01;(假设除IT0以外其他位都没用到的话)
总结来说,sbit方便程序员对寄存器中的某位进行操作,而且sbit大部分是用在寄存器中。
上图中
sfr P0 = 0x80;由原理图可知,P0口有八位,sfr可对这8位操作。
sbit IT0 = 0x88; 只对TCON8位寄存中的IT0这一位进行操作。
意义 将硬件 映射到 内存地址上去。
附加:
详解单片机中的关键字:sfr sbit相关推荐
- java 死锁 内存消耗_详解Java中synchronized关键字的死锁和内存占用问题
先看一段synchronized 的详解: synchronized 是 java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并 ...
- 【嵌入式基础小知识】详解单片机中的程序和变量是如何分布的以及一些注意事项
"我固然不是了不起的跑步者,而是处于极为平凡的--毋宁说是凡庸的--水准.然而这个问题根本不重要.我超越了昨天的自己,哪怕只是那么一丁点儿,才更为重要.在长跑中,如果说有什么必须战胜的对手, ...
- python之33个关键字详解_Python 中的关键字 with 详解
在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...
- 详解C中volatile关键字
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据.如果没有volatile关键字,则编译器可能优化读取和存储 ...
- python关键字详解_Python 中的关键字with详解
在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...
- 详解Java中static关键字和final关键字的功能
摘要:static关键字和final关键字是Java语言的核心,深入理解他们的功能非常重要. 本文分享自华为云社区<Java: static关键字与final关键字>,原文作者:唐里 . ...
- 【转】 详解C中volatile关键字
转自: http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.html volatile提醒编译器它后面所定义的变量随时都有可能 ...
- 详解java中的final关键字
概述 final 简介 final关键字可用于多个场景,且在不同场景具有不同的作用.首先,final是一个非访问修饰符,仅适用于变量,方法或类.下面是使用final的不同场景: 上面这张图可以概括成: ...
- java static 函数_详解java中的static关键字
Java中的static关键字可以用于修饰变量.方法.代码块和类,还可以与import关键字联合使用,使用的方式不同赋予了static关键字不同的作用,且在开发中使用广泛,这里做一下深入了解. 静态资 ...
- pythonnamedtuple定义类型_详解Python中namedtuple的使用
namedtuple是Python中存储数据类型,比较常见的数据类型还有有list和tuple数据类型.相比于list,tuple中的元素不可修改,在映射中可以当键使用. namedtuple: na ...
最新文章
- ZwQueryVirtualMemory暴力枚举进程模块
- svn命令在linux下的使用
- ImportError: Could not find ‘cudart64_100.dll报错
- java并行计算Fork和Join的使用
- HTML页面跳转的5种方法
- kdj指标主要看哪个值_kdj指标中三者的关系是什么?
- 网络图片嗅探工具driftnet
- 创业和工作的心态问题
- Python实现统一社会信用代码合法性校验
- 用物理学分析马歇尔的价格均衡论
- java new jsonparser_java – JSONParser无法解析为某种类型
- HTML 通过GIF实现loading动画(非进度条版)。
- Html5 canvas创意特效合集
- servicenow CSA考试 可用学习资料
- 能在学生用计算机的面上画的图画,学生作品之一《学生电脑绘画》(图文)
- R语言-Timo-统计结果输出至本地
- Codeup 1009-1012 python
- 设计美学 第一章 设计美学的基本问题
- 简易电子琴演奏器_北邮大二上数电实验报告
- 安装Skype for business on Linux