- 博客(63)
- 收藏
- 关注
原创 第十八章:nRF24L01无线模块
2.4G应用发射端:/********************************************************************* 巫妖王V3.0开发板例程 朱有鹏物联网大讲堂出品(www.zhulaoshi.org) 技术支持和学习讨论请加朱有鹏单片机学习1群 214959925获取************...
2018-12-05 21:43:37
617
1
原创 第十七章:RFID-RC522模块
#ifndef __RC522_H__#define __RC522_H__/************************************************************************ 头文件包含************************************************...
2018-12-05 21:35:27
6720
4
原创 第十六章:ESP8266
/************************************************************************ 本地宏定义***********************************************************************/ #define MATR...
2018-12-05 15:11:20
333
原创 第十五章:蓝牙模块
/************************************************************************ 本地宏定义***********************************************************************/ #d...
2018-12-05 14:16:06
310
原创 第十四章:0.96寸OLED12864显示屏
MCU Interface Selection----------------------这里说下通过字模软件来提取库 ---------6800 ---------8080 ---------4线制的SPI...
2018-12-04 23:07:07
11875
1
原创 第十三章:HC-SR501红外感应
产品描述: D-SUN PIR 人体红外感应模块 是基于红外线技术的自动控制产品。灵敏度高、可靠性强、超低功耗,超低电压工作模式。广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品. 电气参数 产品型号 HC--SR501人体感应模块 工作电压范围 直流电压4.5-20V 静态...
2018-12-04 09:51:07
4594
原创 第十二章:超声波测距
控制原理:时序图详细解释: 引脚图定义引脚: /**/sbit gTrig = P2^0; // 脉冲产生引脚sbit gEcho = P2^1; // 回波产生引脚一:开启触发信号void StartModule(void) // 启动模块一次{ gTrig = 1; // 启...
2018-12-03 17:35:00
565
原创 第十一章:第十章:红外接收程序
首先我们要知道,在通过IR接收我们就要通过一个中断来实现,当我的接收器电平发生变化是,触发中断进入IR中断解析判断。1、打开定时器/********************************************************************** 函 数 名 : IrInit* 函数功能 : 红外接收口初始化为中断下降沿触发模式* 参数列表...
2018-12-03 17:15:57
430
原创 第十章:红外接收基本理论知识
红外遥控编码格式红外遥控器的编码格式通常有两种格式:NEC和RC5 NEC格式的特征:1:使用38 kHz载波频率2:引导码间隔是9 ms + 4.5 ms3:使用16位客户代码4:使用8位数据代码和8位取反的数据代码下面的波形是从红外接收头上得到的波形:(调制信号转变成高低电平了) 不过需要将波形反转一下才方便分析: NEC 协议通过脉冲...
2018-12-03 16:54:53
1561
原创 第九章:DS18B20
重点是协议的方式:单总线协议重点是:协议中的时间间隔问题外部线路初始化步骤:mintime-----maxtime(480-960)低电平时间之后进入等待时间(15us-60us)将单总线拉高,看从设备是否将总线从新拉低/*********************************************************************...
2018-12-03 16:48:12
518
原创 第八章:LCD(8位数据传输)
#define LCD1602_DATA_PORT P0 // LCD1602的8位数据端口sbit gLcd1602_E = P2^7; // LCD1602控制总线的使能信号sbit gLcd1602_RW = P2^5; // LCD1602控制总线的读写选择信号sbit gLcd1602_RS = P2^6; // LCD1602控制总线的数据/命令选择信...
2018-12-03 15:11:53
3024
原创 第七章:IIC时序
推荐连接https://blog.youkuaiyun.com/gogomusic/article/details/79344139I2C(IIC,Inter-Integrated Circuit),数据线SDA(data)和时钟SCL(clock)构成的串行总线,双向传送。高速IIC总线一般可达400kbps以上,IIC是半双工通信方式。例子是:24C02/**********...
2018-12-02 20:58:29
2586
原创 第六章:SPI通信(3线制)(4线制)
1.SPI总线简介 SPI(serial peripheral interface,串行外围设备接口)总线技术是Motorola公司推出的一种同步串行接口。它用于CPU与各种外围器件进行全双工、同步串行通讯。、 四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效...
2018-12-02 20:43:37
16714
原创 第四章:定时器、串口通信的收法、还有一些常用的传感器(磁感应开关、单点电容触摸按键)、直流电机等。
0--------定时器 /********************************************************************** 函 数 名 : Timer0Init* 函数功能 : 定时器0初始化函数* 参数列表 : 无* 函数输出 : 无********************************...
2018-11-26 15:19:31
398
原创 第一章:佑华的8bitMCU的学习笔记
1、当我们使用一款IC时,需要知道这块IC对应的特殊寄存器的头文件。譬如我们现在用的AM8EB151X,对应的头文件就是:8EB_SFR.h; ************************************************; Alpha AM8EB SFR definition; *********************************************...
2018-11-21 18:08:15
916
原创 第三章:实验总结:LED output 、数码管点亮、75HC595串行输入并行输出(典型的SPI的方式)、蜂鸣器(有缘、无缘)、按键(独立按键、矩阵按键)。
0--------LED output /************************************************************************ 头文件包含********************************************************************...
2018-11-21 16:05:43
1417
1
原创 第二章:gpio基本模式使用intput / output
0-------- 在使用51mcu时需要在头部包含#include“REG52.H”#ifndef __REG52_H__#define __REG52_H__/* BYTE Registers */sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;sfr PSW = 0xD0;s...
2018-11-16 12:28:23
1727
原创 第一章:从头复习经典之STC89C52单片机
0-------- 搭建环境 (1):一块51开发板:涉及到的外设有 这里有一个GPIO的概念,在51中GPIO只有两种模式:一种是input,一种是output。 - 8颗LED灯 蜂鸣器 实验内容:点灯,规定时间闪烁,流水灯(从左边,从右边)。 目的:熟悉51变成环境,锻炼c语言基本位操作。 ...
2018-11-16 00:10:53
6745
转载 AES加解密算法详解
0 AES简介 美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。 根据使用的密码长度,AES最常见的有3种方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256。1 算法流程 AES加解密的流程图如下(以128位密钥为例): ...
2018-08-03 17:42:28
2962
1
原创 HCNA-IoT华为认证物联网工程师培训 V1.0
1、HCNA-IoT华为认证介绍 (1)物联网技术研发,运维管理能力。 (2)该认证覆盖了最核心知识,职业认证。 技术分支: 物联网主流技术 华为物联网产品 lot连接管理平台 ...
2018-06-06 18:24:18
6494
原创 C语言中函数传递(实参 形参)
形参:在被调函数形参表中的变量名、数组名,该过程在被调用前,没有为它们分配内存,其作用是说明自变量的类型和形态以及在过程中的作用。 形参可以是 合法变量名,数组名实参:从主调过程传递给被调用过程的参数值。实参可以是变量名、数组名、常数或表达式。在过程调用 传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但它们的数据类型、参数个数及位置必须一一对应
2018-06-05 16:12:45
8445
2
转载 第十六章:STM32处理器启动代码的理解
[cpp] view plain copy/** ****************************************************************************** * @file startup_stm32f10x_md.s * @author MCD Application Tea
2018-06-05 16:11:56
3693
1
原创 第二章:SetHsiClockUser内部高速时钟函数详解
void SetHsiClockUser(void){ isHseHsiCntFlag |=0x02; Hse1Hsi0User = 0; PLL_M =16; //添加使用内部振荡源,HSI时钟信号由内部为16MHzRC振荡器生成,可直接用作系统时钟,或者用作 PLL 输入 RCC->CR &= ~((uint32_t)RCC_CR_HSEON);//...
2018-06-05 16:08:46
862
原创 第二章:SetSysClock系统设置时钟函数详解(2)--简化版
static void SetSysClock(void){ //在MDK5中设置部分要添加Define:STM32F40_41xxx,USE_STDPERIPH_DRIVER #if defined (STM32F40_41xxx) || defined (STM32F427_437xx) || defined (STM32F429_439xx) || defined (STM32F...
2018-06-05 15:59:28
2229
原创 第二章:SetSysClock系统设置时钟函数详解
static void SetSysClock(void){#if defined (STM32F40_41xxx) || defined (STM32F427_437xx) || defined (STM32F429_439xx) || defined (STM32F401xx)/**********************************************************...
2018-06-05 14:08:10
2991
原创 第二章:SystemInit系统初始化函数详解
void SystemInit(void){ /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << 10*2)|(...
2018-06-05 13:37:15
1767
原创 第一章:startup_stm32f40_41xxx.s启动代码的理解
Stack_Size EQU 0x00000800 ;定义堆栈的大小AREA STACK, NOINIT, READWRITE, ALIGN=3 ;堆栈段,未初始化,允许读写,8字节边界对齐Stack_Mem SPACE Stack_Size ;分配堆栈空间,把首地址赋给Sta...
2018-06-05 10:39:45
2340
原创 华为NBlot物联网学习内
1.华为NBIOT物联网技术学习全介绍 1.1.华为NBIOT物联网系列课程路线图 1.2.物联网的深度理解和最新动态 1.3.半小时了解NBIOT技术全貌 1.4.华为物联网体系全介绍2.NB476开发板核心技术详解 3.NBIOT物联网云管端全系统开发模式 3.1、端侧开发 3.2、物联云平台开发 3.3、北向应用开发4.NBIOT模块原理和编程...
2018-06-04 20:30:39
12760
2
原创 AM8系列产品学习
overview: AM8Axxxxx是声音和旋律合成器的8位微处理器,主要特性包含8-bit ALU,multiplier,ROM,RAM, I/o Ports,temers,capture,clock generator,voice and melody synthesizer ,D/A etc. 由89个指令集构成在驱动中,用CMOS技术和停机功能可以最大程度上降低功耗,他的架构...
2018-06-04 12:16:03
345
原创 5.2、STM32Cube和HAL库使用初体验
5.2.1、STM32Cube和HAL库模式开发流程 5.2.1.1、流程介绍 (1)环境搭建:STM32CubeMX安装、STM32xxFW安装、MDK5安装、pack包安装 (2)STM32CubeMX中创建工程、选择芯片型号、做图形化配置 (3)生成MDK版Project (4)MDK5中打开Project,开始正式开发 5.2.1.2、实战演练 ...
2018-06-01 12:02:51
4646
原创 5.STM32的cubeMX和HAL库学习准备
5.1单片机软件开发的时代变化 5.1.1、单片机的演进过程 (1)第一代:4004、8008、Zilog那个年代(大概1980年之前) (2)第二代:51、pic8/16、AVR那个年代(大概2005年前) (3)第三代:51、PIC32、Cortex-M0、M1、M3年代(大概2005年到现在) (4)第四代:51、STM8/MSP430、PIC、Cortex-M...
2018-05-29 11:55:43
1269
原创 linux-程序手册之sqrt
SQRT(3) Linux Programmer's Manual SQRT(3)sqrt(3) linux程序手册NAMEmane:名字 sqrt, sqrtf, sqrtl - square root function(平方根函数)
2018-03-28 14:43:36
1006
原创 AM4A_UM_Eng_v1-00
目录(table of contents)一:一般概述一般说明:这是一款低价AM4A新系列,低功耗(power dissipation)的LCD驱动和高性能(high performance)音频与旋律合成器的4位微处理器,不同于旧的AM4AB系列,他加强了多方面特点包括更多的ROM(1.5k*16bit ROM),更多的RAM(2页(pages) 64*4bit RAM),改进了音频合成
2018-03-27 16:45:40
225
转载 二进制、位运算、位移运算
思考题1、请看下面的代码段,回答a,b,c,d,e结果是多少?public static void main(String []args){int a=1>>2;int b=-1>>2;int c=1int d=-1int e=3>>>2;//a,b,c,d,e结果是多少System.out.println("a="+a);/
2018-03-27 14:30:59
1409
1
转载 第十九章:stm32之定时器
一:定时器中断实现步骤① 能定时器时钟。 RCC_APB1PeriphClockCmd();② 初始化定时器,配置ARR,PSC。 TIM_TimeBaseInit();③开启定时器中断,配置NVIC。 void TIM_ITConfig(); NVIC_Init();④ 使能定时器。 TIM_Cm
2018-02-05 16:16:30
326
转载 第十八章:STM32之窗口看门狗
一:窗口看门狗窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在 T6 位 (WWDG->CR 的第六位)变成 0 前被刷新,看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果 7 位的递减计数器数值(在控制寄存器中)被刷新, 那
2018-02-03 19:03:46
339
原创 第十七章:STM32独立看门狗(IWDG)的使用
单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号) 。感觉是是自动复位功能,就是在一定时间内你应该去喂它而如果程序中途进入了死循环(就是喂不了了)这个MCU就挂了。。但如果没开IWDG ,你不知道它挂没挂
2018-01-15 15:20:25
2561
转载 第十六章:中断服务函数的调用机制
(初学中断,学到中断服务函数时感受到蛋蛋的惊讶,main中并没有调用但确实执行了,简直超出了我对c的理解,几番百度之后,总算有所收获!)1首先是定性的理解:当中断触发之后会保存当前堆栈和寄存器(不清楚还有没有其他)的状态,然后程序跳转到中断向量(就是中断服务程序首地址)执行,执行完毕后返回之前的运行状态。2中断服务函数是如何写入中断:eg:void EXIT0_IRQHandl
2018-01-12 21:25:06
16491
1
转载 结构体字节对齐
在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是内存对齐。内存对齐的原因:1)某些平台只能在特定的地址处访问特定类型的数据;
2018-01-10 12:40:37
143
转载 第十五章:外部中断EXTI的配置注意事项
1,EXTI_InitTypeDef 定义于文件“stm32f10x_exti.h”:typedef struct{u32 EXTI_Line; //外部中断通用I/O映像 EXTIMode_TypeDef EXTI_Mode; //模式EXTIrigger_TypeDef EXTI_Trigger; //触发方式FunctionalState EXTI_LineCmd;
2018-01-08 10:30:07
508
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人