单片机的c语言教程 第六课 变量
据存储器,位于单片机的可位寻址区中,可以将要求可位录址的数据定义为bdata,如:
unsigned char bdata ib; //在可位录址区定义ucsigned char类型的变量ib
int bdata ab[2]; //在可位寻址区定义数组ab[2],这些也称为可寻址位对象
sbit ib7=ib^7 //用关键字sbit定义位变量来独立访问可寻址位对象的其中一位
sbit ab12=ab[1]^12;
操作符"^"后面的位位置的最大值取决于指定的基址类型,char0-7,int0-15,long0-31。
下面我们用上一课的电路来实践一下这一课的知识。同样是做一下简单的跑马灯实验,项目名为RunLED2。程序如下:
sfr P1 =0x90; //这里没有使用预定义文件,
sbit P1_0 =P1 ^ 0; //而是自己定义特殊寄存器
sbit P1_7 =0x90 ^ 7; //之前我们使用的预定义文件其实就是这个作用
sbit P1_1 =0x91; //这里分别定义P1端口和P10,P11,P17引脚
void main(void)
{
unsigned int a;
unsigned char b;
do{
for (a=0;a<50000;a++)
P1_0 =0; //点亮P1_0
for (a=0;a<50000;a++)
P1_7 =0; //点亮P1_7
for (b=0;b<255;b++)
{
for (a=0;a<10000;a++)
P1 =b; //用b的值来做跑马灯的花样
}
P1 =255; //熄灭P1上的LED
for (b=0;b<255;b++)
{
for (a=0;a<10000;a++) //P1_1闪烁
P1_1 =0;
for (a=0;a<10000;a++)
P1_1 =1;
}
}while(1);
}
单片机c语言教程变 相关文章:
- 单片机C语言教程(六)(11-24)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)