主页 > 型号大全 > 正文

51芯片型号(51芯片选型)

2024-04-11 11:56:05 来源:阿帮个性网 点击:
文章目录导航:
  1. 51芯片全称
  2. 51芯片包
  3. 51芯片和52的区别
  4. 51芯片选型
  5. 51芯片封装尺寸
  6. 5153芯片
  7. 51芯片引脚图
  8. 51芯片电路图
  9. 51芯片和52芯片

51芯片全称

51单片机是8位处理器的一个系列的概念,他类似于咱们电脑上的cpu一样,也是微型处理器,种类型号可就太多了。真的不知道如何举例子了。

51芯片包

关注我们,获取知道创宇404实验室最新研究动向。

1准备工作

在硬件开发中,首要步骤是进行硬件设计,其中包括电路图设计、布线、出板和焊接等环节。

然而,针对新手而言,建议不要从最初的硬件设计阶段开始学习。相反,建议首先购买成品设备,然后掌握软件开发的知识,之后再尝试进行硬件设计的工作。

因此,本文将从单片机开发开始学习,后续文章将涵盖硬件设计的内容。在此前提下,第一步是需要在网上购买相关的开发板,可以在淘宝、咸鱼等网站上搜索关键字:"圈圈教你u**开发板"。在本系列中不提供购买链接,请自行解决开发板的问题。如果不想购买现成的开发板,并且对自己的动手能力有信心,可以参考后续文章进行硬件设计。

本文案例中所使用的设备如下图所示,总花费为57¥(个人自行设计打板的总花费并不比购买成品低)。

图1:USB开发51单片机

在购买了成品单片机后,还可以从商家获取该单片机的原理图,如下图所示:

还需要了解两个主要芯片的型号,以便搜索相关文档,其中51单片机芯片的型号为:STC89C52RC,USB芯片的型号为:PDIUSBD12,知晓芯片型号后,可以通过搜索引擎获取相关文档,并在后续开发过程中参考这些文档。

对于没有进行过单片机开发的人来说,可以将单片机理解为集成了CPU、RAM和ROM的芯片。在后续开发工作中,我们控制单片机运行,编译出的程序需要写入(通常称为下载)到单片机的ROM中。不同的单片机具有不同的下载方式。对于STC89C52RC单片机而言,可以通过TTL串口直接下载程序到单片机中。

首先安装VSCode,再安装PlatformIOIDE插件,这样一个轻量级的单片机开发环境就搭建完成了。

在本文的样例中,需要修改开发目录下的platformio.ini,按以下示例进行修改:

按照上述过程进行环境搭建,不需要再额外的安装编译器,PlatformIOIDE会自带编译器,使用的编译工具叫sdcc。另外,下载器(用于将编译好的程序写入单片机)使用的工具是stcgal,PlatformIOIDE也可以将其一起安装好。但是有时候需要单独使用stcgal,如果在终端中直接使用PlatformIOIDE中安装的stcgal会比较麻烦,步骤如下:

对照着原理图,假设TTL转USB设备为A,USB开发板为B,那么连接如下所示:

A的GND连B的任意一个GND。

A的5V连B的任意一个VCC。

A的TXD连B单片机的RXD。

A的RXD连B单片机的TXD。

B单片机的RXD和TXD口,可以参见原理图中J8和J3的10/11口。

如果一切正常,可以在/dev目录下发现/dev/tty.u**serial-0001文件,然而,由于使用的TTL转USB的设备不同,导致生成的文件可能不一样,但文件都会处于/dev目录下,这些文件名通常包含关键字如tty、u**等。通过插拔操作,查看/dev目录下的文件变动,也是一种方法。

如果存在/dev/tty.u**serial-0001文件,运行以下命令,可以查看单片机是否能正常工作:

2  第一个单片机程序

在单片机开发中,实现一个类似于"HelloWorld"的功能确实比较困难。通常情况下,学习编程语言时我们会写"HelloWorld",但在单片机开发中,要实现类似功能,需要一系列步骤。

首先你需要一个屏幕,其次必须编写该屏幕的驱动程序,才能在屏幕上输出HelloWorld。再简单点,就是通过串口输出HelloWorld,但这同样需要编写一个串口驱动程序。

第一个程序就编写驱动是非常不友好的,对于我来说,编写第一个程序的目的是为了了熟悉开发流程,并确保编译、下载和运行的正常执行。因此,我们可以将第一个程序的目标降低到点亮一盏LED灯。

