单片机原理与实践
第一课(更新时间:2021.9.2)
1.单片机能做什么
? 单片机是一种可通过编程控制的微处理器,单片机芯片自身不能单独运用于某项工程或产品上,它必须要靠外围数字器件或模拟器件的协调才可发挥其自身的强大功能,所以我们在学习单片机知识的同时不能仅仅学习单片机的一种芯片,还要循序渐进地学习它外围的数字及模拟芯片知识,还要学习常用到的外围电路的设计与调试方法等。 ? 单片机属于控制类数字芯片,目前其应用领域已非常广泛,举例如下: ①工业自动化。如数据采集、测控技术。 ②智能仪器仪表。如数字示波器、数字信号源、数字万用表、感应电流表等。 ③消费类电子产品。如洗衣机、电冰箱、空调机、电视机、微波炉、IC卡、汽车电子设备等。 ④通信方面。如调制解调器、程控交换技术、手机、小灵通等。 ⑤武器装备。如飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。
2.单片机标号信息及封装类型
其标识分别解释如下:
-
STC——前缀,表示芯片为STC公司生产的产品。其他前缀还有如AT, i, Winbond, SST等。 -
8——表示该芯片为8051内核芯片。 -
9——表示内部含FlashEEPROM存储器。还有如80C51中0表示内部含MaskROM(掩模ROM)存储器:如87C51中7表示内部含EPROM存储器(紫外线可擦除ROM)。 -
C——表示该器件为CMOS产品。还有如89LV52和89LE58 中的LV和LE都表示该芯片为低电压产品(通常为3.3V电压供电);而89S52中的S表示该芯片含有可串行下载功能的Flash存储器,即具有ISP可在线编程功能。 -
5——固定不变。 -
2——表示该芯片内部程序存储空间的大小,1为4KB, 2为8KB,3为12KB,即该数乘上4KB就是该芯片内部的程序存储空间大小。程序空间大小决定了一个芯片所能装入执行代码的多少。一般来说,程序存储空间越大,芯片价格也越高,所以我们在选择芯片时要根据自己硬件设备实现功能所需代码的大小来选择价格合适的芯片,只要程序能装得下,同类芯片的不同型号不会影响其功能。 -
RC——STC单片机内部RAM ( 随机读写存储器)为512B。还有如RD+表示内部RAM为1280B。 -
40——外部晶振最高可接入40MHz。 -
I——产品级别,表示芯片使用的温度范围。(C:表示商业用 0℃ --+70℃;另外:I:工业级 -40℃–+85℃;A:汽车用 -40℃–+125℃;M:军用 -55℃–+150℃ 。) -
LQFP44——产品封装型号。PDIP表示双列直插式
3.51单片机外部引脚介绍
(注意:基于8051内核的单片机,若引脚数相同,或是封装相同,它们的引脚功能是相通的,其中用的较多的是40脚DIP封装的51单片机,也有20, 28, 32, 44等不同引脚数的51单片机。)
? 接下来上图 PDIP封装引脚图为例介绍单片机各个引脚的功能,40 个引脚按其功能分成三类: ①电源和时钟引脚。 ②编程控制引脚。 ③I/O口引脚。 ? Vcc (40引脚)、GND (20引脚)单片机电源引脚,不同型号单片机接入对应电压电源,常压为+5V,低压为+3.3V,大家在使用时要查看其芯片对应文档。 XTAL1 (19脚)、 XTAL2 (18脚)一-外接时钟引脚。XTAL1 为片内振荡电路的输入端,XTAL2为片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,需在这两个脚外接石英晶体和振荡电容,振荡电容的值一般取10p~30p;另一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。
? RST (9引脚)单片机的复位引脚。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作,复位后程序计数器PC-0000H,即复位后将从程序存储器的000H单元读取第一 条指令码,通俗地讲,就是单片机从头开始执行程序。
? PSEN(29引脚)Programmer Saving全称是程序存储器允许输出控制端。在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作,由于现在我们使用的单片机内部已经有足够大的ROM,所以几乎没有人再去扩展外部ROM,因此这个引脚大家只需了解即可。 ①内部ROM读取时,PSEN不动作。 ②外部ROM读取时,在每个机器周期会动作两次。 ③外部RAM读取时,两个PSEN脉冲被跳过不会输出。 ④外接ROM时,与ROM的OE脚相接。 ? ALE/PROG (30引脚)一在单片机扩展外部RAM时,ALE用于控制把PO口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器:当ALE是低电平时,P0 口上的内容和锁存器输出一致。关于锁存器的内容,我们后面会有详细介绍。在没有访问外部存储器期间,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器时,以1/12振荡周期输出(12分频)。从这里可以看到,当系统没有进行扩展时,ALE 会以1/6振荡周期的固定频率输出,因此可以作为外部时钟,或为外部定时脉冲使用。PROG为编程脉冲的输入端,单片机的内部有程序存储器(ROM),它的作用是用来存放用户需要执行的程序,那么我们怎样才能将写好的程序存入这个ROM中呢?实际上,我们是通过编程脉冲输入才写进去的,这个脉冲的输入端口就是PROG。现在有很多单片机都已经不需要编程脉冲引脚往内部写程序了,比如我们用的STC单片机,它可以直接通过串口往里面写程序,只需要三条线与计算机相连即可。而且现在的单片机内部都已经带有丰富的RAM,所以也不需要再扩展RAM了,因此ALE/ PROG这个引脚的用处已经不太大。
? EA/Vpp (31引脚)一EA接高电平时,单片机读取内部程序存储器。当扩展有外部ROM时,当读取完内部ROM后自动读取外部ROM。EA接低电平时,单片机直接读取外部( ROM)。8031单片机内部是没有ROM的,所以在使用8031单片机时,这个引脚是一直接低电平的。8751单片机烧写内部EPROM时,利用此引脚输入21V的烧写电压。因为现在我们用的单片机都有内部ROM,所以在设计电路时此引脚始终接高电平。
? I/O口引脚一P0口、P1口、P2口和P3口。
? P0口(39引脚~32引脚)一双向8位三态I/O口,每个口可独立控制。51单片机P0口内部没有上拉电阻,为高阻状态,所以不能正常地输出高/低电平,因此该组I/O 口在使用时务必要外接上拉电阻,一般我们选择接入10kS2的上拉电阻。
? P1口(1引脚~8引脚)一准双向8位I/O口,每个口可独立控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。之所以称它为“准双向”是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才可正确读出外部信号,也就是要使其先有个“准”备的过程,所以才称为准双向口。对52单片机P1.0引脚的第二功能为T2定时器/计数器的外部输入,P1.1 引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。
? P2口(21脚~28脚) - -准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。
? P3口(10引脚~17引脚)一准双向8位I/0口,每个口可独立控制,内带上拉电阻。作为第一功能使用时就当做普通I/O口,与P1口相似。作为第二功能使用时,各引脚的定义如下表所示。值得强调的是,P3口的每一个引脚均可独立定义为第一 功能的输入/输出或第二功能。
本文以zhangrelay老师的单片机课程为骨干,借鉴郭天祥老师的新概念51书本内容为血肉,个人进行编辑整理用于知识回顾以及概念学习使用。学识浅薄,献丑献丑,麻烦各位多多批评与指正,提出宝贵的意见。(随时间更新哦!)
|