新闻中心

EEPW首页>嵌入式系统>设计应用> NPN、PNP的识别程序

NPN、PNP的识别程序

作者: 时间:2016-11-26 来源:网络 收藏
//Author:"泪与汗的缠绵"

//Data:2011-11月

本文引用地址://m.amcfsurvey.com/article/201611/321625.htm

//功能:NPNPNP识别程序


#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--);
}



关键词:NPNPNP识别程

评论


技术专区

关闭