您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页51单片机芯片选择指南

51单片机芯片选择指南

来源:五一七教育网
http://51eda.taobao.com/

51单片机芯片选择指南

结合实验需要和学生的熟悉程度,选择芯片以51单片机为主。

从直流闭环的角度,需要选择测量转速的功能,测量转速一般采用模拟式的测速电机,或者数字式的光电编码器,从这个角度需要51单片机具备A/D转换和定时器/计数器功能,其中第二个功能一般的51单片机都具备。

从直流控制的角度来看,对外输出采用PWM控制,目前驱动电路已经完善,需要具备PWM发生功能,这个PWM可以利用51单片机的软件资源进行设计,也可以利用单片机自带的PWM功能实现,最好选择自带PWM输出的单片机。

综合以上要求,选择了STC12C5A16AD单片机

STC12C5A16AD单片机是中国宏晶公司生产的增强型51系列的单片机。宏晶科技是新一代增强型8051单片机标准的制定者和领导厂商,在高品质的基础上,提供低廉的价格的单片机,并致力于提供满足中国市场需求的世界级高性能单片机技术,在业内处于领先地位。宏晶增强型51单片机采用单时钟/机器周期指令,运算速度大大高出了传统51单片机。

1 STC12C5A16AD单片机

1.1 STC12C5A16AD单片机主要有以下性能:

※增强型8051内核,1个时钟/机器周期,指令代码完全兼容传统8051,但速度比普通8051快8~12倍

※宽工作电压:5.5~3.3V

※低功耗设计:空闲模式,掉电模式(可由外部中断唤醒) ※工作频率范围:0~35MHz,相当于普通8051:0~420MHz

※时钟:外部晶体或内部RC振荡电器可选,在ISP下载编程用户程序时设定

※用户应用程序空间:8K/16K/20K32K/40K/48K/52K/60K/62K字节…… ※片上集成1280字节数据存储器 ※通用I/O口(36/40/44个),

※ISP/IAP,在系统可编程/在应用可编程,无需专用编程器/仿真器,可通过串口直接下载用户程序,数秒即可完成一片

※芯片内EEPROM功能,擦写次数10万次以上

http://51eda.taobao.com/

※看门狗

※内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)

※外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差在+/-5%

※PWM(2路)/PCA,可当2路D/A使用,也可用来再实现2个定时器或2个外部中断(支持上升沿/下降沿中断)

※4个16位定时器,两个与传统8051兼容的定时器,有波特率发生器做串行通信的波特率发生器,2路PCA可再实现2个定时器

※可编程时钟输出功能,T0在P3.4/ T0输出时钟,T1在P3.5/ T1输出时钟 ※A/D转换,8位精度ADC,共8路,速度可达25万次每秒 ※通用全双工异步串行口(UART),兼容传统8051的串口 ※工作温度范围:-40~+85℃(工业级),0~75℃(商业级) ※封装:PDIP-40,LQFP-44,LQFP-48

CLKOUT2/ADC0/P1.0 ADC1/P1.1 ECI/ADC2/P1.2 CCP0/ADC3/P1.3 SS/CCP0/ADC4/P1.4 MOSI/ADC5/P1.5 MISO/ADC6/P1.6 SCLK/ADC7/P1.7

P4.7/RST RxD/P3.0 TxD/P3.1 INT0/P3.2 INT1/P3.3

CLKOUT0/T0/P3.4 CLKOUT1/T1/P3.5

WR/P3.6 RD/P3.7 XTAL2 XTAL1 Gnd

40 VCC 12P0.0/AD0 39 338 P0.1/AD1 437 P0.2/AD2 536 P0.3/AD3 635 P0.4/AD4 734 P0.5/AD5 833 P0.6/AD6

32 9P0.7/AD7

10 EX_LVD/P4.6/RST2 31 11 ALE/P4.5 30 12 29 NA/P4.4 13 28 P2.7/A15

