stm32 GPIO简单介绍及初始化配置(库函数)

前言:相信,大部分查找GPIO的人,都是刚刚接触STM32的人,而刚接触STM32的人,大部分是从51上来的人,所以我会由浅入深,从51和STM32的区别入手,通过对比这两个处理器的配置方法,来跟大家慢慢讲解(学知识可不能急于求成)。博主以stm32f1为主控芯片,以下均简称为stm32。首先,上一张我的理解图(画不好。。。但能看),给个形象的概念一、讲图之前,先给大家一个stm32的概念:“时钟概念”1.  STM32的时钟是什么?stm32的时钟是由内部或外部振荡器产生的“频率”,而被人们形象的称为“系统时钟”。最大为72MHz换成周期T为:1/72MHz≈13.9ns...

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



单片机控制定时器

一、定时器介绍51单片机有2个16位的定时/计数器T0、T1,52单片机有3个16位定时/计数器T0、T1、T2。定时/计数器顾名思义就是有定时和计数的功能,下面主要介绍定时器,对计数器不进行论述单片机的定时功能在日常的单片机编程中应用十分的广泛,同时定时中断也是单片机常用的中断之一,所以学好定时控制也是非常重要的,如果不理解中断的概念请查我的文章嵌入式中断的理解 http://blog.csdn.net/snyanglq/article/details/50238205二、单片机的内部框图与定时器工作原理分析大家请看上面的图,这是定时器T0和T1内部结构图,图中用不同颜色的线条标注...

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



C51单片机定时器T0,T1的常用基本设置

有时候带手机不方便,可以又想知道时间,这时候可以用蜂鸣器做一个音频的时间提醒器,每60秒发一声提醒提醒器计时可以使用单片机的定时器T0、T1来做,计时的定时器用T1来做,工作在方式2(8位自动装载),系统运行提示的定时器用T0来做,工作在方式1(16位定时)代码如下#include "reg52.h" #define uint unsigned int#define uchar unsigned char #define time_set0 5000//设置定时器0的计时长度 #define th0 (65536-time_set0)/256/...

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



单片机控制继电器 使LED灯交替闪烁

今天看到了继电器,想用89C51单片机控制它,使其能控制更丰富的电路,以完成一些复杂的功能。首先用单片机的P2^0直接加到继电器上,发现没有反应,于是查了相关资料。发现单片机引脚输出的电流太小,不足以驱动继电器。解决方法:利用三极管工作在饱和区的特性(开关特性)使继电器直接加在5伏电源之间,使其工作(或者说可以有足够的电流驱动它)。注意:这里三极管并不是起放大电流的作用,只是当作一个开关。原理图如图一(手画有点丑,见谅)。连接电路前先不要接二极管D1,一会再解释二极管的作用。三极管是2n3904 NPN型三极管,基极电阻68欧姆,要把图中的5v电源vcc1和gnd1分别接到单片机的电源和地上....

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



单片机引脚控制继电器最简单的电路方式

首先要明确一点:单片机不能直接控制继电器,不管是3v的继电器还是5v的继电器。原因:比如51单片机和msp430单片机,引脚不能直接接继电器。虽然引脚的电压足够,但是由于电流不够,所以本应该闭合的线圈不会闭合。需要增加一个三极管来放大电流。说是放大电流,其实本质上是把引脚当成一个开关来控制真正3.3v电压的开合。下图是在实践中自己设计的可以正常工作的继电器模块。...

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



51单片机三线串行驱动12864液晶

以前写12864的液晶程序都是用的并行的方式,这种方式焊接起来很麻烦,而且占用的IO口比较多。今天尝试使用串行方式来驱动该模块。本程序是基于STC89C52的12864串行模式的程序,硬件电路连接只需要5根线,VCC  GND RS RW  E , 只需要三个个IO 口就可以显示,大大节省了资源。12864液晶芯片是st7920。自带中文字库。该程序功能:实现使用12864液晶显示字符、汉字(程序有详细的中文注释)。已经调试通过,很好用。下面是电路原理图其时序图如下:根据其时序图写出其代码如下:#include <reg52.h>#include <std...

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



基于51单片机的LCD1602液晶驱动实现

本文的主要内容目录:一、LCD1602的基本介绍二、LCD1602液晶驱动的实现    根据对现有的LCD1602液晶的驱动进行分析,总感觉写的有些乱,有些麻烦,说白了就是不好用,这里打算自己写一个,既简单又实用的。一、LCD1602的基本介绍开发环境:keil, 睿智51开发板LCD1602的液晶原理图如下:引脚对应关系:    P2.0  : 状态引脚,为0时表示指令或者状态,为1时表示数据    P2.1  :读写引脚,为0时表示写,为1时表示读   ...

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