通过原理图可以看出,单片机的P20到P27口连接到了LED1-LED8这8盏LED灯。这8盏LED灯的另一头连接到了1k欧姆的排阻(RP1)上,而排阻连接到了VCC电源上。所以当P20输出0时,LED1电路就会导通,LED1灯就会发光。

现在,我们编写第一个程序,让P20输出为0,代码如下所示:

通过PlatformIOIDE创建的项目目录如下所示:

由于VSCode装了PlatformIOIDE插件,所以在打开了PlatformIOIDE项目的情况下,编写好代码后,在左下角找到一个✓图标,点击就可以编译编写好的程序,也可以使用快捷键:shift+cmd+b。

编译完成后,可以点击build图标右边的→图标,表示将编译好的程序下载到单片机中。在输出行看到Cyclingpower:done时,重新拔插VCC线,就可以下载程序到单片机中了。

如果一切正常,在下载结束后,就可以看到单片机中LED1灯常亮。

在第一个程序写完后,可以查看8051.h头文件的内容,其中对51单片机的各个端口和寄存器做了宏定义,这样可以方便地控制单片机的各个端口。比如P2_0就表示原理图中的P20端口,大小为1bit,P2表示的是单片机的P20到P27端口,大小为1byte。

3 第二个程序——定时器中断

第二个程序我们来了解一下单片机的定时器中断,不同单片机的定时器中断实现不一样,这个时候需要参考单片机的相关文档,请通过芯片型号+pdf关键字,自行使用搜索引擎获取芯片文档。

首先,需要编写一个定时器的初始化函数,代码如下所示:

通过直接对寄存器赋值的方式来对单片机进行配置,各个寄存器表示的内容可以参考文档,比如TMOD寄存器的功能描述如下图所示:

TR0寄存器属于TCON寄存器的比特位,功能描述如下图所示:

ET0寄存器属于IE中断寄存器的比特位,功能描述如下图所示:

通过对上述三个寄存器的功能描述,可以看出Timer0Init函数的作用有以下几个方面:

开启定时器0,设置模式1,为16位定时器。

16位定时器使用的计数器为8bit的TL0和8bit的TH0,,因此最大计数次数为65536次。

TL0和TH0组合成了定时器的计数器T0,每个工作周期,T0+=1,当T0溢出时,设置TF0寄存器为1,从而触发中断。

定时器的一个重要参数是时间,表示定时器一个循环的时间。通过上面的总结,我们可以知道,TL0和TH0寄存器就是用来控制循环时间。根据文档中一个计算示例,我们可以确定该单片机的时间参数应该如何设置,如下图所示:

通过USB开发版的原理图,可以看出单片机的X1/X2端口外接了外部晶振,该晶振的频率为22.1184MHz,因此一个机器周期为:12/22118400≈0.54μs。

最大循环时间为:65536*0.54≈35389.44μs≈35ms。

假设定义循环时间为20ms,那么可以求得T0的计数次数为:20*1000/0.54=36864。

对计数次数取反,就是TL0/TH0寄存器的设置值:65536-36864=0x7000,那么需要设置:TL0=0x00,TH0=0x70

时间计算完成后,我们开始实现定时器的功能。在本次的测试案例中,我们定义一个走马灯功能,共有8个LED灯,从左向右循环亮起,间隔时间为1s。实现代码如下所示:

最后,再简单写一个main函数,就可以编译程序了,main函数如下所示:

4 第三个程序——TTL串口中断

STC89C52RC单片机自带TTL串口,可以通过该串口下载程序到单片机中,同样也可以使用串口与单片机通信。

首先来看一下串口的初始化函数,代码如下所示:

初始化的各个寄存器同样是通过看芯片文档可以理解各自的用途,如果文档里写的比较简单,可以单独搜索该寄存器,或者询问GPT,都是很容易理解作用的寄存器。

然而,有几个注意事项需要考虑:

Fclk为晶振的频率,BitRate为设置的串口的波特率,在实际开发的过程中发现,可能是为了节省空间,SDCC在编译的过程中把将整型默认设置为short。对于频率和波特率,short型长度明显不够,所以需要在整型结尾加上UL表示unsignedlong类型值。