P2.6/A14 14 27 P2.5/A13 15 26 P2.4/A12 16 25 P2.3/A11 17 24 P2.2/A10 18 23 P2.1/A9 19 22 P2.0/A8 20 21

图2-1 STC12C5A16AD单片机管脚分布图

PDIP-40

http://51eda.taobao.com/

1.2 STC12C5A16AD单片机管脚分配及I/O口配置:

本设计采用40脚PDIP窄体封装类型。其管脚图如图2-1所示。 STC12C5A16AD系列单片机其所有I/O口均可由软件配置成4种工作类型之一,如下表所示。4种类型分别为:准双向口(标准8051输出模式)、推挽输出、仅为输入(高阻)或开漏输出功能。每个口由2个控制寄存器中的相应位控制每个引脚工作类型。STC12C5A16AD系列单片机上电复位后为准双向口(传统8051的I/O)模式,2V以上时为高电平,0.8V以下时为低电平。

I/O工作类型设定

表2-1 P3口设定 P3M1[7:0]

0

P3M0[7:0]

0

I/O口模式

准双向口(传统8051 I/O口模式), 灌电流可达20mA,拉电流为230uA , 由于制造误差,实际为250uA~150uA

0 1 1

1 0 1

推挽输出(强上拉输出,可达20mA,要加限流电阻)仅为输入(高阻)

开漏(Open Drain),内部上拉电阻断开,要外加

表2-2 P2口设定 P2M1[7:0]

0

P2M0[7:0]

0

I/O口模式

准双向口(传统8051 I/O口模式), 灌电流可达20mA,拉电流为230uA, 由于制造误差,实际为250uA~150uA

0 1 1

1 0 1

推挽输出(强上拉输出,可达20mA,要加限流电阻)仅为输入(高阻)

开漏(Open Drain),内部上拉电阻断开,要外加

http://51eda.taobao.com/

表2-3 P1口设定 P1M1[7:0]

0

P1M0[7:0]

0

I/O口模式

准双向口(传统8051 I/O口模式),

灌电流可达20mA,拉电流为230 uA,由于制造误差,实际为250uA~150uA

0 1

1 0

推挽输出(强上拉输出,可达20mA,要加限流电阻)仅为输入(高阻),如果该I/O口需作为A/D使用,可选侧模式

1

1

开漏(Open Drain),如果该I/O口需作为A/D使用,可选侧模式

表2-4 P0口设定

P2M1[7:0]

0

P2M0[7:0]

0

I/O口模式

准双向口(传统8051 I/O口模式), 灌电流可达20mA,拉电流为230uA, 由于制造误差,实际为250uA~150uA

0 1 1

1 0 1

推挽输出(强上拉输出,可达20mA,要加限流电阻)仅为输入(高阻)

开漏(Open Drain),内部上拉电阻断开,要外加

举例:

MOV P1M1, #10100000B MOV P1M0, #11000000B

P1.7为开漏,P1.6为强推挽输出,P1.5为高阻抗输入; P1.4/P1.3/P1.2/P1.1/P1.0为弱上拉。 注意:

虽然每个I/O口在弱上拉时都能承受20mA的灌电流(还是要加限流电阻,如1K,560Ω等),在强推挽输出时都能输出20mA的拉电流(也要加限流电阻),但整个芯片的工作电流推荐不要超过55mA。即从MCU--Vcc流入的电流不要超过55mA,从MCU--Gnd流出的电流不要超过55mA,整体流入/流出电流不能超过55mA。

1.3 STC12C5A16AD单片机I/O口各种不同的工作模式结果框图:

http://51eda.taobao.com/

1、准双向口输出配置

准双向口输出类型可用作输出和输入功能而不需重新配置口线输出状态。这是因为当口线输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收相当大的电流。准双向口有3个上拉晶体管适应不同的需要。

