微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机的c语言教程 第六课 变量

单片机的c语言教程 第六课 变量

时间:11-22 来源:互联网 点击:

据存储器,位于单片机的可位寻址区中,可以将要求可位录址的数据定义为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);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top