精华内容
下载资源
问答
  • 平时我们要求继电器处于断开状态,那就要让单片机的这个端口处于输出高电平的状态,但是如果这个单片机的端口在上电复位后是处于输出低电平的状态,这时候就会出现问题了,即使我们在程序中一开始就把这个端口置为...
  • 最近在用LPC11C14单片机,该单片机是32cortex-M0系列的,带有片上CAN资源,既可以使用寄存器编程,也可以使用库函数(CMSIS)来编程应用方便。其下载方式有两种:  SW方式;  ISP方式;  对于LQF48...
  • 感觉自己的PWM程序写的没有问题,但是调试的时候PWM一直是高电平,不知道什么原因。 出错的原因: 1、配置引脚的错误 2、选择复用模式为定时器的时候,选择参数错误,特别注意这里的复用引脚功能要选择对,很多时候...

    感觉自己的PWM程序写的没有问题,但是调试的时候PWM一直是高电平,不知道什么原因。
    出错的原因:
    1、配置引脚的错误
    在这里插入图片描述

    2、选择复用模式为定时器的时候,选择参数错误,特别注意这里的复用引脚功能要选择对,很多时候都是这里出了问题
    在这里插入图片描述

    3、PWM选择初始化的通道错误
    要看清楚设置PWM的定时器是通道几,要选择相应的通道函数来初始化。
    在这里插入图片描述
    4、比较定时器的寄存器函数没有写或者写的值超出了范围
    第一个参数时设置PWM的定时器,第二个参数是输出PWM的高电平的时间。这个值如果大于周期的值,将会与周期保持一致。用第二个参数除以周期就得占空比。
    在这里插入图片描述

    展开全文
  • 本文对单片机IO口无法输出高低电平的原因进行了分析。
  • 在项目中需要用到STM32F103C8T6的GPIOA13引脚,发现无论如何初始化都无法控制该引脚的输出电平,该引脚一直输出高电平,而且非常稳定。查阅相关资料发现是JTAG模式搞的鬼。原因如下: 可以看到PA13口的Main ...

    使用环境(蓝色粗体字为特别注意内容)
    1、软件环境:Keil MDK 5.15
    2、硬件环境:STM32F103C8T6最小系统
    在项目中需要用到STM32F103C8T6的GPIOA13引脚,发现无论如何初始化都无法控制该引脚的输出电平,该引脚一直输出高电平,而且非常稳定。查阅相关资料发现是JTAG模式搞的鬼。原因如下:


    可以看到PA13口的Main function是JTMS-SWDIO,不是PA13,所以要想使用PA13的普通IO口能力,就要先把IO口的复用功能打开,再把JTMS-SWDIO功能关掉就可以。我从来不用JTAG的,于是采用以下方式禁用PA13引脚的JTAG模式:

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

    发现问题依旧存在,多方查找资料,完全没有理由啊。。怀疑是IO口初始化方式不对,最后终于发现少了这一句:

    GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

    最后贴上PA13引脚的调试代码;

    Main.c

    void DisableJTAG()
    {
    
    	GPIO_InitTypeDef GPIO_InitStruct;
    	//开启AFIO 时钟
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
    	// 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)
    	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
    	// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能
    	GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
    
    
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟
    	GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;  //配置模式
    	GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_13; //配置哪个IO口
    	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;  //配置IO口速度,仅输出有效
    	GPIO_Init(GPIOA, &GPIO_InitStruct);
    
    }
    
    int main(void)
    {
    	DisableJTAG(); // 禁用PA13的JTAG调试模式
    	delay_ms(1000);
    
    	while(1)
    	{
    		GPIO_ResetBits(GPIOA, GPIO_Pin_13);
    		delay_ms(500);
    		GPIO_SetBits(GPIOA, GPIO_Pin_13);
    		delay_ms(500);
    	}
    }
    

    PA13引脚输出波形如下:

     

     

    展开全文
  • 推挽输出既可以输出低电平,也可以输出高电平,可以直接驱动功耗不大的数字器件。 2.推挽输出电路的结构 推挽电路是由两个三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通...
  • 我使用的单片机是STC15W408AS(DIP16的),使用CH340G接电脑供电,VCC=5V,程序里将P32置,不接L298N的时候输出正常,但是接上之后输出就被拉低到2.2V了,然后L298N的输出就没有了,使能端和IN4的输入都没有问题,...

    我使用的单片机是STC15W408AS(DIP16的),使用CH340G接电脑供电,VCC=5V,程序里将P32置高,不接L298N的时候输出正常,但是接上之后输出就被拉低到2.2V了,然后L298N的输出就没有了,使能端和IN4的输入都没有问题,单片机的引脚也换着试过了,只有置高的那个引脚电压会被拉低,我搞不清楚是什么原因了,恳请大佬们帮帮孩子吧。

    展开全文
  • 调试STM8L程序时PC0和PC1始终无法输出高电平,相同的程序在其他IO上可以使用,查看数据手册发现PC0和PC1没有推挽输出的功能,这两个口是硬件IIC接口只有开漏输出功能,大坑啊。现在写出我遇到的问题,希望大家遇到了...
    调试STM8L程序时PC0和PC1始终无法输出高电平,相同的程序在其他IO上可以使用,查看数据手册发现PC0和PC1没有推挽输出的功能,这两个口是硬件IIC接口只有开漏输出功能,大坑啊。现在写出我遇到的问题,希望大家遇到了能迅速解决!!!!!!!!!
    
    展开全文
  • 单片机定时计数器产生高电平为50ms,低电平为100ms的方波信号。 实现方式: 使用定时计数器0产生中断,单片机的晶振频率为12MHZ,方波信号在P2.0口输出。 C语言程序代码: #include<reg51.h> sbit led = ...
  • 基于51单片机的交通灯控制系统设计

    万次阅读 多人点赞 2018-11-24 13:38:11
    摘 要 交通灯是生活中的重要系统。本设计为基于51单片机交通灯系统的设计,采用模块...系统电路简单、集成度、工作稳定、调试方便、检测精度,具有一定的实用价值。 【关键词】AT89C51 8位数码管 发光二级管 按键
  • 关于单片机检测高电平

    万次阅读 2011-04-13 20:59:00
    可以通过设置DDRx的值来设置输入输出(详见数据手册~~)3、切忌要将单片机的检测端口设置为输入,否则可能影响被检测模块端口的电压(如:被拉低电平至0v,或被拉高)4、注意单片机一般是TTL电平模式的,因此高电平...
  • 51单片机蓝牙小车

    万次阅读 多人点赞 2019-02-25 20:41:23
    51单片机蓝牙小车(是我大二做的一个课程设计,小菜鸟一个,欢迎大家指正和参考。) 摘要 本次设计选择基于蓝牙遥控的多功能智能小车为对象。选用STC98C52RC单片机作为主控芯片,电机驱动采用L293N ,...
  • 51单片机产生方波程序程序完整正确,下载即可应用演示。
  • 关于高电平与低电平的使用

    千次阅读 2019-10-09 20:13:38
    在实际项目中,经烧录软件,...在播放音乐时能有声音,在有提示音时需要拉高电平,在通话去,来电时,需要拉高电平。 如何定义PE7 在config.h中,新增如下代码 //USER DEFINE #define APM_PE7_INIT() GPIOEDE ...
  • 利用51单片机输出PWM波

    千次阅读 多人点赞 2020-07-23 10:11:55
    ) 3、编写程序时也可以定义一个标志位如flag,根据flag的状态决定输出高平还是低电平,假设定义flag=1的时候输出高电平,用一个变量去记录定时器中断的次数,每次中断就让记录中断次数的变量+1,在中断程序里面判断...
  • 51单片机PWM控制电机

    万次阅读 多人点赞 2015-01-02 17:38:19
    小时候玩的四驱车,给直流马达接... 电源电压输出是固定的,电机的转速也因此是固定的,为了调节电机的转速,就得改变电源电压的输出。how?用PWM调制的方法,把恒定的直流电源电压调制成频率一定宽度可变的脉冲电压序
  • 单片机 数字电压表(ADC0809)

    万次阅读 多人点赞 2018-06-02 11:42:44
    单片机 数字电压表(ADC0809) 一、简述 采用模数转换的芯片ADC0809实现设计数字电压表。例子中设计的数字电压表可以测量0~5V范围内的输入电压值,并且通过4位LED数码管显示采集的电压值,例子测量三个模拟值:4....
  • 补充: 1.TMOD定时器/计数器工作方式寄存器 GATE=1时,定时器由INT和TR共同控制,用于测量脉宽;...2.1T0/T1控制外部引脚输出方波 1.设计思路:设置定时计数器工作在定时工作方式,在中断服...
  • 【微信小程序控制硬件第1篇 】 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! 【微信小程序控制硬件第2篇 】 开始微信小程序之旅,导入小程序Mqtt客户端源码,实现简单的...
  • 单片机控制跑马灯

    万次阅读 多人点赞 2015-11-19 11:02:48
    一、跑马灯和流水灯的区别 好多人分不清跑马灯和流水灯,还以为是同一种状态,虽然难度等级是一样的,但是灯的亮灭显示方式是不一样的。请看下图 二、单片机控制LED灯的常用电路接法 ...大家可以根据自己实际的
  • 51单片机输出方波问题

    千次阅读 多人点赞 2020-03-06 12:06:03
    今天分享一个题目,有关51单片机输出方波的问题,好了,进入正题 二:题目 已知8051单片机的时钟频率为6MHZ,通过定时器1的工作方式1在P1^1引脚输出一个1KHZ占空比为60%的矩形波。 三:分析题目 1、首先第一个条件,...
  • 单片机小知识总结

    千次阅读 多人点赞 2017-07-17 13:17:37
    单片机
  • 为了防止系统上后,未用到管脚电平为GND或VCC,造成系统混乱,请务必将为用到管脚设置为 输入阻态。 设置方法如下: 菜单 assignment -> device -> device and pin options.. 里面设置。 将unused ...
  • 在学习板P3.3接外部脉冲,脉冲是24V金属接近开关输出信号,用39k、10k电阻分压至5V左右,输入单片机P3.3引脚。用检测外部中断程序测试,中断一直不响应,无论外部脉冲是、低电平,测量P3.3和GND电压一直是4V多。...
  • 使用DHT11和51单片机进行温度的读取。 1、DHT11 DHT11是非常用的温湿度传感器。其共有4个引脚,实物图网上一大把,这里就不放了,分别是VCC供电,串行单总线,NC空脚悬空就行,最后便是GND。 2、时序图 ​​​...
  • 51单片机点亮1个LED灯方法 名称:IO口高低电平控制 ... 编写:shifang 日期:2009.5 修改:无 内容:点亮P1口的一个LED灯 该程序单片机学习中最简单最基础的, 通过程序了解如何控制端口的高低电平
  • 51单片机中,有4个组I/O口,分别是P0、P1、P2、P3;...而在STC89C52中5V的系统中(如下图所示),低于0.8V被识别为低电平,而高于2.0V被识别为高电平。 LED电路原理图: 在51单片机系统中,LED正极接电源VC...
  • DJNZ R4,LP3 DJNZ R3,LP2
  • 51单片机超声波测距程序

    万次阅读 多人点赞 2018-08-03 17:15:08
    51单片机超声波测距程序
  • 简介 定时器的输入捕获可以用来测量脉冲宽度与PWM的输入测量...设置输入捕获极性,高电平有效还是低电平有效, CCER–CCxP 设置输入捕获映射通道,一个通道的信号可以映射到不同的通道上(交叉映射) CCMRx–CCxS 设置

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,479
精华内容 5,391
关键字:

单片机输出高电平程序