文档详情

C51与8051基础,C51数据与数据类型课件.ppt

发布:2017-08-13约1.52千字共25页下载文档
文本预览下载声明
单片机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语言的数据类型
显示全部
相似文档