stm32之位带操作:原理及使用方式

    忽然想起来之前的位带操作还没有放上来,单片机裸机很多时候都是GPIO的操作,当然我们如果使用库函数的话实际没什么差别,不使用位带操作时,可以用库函数GPIO_ReadOutputData()与GPIO_ReadInputData()来读取GPIO的输入输出,但是这个位带操作是个很厉害的发明,下面讲下它的原理以及位带操作有什么优越性。    这个位带操作是做待机唤醒想起来的,这里有个函数PAin(n),就是读取第几个PA口的数据,程序具体如下 #define PAin(n)    ...

http://www.eeworld.com.cn/mcu/2018/ic-news101641842.html 发布时间: 2018-10-16



51单片机寄存器配置小技巧

整型数据转换二进制数据的技巧知识点:该技巧比较适合应用在51单片机寄存器的配置方面;减少了我们的计算量。思路——>我们比较习惯直接的整型数据;当我们需要配置寄存器,这时能不能直接利用该数据作为我们配置寄存器的数据呢?这过程需要将数据转换,例如将一个int 型  11110111 转换成 0xf7  该如何做到呢?此时可以利用到##在C语言中的粘合作用,具体百度。一,   #define   Bin(n)      LongToBi...

http://www.eeworld.com.cn/mcu/2018/ic-news101541818.html 发布时间: 2018-10-15



keil5 MDK软件中传统C51与STM32相互兼容的方法

之前单片机刚入门开始学89C51,开发环境为keil4,后来升级到keil5,现在准备学STM32,STM32开发环境为keilMDK,于是找到keilMDK安装包下载之后,才发现他和Atmel、STC的单片机不兼容,于是在百度中寻求让他们兼容的方法,有人说什么更改TOOL文件里的东西,本人尝试了一下也没成功。最近又看到一种方法,十分简单,亲测已经成功完成兼容。于是将此方法写在这里。1、首先准备普通keil的版本(即C51的,不是MDK版本的),然后按照安装步骤进行安装激活(安装并且进行注册机注册),安装路径任意,但是要记住这个安装路径,因为下一步要用到。2、第二步进行keilMDK的安装。这...

http://www.eeworld.com.cn/mcu/2018/ic-news101541813.html 发布时间: 2018-10-15



单片机常识—结构和相关公司

概述绝大多数现在的单片机都是基于冯·诺伊曼结构的,这种结构清楚地定义了嵌入式系统所必需的四个基本部分:一个中央处理器核心,程序存储器(只读存储器或者闪存)、数据存储器(随机存储器)、一个或者更多的定时/计时器,还有用来与外围设备以及扩展资源进行通信的输入/输出端口——所有这些都被集成在单个集成电路芯片上。说单片机与通用型中央处理单元芯片不同,是因为前者一般很容易配合最小型的外部支持芯片制成工作计算机。这样就可以很容易的把单片机系统植入装置内部来控制装置了。近年来为了在指令和数据上使用不同的字宽,并提高处理器流水线速度,哈佛结构在微控制器(Microcontrollers)和数字信号处理器(Di...

http://www.eeworld.com.cn/mcu/2018/ic-news101041636.html 发布时间: 2018-10-10



单片机各大分类与详解

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit)单片机芯片常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,...
关键词: 单片机 分类

http://www.eeworld.com.cn/mcu/2018/ic-news101041633.html 发布时间: 2018-10-10



51单片机存储器小结