PCON|=0x80实际表示的是SMOD=1,由于在计算TH1值的时候使用了除法,可能出现除不尽的情况。而TH1为1字节的整型,所以在遇到该情况时,可以设置 SMOD=1,这样有可能能够除尽。

当SMOD=1时,TH1的计算公式为:256-Fclk/(BitRate*12*16),当SMOD=0时,TH1的计算公式为:256-Fclk/(BitRate*32*16)。

接下来是编写串口的中断函数和串口的读写函数,代码如下所示:

接下来可以简单编写一个main函数,代码如下所示:

编译程序并将其下载到单片机中后,就可以与USB开发版进行串口通信。串口通信的波特率设置为9600,模式为8N1。每次重置单片机时,都可以在串口中接收到HelloWorld!字符串,并且可以看到输入字符的回显,如下图所示:

5第四个程序——检测PDIUSBD12芯片是否正常

接下来第四个程序,第四个程序的主要任务是让单片机与其他外部芯片进行通信。在这个阶段,我们需要参考原理图,查看PDIUSBD12芯片的哪些引脚和单片机相连,并且需要参考D12芯片的参考文档来编写交互代码,简而言之,我们需要实现两种函数:一种用于单片机向D12芯片传输数据的写函数,另一种用于单片机获取D12芯片返回数据的读函数。

首先,参考D12文档和USB开发版原理图来设置一些宏定义,代码如下所示:

接着根据下面的并行接口时序图来编写读写函数,时序图如下所示:

代码如下所示:

接着,通过文档资料发现存在一个ReadID=0xFD命令,可以获取D12芯片的ID编码,以此来判断芯片是否能正常工作,ID值为固定的0x1012。根据该信息,编写以下代码:

获取到ID值后,打算通过串口把ID值输出,需要编写一个输出整型的函数,代码如下所示:

最后编写main函数,读取D12芯片的ID并且输出,代码如下所示:

编译以上代码,并且下载到单片机当中,得到结果如下图所示:

6 参考链接

[1]https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide

[2] https://github.com/grigorig/stcgal

作者名片

51芯片和52的区别

MCS-51系列单片机的基本型芯片分别是8031、8051和8751。它们的差别是在片内程序存储器上。8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。

51芯片选型

51 单片机目前已有多种型号, 8031/8051/8751是Intel公司早期的产品,而 ATMEL 公司的AT89C51、AT89S52则更实用。

ATMEL公司的51系列还有AT89C2051、AT89C1051等品种,这些芯片是在AT89C51的基础上将一些功能精简掉后形成的精简版。

而市场上目前供货比较足的芯片还要算ATMEL 的51、52 芯片, HYUNDAI 的GMS97 系列,WINBOND 的78e52,78e58,77e58 等。      

51芯片封装尺寸

51单片机的组成

51单片机是一种常见的微控制器,广泛应用于各个领域。它由许多芯片组成,下面我们将详细介绍51单片机的组成。

中央处理器

中央处理器(CPU)是51单片机的核心,它决定着单片机的性能和功能。51单片机采用的CPU型号是8051,该CPU具有8位宽度的数据总线,可以进行8位数据的处理。

8051CPU具有可编程存储器(EPROM或Flash存储器)和内部RAM存储器,它支持硬件和软件中断,可以通过外设接口和存储器接口与外部设备进行通信。

时钟发生器

时钟发生器是51单片机的重要组成部分,它为CPU提供时钟信号。51单片机的时钟发生器通常由晶体振荡器和片上振荡电路组成。晶体振荡器产生一个固定频率的振荡信号,通过振荡电路使其变成符合CPU需求的时钟信号。

时钟信号的频率决定了CPU的运行速度,通常是12MHz或者24MHz。通过设置时钟发生器,我们可以调整CPU的运行速度,以满足不同的应用需求。

存储器

存储器是51单片机的重要组成部分,它用于存储程序和数据。51单片机通常带有两种类型的存储器:EPROM存储器和RAM存储器。

EPROM存储器是非易失性存储器,它可以永久保存程序代码。EEPROM存储器是电子可擦写可编程只读存储器,它可以被多次擦除和编程,可用于存储用户数据。

RAM存储器是易失性存储器,它用于存储程序执行时的临时数据。

串口通信接口

串口通信接口是51单片机重要的输入输出接口,它用于与计算机或其他设备进行通信。51单片机通常带有两种串口通信接口:UART(通用异步收发器)和USART(通用异步收发和同步收发器)。

