单片机如8051有21个SFR,地址为80H~0FFH的128个字节中,可以直接用寻址方式来操作SFR。(类似于sbit)
为了能直接访问这些SFR,keil提供饿了一种自汉族形式的定义方法。这种方法只适用于8051系列单片机进行C编程。
方法:引入关键字“sfr”,语法为:sfr sfr_name=int address
如:sfr SCON=0x98;
sfr TMOD=0x89;
具体值应该参照SFR表。
关于sbit的使用有三种方式:
1、sfr PSW=0xD0;//
sbit OV=PSW^2;
sbit CY=PSW^7;
2、sbit OV=0xD0^2;
sbit CY=0xD0^7;
3、sbit OV=0xD2;
sbit CY=0xD7;
在工作中,这个sfr定义都包括在头文件
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
51单片机C语言程序100例分析(1)IO+C语言+头文件(2022-12-07)
51单片机C语言程序100例分析(1)IO+C语言+头文件;//实例1:用单片机控制第一个灯亮
#include //包含51单片机寄存器定义的头文件
void main(void......
51单片机C语言程序100例分析(2)定时器+中断(2022-12-07)
51单片机C语言程序100例分析(2)定时器+中断;#include //包含 51 单片机寄存器定义的头文件void main(void)
{
TMOD=0x01;// 使用定时器 T0 的模......
自学单片机难吗?单片机编程教学班怎么选?(2022-12-26)
不同,你想用单片机的资源,对不起,你需要自己去配置芯片的寄存器。
这个时候你需要去查询芯片手册的寄存器说明,每个位置1和置0是什么意思。
虽然你只是在学习单片机,实际上你学到了很多附加的知识,比如说如何......
STM32单片机接收不定长度字节数据的方法解析(2024-06-04)
把接收到的一个字节读出来,就会清除这个中断。IDLE中断,如何是F0系列的单片机,需要用ICR寄存器来清除,如果是F1系列的单片机,清除方法是“先读SR寄存器,再读DR寄存器”。(我怎么知道?手册......
51单片机C语言程序100例分析(4)外设(2022-12-07)
管显示
***************************************************/
//实例60:用LED数码显示数字5
#include//包含51单片机寄存器定义的头文件
void main(void)
{
P2......
51单片机C语言程序100例分析(3)串口(2022-12-07)
51单片机C语言程序100例分析(3)串口;//实例49:用定时器T0的中断实现"渴望"主题曲的播放
#include //包含51单片机寄存器定义的头文件
sbit sound=P3^7......
arduino好还是单片机好,arduino和单片机的区别(2023-01-05)
需求也更大,只会arduino可能会找不到工作。
很多人可能会问,学单片机之前需要先学习arduino吗?
我个人建议是不用,51单片机其实已经非常适合新手入门了,在学习51单片机的同时学习c语言,学完基本语法和单片机寄存器配置......
M40 定时器 中断程序形象化理解(2023-01-31)
码就是做了我们开始说的定时器初始化工作
选择那个定时器启用(0、1、2)
设定定时器的计数模式
配置定时器计数值
启动定时器
启用定时器中断
总中断开启
这一部分全部是寄存器的配置,有些单片机寄存器只能整个的控制,也就......
单片机volatile关键字的作用(2022-12-15)
上a=2了,这个时候程序也会产生一些不可预知的错误。
所以,如果你程序加了RTOS,并且多个任务共享一个全局变量时,最好也用volatile关键词修饰下。
3.变量读取单片机寄存器值时
USART1......
单片机编程好学吗?单片机初学者怎样看懂代码?(2023-01-05)
在屏幕前显示冷冰冰一些字符。
而单片机则有趣的多,你只要会C语言入门语句,再加一点单片机寄存器配置就能点亮电路板上的一个灯。
这个时候你会更有成就感,感觉你学的东西可以很快看到成果,很快......