只有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元钱,大大节省了产品成本。
PIC单片机与PIC单片机C语言编程简介
对于计算机学院与电子学院相关的同学来说,单片机一定不是一个陌生的概念。在大学的学习生涯中,经常用于教学的是MCS-51系列单片机。其实,除了MCS-51单片机外,还有一类单片机——PIC单片机。
PIC单片机,英文名为Peripheral Interface Controller,翻译为“开发和控制外围设备用集成电路”,可以看作是一种高度集成化的小型计算机,拥有CPU、寄存器、内存单元、串口并口等一系列计算机运行时需要依赖的硬件设备。
二、PIC单片机与MCS-51单片机的区别
相较于51系列单片机,PIC单片机的区别主要有3点:
1.总线结构。51系列单片机采用的是经典的“冯诺依曼体系结构”,而PIC单片机则是采用“哈佛体系结构”。这里简单介绍一下两种体系结构的不同:冯诺依曼体系结构是单总线结构,即数据传输与指令传输共用一条总线;而哈佛体系结构则是双总线结构,即数据传输与指令传输分别使用一条总线。由于采用哈佛体系结构,所以PIC单片机的数据总线和指令总线位数(宽度)可能不同。
2.流水线结构。51系列单片机采用的是单流水线结构,即在一条指令完全执行完毕后才会执行。而PIC单片机则有二级流水结构,可以在一定程度上实现指令并发(虽然不如x86/64系列CPU或者ARM系列CPU)。
3.汇编指令。51系列单片机大约有一百多条汇编指令,基本包含了在程序运行中需要用到的绝大多数汇编指令。而PIC的汇编只有35条,功能较少(例如没有常用的乘除功能,需要使用循环加/减实现乘除功能)。但是PIC的指令执行较快,PIC单片机一个指令的执行只需一个指令周期,而51系列单片机则需要2至4个指令周期。
除了以上区别,在保密性方面,PIC单片机不如51系列单片机,PIC单片机比较不能抗干扰,也很容易被解密。
三、PIC单片机环境C语言编程简介(pic单片机c语言)
相较于其他编程语言,使用C语言开发PIC单片机程序有许多优点:
1.相较于汇编语言来说,使用C语言这类高级编程语言进行编程比较简单方便。使用汇编语言编程需要掌握一定的CPU运行知识,而且对寄存器、运算器、指令集等都需要有一定的了解,编程时也需要时刻思考汇编指令的运行流程。而使用C语言编程时则只需将精力放在程序运行逻辑即可。
2.相较于C++、Java等面向对象编程语言来说,C语言更加贴近底层运行逻辑,没有封装、继承等更加高级的语法,更加纯粹地关注程序的执行流程。
PIC单片机环境下的C语言编程与我们平时使用的C语言在语法上大致类似,不过仍有些许不同。下面对PIC单片机的C语言编程做简要介绍。
1.编译器配置。由于PIC单片机有独特的CPU架构,因此不同于传统的gcc或者vc++编译器进行编译,PIC单片机环境下的C语言有专门的C语言编译器PICC Compiler。
2.PIC单片机C语言同样支持常见的short、int、long、float等基本数据类型。不过需要注意的是,PIC单片机C语言的int类型为16位存储,long类型为32位存储,float类型为24位存储。
3.除了基本数据类型外,PIC单片机C语言也同样支持数组、结构体和联合体等复合数据类型。
4.PIC单片机C语言有一个特殊的数据寄存器bank,该寄存器由程序员管理,在定义变量时必须指定变量存储位置,若不指定则默认存储在bank0中。
若定义存储于其他bank寄存器的变量,则需要在定义变量时指定bank寄存器编号。例如:
bank1 unsigned char buffer[32];
bank2 int flag1, flag2;
5.PIC单片机C语言保留volatile关键字,用于告知某些特殊的值可能会发生改变。(pic单片机c语言)
6.使用PIC单片机C语言编程时,虽然也可调用标准库函数,不过由于PIC单片机性能有限,由于诸如scanf()/printf()等库函数的代码比较繁杂,因此在调用这些库函数时需要额外谨慎,可能会造成程序运行时间大幅度增加甚至宕机。
7.PIC单片机C语言支持C语言与汇编语言混合编程。若在C语言内插入汇编语言代码,则需要使用asm关键字标识。
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。加微信领取资料
相关问答
请问什么 编译器 能够编译 PIC单片机的 18F系列?你用的是PICC16吧,PICC18是可以编译PIC18系列的MCU的,我用的是PIC18F458的或者你用MC18的编译器也可以你用的是PICC16吧,PICC18是可以编译PIC18系列的M...
lpc1778芯片属于c51吗?lpc1778芯片不属于c51。PIC16F877是一种单片机,但是与51单片机毫无关系。这是专门的PIC系列的单片机,不论从硬件结构还是从指令系统,都毫无关系。就算是编程...
哪位同志!有谁懂!!放心 单片机 项目外包收费, 单片机 项目外包...[回答]用PICC。PICC这个软件已经被Microchip收购了,你用的MPLAB8.5的安装包里带有PICCforPIC12/16编译器,可以编译PIC12和PIC16系列单片机的C语言文件。安...
单片机 是用什么编程的?这个问题要从两方面来说:第一是单片机是用什么编程环境(开发平台)编程?第二是单片机是用什么编程语言编程?我们分别来看看:一、单片机的编程环境单片机...这...
proteus是什么软件?Proteus是英国著名的EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是世界上唯...
如何设置8051 单片机的 中断优先级[回答]PIC系列单片机只有一个中断入口(004H),所有的中断都通过该入口进入中断服务子程序,至于是哪一个中断源,只有在进入中断服务子程序后查询中断标志才...
现在 单片机 发展到什么程度了?51、AVR、STM8、STM32这些主流单片机笔者都用过,要说到单片机的发展程度还得看STM32,因为在当代STM32已然成为高性能单片机的标志了。这时候可能会有人要说我们...
使用proteus搭建一个 单片机的 最小系统?1、查找元器件并放置,点击箭头处可以打开元器件搜索框;2、在搜锁框中输入我们需要的元器件名(下面以电容为例选择器件,其中电容输入“cap”,单片机输入“805...
如何将MATLAB程序编译产生DLL?1>首先生成目标文件,但是此时要加编译器选项-fpic和链接器选项-shared,gcc-fpic-cadd.cgcc-fpic-csub.c生成中间文件add.o和sub.o2>...
iar avr V5.XX full怎么破解选自AVR研讨会演讲提纲!双龙老耿(1)为什么选用AVR单片机?Flash程序存储器可擦写1000次以上,不再有报废品产生。PIC有的是OTP,只能烧录一次。A...