存储器分为程序存储器(ROM)和数据存储器(RAM),两种又都可以分为片内和片外,片外即需要自己在单片机外部扩展。8051单片机的片内程序存储器有4K,片内数据存储器有256个字节,其中又分为高128字节位特殊功能寄存器区,真正用户能用的RAM只有低128字节。8052单片机有8K片内程序存储器,而数据存储器除了低128字节外还有扩展的高128字节,地址上跟特殊功能寄存器一样,但物理上是独立的,寻址方式不一样,扩展的高128字节只能间接寻址。Keil中变量的存储类型:存储类型说明code程序空间(无需改变的变量)data直接访问的内部数据存储器(速度最快)idata间接访问的内部数据存储器(可...
关键词: 51单片机 存储器

http://www.eeworld.com.cn/mcu/2018/ic-news101041629.html 发布时间: 2018-10-10



51单片机的仿真栈(模拟栈/可重入栈)

首先来看,51的系统栈(又叫系统栈,或者硬件栈),就是SP所指向的栈,他是一个满增栈(注释1),位于片内RAM的128 bytes之中,上电之后系统堆栈指针SP的初值等于多少呢?这个要从51的启动文件来分析,启动文件中有这样的汇编代码:?STACK SEGMENT IDATA ;定义一个片内数据段,段名:?STACKRSEG ?STACK ;选择之前定义过的一个可重定位的段?STACK,下面的汇编语句将会被放置到该段,直到遇到下一个段定位指令,例如CSEG/RSEG。DS 1 ;预留存储区命令。声明先占用一个字节的空间,在编译时,这个预留的空间不会被其他变量所使用。在这里的意义是,给硬件栈分配...

http://www.eeworld.com.cn/mcu/2018/ic-news101041628.html 发布时间: 2018-10-10



51单片机定时器使用经验总结

单片机定时器的使用可以说非常简单,只要掌握原理,有一点的C语言基础就行了。要点有以下几个:1. 一定要知道英文缩写的原形,这样寄存器的名字就不用记了。理解是最好的记忆方法。好的教材一定会给出所有英文缩写的原形。2. 尽量用形像的方法记忆。比如TCON和TMOD两个寄存器各位上的功能,教程一般有个图表,你就在学习中不断回忆那个图表的形像。3. TMOD:定时器/计数器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。其格式为:其中低四位定义定时器/计数器C...

http://www.eeworld.com.cn/mcu/2018/ic-news101041626.html 发布时间: 2018-10-10



高手分享一些对单片机的经验理解

单片机,single chip microcomputer,单芯片微型计算机。总体来说,他就是一个芯片。但是他是一个特殊的芯片,因为他不是实现单独的逻辑功能。他是将一个整体的计算机系统集成到这个芯片上。这个计算机系统包括运算器,控制器,存储器,输入设备和输出设备。其实单片机的学习,和计算机的学习差别不是太大。包括运算器,控制器,存储器,以及输入输出设备的学习。运算器运算器由运算部件--算术逻辑单元(alu)、累加器、计算器等部件组成。控制器学习的难点在于涉及到指令方面的操作。控制器由程序计数器,指令寄存器,指令译码器,时序发生器和操作控制器。单片机的开发过程:这里所说的开发过程并不是一般书中所...

http://www.eeworld.com.cn/mcu/2018/ic-news101041627.html 发布时间: 2018-10-10



浅谈单片机上操作系统的利弊

早在20世纪60年代,就已经有人开始研究和开发嵌入式操作系统。但直到最近,它才在国内被越来越多的提及,在通信、电子、自动化等需要实时处理的领域所日益显现的重要性吸引了人们越来越多的注意力。但是,人们所谈论的往往是一些著名的商业内核,诸如VxWorks、PSOS等。这些商业内核性能优越,但价格昂贵,主要用于16位和32位处理器中,针对国内大部分用户使用的51系列8位单片机,可以选择免费的uC/OS-II。uC/OS-II的特点1.uC/OS-II是由Labrosse先生编写的一个开放式内核,最主要的特点就是源码公开。这一点对于用户来说可谓利弊各半,好处在于,一方面它是免费的,另一方面用户可以根据...
关键词: 单片机 操作系统

http://www.eeworld.com.cn/mcu/2018/ic-news101041625.html 发布时间: 2018-10-10



对单片机行业的一些理解

单片机,single chip microcomputer,单芯片微型计算机。总体来说,他就是一个芯片。但是他是一个特殊的芯片,因为他不是实现单独的逻辑功能。他是将一个整体的计算机系统集成到这个芯片上。这个计算机系统包括运算器,控制器,存储器,输入设备和输出设备。其实单片机的学习,和计算机的学习差别不是太大。包括运算器,控制器,存储器,以及输入输出设备的学习。运算器运算器由运算部件--算术逻辑单元(alu)、累加器、计算器等部件组成。控制器学习的难点在于涉及到指令方面的操作。控制器由程序计数器,指令寄存器,指令译码器,时序发生器和操作控制器。单片机的开发过程:这里所说的开发过程并不是一般书中所...
关键词: 单片机 行业

http://www.eeworld.com.cn/mcu/2018/ic-news101041617.html 发布时间: 2018-10-10



51单片机最小系统原理图、PCB及组成

单片机:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。 先上原理图和PCB,原理介绍在后面:原理图:(如有错误欢迎留言,PCB:3D效果图:最小系统组成:51单片机最小系统:单片机、复位电路、晶振(时钟)电路、电源最小系统用到的引脚1、主电源引脚(2根)VCC:电源输入,接+5...

http://www.eeworld.com.cn/mcu/2018/ic-news100741563.html 发布时间: 2018-10-07



STM32固件库文件编程结构思想的理解

STM32的固件库文件功能相当完善,提供的API完全能满足一般的项目需要。刚从51单片机转到STM32的人,肯定会被这么庞大的东东吓到,51单片机上对IO口操作,简简单单几行代码就搞定了,一个C源文件就搞定。假如用STM32,对IO口进行简单操作,远不是几行代码能搞定的。(其实直接操作寄存器也能搞定)。   废话不多说,这就带你解剖固件库文件,包你看完之后豁然开朗。   首先,请看一段简单的C语言代码#include <stdio.h>#define base  0x0012ff60#define flash ((TestType ...

http://www.eeworld.com.cn/mcu/2018/ic-news091341311.html 发布时间: 2018-09-13



STM32串口使用详解

一、关于串口需要了解的几个知识点:1.波特率:在串行通讯中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称为波特率。   波特率决定了串口传输的速度,1波特=1bps(位/秒)。波特率为9600的话就是1s传输9600位的数据。   串口的传输与网络等其他的传输有着相似之处,比如常用的wifi,区别在与这些网络的单位是k,只有串口是按位来计数的。2.单工,半双工,全双工:   单工:只能一个方向传输   半双工:可以两个方向传输,但需要分时复用   全双工:两个方向传输二、...
关键词: STM32 串口使用

http://www.eeworld.com.cn/mcu/2018/ic-news091141253.html 发布时间: 2018-09-11



STM32硬件SPI驱动0.96寸的OLED

1.OLED相关参见—->51 软件模拟SPI驱动OLED2.硬件SPI参见—->SPI专题(二)——STM32驱动FLASH(W25Q64)3.驱动程序驱动程序参照51单片机进行移植,只不过模拟的SPI换成STM32硬件SPI,不用再写时序部分的代码。对于STM32的硬件SPI,我们在驱动FLASH中已有介绍,这里就不再做介绍。OLED引脚部分定义:#ifndef __OLED_H#define __OLED_H#include "spi.h"#include "stm32f10x.h"#include "stm32f10x_co...
关键词: STM32 硬件SPI OLED

http://www.eeworld.com.cn/mcu/2018/ic-news091041206.html 发布时间: 2018-09-10



基于51单片机SJA1000 CAN通讯实现

经过一个星期的艰苦奋斗,终于将两个SJA1000通过51单片机成功通讯了!采用的是Pelican工作模式,扩展帧数据格式,验收滤波器是采用单滤波扩展帧模式。发送和接收代码都全部相同样!一 实物图二 串口输出调试信息三 以下是全部程序代码:包括1 main.c、2 uart.h、3 uart.c、4 sja1000.h、5 sja1000.c。1main.c#include "reg51.h"#include "uart.h"#include  "string.h"#include  "sja1000.h&...

http://www.eeworld.com.cn/mcu/2018/ic-news090941181.html 发布时间: 2018-09-09



STM8单片机的启动过程

大学的时候,学过一学期的STM8单片机,当时也算下了挺大的功夫,用的是我挺佩服的一个老师的课本,是用汇编语言教的。不过佩服归佩服,这本书其实现在想起来,一些基础的东西讲得不是很明白,比如说第一章中讲单片机实现原理,居然用51单片机来讲,也用了51单片机的代码,可这本书是STM8好么!用51也要说一下吧,明显是出书出得有一些仓促了。而且书中出现了一些错别字,对我这种强迫症的人来讲,呵呵。当然好的地方就是里面有很多工程实际的东西,也讲到了用STM8汇编实现多任务的例子,和数字滤波等在我当时看来很奇妙很有趣的东西。我还是挺佩服他(潘永雄)的,这是实话,这本书我翻了n多遍,一直不舍等捐掉,其它的什么电...

http://www.eeworld.com.cn/mcu/2018/ic-news090841150.html 发布时间: 2018-09-08



STM32堆和栈,变量的存储

关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的。 那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?以下是网摘:  刚接手STM32时,你只编写一个int main(){while(1);}BUILD://Program Size: Code=340 RO-data=252 RW-data=0 ZI-data=1632 编译后,就会发现这么个程序已用了1600多的RAM,要是在51单片机上,会心疼死了,这1600多的RAM跑哪儿去了,分析map,你会发现是堆和栈占用的,在startup_stm32f10x_md.s文件中,它的前面几行就...

http://www.eeworld.com.cn/mcu/2018/ic-news090841142.html 发布时间: 2018-09-08



STM32学习总结——SMT32基本知识

1.STM32 简介STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。2. STM32...
关键词: STM32 基本知识

http://www.eeworld.com.cn/mcu/2018/ic-news090241074.html 发布时间: 2018-09-02



STM32串口发送数据和接收数据方式总结

之前写了篇关于ESP8266使用AT指令进行互相通讯的实验,在写STM32串口接发数据的程序中,觉得有必要将之前学的有关于串口方面的使用经历加以总结。串口发送数据:1. 串口发送数据最直接的方式就是标准调用库函数 。 void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);第一个参数是发送的串口号,第二个参数是要发送的数据了。但是用过的朋友应该觉得不好用,一次只能发送单个字符,所以我们有必要根据这个函数加以扩展。void Send_data(u8 *s){ while(*s!='\0') {  while(...

http://www.eeworld.com.cn/mcu/2018/ic-news090141049.html 发布时间: 2018-09-01




<上一页 12345678910111213141516 下一页> 相关结果约8,679个