单片机
文章平均质量分 67
走过_冬天
这个作者很懒,什么都没留下…
展开
-
PLC简介
经常听同事说起PLC,一直不知道PLC是什么东西,去网上搜索了相关资料,还是不清楚PLC控制原理,有机会还要去实际应用中分析,先简单记下。PLC简介 = Programmable Logic Controller,可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并原创 2016-10-11 21:34:05 · 9556 阅读 · 1 评论 -
定时器中断实验
实验内容 通过定时器中断配置,每500ms中断一次,然后中断服务函数中控制LED实现LED1状态取反(闪烁)。实验代码 main.c#include "led.h"#include "delay.h"#include "usart.h"#include "time.h"int main(){ delay_init(); NVIC_PriorityGroupConfig(NV原创 2016-10-06 20:18:56 · 4005 阅读 · 0 评论 -
窗口看门狗
窗口看门狗简介 窗口看门狗( WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在 T6 位 ( WWDG->CR 的第六位)变成 0 前被刷新,看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位。 图 1 窗口看门狗工作示意图 T[6:0]就是 WWDG_CR原创 2016-10-05 21:21:04 · 715 阅读 · 0 评论 -
独立看门狗
经常听到同事说起看门狗,当时心里就想,我见过狮子狗,哈巴狗,就从没见过看门狗,难道这世上还有这样一种狗,听得我一头雾水,还以为他们在聊宠物呢。现在终于知道这是只什么狗了,哈哈,和我想像中的差别有点大。STM32 独立看门狗简介 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 40原创 2016-10-05 15:08:54 · 2164 阅读 · 0 评论 -
外部中断
1、STM32外部中断简介 STM32F103 的中断控制器支持 19 个外部中断/ 事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。 STM32F103 的 19 个外部中断为: 线 0~15:对应外部 IO 口的输入中断。 线 16:连接到 PVD 输出。 线 17:连接到 RTC 闹钟事件。 线 18:连接到 USB 唤醒事件。 STM32 供 IO 口原创 2016-10-05 14:41:33 · 697 阅读 · 0 评论 -
VS2013+uCOSII V2.91(uCOSII移植)
最近在看任哲的《嵌入式实时操作系统原理及应用》,看了前面8章,虽然能看懂书上的代码,但因为没有动手写过,心里没有底,所以还是得动手写点代码测试。书上推荐的是Borland C 3.1,但因为Win10不知道什么原因,安装不了,就放弃了。uCOSII既然是用C写的可移植实时操作系统,能不能移植到PC上用VS编译呢。于是就在网上搜索了一下,果然有前辈开路。 下面开始讲述怎么把uCOSII移植到VS20原创 2016-10-27 08:27:04 · 7413 阅读 · 9 评论 -
串口通信
main.c#include "led.h"#include "delay.h"void My_USART1_Init(void){ GPIO_InitTypeDef GPIO_InitStructrue; USART_InitTypeDef USART_InitStrue; NVIC_InitTypeDef NVIC_InitStrue; RCC_APB2Per原创 2016-10-01 23:22:07 · 1383 阅读 · 0 评论 -
按键实验
main.c#include "led.h"#include "key.h"#include "beep.h"#include "delay.h"int main(){ u8 key; delay_init(); LED_Init(); KEY_Init(); BEEP_Init(); while(1) { key = KEY_原创 2016-09-28 22:41:10 · 675 阅读 · 0 评论 -
蜂鸣器的呐喊
main.c#include "led.h"#include "delay.h"#include "beep.h"int main(){ delay_init(); LED_Init(); BEEP_Init(); while(1) { //GPIO_SetBits(GPIOB, GPIO_Pin_8); GPIO_ResetB原创 2016-09-27 22:49:49 · 385 阅读 · 0 评论 -
点亮第一盏LED灯,点亮另一片世界
千里之行,始于足下。点亮第一盏LED灯,点亮另一片世界。main.c#include "led.h"#include "delay.h"int main(){ delay_init(); LED_Init(); /* // 库函数版本; while (1) { GPIO_SetBits(GPIOB, GPIO_Pin_5);原创 2016-09-27 22:38:48 · 1142 阅读 · 0 评论 -
PWM输出
PWM介绍 脉冲宽度调制(PWM),是英文“ Pulse Width Modulation” 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同原创 2016-10-06 22:21:57 · 18789 阅读 · 0 评论