郭天祥十天学会单片机_初识51单片机

      STC系列单片机种类是非常多的,今天我们就拿入门单片机最常用的89C51单片机来说。一般在我们入门学习单片机时都会入手一块开发板进行系统学习。现在据我了解市面上比较常听的有郭天祥老师的"十天学会51单片机",还有普中的51开发板、金沙滩的等。这些我都看过,同时我也入手了几块51单片机开发板。

3b2df61c7f77b8264e2b5def905d74a0.png

图1-1 51单片机

       如图1-1,现在市面上大多数开发板都是用的直插的,一共有40个引脚。其中1个VCC(40号引脚)需要接电源5V,一个GND(20号引脚)接地。同时有四组IO,分别是P0、P1、P2、P3。每组IO,有八个IO口,命名为Pn^a,其中n为整组IO命名,范围0-3,a为IO口命名,范围0-7,例如P1口的第一个引脚,我们可以写成P1^1。

下边是对单片机每组IO功能的介绍。

P0口:P0口作为这几组IO里边唯一一组没有上拉电阻的口,这组IO口在使用时需要外部做一个上拉电阻电路。

1d91828529045d9b91586556e99eb32a.png

                                                  图1-2 上拉电阻

如图1-2为P0口上拉电阻电路,解决单片机内部P0口无上拉电阻问题。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

同时P3口还是一些特殊功能口,如下所示

IO口        功能

P3^0       RX(串口接收引脚)

P3^1       RX(串口发送引脚)

P3^2       INT0(外部中断0)

P3^3       INT1(外部中断1)

P3.4         T0(定时器0外部输入)

P3.5         T1(定时器1外部输入)

P3.6         WR(外部数据存储器写选通)

P3.7          RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间为外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器读取外部ROM数据。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,单片机读取内部程序存储器。(扩展有外部ROM时读取完内部ROM后自动读取外部ROM)。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

89C51系列单片机的结构特点:

8位CPU;

片内振荡器和时钟电路;

32根I/O线;

外部存贮器寻址范围ROM、RAM64K;

2个16位的定时器/计数器;

5个中断源,两个中断优先级;

全双工串行口;

布尔处理器;

51系列的选型的常见问题

请问现在学习51系列单片机应该选择AT89C51还是89S51?

答:89C51和89S51内核相同,89S51针对89C51的明显的几个升级如下;1.程序存储器写入方式:二者的写入程序的方式不同,89C51只支持并行写入,同时需要VPP烧写高压。89S51则支持ISP在线可编程写入技术!串行写入、速度更快、稳定性更好,烧写电压也仅仅需要4~5V即可。

2.电源范围:89S5*电源范围宽达4~5.5V,而89C5*系列在低于4.8V和高于5.3V的时候则无法正常工作。

3.工作频率:89S1*的性能远高于89C5*,89S5*系列支持最高高达33MHZ的工作频率,而89C51工作频率范围最高只支持到24M。

4.市场价格:由于89C51已经全面停产,所以在市场价格方面,库存的89C5*的批发价格要比89S5*贵将近一倍!

5.兼容型:89S5*向下兼容89C5*,就是说用89S5*可以替代89C5*使用,同样的程序,运行结果相同。就是说89S5*也同样兼容所有的教科书范例程序。

6.加密功能:89S5*系列全新的加密算法,这使得对于89S51的解密变为不大可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。

7.抗干扰性:内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。

8.烧写寿命更长:89S5*标称的1000次,实际最少是1000次~10000次,这样更有利初学者反复烧写,减低学习成本。综合上面的一些区别,个人认为89C51的停止使用只是时间问题而已,就象当年的8031。

2问:采用89C2051开发制造产品是不是要比用89S51更好?因为2051看起来体积比较小。

2答:这个问题并不能一概而论,主要的区别如下:

1.功能差别:因为2051不是标准的51内核,所以205*的程序不能直接移植到51上。由于205*是精简型,所以P口变得很少(没有P3.7口),这样一来就只能用来做一些小的简单产品,可利用资源比较紧张。实际上,做产品的话用205*是不一定合算的,除非是非常简单的产品。

2.市场价格:由于89C2051的产量不是非常大,所以市场价格方面89C2051的批发价格和89S51比较接近!相对性能价格比就比较低。

3.产品体积:除非对产品的体积有苛刻的要求,否则二者的PCB面积相差不多,因为40脚的51芯片也有PLCC44小体积封装。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值