在3个上拉晶体管中,有1个上拉晶体管为“弱上拉”,当口线寄存器为1且引脚本身也为1时打开。此上拉提供基本驱动电流使准双向口输出为1。如果一个引脚输出为1而由外部装置下拉到低时,弱上拉关闭而“极弱上拉维持开状态,为了把这个引脚拉为低,外部装置必须有足够的灌电流能力使引脚上的电压降到门槛电压以下。

第2个上拉晶体管,称为“极弱上拉”,当口线锁存为1时打开。当引脚悬空时,这个极弱的上拉源产生很弱的上拉电流将引脚上拉为高电平。

第3个上拉晶体管称为“弱上拉”。当口线锁存器由0变为1时,这个上拉用来加快准双向口由逻辑0到逻辑1转换。当发生这种情况时,强上拉打开大约2个时钟以使引脚能够迅速地上拉到高电平。 准双向口输出如图2-2所示。

图2-2准双向口输出图

准双向口带有一个施密特触发输入以及一个干扰抑制电路。

准双向口读外部状态前,要先锁存为‘1’才能读到外部正确的状态。 2、推挽输出配置

推挽输出配置的下拉结构与开漏输出以及准双向口的下拉结构相同,但当锁存器为1时提供持续的强上拉。推挽模式一般用于需要更大驱动电流的情况。

推挽引脚配置如图2-3所示。

http://51eda.taobao.com/

图2-3 推挽输出图

3、仅为输入(高阻)配置

输入口配置如图2-4所示。

图2-4 高阻配置图

输入口带有一个施密特触发输入以及一个干扰抑制电路。 4、开漏输出配置

图2-5 开漏输出电路图

当口线锁存器为0时,开漏输出关闭所有上拉晶体管。当作为一个逻辑 输出时,这种配置方式必须有外部上拉,一般通过电阻外接到VDD。这种方式的下拉与准双向口相同。输出口线配置如图2-5所示。

开漏端口带有一个施密特触发输入以及一个干扰抑制电路。

http://51eda.taobao.com/

关于I/O口的注意事项:有些I/O口由低变高读外部状态时读不对,实际并没有损坏,需要软件处理。原因是1T的8051单片机的速度太快了,软件执行由低变高指令后立即读外部状态,此时由于实际输出还没有变高,就可能读不对。正确的方法是在软件设置由低变高后加1到2个空操作指令延时,再读即可。

2 STC12C5A16AD单片机的A/D转换

2.1 STC12C5A16AD单片机A/D功能寄存器介绍

STC12C5A16AD系列单片机自带A/D,A/D转换口在P1口(P1.7-P1.0),有8路8位高速A/D转换器,速度可达到300KHz。8路电压输入型A/D,可作温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。

需作为A/D使用的口需先将P1ASF特殊功能寄存器中的相应工作寄存器位设置为“1”,将相应的口设置为模拟功能,复位值P1ASF=0x00。

表2-5 STC12C5201AD系列单片机P1口模拟功能寄存器(只写,读无效)

Mnemonic Add P1ASF

7

6

5

4 P14ASF

3 P13ASF

2 P12ASF

1

0

9Dh P17ASF P16ASF P15ASFP11ASF P10ASF

表2-6 当P1口中的相应为做为A/D使用时,要将P1ASF中的相应位置1.

P1ASF[7:0] P1.X的功能 P1ASF.0=1 P1ASF.1=1 P1ASF.2=1

P1.0口作为模拟功能A/D使用P1.1口作为模拟功能A/D使用P1.2口作为模拟功能A/D使用

其中P1ASF寄存器地址为9DH(不能寻址)

或P1.2作为比较器时,在Power_Down模式下低功耗

P1ASF.3=1 P1ASF.4=1 P1ASF.5=1 P1ASF.6=1 P1ASF.7=1

P1.3口作为模拟功能A/D使用P1.4口作为模拟功能A/D使用P1.5口作为模拟功能A/D使用P1.6口作为模拟功能A/D使用P1.7口作为模拟功能A/D使用

表2-7为各个与A/D有关的特殊功能寄存器,功能介绍如下:

http://51eda.taobao.com/

