bits2.c

来自「CODE for embedded C ,hand coding version」· C语言 代码 · 共 55 行

C
55
字号
/*------------------------------------------------------------*-
  Bits2.c(V1.00)
 Author : 06_Digital_Media 
  ---------------------------------------------------------------
  Reading and writing individual port pins
  NOTE:Both pins on the same port
  --Generic version---
  -*-------------------------------------------------------------*/
  #include<reg52.h>
  //Function prototype
  void Write_Bit_P1(const unsigned char,const bit);
  bit Read_Bit_P1(const unsigned char);

  /*............................................................*/

  void main(void){
  bit x;
  while(1){
    x = Read_Bit_P1(0); //Read Port 1 , Pin 0
	Write_Bit_P1(1,x);  //Write to Port 1 ,Pin 1

  }
  
  }
  /*------------------------------------------------------------*/
  void Write_Bit_P1(const unsigned char PIN ,const bit VALUE){
   unsigned char p = 0x01;
   //left shift appropriate number of places
   p <<= PIN;

   //If we want 1 output at this pin
   if(VALUE ==1 ){
    P1 |= P;
	return;
   }
   //If we want 0 output at this pin
    p = ~p ; //Complement
	P1 &= p; //Bitwise 	AND
 }

 /*-----------------------------------------------------------------*/
 bit Read_Bit_P1 (const unsigned char PIN){
  unsigned char p=0x01;
  //left shift appropriate number of places
  p<<= PIN;
   //Write a 1 to the pin (to set up for reading)
  Write_Bit_P1(PIN ,1);
  
  //Read the pin(bitwise AND)and return
  return (P1 & P);
  }
 /*---------------------------------------------------------------*-
 ----------END OF FILE--------------------------------------------
 -*-------------------------------------------------------------*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?