sfr与sbit的理解,及单片机中断
来源:互联网 发布:centos怎么读 编辑:程序博客网 时间:2024/05/16 09:27
sfr (special function register)定义的变量是将单片机的特殊功能寄存器赋值给一个变量,在程序设计中就能引用这个寄存器。
sbit 是对寄存器进行位操作,可对寄存器中某位置1或者清0.
STC
图中这么多特殊功能寄存器之后可能会产生一些困扰,我们用sfr P0 = 0×80表示P0,用sfr SP = 0×81表示SP,这个没有歧义。有困扰的是:假如用sbit P0_1 = 0×81表示P0口的第一位,那么我想表示SP寄存器的第0位怎么办呢?如果也是定义成sbit SP_0 = 0×81那么明显会有二义性,编译器理解不了。其实这个问题是不存在的,从图1中可以看出,SFR又可以分为两个区域:可位寻址区和不可位寻址区。可位寻址区的寄存器地址能够被8整除,而不可位寻址区的寄存器地址不满足这一要求。因此例子中的sbit SP_0 = 0×81对于SP寄存器这是无效的应该写成sfr SP=0x81。
例如:sbit P1^1=0x81;sfr SP=0x81;
它们虽然都引用了同一个地址0×81,但是对于编译器来说,这两者的含义完全不同,后者因为有sfr关键字,所以是字节地址。前者因为是sbit关键字,所以是位寻址,表示的是一个bit。
中断 概论。
void INT0()interrupt 0 using 1
{....
.....
}
interrupt 0 指明是外部中断0;
interrupt 1 指明是定时器中断0;
interrupt 2 指明是外部中断1;
interrupt 3 指明是定时器中断1;
interrupt 4 指明是串行口中断;
using 0 是第0组寄存器;
using 1 是第1组寄存器;
using 2 是第2组寄存器;
using 3 是第3组寄存器;
51单片机内的寄存器是R0--R7(不是R0-R3)
R0-R7在数据存储器里的实际地址是由特殊功能寄存器PSW里的RS1、RS0位决定的。
using 0时设置 RS1=0,RS0 =0,用第0组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(00H)....R7(07H)
using 1时设置 RS1=0,RS0 =1,用第1组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(08H)....R7(0FH)
using 2时设置 RS1=1,RS0 =0,用第2组寄存器,R0--R7的在数据存储区里的实际地址是08H-0FH。R0(10H)....R7(17H)
using 3时设置 RS1=1,RS0 =1,用第3组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(18H)....R7(1FH)
串行口传输过程是一位一位的二进制进行传输,传输完一个字节才会产生中断或者事件。
所以从编程角度上看,是一整个字符进行传输的。
从物理信号层面看,还是一位一位传输的。
187500波特率 每字节需要0.043毫秒
115200波特率 每字节需要0.069毫秒19200波特率 每字节需要0.417毫秒
9600波特率 每字节需要0.83毫秒
- sfr与sbit的理解,及单片机中断
- 单片机关键字sfr和sbit的理解
- 单片机sfr和sbit关键字,详解
- 51单片机sfr sbit bit学习
- 详解单片机中的关键字:sfr sbit
- sbit与sfr关键字简析
- 单片机中几种常用数据类型 bit,sbit,sfr,sfr16。
- sfr,sfr16,esfr,sbit
- 单片机及C51的sbit变量如何实现外部声明
- c51中sbit/sfr 用法
- 单片机的延时与中断问题及解决方法
- 对51单片机中断系统的理解
- 单片机中的SFR是什么?
- 51单片机的中断优先级及中断嵌套
- 51单片机的中断优先级及中断嵌套
- 51单片机的中断优先级及中断嵌套
- 【单片机笔记】51内核的中断及中断向量
- 51单片机的特殊功能寄存器(SFR)
- Interlocked系列函数
- IOS多线程(NSThread,NSOperation,Grand Central Dispatch)
- 中国的支付清算体系是怎么玩的?
- mingw msys1.0 vs2013 ffmpeg debug
- mysql命令大全
- sfr与sbit的理解,及单片机中断
- 文件夹拷贝SHFileOperation
- iOS 实时搜索总结
- git格式的diff输出内容含义
- 【Android自定义View实战】之自定义圆形头像CircleImageView支持加载网络图片
- 【bzoj 十连测】[noip2016十连测第八场]Problem A: 神炎皇(数学相关:线性筛)
- 高效的转换大小写
- C#开发微信门户及应用(1)--开始使用微信接口
- JNI调用简单实例解析