1).如果要允许A/D中断则需要将相应的控制位置1: 将EADC置1,允许ADC中断,这是ADC中断的控制位。

将EA置1,打开单片机总中断控制位,此位不打开,也无法产生ADC中断。 A/D中断服务程序中要用软件清A/D中断请求标志位ADC_FALG(也A/D转换结束标志位)。

2).ADC_POWER:ADC电源控制位。

0:关闭ADC电源;1:打开ADC电源。初次打开内部A/D转换模拟电源,需适当延时,等内部电源稳定后,再启动A/D转换。建议启动A/D转换后,在A/D转换结束之前,不要改变任何I/O口的状态,有利于高精度的A/D转换。

3).ADC_RES特殊功能寄存器:A/D转换结果特殊功能寄存器

4).ADC_START:模数转换器(ADC)转换启动控制位,设置为“1”时,开始转换,转换结束后为0。

5).ADC_FLAG:模数转换器转换结束标志位,当A/D转换完成后,ADC_FLAG=1,要由软件清0。

表2-7 与A/D有关的特殊功能寄存器表

Mnemonic Add P1ASF ADC_CONT

R

ADC_RES BDh IE IP

A8h B8h

7

6

5

4 P14ASFADC_ FLAG

EADC PADC

3 P13ASFADC_ START

2 P12ASFCHS2

1

0

9Dh P17ASF P16ASF P15ASFBCh

ADC_ POWER EA

SPEED1 SPEED0

P11ASF P10ASFCHS1

CHS0

2.2 STC12C5A16AD单片机A/D功能寄存器ADC_CONTR

ADC_CONTR的最后3位控制A/D通道的选取。表2-6为通道选取寄存器的设置方式。

表2-8 通道选择寄存器

CHS2 0 0

CHS1 0 0

CHS0 0 1

模拟输入通道选择 选择P1.0作为A/D通道 选择P1.1作为A/D通道

http://51eda.taobao.com/

0 0 1 1 1 1

1 1 0 0 1 1

0 1 0 1 0 1

选择P1.2作为A/D通道 选择P1.3作为A/D通道 选择P1.4作为A/D通道 选择P1.5作为A/D通道 选择P1.6作为A/D通道 选择P1.7作为A/D通道

SPEED1,SPEED0:模数转换器转换速度控制位

表2-9 模数转换速度控制位

SPEED1 1 1 0 0

SPEED0 1 0 1 0

A/D转换所需时间 70个时钟周期转换一次 140个时钟周期转换一次 280个时钟周期转换一次 420个时钟周期转换一次

表2-10 A/D转换结果寄存器

ADC_RES

0000,0000

模拟/数字转换结果计算公式如下:结果ADC_RES[7:0]=256 *Vin/Vcc Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。

表2-11 A/D中断优先级控制寄存器

IPH

B7h

PADCH

STC12C5A16AD系列单片机的A/D转换模块使用的是外部晶体时钟或内部R/C振荡器所产生的系统时钟,不使用时钟分频寄存器CLK_DIV对系统时钟分频后所产生的供给CPU工作所使用的时钟。

好处:

这样可以让ADC用较高的频率工作,提高A/D的转换速度 这样可以让CPU用较低的频率工作,降低系统的功耗 程序中需要注意的事项:

由于是2套时钟,所以,设置ADC_CONTR控制寄存器后,要加4个空操作延时才能读到正确的ADC_CONTR寄存器的值,原因是设置ADC_CONTR控

http://51eda.taobao.com/

制寄存器的语句执行后,要经过4个CPU时钟周期的延时,其值才能保证设置进ADC_CONTR控制寄存器。

3 STC12C5A16AD单片机最小应用系统的构建

STC12C5A16AD单片机系统具备ISP功能,可以方便的实现程序的下载,宏晶的51单片机均采用串口进行ISP下载,但要求下载时单片机必须进入冷启动状态,最小应用系统可参考下图

http://51eda.taobao.com/

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务