C51与8051基础,C51数据与数据类型课件.ppt
文本预览下载声明
单片机C语言程序设计;课程简介;课程简介;1;本讲主要内容:;1-1 C语言基本知识;1-1.1 C语言的特点及程序结构;1-1.2 C语言的语法;1-1.2 C语言的语法;1-1.2 C语言的语法;1-1.2 C语言的语法;C语言实例
例如:设计一个程序,使P1口上的发光二极管呈现由上至下的流水灯状态。;程序清单:
#include reg51.h
void delay ( )
{ uint i;
for(i=0;i1000;i++);
}
void main( )
{ uchar a=0x01;
while(1)
{ P1=a;
delay( );
a1;
}
};程序清单:
#include reg51.h
void delay ( )
{ uint i;
for(i=0;i1000;i++);
}
void main( )
{ uchar a=0x01;
while(1)
{ P1=a;
delay( );
a1;
}
};程序清单:
#include reg51.h
void delay ( )
{ uint i;
for(i=0;i1000;i++);
}
void main( )
{ uchar a=0x01;
while(1)
{ P1=a;
delay( );
a1;
}
};C语言基本语法
;1-2 8051硬件资源及其C51定义;说明:
“sfr”后面必须跟一个特殊存储器名,‘=’后面必须是常数,不允许带有运算符,因这个常数表示sfr的地址,所以范围在0x80~0xFF间。
例如:sfr P0=0x90;
注:因为8051系列单片机寄存储器数量与类型极不相同,因此建议将所有sfr定义放入一个头文件,在程序最开始位置将其包含即可。例如reg51.h文件定义了所有8051的特殊功能寄存器及中断。
例如:#include reg51.h
SFR中的部分16位数据的访问,当SFR的高端地址直接位于低端地址之后时,对SFR的16位值可以直接访问,为区别8位的SFR,16位的SFR定义不可使用关键字“sfr”,而是采用”sfr16” 并且以SFR的低端地址作为定义地址,sfr16 sfr_name‘=’int constant‘;’
例如:sfr16 dptr=0x83;
; 二、可寻址位的定义
1、访问SFR中的位,(sbit 位名称=地址)
与定义sfr一样,用关键字sbit定义某些特殊位,并接受任何符号名,“=”后面绝对地址址赋给变量名,其地址有三种分配方法:
1)已定义的sfr‘^’特殊位的位置值,该位置值心须是0~7的数
例如:sfr P3=0xb0;
sbit LED1=P3^2;
2)一个整常数为基地址‘^’特殊位的位置,该位置必须是0~7的数
例如:sbit LED1=0xb0^2; /* 0xb0为P3口的地址 */
3)绝对的地址
例如:sbit LED1=0xb2; /* 0xb2为P3.2的位地址 */
;1-2 8051硬件资源及其C51定义;1-2 8051硬件资源及其C51定义;1-3 C语言的数据类型;数据类型;1-3 C语言的数据类型;1-3 C语言的数据类型
显示全部