单片机

以下是为您整理出来关于【单片机】合集内容,如果觉得还不错,请帮忙转发推荐。

【单片机】技术教程文章

详论单片机固件模块化架构设计【代码】【图】

[导读] 为什么写本文?做公号两月,遇到一些初学单片机的同学,刚刚入手做单片机开发,还没有涉及到使用RTOS,且刚入手直接上RTOS可能会有些难度,有的使用的相对较老单片机资源还有限,也不适合跑RTOS。或者使用RTOS,在整体思路上比较迷茫,不知从何入手,所以本文来聊聊我对单片机程序的整体框架设计的一些思路体会。为啥要讨论架构单片机系统开发人员的目标之一是在编程环境中创建固件,以实现低成本系统、软件可靠性以及快速的...

51单片机怎么使用MPU6050读取角度值程序 ??

#include <REG52.H> #include <math.h> //Keil library #include <stdio.h> //Keil library #include <INTRINS.H>typedef unsigned char uchar;typedef unsigned short ushort;typedef unsigned int uint;//******功能模块头文件*******//#include "DELAY.H" //延时头文件#include "lcd1602.H" //LCD1602文件#include "MPU6050.H" //MPU6050头文...

单片机引脚输出漏极开路或者集电极开路【代码】【图】

1.漏极开路输出与集电极开路输出相同,就是内部没有负载电阻。漏极开路输出高电平时必须在输出端与正电源(VCC)间外接一个上拉电阻。否则只能输出高阻态。2.上图a为正常输出(内有上拉电阻):场效应管导通时输出低电位,截止时输出高电位。上图b为漏极开路输出,外接上拉电阻:场效应管导通时输出低电位,截止时输出高电位。上图c为漏极开路输出,无外接上拉电阻:场效应管导通时输出低电位,截止呈高阻态。原文:http://www.cnb...

MDK带的CMSIS5.7.0发布,ARM机器学习库,神经网络库和DSP正式迎来大换血,加速单片机AI进程【图】

ARM按照今年年初的路线图稳步推进,这个月如期带来了CMSIS5.7.0。 1、CMSIS5.7.0镜像下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=96992 2、首版单片机机器学习库教程发布:http://www.armbbs.cn/forum.php?mod=viewthread&tid=97329CMSIS-DSP: 升级到V1.8.0版本,更新较大。 (1)大量的Helium(单片机版Neon)API将陆续添加进来,并增加预编译选项ARM_MATH_HELIUM, ARM_MATH_MVEF 和 ARM_MATH_MVEI。 (2)新增SVM...

单片机c语言教程:C51循环语句

单片机c语言教程第十三课 C51循环语句循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作。如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的(当然能使用定时器来做,这里就不讨论),如果是写 1000 条空语 句那是多么麻烦的事情,再者就是要占用很多的存储空间。我们能知道这 1000 条空语句, 无非就是一条空语句重复执行 1000 次,因此我们就...

stm32单片机的C语言优化

对于有些单片机,自身容量是很有限的,有的仅仅只有8k、16k的flash等,但是对32位mcu来说,这点空间实在有点小。不像计算机一样内存和rom都很多,因此有时候就需要进行代码优化。大家都知道,单片机最开始对整数运算很在行,对浮点数的运算也是转换为整数来进行,计算机是离散的,除了带dsp内核的mcu,有dsp模块的M4内核的arm来说,浮点数计算轻而易举。因此在单片机中,可以遵循以下几点:1、尽量不要浮点数,实在不行,用float类...

为什么单片机需要时钟系统,时钟信号在单片机中扮演怎样的角色?

1.单片机内部需要储存器、累加器,这些都需要逻辑门电路。比如锁存器就是一个D触发器,而触发器的置1、清0、置数的功能都需要跳变沿。D触发器就是上升沿后存入数据,而这个上升沿就得外部提供脉冲,这就是脉冲信号 ,而这个脉冲信号就是我们稳定的时钟信号。2.单片机运行需要时钟支持—–就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。单片机可以看成是在时钟驱动下的时序逻辑电路。  以...

SAM4E单片机之旅——19、CAN间通信【代码】【图】

CAN协议具有良好的可靠性,在工业中应用广泛。这次就先熟悉CAN的基本功能。开发板有两个CAN,每个CAN有8个信箱。这次内容是从CAN0的信箱0发送数据到CAN1的信箱0。除本次使用的功能外,CAN还有远程帧、强大的错误处理功能。 一、电路CAN总线上的逻辑数值是用显性电平和隐性电平表示的。“显性”的意思是指在同时传输显性电平和隐性电平时,总线上呈现的是显性电平。显性电平表示逻辑“0”,隐性电平表示逻辑“1”。在使用CAN的过程中...

51单片机实现外部中断0-F【代码】

#include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 = 0x94; sfr P0M1 = 0x93; sfr P2M0 = 0x96; sfr P2M1 = 0x95; uchar count; uchar i; uchar code leddata[]={0xC0, //"0"0xF9, //"1"0xA4, //"2"0xB0, //"3"0x99, //"4"0x92, //"5"0x82, //"6"0xF8, //"7"0x80, //"8"0x90, //"9"0x88, //"A"0x83, //"B"0xC6, //"C"0xA1, //"D"0x86, //"E"0x8E, //"F"0x89, //"H"0xC7, //"L...

单片机TM4C123学习(四):频率计【代码】

1.#define的使用#define SQUARE_DUTY 0.52.FPU的开启:浮点运算FPUEnable(); FPULazyStackingEnable();3.定时器初始化//// Timer init// SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); //使能外设TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);//周期计时模式两个步骤:外部设备使能,设置定时器的类型4.定时周期设置 //// Timer delay period // ui32Period = (SysCtlClockGet()/4/83000); //...

单片机 - 相关标签