只有8个引脚的单片机,片上资源丰富、性价比高、只有不到一块钱
说起单片机,大家都想到的是引脚数众多,体积较大,如48引脚的LQFP48、100引脚的LQFP100,40引脚的DIP40等。但是在做一些小项目的时候,需求简单功能不复杂,用多引脚单片机比较浪费,这时候该怎么办?有没有一些不需要太多的片上资源、引脚较少、价格便宜的单片机?
1- 8引脚单片机
ST的8引脚单片机
半导体巨头ST就推出了只有8个引脚的单片机。之前提到8引脚的单片机,大家马上就联想到Microchip,该公司推出的8引脚单片机较早。但是PIC系列的单片机编译器众多,不同系列的单片机需要安装不同的编译器,而且下载器不通用,比较昂贵,如ICD3系列市场价在800-1000左右,这就让很多用户望而却步了。
2-多引脚单片机
ST所推出的8引脚单片机为STM8S001,属于STM8S系列,该单片机将以极高的性价比服务于广大用户。全新的 STM8S001 采用小型工业标准的 SOP8 封装,在内核处理速度、系统控制、存储器大小、通信外设及模拟功能方面实现最佳配置与优化。
单片机的基本参数和参数
该单片机的基本参数如下:
内核为STM8,主频16MHz,,三级指令流水线,工作电压2.95-5.5V,5个IO口,有两个定时器,有三种低功耗模式:wait,active-halt,halt。
存储空间
具有8KB的Flash, 1KB的RAM, 128字节 EEPROM。
通信接口和片上资源
具有UART, SPI, I2C各一路,3通道10位ADC,具有5个可配置的外部中断,下载接口为SWIM方式。
3-片上资源
单片机最小系统的搭建
单片机的最小系统包括电源电路、晶振电路、下载电路、复位电路等。STM8S001具有三个可选择的时钟源:1)HSE;2)HSI;3)LSI,如果对时钟频率的精度要求不高可以选择内置时钟。下载接口为SWIM单总线方式可以使用STLINK来实现。其最小系统原理图如下图所示。
4-最小系统电路图
编程环境和下载方式介绍
该芯片的内核为STM8,所以可以使用IAR for STM8,该编程环境专门用于STM8系列单片机,界面清爽,易于操作。
5-IAR Workbench
下载工具使用STLINK-V2即可,只需要和单片机连接SWIM和GND即可,连线简单,还可以实现在线仿真,大大提高代码的调试效率。
6-STM8S001电路板
STM8S001是一款性价比极高的单片机,适用于需求简单、功能不复杂的产品开发,批量价格不到1元钱,大大节省了产品成本。
单片机的程序有多大?
之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是 hex 的文件大小:
我用的单片机芯片是 STM32F103C8T6,程序储存器(flash)只有 64K。
从上图可以看出,hex 有 128K。
我有两点疑问,
1. 只是一个很简单的平衡小车程序而已,有 128K,这么大吗?
2. 就算有 128K,能下载到只有 64K 容量的单片机中去?
这可能是一道送命题!
下面开始我们的探索之旅,以 STM32 开发为例。在 keil 中进行程序编译之后,在界面部分:
很多朋友估计看到这界面,也只关心 2 个点:
第一、自己编写的程序是否正确生成了 hex!第二、自己编写的程序有没有错误,有没有警告!
在图中红线部分:
有 4 个:Code、RO-data、RW-data、ZI-data。
Code:表示所要执行的代码,程序中所有的函数都位于此处。
RO-data:表示只读数据,程序中所定义的全局常量数据和字符串都位于此处。
RW-data:表示已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。
ZI-data:表示未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。
从描述中可以得出:
1. 下载到单片机 FLASH 的程序是:Code+RO-data+RW-data(上图中数据为字节数,kb=byte/1024);
hex=(39546+5862+12428)/1024=56.48
2. 运行在 RAM 中的数据是:RW-data+ZI-data;
原来 window 下显示的 hex 大小,并非是我们下载到单片机中的 hex 大小。
关于为什么显示不同,这又是一个十分有趣的问题,有兴趣的朋友可以一起探讨下。
最后,貌似 C8T6 这个芯片的资源差不多被榨干了,要考虑换芯片了。
相关问答
在MCS-51 单片机 中怎么用CJNE指令 比较 两数 大小 - aWBWZjJI0 ...通过测试CY的值来判断两个数的大小,例如:MOVA,#10HCLRC;清除标志位CYCJNEA,#11H,LOOP;A为第1操作数,立即数11H为第2操作数,比较这两个数,不等...
单片机 ,两个有符号数分别在50H和51H里面, 比较 他们的 大小 ,最后把大的放入60H单元?COMPAR:CLRC;进位标志清零MOVA,50H;50H值送ACJNEA,51H,COMP;比较A与51H值大小COMP:JCCOMP1;如果50H<51H转COMP1JBACC.7,COM...
大型机,小型机,微型机, 单片机 是以计算机的什么性能辨别的?_...单片机是一种微型计算机,它以较低的性能水平来满足特定应用需求。单片机通常用于控制设备,如汽车电子系统、家用电器等。与传统的多芯片计算机相比,单片机具有...
PIC 单片机 中PWM和 比较器 是怎么个意思啊! - 173****2750 的回...PIC单片机里面自己带有比较器和PWM比较器是将一个模拟电压信号与一个基准电压相比较的电路。比较器的两路输入为模拟信号,输出则为二进制信号,当输...
自带RAM 大小 超过512KB的 单片机 有么?比较高档的32位单片机STM32F407上的RAM是196KB其余的多为64KB或128KB8位单片机4KB已经是很大的了比较高档的32位单片机STM32F407上的RAM是196KB其余的多为6...
单片机 测大电流的方法有哪些?目前测量电流的方式非常有限,根据被测电流大小、电流交直流情况,可以分为三种,分别为电阻测量、互感器测量、霍尔效应原理测量等。电阻式测量方法这种也叫分...
单片机 stc89c52和stc90c516rd+的主要不同点?参考官方网站。宏晶科技,加密等级不一样,内部存储大小不一样,指令集一样参考官方网站。宏晶科技,加密等级不一样,内部存储大小不一样,指令集一样
单片机 的地址总线的宽度是什么?地址总线宽度决定了CPU可以访问的物理地址空间,简单地说就是CPU到底能够使用多大容量的内存。地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位单片...
STC89c52与51系列的 单片机 相比,有点是什么?尽量具体?51系列单片机是指51内核stc89c5X基本都是51内核的种累最后一个数字表示E2prom的大小,E2prom=X*4K,c51就是4K,c52就是8k。52还多了一个定时器,所以可以说52是5.....
51 单片机 晶振上接的电容 大小 该如何挑选-ZOL问答一般用的是15P和30P,晶振大小影响不大。51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom...