您的位置:首页 > 新闻 > 资讯 > 制作官网_西装定制_企业营销案例_上海优化营商环境

制作官网_西装定制_企业营销案例_上海优化营商环境

2025/4/21 14:02:11 来源:https://blog.csdn.net/weixin_45036508/article/details/147363538  浏览:    关键词:制作官网_西装定制_企业营销案例_上海优化营商环境
制作官网_西装定制_企业营销案例_上海优化营商环境
  1. Do口暗的时候才是高电平,因为光敏电阻传感器的高电平是依靠LM393电压比较器上引脚进入高阻态再加上上拉电阻上拉产生的高电平
  2. DO口什么时候会输出高阻态?电压比较器的正极输入电压大于负极输入电压,而正极输入电压是光敏电阻分得的电压,光敏电阻的阻值越大,已分得的电压就越大,所以在光线较暗时,阻值大,分得电压大,这样的话更倾向于输出一个高阻态,也就是高电平.
  3. pb6引脚输入的如果是低电平,说明负极的电压大,负极输入的电压是电位器的下半部分分得的电压,这样就需要调节电位器,一般来说,如果顺时针调电位器,负极分得的电压更多一点,如果调到临界就是明亮的状态,因为一旦进入明亮状态正极输入的电压就减小了,更有可能输出低电平.
控制电路中光敏电阻,控制PC13指示灯点灯的实验.
#include "stm32f10x.h"
#include "OLED.h"
// 12_利用OLED打印调试信息
// 初始化光敏电阻传感器的DO口GPIO引脚 PB6
void LDRSensor_Init(void) {// 开启 GPIOB 时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);// 配置 PB6 为上拉输入模式GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 上拉输入模式GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);
}// 初始化PC13指示灯
void LED_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;// 开启 GPIOC 时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);// 配置 PC13 为开漏输出模式GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; // 开漏输出模式GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure);// 设置PC13引脚默认输出高阻态,PC13指示灯熄灭GPIO_SetBits(GPIOC, GPIO_Pin_13);
}void OLED_UpdateDisplay(uint8_t pb6_state, uint8_t pc13_state) {//pb6接的是光敏电阻传感器的DO口,所以这里监测的是光敏电阻传感器DO口输出的是高/低电平// 先清屏OLED_Clear();// 第一行:光线状态OLED_ShowString(1, 1, "Light:");//pb6_state=1时,高电平,光线暗.前提是要调到临界的状态.OLED_ShowString(1, 8, pb6_state ? "Dark" : "Bright");//Do口暗的时候才是高电平,因为光敏电阻传感器的高电平是依靠LM393电压比较器//上引脚进入高阻态再加上上拉电阻上拉产生的高电平//DO口什么时候会输出高阻态?电压比较器的正极输入电压大于负极输入电压,//而正极输入电压是光敏电阻分得的电压,光敏电阻的阻值越大,已分得的电压就越大//所以在光线较暗时,阻值大,分得电压大,这样的话更倾向于输出一个高阻态,也就是高电平.//pb6引脚输入的如果是低电平,说明负极的电压大,负极输入的电压是电位器的下半部分分得的电压,//这样就需要调节电位器,一般来说,如果顺时针调电位器,负极分得的电压更多一点//如果调到临界就是明亮的状态,因为一旦进入明亮状态正极输入的电压就减小了,更有可能输出低电平// 第二行:PB6引脚输入状态OLED_ShowString(2, 1, "DO Out:");OLED_ShowString(2, 9, pb6_state ? "High" : "Low");// 第三行:PC13引脚输出状态OLED_ShowString(3, 1, "PC13 Out:");OLED_ShowString(3, 11, pc13_state ? "Open" : "Low");// 第四行:PC13指示灯状态OLED_ShowString(4, 1, "PC13 LED:");OLED_ShowString(4, 11, pc13_state ? "Off" : "On");
}int main(void) {// 初始化所有外设LDRSensor_Init();LED_Init();OLED_Init();uint8_t last_pb6_state = 0xFF; // 初始化为一个无效值while (1) {// 获取当前PB6引脚的输入电平以及PC13的输出电平uint8_t current_pb6_state = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_6);// 仅在状态变化时更新显示内容if (current_pb6_state != last_pb6_state) {// 控制LEDif (current_pb6_state == Bit_SET) {GPIO_ResetBits(GPIOC, GPIO_Pin_13); // 点亮LED} else {GPIO_SetBits(GPIOC, GPIO_Pin_13);   // 熄灭LED}// 更新显示内容OLED_UpdateDisplay(current_pb6_state, GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_13));// 更新当前pb6引脚的状态last_pb6_state = current_pb6_state;}}
}

在这里插入图片描述
PC13 open,open是高阻态,开路.
在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com