单片机 > 单片机程序设计 > 详情

51单片机概述以及设计最小系统

发布时间:2023-02-27 发布时间:
|

单片机是什么?

在学之前必须要明白这个东西是什么,怎么用,为什么能这样用。理解这三个问题,那么51单片机就可以学得很好。


单片机的对比

这里只对8051与8052进行对比:


型号 Flash(ROM) RAM I/O 定时/计数器 中断源 引脚数

AT89C51 4KB 128B 32 2 5 40

AT89c52 8KB 256B 32 3 8 40


引脚描述

20引脚VSS:电源负极

40引脚VCC:电源正极(+5V)


19引脚XTAL1:片内时钟振荡器的输入端;当使用片内时钟振荡器时,这个引脚接石英晶体和微调电容。

18引脚XTAL2:片内时钟振荡器的输出端;当使用片内时钟振荡器时,这个引脚接石英晶体和微调电容。


9引脚RST:复位信号输入端;高电平有效(无效状态电平必须低于0.5V)。


31引脚EA/Vpp:

EA=1,访问片内程序存储器,但在PC(程序计数器)值 超过0FFFH时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。


EA=0,单片机只访问外部程序存储器

Vpp:对片内Flash进行编程时,该引脚接入编程电压。

通常情况下,将此引脚与VCC接在一起。


30引脚ALE/PROG:

ALE:地址锁存控制信号端。不访问外部ROM与RAM时不使用。

PROG:为编程脉冲输入端。


29引脚PSEN:片外程序存储器的选通信号,低电平有效。


以下为I/O端口:

P0:

第一功能:8位,漏极开路的双向I/O口。用时要加上拉电阻。

第二功能:低8位地址线和8位数据线分时复用;此时为真正的双向三态口。


电源时钟,晶振电路

1、内部时钟方式

1.起振电容C1和C2典型值15~33pF,通常选择为30pF的瓷片电容。

2.晶体的振荡频率一般为12MHz(方便定时计算)和 11.0592MHz(方便串口波特率设置)。

3.晶体和电容尽量安装得与单片机靠近。


2外部时钟方式

这种方式常用于多片单片机同时工作。


时序

1、时钟周期: 单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,则时钟周期Tosc=1/fosc。

2、机器周期:CPU完成一个基本操作所需的时间称为机器周期。

AT89S51单片机每12个时钟周期为1个机器周期.

通常,一条指令的执行要分为好几个基本操作,每个基本操作耗时一个机器周期。

3、指令周期:指令周期是执行一条指令所需的时间。

单片机的指令按字节可分为单字节(1个机器周期)、双字节(2个机器周期)、三字节指令(3个机器周期),乘法、除法指令需要(4个机器周期),因此执行一条指令的时间也不相同.


时钟周期==1/fosc ; 机器周期=12*时钟周期 ; 指令周期=1~4机器周期。当使用12M晶振,执行单字节指令的时间 t=12*(1/fosc)=12*(1/12M)=1us。


复位电路

上电自动复位电路:引脚RST加上大于2个机器周期的高电平(2us)就可使单片机复位。

1.工程上通常认为t=3rc~5rc,充放电结束。

2.先确定复位时间t,然后根据条件确定rc。


最小系统

复位电路的探讨: 若采用上图制作复位电路,使上电延迟100ms复位,选择10K电阻,则计算出电容为109mF,选择100mF。典型值通常选取,10K与10uF,则上电复位时间为:51ms

晶振电路的探讨: 上面已经说了…


I/O口的探讨:“灌电流”:由外设向单片机引脚灌入电流,此时单片机输出低电平;“拉电流”:由单片机引脚向外设输出电流,此时单片机输出高电平;P0口的灌电流最大电流可达26mA,其他I/O稍弱些。而拉电流比较差,大概在1mA。所以通常是以低电平点亮LED灯。P0口用做通用I/O时,需加上拉电阻(1~10K),否则P0口作地址 / 数据总线。

下载电路:P3.0(RXD) ,P3.1(TXD)


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR IO输出之LED显示程序