judy的博客

几种flash存储芯片的用途和分类

judy的头像

1、IIC EEPROM------容量小,采用的是IIC通信协议;用于在掉电时,存系统配置参数,比如屏幕亮度等。常用芯片型号有 AT24C02、FM24C02、CAT24C02等,其常见的封装多为DIP8,SOP8,TSSOP8等;

2、SPI NorFlash------容量略大,采用的是SPI 通信协议;用于存放程序和数据。程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从Flash中读取代码执行;可以单字节或单字编程,但

不能单字节擦除,必须以Sector为单位或对整片执行擦除操作。常见到的S25FL128、MX25L1605、W25Q64等型号都是SPI NorFlash。

3、SPI NandFlash------采用了SPI NorFlash一样的SPI的通信协议,用于存储数据;在读写的速度上没什么区别,但在存储结构上却采用了与Parallel NandFlash相同的结构,所以SPI nand相对于SPI norFlash具有擦写的次数多,擦写速度快的优势。

单片机小白学步(13) 点亮第一个LED

judy的头像

前面介绍了很多概念知识,做了很多准备工作,从这一节开始,我们正式开始单片机的学习。我们将使用单片机完成一项非常简单的工作:点亮一个发光二极管(即LED:Light-Emitting Diode)。

LED简介

先简单介绍一下LED。LED是一种半导体器件,大家其实对LED并不陌生,各种电器的指示灯、手机键盘灯、LED液晶屏的背光、高亮LED手电筒等,都是通过LED发光的。LED有两种主要用途,一种是作为指示灯;另一种是照明。照明用的LED一般都是大功率LED,需要较大的电压电流才能正常工作。而这里我们要用到的则是用作指示灯的小功率LED。常见的小功率LED,在它的正负极加上3V左右的电压,就会发光,正常发光的时候,电流大概是2~5mA。这里要注意,LED有正负极之分,接反了不会发光。另外,电压也不可太高,那样会烧坏LED。关于LED更详细的介绍,大家可以参考电子元器件介绍之类的书籍。

电路设计

关于单片机位数的思考(8位、16位、32位)

judy的头像

8位、16位、32位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位。以8位为例,8位二进制的表达范围是0000,0000~1111,1111即十进制的0~255,即每次参与运算的数据最大不能超过255。而16位机的字长是16位,其数据表达范围是0~65535,即每次参与运算的数据最大不能超过65535;32位单片机的字长是32位,其数据表达范围是0~4294967295,即每次参与运算的数据最大不能超过4294967295。

8位、16位、32位与单片机的性能密切相关,通常32位机的性能要高于16位机,而16位机的性能又要高于8位机。

为什么会这样呢?这要从2个方面来分析。

51单片机中关于点亮灯管的简单程序

judy的头像

(1)点亮第一盏灯:

<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
sbit D1=P1^0;
void main()
{
D1=0;
}
</span>
若要点亮第二盏。改为sbit D2=P1^0;

(2)在reg52.h文件里加入:sbit D1=P1^0;

用于点亮第一盏灯,若要点亮第二盏灯。sbit D2=P1^1;以此类推

<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
void main()
{
D1=0;
}
</span>

(3)使用进制数来点亮灯

stm32之GPIO寄存器学习

judy的头像

GPIO即通用输入/输出 (General Purpose Input Output)

包括:

两个32位的配置寄存器 GPIOx->CRL,GPIOx->CRH

两个32位的数据寄存器 GPIOx->IDR,GPIOx->ODR

一个32位的 set/reset 寄存器 GPIOx->BSRR

一位16位的 reset 寄存器 GPIOx->BRR

一位32位的锁定寄存器 GPIOx->LCKR

端口的模式包括:

浮空输入(Input floating)—— 即没有上拉电阻和下拉电阻,电压呈不确定性,一般用来做ADC输入用,这样可以减少上下拉电阻对结果的影响

stm32之GPIO寄存器学习

上拉输入(Input pull-up)

下拉输入(Input-pull-down) 

模拟输入(Analog)

AVR开发 Arduino方法(一) 端口子系统

judy的头像

Arduino UNO R3的主处理器ATMega328P上有3个8位的输入/输出端口,分别是PB,PC和PD。Arduino IDE提供的Blink示例可以帮助我们了解端口的数字输出功能:

// Blink.ino
int led = 13;

void setup() {
pinMode(led, OUTPUT);
}

void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

这个示例使Arduino开发板13(PB5)引脚上的LED闪烁,与数字输出相关的Arduino库函数有:

  pinMode(pin, mode):配置指定引脚为输入或输出

  pin:指定引脚

  mode:OUTPUT(输出),INPUT(输入)或INPUT_PULLUP(带上拉电阻的输入)

  digitalWrite(pin, value):从指定引脚输出电平

  pin:指定引脚

51单片机 RAM 区域的划分

judy的头像

STC89C52 共有512字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的。但是单片机的这512字节的 RAM 在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此我们在使用的时候,也要注意一些问题。

stm32型号命名规则

judy的头像

示例:

STM32 | F | 100 | C | 6 | T | 6 | B | XXX
  1     2    3    4   5   6   7   8    9

从上面的料号可以看出以下信息:

ST品牌ARM Cortex-Mx系列内核32位超值型MCU,LQFP -48封装 闪存容量32KB 温度范围-40℃-85℃;

产品系列:
STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU;

产品类型:
F:通用快闪(Flash Memory);
L:低电压(1.65~3.6V);F类型中F0xx和 F1xx系列为2.0~3.6V; F2xx和F4xx系列为1.8~3.6V;W:无线系统芯片,开发版.

单片机小白学步(11) 购买成品开发板

judy的头像

学习单片机时,我们通常有必要选择一款合适的成品单片机开发板,毕竟所有的电路都自己搭建学起来很不容易。这一篇简单介绍下成品开发板相关的知识。

成品开发板我们可以很容易的从淘宝或电子市场买到。通常都有配套的学习资料,尤其是配套可以直接下载到板子中使用的程序示例,能大大提高我们的学习效率。

电路图的识别

一般成品开发板都有电路图,初学者在看电路图的时候可能会有不少疑惑。下面是某开发板的部分电路图。

单片机小白学步(11) 购买成品开发板

我们可以看到,为了画的简洁好懂,单片机开发板电路图常常会画成图中这样,分成一个个的模块,而不是全部画在一张图中。图中根据功能进行划分每个模块,并且大部分的模块都会有VCC和GND标号。

页面

订阅 RSS - judy的博客