×
单片机 > 单片机程序设计 > 详情

NPN、PNP的识别程序

发布时间:2020-06-03 发布时间:
|
//Author:"泪与汗的缠绵"

//Data:2011-11月

//功能:NPN、PNP的识别程序


#include "yf_tft.h"
void GPIO_Configuration(void);
void Delayms(u16 t);
int main(void)
    
     RCC_Configuration();
  GPIO_Configuration();
  ili9320_Initializtion(); //端口引脚初始化
  ili9320_Delay(800000);
     while(1)
  {
    GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);
    GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_RESET);
    GPIO_WriteBit(GPIOA, GPIO_Pin_2, Bit_RESET);
    GPIO_WriteBit(GPIOA, GPIO_Pin_3, Bit_RESET);
    GPIO_WriteBit(GPIOA, GPIO_Pin_7, Bit_SET);
    GPIO_WriteBit(GPIOA, GPIO_Pin_5, Bit_RESET);
    Delayms(1000);
      if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6))
      
      LCD_showzifustr(10,10,"PNP",Blue,Yellow);
   GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_RESET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_2, Bit_SET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_3, Bit_RESET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_7, Bit_SET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_5, Bit_SET); 
   Delayms(1000);
   if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6))
    {
      LCD_showzifustr(10,30,"PNP:CBE",Blue,Yellow);
    }
   else
      LCD_showzifustr(10,30,"PNP:EBC",Blue,Yellow);
 }
   else
    {  LCD_showzifustr(10,10,"NPN",Blue,Yellow);
   GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_RESET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_2, Bit_RESET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_3, Bit_SET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_7, Bit_SET);
   GPIO_WriteBit(GPIOA, GPIO_Pin_5, Bit_SET);
   LCD_showzifustr(20,50,"A1R A2R A3S A7S A5S",Blue,Yellow);
   Delayms(1000);
   if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6))
    {
      LCD_showzifustr(10,30,"NPN:CBE",Blue,Yellow);
    }
   else
      LCD_showzifustr(10,30,"NPN:EBC",Blue,Yellow);
 
          } 
  }
}
void RCC_Configuration(void)
{
 
   SystemInit () ;//很重要!!!!
 
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD
 |RCC_APB2Periph_GPIOE|RCC_APB2Periph_AFIO, ENABLE);
}
void GPIO_Configuration(void)
 GPIO_InitTypeDef GPIO_InitStructure;
 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_7|GPIO_Pin_5;//IO端口的第4位
  GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;//端口模式为模拟输入方式
   GPIO_Init(GPIOA, &GPIO_InitStructure);
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

}
void Delayms(u16 t)          // Delay Time about 1 ms;
{
    u16 i;
    do
    {
        for (i=0; i<500; i++);
    }
    while(t--);
}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址