单片机_C51
2014-11-06 18:07
99 查看
1.bit位标量
不是0就是1。
2.sbit
P1_1 = Ox91; //这样是把位的绝对地址赋给位变量.同sfr 一样sbit 的位地址必须位于80H-FFH 之间.
用它可以访问芯片内部的RAM中的可寻址位或特殊功能寄存器中的可寻址位。如先前我们定义了
sfr P1 = 0x90; //因P1端口的寄存器是可位寻址的,所以我们可以定义
sbit P1_1 = P1^1; //P1_1为P1中的P1.1引脚
//同样我们可以用P1.1的地址去写,如sbit P1_1 = 0x91;
3.sfr特殊功能寄存器:是一种扩充数据类型、sfr
P1 = 0x90; //定义P1 I/O 口,其地址90H
T2
定时器,可以定义为: sfr16 T2 = 0xCC; //这里定义8052 定时器2,地址为T2L=CCH,T2H=CDH
等号后面是它的低位地址,高位地址一定要位于物理低位地址之上.注意的是不能用于定时器0
和1 的定义.。
4.volatile:变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错
内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。
编译器优化常用的方法有:将内存变量缓存到寄存器;由于访问寄存器的速度快于访内存,所以编译器一般 都会作优化以减少访内存。
如果变量加上volatile修饰,则编译器就不会对此变量的读写操作进行优化,即不通过寄存器缓冲而直接访内存。
该关键字在多线程环境下经常使用,因为在编写多线程的程序时,同一个变量可能被多个线程修改,而程序通过该变量同步各个线程,
对于C编译器来说,它并不知道这个值会被其他线程修改。自然就把它cache在寄存器里面。C 编译器是没有线程概念的
volatile 的本意是指:这个值可能会在当前线程外部被改变。
不是0就是1。
2.sbit
P1_1 = Ox91; //这样是把位的绝对地址赋给位变量.同sfr 一样sbit 的位地址必须位于80H-FFH 之间.
用它可以访问芯片内部的RAM中的可寻址位或特殊功能寄存器中的可寻址位。如先前我们定义了
sfr P1 = 0x90; //因P1端口的寄存器是可位寻址的,所以我们可以定义
sbit P1_1 = P1^1; //P1_1为P1中的P1.1引脚
//同样我们可以用P1.1的地址去写,如sbit P1_1 = 0x91;
3.sfr特殊功能寄存器:是一种扩充数据类型、sfr
P1 = 0x90; //定义P1 I/O 口,其地址90H
T2
定时器,可以定义为: sfr16 T2 = 0xCC; //这里定义8052 定时器2,地址为T2L=CCH,T2H=CDH
等号后面是它的低位地址,高位地址一定要位于物理低位地址之上.注意的是不能用于定时器0
和1 的定义.。
4.volatile:变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错
内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。
编译器优化常用的方法有:将内存变量缓存到寄存器;由于访问寄存器的速度快于访内存,所以编译器一般 都会作优化以减少访内存。
如果变量加上volatile修饰,则编译器就不会对此变量的读写操作进行优化,即不通过寄存器缓冲而直接访内存。
该关键字在多线程环境下经常使用,因为在编写多线程的程序时,同一个变量可能被多个线程修改,而程序通过该变量同步各个线程,
对于C编译器来说,它并不知道这个值会被其他线程修改。自然就把它cache在寄存器里面。C 编译器是没有线程概念的
volatile 的本意是指:这个值可能会在当前线程外部被改变。
相关文章推荐
- C51单片机数码管的显示代码
- 【C51】单片机定时器介绍
- C51单片机的压缩BCD码相加程序
- C51、PIC、AVR八位单片机性能比较
- c51 单片机实验_2 数码管
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 单片机C51 - 蜂鸣器(变频闪灯报警)
- 单片机C51 - 串行通信原理及串口编程实验
- 8位单片机体系的直接软件构架(C51系列)
- 用visual_studio编写c51单片机程序
- 单片机C51 8位流水灯
- 单片机寄存器组注意重复使用原数据可能被覆盖危险(C51编程也注意)
- C51中interrupt和using的用法——单片机
- C51 语言编程:单片机与 PC 串口通信程序
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)——龚建伟
- 控制发送SMS信息的C51程序[GSM模块(M22)通过串口与单片机相连]
- 8位单片机体系的直接软件构架(C51系列)
- 单片机c51例程——不断更新中。。。
- 在单片机中C51的关系与&&和位&的区别??
- 单片机 C51 编程要点总结