51单片机功能模块学习笔记 — 发光二极管

1. 发光二极管简介 发光二极管是半导体二极管的一种,可以把电能转化成光能。常简写为LED(lightemittingdiode)。 发光二极管与普通二极管一样也具有单向导电性。当给发光二极管加上正向电压(大于LED的正向压降)就会发光,当给发光二极管加上负向电压就不会发光。发光二极管的发光 亮度与通过的工作电流成正比,一般情况下,LED的正向工作电流在10mA左右,若电流过大时会损坏LED,因此使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算:R=(E-UF)/IF 式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作电流...

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



STM32-printf重定向到USART

在使用STM32的过程中,尤其是刚开始学习使用的时候,由于不知道自己的程序写的对不对,就经常需要一点验证的方法,点亮一个LED灯就是最简单的验证方法,但是有的时候还经常需要串口的输出来验证自己的程序是否正确,但是官方提供的函数库中用于串口发送的好像就一个USART_SendData(),通过外设USARTx发送单个数据,对于熟悉C语言的同学来说,这个函数还没有格式输出,当想要输出一个数字,或者字符串的时候,使用起来可能有点麻烦,现在有一个很好的方法就可以使用C语言中的printf()函数,而且使用方法是一样的。如何使用,很简单,我们只需要重新定向printf就可以,将它的数据用STM32的串口...

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



STM32学习笔记一(LED,跑马灯,呼吸灯)

1.点亮板上的LED小灯首先,我先自我介绍一下。我叫华震,今年应届毕业,普通本三的学生。我有在培训机构培训过ARM Cortex-A8,为什么还要掉头来学习STM32(M3的核)呢,因我我发现现在大多数企业都在用STM32,包括裸机开发,跑ucOS-II、ucGUI等等。所以我买了块红牛开发板来学习STM32,当然如果你刚接触STM32只想简单的入个门的话,我建议你买个便宜的开发板就好了,或者买个最小系统也是可以的。有兴趣一起讨论学习的朋友可以加我QQ详聊,我的QQ是1002521871,验证密码是:呵呵。加QQ请发送“STM32学习讨论”验证消息,否则不加。那好前面就说这么多,下面...

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



STM32启动过程解读与跟踪验证

        近段时间由于在做ucos-iii的移植,所以就顺便了解下STM32的启动过程。经过查阅各种官方文献和对代码进行单步跟踪,详细地叙述了STM32加电启动的具体过程。对于关键性的语句都指明了出处。下面将学习成果分享给大家,由于笔者知识有限,不当之处敬请指出。             为了更好的说明问题,先来看STM32的内存映射(以STM32L1xx为例)        由于...

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



stm32f429之#ifndef的用法

作用:防止头文件的重复包含和编译定义  #ifndef x  #define x  ...  #endif  这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等.实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和条件编译)中的一种----条件编译。 C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理,编译和链接等部分。  #ifndef x  //先测试x是否被宏定义过  #define x  //如果没有宏定义下面就宏定义x并编译下面的语句  ...  #endif  //如果已经定义了则编译#endif后面的语句  ...
关键词: stm32f429 ifndef

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



关于stm32中的GPIO引脚初始化的程序讲解及相关知识拓展介绍

