PlC单片机端口的位定义
P是一种系列产品,其端口数和端口的位与具体型号有关。如PIC16F877的端口有PORTA~PORTE,端口的位不都是8位, 其PORTA口只有6位(RA0~RA5),PORTAB、BORTC和PORTD是8位,分别为RB0~RB7、RC0~RC7、RDO~RD7。在编辑C程序时,要访问上述端口的某个位,必须先把这一位的地址确定下来,这可通过@add(address)结构和bit关键字来实现,其中@是地址标识符、add(address)是绝对地址。利用上述地址符,可对PIC单片机端口的位进行定义,尔后便可随意对端口的位进行访问,下面是对PIC16F84A的PORTB口进行位定义的语句:
#dafine PORTBIT(add,bit)《unsigned)(&add)*8+(bit))Satic bit PORTB_O@PORTBIT(PORTB,0);//定义PORTB的0位Satic bit PORTB_1@PORTBIT(PORTB,1)//定义PORTB的1位Static bit PORTB]@PORTBIT(PORTB,7);//定义PORTB的7位其中“&”和“*”符号,在C语言中是作为按位运算符用的,而8是指8位。在编辑PIC单片机C程序时,一旦某个端口,如PORTB,定义后,其对应位(bit)还可写成RB0、RB1、RB2、RB3…RB7,以使程序代码简化。
- 上一篇:LOW-IF
- 下一篇:电路功能相同形式不同的四种C程序