-第单片如的官应用程秀设计- 例如 sfr16 t2= oxcc /*定时器/计数器2:T2低8位地址为 0CCH,T2高8位地址为OCDH* 这种定义适用于所有新的16位SFR,但不能用于定时器/计 数器0和1。 对于位寻址的SFR中的位,C51的扩充功能支持特殊位的 定义,像SFR一样不与标准C兼容,使用"sbit"来定义位寻址单 元
第7章 单片机的C语言应用程序设计 例如: sfr16 T2 = 0xCC /*定时器/计数器2:T2低8位地址为 0CCH,T2高8位地址为0CDH*/ 这种定义适用于所有新的16位SFR,但不能用于定时器/计 数器0和1。 对于位寻址的SFR中的位,C51的扩充功能支持特殊位的 定义,像SFR一样不与标准C兼容,使用"sbit"来定义位寻址单 元
-第2?来单片如的官应用程秀设计- 第一种格式: sbit bit-name=sfr-name^ int constant; "sbit"是定义语句的关键字,后跟一个寻址位符号名(该位符号 名必须是MCS-51单片机中规定的位名称),"="后的"sfr-name"必须 是已定乂过的SFR的名字,"№"后的整常数是寻址位在特殊功能寄 存器"sf-mame"中的位号,必须是0~7范围中的数。例如: sfr psw=0x)0;*定义PSW寄存器地址为DOH* sbit Ov=PSW^2;定义OV位为PSW2,地址为D2H* shit CYPSWA7 定义CY位为PSW7,地址为D7H*
第7章 单片机的C语言应用程序设计 第一种格式: sbit bit-name = sfr-name^int constant; "sbit"是定义语句的关键字,后跟一个寻址位符号名(该位符号 名必须是MCS-51单片机中规定的位名称),"="后的"sfr-name"必须 是已定义过的SFR的名字,"^"后的整常数是寻址位在特殊功能寄 存器"sfr-name"中的位号,必须是0~7范围中的数。例如: sfr PSW=0xD0 ; /* 定义PSW寄存器地址为D0H */ sbit OV=PSW^2 ; /* 定义OV位为PSW.2,地址为D2H */ sbit CY=PSW^7 ; /* 定义CY位为PSW.7,地址为D7H */
-第2?来单片如的官应用程秀设计- 第二种格式: sbit bit-name= Int constant'^ Int constant; "="后的 Jint constant为寻址地址位所在的特殊功能寄存器的字 节地址,"^"符号后的 Jint constant为寻址位在特殊功能寄存器中的 位号。例如: sbit ov=oXDo2 /*定义OV位地址是DOH字节 中的第2位* sbit CY=OXDO7 /*定义CY位地址是DOH字节中 的第7位*
第7章 单片机的C语言应用程序设计 第二种格式:sbit bit-name = int constant^int constant; "="后的int constant为寻址地址位所在的特殊功能寄存器的字 节地址,"^"符号后的int constant为寻址位在特殊功能寄存器中的 位号。例如: sbit OV=0XD0^2 ; /* 定义OV位地址是D0H字节 中的第2位 */ sbit CY=0XD0^7 ; /* 定义CY位地址是D0H字节中 的第7位 */
-第2?来单片如的官应用程秀设计- 第三种格式: sbit bit-name= Int constant; "="后的 Jint constant为寻址位的绝对位地址。例如 sbit ov=oXD2 /*定义OⅤ位地址为D2H* sbit CY=OXD7 /*定义CY位地址为D7H* 特殊功能位代表了一个独立的定义类,不能与其它位定义 和位域互换
第7章 单片机的C语言应用程序设计 第三种格式:sbit bit-name = int constant; "="后的int constant为寻址位的绝对位地址。例如: sbit OV=0XD2 ; /* 定义OV位地址为D2H */ sbit CY=0XD7 ; /* 定义CY位地址为D7H */ 特殊功能位代表了一个独立的定义类,不能与其它位定义 和位域互换
-第2?来单片如的官应用程秀设计 75MCS-51并行接口的C51定义 MCS-51系列单片机并行IO接口除了芯片上的4个O口(P0 P3)外,还可以在片外扩展O口。MCS-51单片机IO口与数据存 储器统一编址,即把一个ⅠO口当作数据存储器中的一个单元来看 待。 使用C51进行编程时,MCS-51片内的IO口与片外扩展的IO 可以统一在一个头文件中定义,也可以在程序中(一般在开始的位 置)进行定义,其定义方法如下: 对于MCS-51片内ⅣO口按特殊功能寄存器方法定义。例如: sfP0=0x80;/*定义PO口,地址为80H* sfP1=0x90;/*定义P1口,地址为90H*
第7章 单片机的C语言应用程序设计 7.5 MCS-51并行接口的C51定义 MCS-51系列单片机并行I/O接口除了芯片上的4个I/O口(P0 ~ P3)外,还可以在片外扩展I/O口。MCS-51单片机I/O口与数据存 储器统一编址,即把一个I/O口当作数据存储器中的一个单元来看 待。 使用C51进行编程时,MCS-51片内的I/O口与片外扩展的I/O 可以统一在一个头文件中定义,也可以在程序中(一般在开始的位 置)进行定义,其定义方法如下: 对于MCS-51片内I/O口按特殊功能寄存器方法定义。例如: sfr P0=0x80 ; /* 定义P0口,地址为80H */ sfr P1=0x90 ; /* 定义P1口,地址为90H */