以下是我要讲解的GPIO初始化程序段,尽量讲解小白学习过程中不解的每一个方面。代码讲解时我是根据一个程序边讲边跳入它的声明或是定义中讲解的。voidLED_GPIO_Config(void){            /*定义一个GPIO_InitTypeDef类型的结构体*/1.    GPIO_InitTypeDef  GPIO_InitStructure;       /*开启GPI...
关键词: stm32 GPIO 引脚初始化

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



LCD的控制驱动及基与MCU接口的特点

液晶显示,稳定可靠、成本低、功耗小、控制驱动方便、接口简单易用、模块化结构紧凑,在嵌入式系统中作为人机界面获得了广泛的应用。近年来,国内许多厂商,如紫晶、冀雅、晶华、信利、蓬远等已经能够满足各种定制液晶显示的需求;很多著名半导体厂商,如Hitachi、Seiko Epson、Toshiba、Holtek、Solomon、Samsung等相继推出了许多控制驱动器件。本文以现有的控制驱动器件和液晶显示器如何构成各种结构紧凑、成本低廉、简单易用、性能优良的嵌入式人机界面的设计进行综合阐述。1 液晶显示及其控制驱动与接口概述液晶显示LCD(Liquid Crystal Display),是利用液晶材料...
关键词: LCD 控制驱动 MCU接口

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



KEIL生成的ELF格式文件分析

ARMCC库的分离方法 【库是以AR格式存放的】  惭愧,还是没结果,唉,还是希望能有人能解答,总觉得做技术还是深究一步的好。 为了鼓励看贴的同仁,附上对KEIL C语言的运行库分析步骤: 1.可从 map文件中查到你的程序中用到哪些库中的函数及在哪个库中 2.运行库的目录为:keil\arm\rv31\lib\armlib 3.用armar -x 命令从库中解出相应的.o文件 4.用fromelf -c 命令反汇编相应的.o文件,也可加-output 来何在反汇编结果到文件中 具体命令参数可直接打命令查...
关键词: KEIL ELF格式文件

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



关于在ARM中(MDK下)C与汇编混合编程的问题

关于在ARM中(MDK下)C与汇编混合编程的问题 主要是:MDK下的内联汇编和内嵌汇编主要来源于:http://bbs.21ic.com/icview-156494-1-1.html ([微控制器/MCU]小窍门:Cortex-M3在MDK C语言中嵌入汇编语言的方法)  ============================================================*************************************************************在传统的ARM处理器中(ARM7/ARM9),如果要在...

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



学习ARM反汇编工具objdump和一个简单实例

1、反汇编的原理&为什么需要反汇编arm-linux-objdump -D led.elf > led_elf.disobjdump是gcc工具链中的反汇编工具,作用是由编译链接好的elf格式的可执行程序,来反过来得到汇编源代码。-D表示反汇编。>左边的是ELF的可执行程序(反汇编时候的原材料)>右边的是反汇编生成的反汇编程序。其实就是一个汇编语言。一般情况下我们写一个源代码类似于我们WINDOW里面是EXE的格式,PE格式是官方的名字。2、为什么我们需要进行反汇编,我们要的就是可执行程序。 反汇编的原因有以下:1、逆向破解你想盗版的原来的程序,最终得到程序...

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



STM32在KEIL平台反汇编代码分析

  不同的平台的汇编代码是不一样的,最早的汇编在50年代就发明了,比很多人的父母的年龄都大,老掉牙,不用学习怎么写汇编。一个公司有一个人知道怎么写汇编就够了。但要学习读汇编为什么学习汇编?  1 性能 直接翻译为机器语言,性能最高。优秀的C语言效率只能达到汇编的80%左右。其他高级语言跟汇编一比差得更远。语言越高级性能越差。很多bootloader和BIOS用汇编写,汇编操作的是电脑,手机刚刚上电时,硬件和初始化的那些命令,它们的性能的要求比较高,效率高开机速度更快。   2 分析问题。个人认为,编程人与机器对话,我们写C,写JAVA,但是电脑并不认识这些语言,电脑只认识0...
关键词: STM32 KEIL平台 反汇编

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



PIC单片机之反汇编

前言 反汇编 ,一般情况大家用的不多。但在一些行业确实比较常见。比如 破解加密算法,获得加密密钥,或者自己无法写出完全一致的程序又要修改一些地方的时候反汇编就是必不可少的。反汇编是比较枯燥,又有一定挑战性的东西下面我给大家讲解如何 从BIN文件->HEX文件->汇编->C语言的全部过程。第一步破解芯片这个作为一般是要找专业破解芯片的公司,帮我们把芯片内的  flash 和EEPROM 中的数据读出来,从而得到BIN文件或者HEX。这一步唯一的困难点就是你要花钱。。。第二步BIN转HEX因为PIC的老的MPLAB 或者MPLAB X IDE。都不支持读取BI...
关键词: PIC单片机 反汇编

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



PIC单片机入门_C语言编程技术

1.为什么也是C语言?用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高等,因此C 语言编程在单片机系统设计中越来越广泛的运用。PIC 单片机的软件开发,同样可以用C 语言实现。Microchip 公司没有自行开发PIC单片机的C 语言编译器,但其他公司有开发众多支持PIC 单片机的C 语言编译器,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机开发者中得到广泛认可。Hitech-PICC 编译器基本上符合ANSI C标...

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



PIC单片机入门_汇编/混编/C编比较

1.问题描述:对RAM中从30h开始的50个单元清零。2.汇编方法 <span style="font-size:18px;">COUNT EQU 20H               ;指定20H寄存器为循环变量FSR   EQU 04H               ;指定FSR为04HINDF  EQU 00H            ...

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



PIC振荡器配置与时钟切换

单片机编程就是C语言+寄存器设置。 以前对PIC振荡器的配置都是拿来主义,把别人的代码拿过来用就行了。这两天特意研究下振荡器的配置与时钟切换。在mplab IDE和C30编译器下,针对PIC24FJxx系列单片机完成的测试。 配置振荡器最主要的目的就是为了设置机械时钟Fosc,此时钟给CPU和外设提供时钟源。但为了降低功耗又不中断外设正常通信,此系列PIC保证CPU与外设的时钟同步情况下,增加了打盹模式,用于降低CPU运行时钟速度,以达到节能效果。 个人是这么理解的,CPU时钟就是代码运行时钟,决定代码运行速度;外设时钟就是中断、定时器、输入捕捉、输出比较、UAR...

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



PIC单片机-定时器的应用

一、利用定时器Timer0的定时功能,设计一个倒计时,显示在数码管上。#include <htc.h> #define uint8 unsigned char#define uint16 unsigned int #define SCK_595 RA5#define RCK_595 RE0#define SER_595 RC0 __CONFIG(WDTDIS & LVPDIS & HS & PWRTDIS & BORDIS);//设置配置位//WDTDIS:disable watchdog timer 看门...
关键词: PIC单片机 定时器

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



单片机播放WAV格式音频的理解

    很久以前就看到过某知名嵌入式论坛上有大牛用单片机来做WAV播放器,我看到后觉得很不错,有一种制作的冲动,因为那时MP3播放器还很贵。后来我确实也做出来了,还把它送给朋友。但是,当时只是完全copy别人的电路和程序,唯一跟原创不同的是把它外表做得精美点,并没有对里面的原理做出分析。今天突然想起那个WAV播放器来,所以打算把知识点梳理一番。 一、 首先是WAV格式。WAV格式音频是采用原始的PCM编码数据,没有经过压缩。PCM编码只是一种数字的量化手段,直接用它来当做原始数据来处理是可以的。只要我们按照原来的采样速率把数据通过DAC,那么声音就会还原回来。你要...

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



Google神秘操作系统Fuchsia传在未来5年取代Android

更新:从Google稍早向Cnet网站回应说法,表示目前Fuchsia在内部依然定位在开发项目之一,并没有订出具体时间表,因此现阶段并未有传闻5年内取代情况。另一方面,相关消息也指出Google执行长Sundar Pichai,以及目前负责Android与Chrome产品的Hiroshi Lockheimer也尚未签署任何批准文件,显示现阶段Fuchsia仍定位为Google内部实验发展项目。在此之前,Hiroshi Lockheimer曾强调并不会让Android、Chrome OS合并,两款作业系统依然会以并行方式发展,并且对应不同市场需求,但仍会维持彼此内容互通特性。相关消息指出,Goo...
关键词: Google

http://www.eeworld.com.cn/xfdz/2018/ic-news072388439.html 发布时间: 2018-07-23



S3c2440代码重定位详解

第001节段的概念重定位的引入S3C2440的CPU可以直接给SDRAM发送命令、给Nor Flash发送命令、给4K的片上SDRAM发送命令,但是不能直接给Nand Flsh发送命令假如把程序烧写到Nand Flsh上,即向Nand Flsh烧入* bin* 文件,CPU是无法从Nand Flsh中取代码执行的。为什还可以使用NAND启动?上电后,Nand启动硬件会自动把Nand Flsh前4K复制到SRAM;CPU从0地址运行SRAM;如果我的程序大于4K怎么办?前4K的代码需要把整个程序读出来放到SDRAM(即代码重定位)。如果从Nor Flash启动,会出现什么问题?将拨动开...
关键词: S3c2440 代码重定位

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



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




<上一页 12345678910111213141516 下一页> 相关结果约9,747个