PIC单片机与51单片机的区别

(1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。 (2)流水线结构:MCS-51单片机的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一...

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



嵌入式之IO口总结

名称:IO口总结 说明:最近横向学习了51单片机、STM32和S3C2440的IO口,做了几个相关的实验。 我们数据结构老师曾经说过 ”差异就是知识“。在此,比较了这几个芯片IO口的使用后,有些感悟,总结如下:1.IO口是芯片内部CPU和外设之间沟通的桥梁,也是其他模块(如I2C通讯、SPI通讯)的基础。不同的芯片对IO的操作不太相同,但很类似。高级一点的芯片(如STM32,S3C2440)用寄存器控制IO口,输出相应电平;低级一点的芯片(如51),直接控制IO。2.对于51这样的单片机来说,其IO口的控制使用很简单,就是直接往相应的IO口写入或读出。51单片机的IO口一般...
关键词: 嵌入式 IO口

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



总结C51、STM32和S3C2440的时钟体系和定时器

/* 名称:总结C51、STM32和S3C2440的时钟体系和定时器 说明:对于C51单片机来说,其谈不上什么时钟体系。片上运行的所有东西都靠一个时钟脉冲提供–外部晶振。 对于STM32来说,其时钟体系比较复杂。为了达到降低能耗的目的,再设计STM32时,其厂商特地设计了一个STM32的时钟树。就连最简单的点亮一个LED灯,都必须配置其时钟树,再打开对应的时钟开关。在这里简单介绍一些STM32的时钟树的主要部分: 对于这个复杂的时钟树,它的来源可以为外部高速时钟、外部低速时钟、内部低速时钟、内部高速时钟(HSE、HSI、LSI、LSE)。当然,具体选择哪...

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



STM32_GPIO之点亮LED实验

/* 名称:STM32_GPIO之点亮LED 说明:对于STM32来说,其对LED的操作基本上也是操作对应的IO口。不过, 和51不同的是,STM32为了兼顾各个设备,其配有时钟树,所以在使用对应 设备的时候,需要实现配置好时钟树(库函数中配置了),并开启相应的设备 时钟(这里是对应的GPIO端口)。其次,STM32的IO端口比51单片机要复杂的多,要配置很多东西(如工作模式、工作速度等等)。对于51单片机来说,其IO口的使用(无论是输入还是输出),直接操作对应的寄存器就可以。然后,对于GPIO口的操作,一般来说对于STM32,并不是直接操作对...
关键词: STM32 GPIO 点亮LED

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



STM32_GPIO之按键输入

/* 名称:STM32_GPIO之按键输入 说明:这个实验是GPIO的输入功能。基本的思路和51单片机差不多。也是 操作相应的IO口,不过不同的是对于独立按键输入实验来说,51单片机是 需要一开始把待检测的IO口设置成高电平,然后检测其何时被拉低。而对 于STM32来说,其GPIO端口就可以设置成上拉输入,即不需要再人为的把对 应的对应的IO口设置成高电平,硬件电路会自动把对应端口引脚拉成高电 平。还有一点关于条件编译要说的:这个ifndef… #endif 一般用在头文件中。书上说为了防止重复编译。就我目前了解的来看,在实...
关键词: STM32 GPIO 按键输入

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



51单片机实现LED流水灯(数组方式和位运算方式)

/* 名称:51单片机实现LED流水灯(数组方式和位运算方式)说明:今天又重新开始系统的学习51了,LED就算个开端吧。 要注意两点: 1、sfr和sbit是C语言扩展出来的关键字。其中sfr用于对特殊功能寄存器进行声明,sbit用于对某些特殊功能寄存器的某位进行声明。这里和宏定义很相似,但是不能用宏定义进行替换,对于前者是因为51单片机的寄存器存在于内部空间0x80-0xFF,这空间属于直接寻址,51特殊功能寄存只能直接寻址,不能间接寻址。如果用宏定义的话,在翻译成汇编时就会认为是通过总线访问对应的外部地址了。对于后者,sbit是定义一个标志位,也叫位变量。而类...

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



51单片机之按键实验

/* 名称:51单片机之按键实验 说明:键盘是计算机最基础、最重要的输入设备之一。对于键盘来说,其工作任务大体可以分为以下三项: (1)、按键识别。即判断有无按键按下。 (2)、求键值。判断哪个键被按下。 (3)、执行相应的操作。 在这里,实验所用到的键盘为独立键盘和矩阵键盘。对于独立键盘,它的每个按键需要占用一个IO口。一般来说,按键一端接地,另一端接IO口。当按键按下时,线路被导通,IO口被拉低,即状态为‘0’。所以在使用是我们一般把对应IO口置成高电平,然后不断检测此IO口是否被拉低,从而判断按键是否按下。 对于矩阵键...

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



51单片机之数码管显示实验

/* 名称:51单片机之数码管显示实验 说明:对于数码管来说,其本质上可以理解为按照一定规则组合的多个二极管。其使用只需按照特定规则显示对应的二极管即可。要稍微注意一点的就是多个数码管的显示分为静态显示和动态显示。静态显示就是每个二极管显示的内容是一样的,通过片选信号来决定是哪个二极管该显示。动态数码管,即利用人眼的视觉停留效果,快速扫描,快速显示每个数码管的内容,使得每个数码管看起来好像是一起显示的一样。 本实验编写了几个数码管显示的简单程序。在此不做赘述了。*/#include <reg52.h>#define uchar unsigned cha...

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



C51之外部中断

/* 名称:C51之外部中断实验 说明:关于什么是中断这里就不说了。说说计算机中使用中断有什么好处吧。 (1)、实时处理。在计算机控制系统中,环境、参数的突然变化,可能需要 CPU立即做出相应或处理。 (2)、异常处理。计算机系统运行过程中,经常会出现断电、程序出错等问 题,这时就需要CPU对故障源进行处理。(从某种程度上说,第二点和第一点 差不多)。 (3)、提高效率。由于外设和CPU的速度不同,采用中断技术可以大大提高C PU的运行效率。再来谈谈C51单片机的中断使用。对于C51来说,其中断的内容还是...
关键词: C51 外部中断

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



C51之定时器

/* 名称:C51之定时器 说明: 对于C51单片机来说,其内部有2个定时器,分别是T0和T1。它输入的时钟源是固定的,就是晶振输送的。当然它还可以作为计数器,统计外部输入的脉冲信号。这个实验是定时器中断实验。对于定时器中断,这是属于中断的一种。使用它也需要配置先前所属的相关寄存器。不同的是,关于定时器中断,还需要配置一些其他与定时器相关的寄存器,如定时器方式寄存器(TMOD)、计数器TH、TL等。要注意一点的是,C51单片机的定时器可以工作在中断方式,也可以工作在查询方式。在本实验中,使用定时器0(C51有两个定时器),采用中断方式进行精确时间的显示。*///定时器0中断...
关键词: C51 定时器

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



C51单片机之串口

/* 名称:C51单片机之串口 说明:在计算机之间进行通讯的时候,有两种方式,一个是串行通信,一个是并行通信。对于前者适合长距离通信、有一定的纠错能力。对于后者,适合短距离通信,速度较快。对于C51单片机来说,其内部集成有一个功能很强的全双工通信口。设有两个相互独立的接受、发送缓冲器,可以同时发送数据和接收数据。发送缓冲器只能发送不能读出。接收缓冲器只能接收不能发送,而且两个缓冲器共用一个物理地址(0X99)。在编程时由编译器进行区分。还有,C51单片机的串口有4种工作方式,其中两种波特率时刻变的,另外两种是不可变的。对于具体的使用来说,首先也是需要进行一系列初始化设置(包...
关键词: C51 单片机 串口

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



S3C2440学习之GPIO按键控制LED灯

/* 名称:S3C2440学习之GPIO按键控制LED灯 说明:这是实验2440GPIO的输入功能。基本的流程和51单片机开发的差不多。都是对GPIO端口寄存器的控制不同的是,51单片机可以直接对进行位控制,而2440中GPIO只能对32位的寄存器进行写入或者读出。这样的话,对于有些逻辑操作要稍微复杂点。还有个不同的是,无论是STM32还是51在进行IO按键输入的时候,都需要进行按键消抖,在这里却没又体现出来按键消抖,这是为什么呢?据我了解是这样,在进行51和STM32实验的时候,按键控制的是数码管(数字增加,降低),所以按键的机械抖动会给数码管数字的变化带来显著的影响。在...

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



STM32定时器之控制LED灯循环显示

/* 名称:STM32定时器之控制LED灯循环显示 说明:对于STM32来说,其定时器要比C51的定时器要多,功能也更复杂。就数目来说来说,STM32的定时器可以分为基本定时器,通用定时器和高级定时器(还包括Systick、看门口定时器和窗口定时器)。就STM32F103,一般来说,它有2个高级定时器TIM1和TIM8、4个通用定时器TIM2/3/4/5、2个基本定时器TIM6和TIM7。而C51一般只有几个定时器。就功能来说, STM32中: 对于基本定时器,其功能就是和C51差不多,只有定时功能。 对于通用定时器,它的功能有定时、输出比较、...

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




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