UART是一种异步串口通信接口,适用于低速串口通信,它可以用于与计算机、传感器、信号转换器等设备进行通信。

USART是一种多功能串口通信接口,它可以支持异步和同步串口通信。它可以用于与高速设备,如模拟调制解调器、专用嵌入式系统等进行通信。

定时器

定时器是51单片机的重要组成部分,它可以定时、计数等功能。51单片机通常带有两种定时器:计数器/定时器和看门狗定时器。

计数器/定时器可以实现计时功能,并且可以用作PWM(脉宽调制)输出,控制电机的速度等。看门狗定时器是一种特殊的定时器,用于检测系统故障并进行自动重启。

ADC和DAC接口

ADC(模数转换器)和DAC(数字模拟转换器)接口是51单片机常用的模拟输入输出接口,用于将模拟信号转换成数字信号或将数字信号转换成模拟信号。

ADC接口可以将模拟信号转换为数字信号,用于采集模拟量信号,如声音、光线、温度等。DAC接口可以将数字信号转换为模拟信号,用于产生模拟信号,如音频、视频、电压等。

总线接口

总线接口是连接51单片机和其他芯片或模块的通讯接口。51单片机通常带有一个或多个总线接口,包括I2C总线、SPI总线和CAN总线。

I2C总线是一种串行通信总线,适用于短距离通讯和多点通讯。SPI总线是一种快速的串行通信总线,适用于高速通讯和长距离传输。CAN总线是一种常用于汽车、工厂自动化等领域的串行总线通信协议。

总结

51单片机是一种功能强大的微控制器,它由多种芯片组成,包括CPU、时钟发生器、存储器、串口通信接口、定时器、ADC和DAC接口以及总线接口。这些芯片组成了51单片机的核心,为单片机的性能和功能提供了保障。

通过了解51单片机的组成,我们可以更好地理解单片机的工作原理和技术特性,为单片机应用的开发和调试提供帮助。

5153芯片

51单片机官网公司查知道简单知道单片机面代码功能网都相关资料

51芯片引脚图

你不应该叫做字模转换芯片,应该叫做字库芯片。就是说你从PC接收到数据后,然后根据这个数据在字库芯片中找到这个字的字模所保存的地址,然后从这个地址开始取出若干个字节,就是这个字的字模。国内做的好的,有一个高通公司的,你百度一下就知道了。他们的芯片一定符合你用的,有很多类型,而且封装小,操作简单,字库丰富。

51芯片电路图

MCS-51系列及80C51系列单片机有很多品种,它们的指令系统相互兼容,主要在内部结构上有所区别。目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:

基本型:典型产品为8031/8051/8751。

增强型:典型产品8032/8052/8752。

低功耗型:代表性产品为80C31/87C51/80C51。

专用型:如Intel公司的8044/8744,

超8位型:80C552/87C552/83C552系列

片内闪烁存储器型:美国ATMEL公司推出的AT89C51单片机。

片上系统级芯片型:目前,最具代表性的片上系统级芯片型是美国SiliconLabs公司生产的C8051FXXX系列单片机。

51芯片和52芯片

点击蓝字关注我们

51单片机数字电流表数码管显示(proteus仿真+程序+设计报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil4/keil5

编程语言:C语言

设计编号:S0066

主要功能:

基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用)

基于51单片机的简易数字电流表仿真设计

1.采用ADC0808或者ADC0809实现AD采样功能;

2.采样电流范围0-20ma;

3.用数码管显示转换后的实际电压值

4.显示保留小数点后两位。

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

资料下载链接:

https://docs.qq.com/doc/DS0VHUWxtemJ4Qkxz

以下为本设计资料展示图:

讲解视频:

讲解视频包含仿真运行讲解和代码讲解

仿真设计

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

程序代码

使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。

设计报告

8958字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等

设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法--必读!!!!

1、仿真图

2、程序源码

3、功能要求

4、开题报告

5、设计报告

6、软硬件流程框图

7、讲解视频

AltiumDesigner安装破解

KEIL+proteus单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51STM32单片机课程毕业设计.url

方式一复制到浏览器打开

资料下载链接:

https://docs.qq.com/doc/DS0VHUWxtemJ4Qkxz

https://docs.qq.com/sheet/DS0xIa0llTmtNakRW

方式二长按扫码

嘉盛单片机

网址|www.eemcu.cn