下图是AT89S51单片机组成的最小系统(仅驱动1个发光二极管)的电路。 AT89S51单片机的40个引脚中:2个电源引脚、2个晶振引脚、4个控制引脚,可编程32个输入输出引脚。
《51单片机最小化应用系统电路图》
1、工作电源:电源是单片机工作的动力来源。 废话! 当然没有电源是不行的:),对应的接线方法是:40脚(VCC)电源脚,工作时接+5V电源,20脚(GND)为地线。
2、时钟电路:时钟电路为单片机产生定时脉冲。 单片机的所有运算和控制过程均由统一的定时脉冲驱动。 时钟电路就像人的心脏。 如果人的心脏停止跳动,那么这个人就会停止跳动。 。 。 同样,如果单片机的时钟电路停止工作(晶振停止振荡),那么单片机也会停止运行。 使用内部时钟时,连接方法如下图所示。 在晶振引脚XTAL1(引脚19)和XTAL2(引脚18)之间连接一个晶振,并在两个引脚和地之间连接一个电容。 为了产生所需的时钟信号,电容器的容量一般为数十皮法,例如30PF。
3.然后我们给单片机添加一个指示灯。 我们在单片机P1.7(8脚)上连接一个发光二极管,这样就可以用来做一个单片机驱动发光二极管的简单实验。 图中发光二极管的负极与单片机引脚P1.7之间串接了一个560。 欧姆限流电阻可以防止LED和单片机P1.7引脚因电流过大而烧坏,使LED和单片机都工作在安全状态。
4、控制引脚EA的连接方法。 EA/VPP(引脚31)是内部和外部程序存储器选择控制引脚。 当EA为低电平时,微控制器从外部程序存储器中获取指令; 当EA连接到高电平时,微控制器从内部程序存储器中获取指令。 。 。 AT89S51单片机内部有4KB程序存储器,可重复擦写1000次以上。 因此,我们将EA接+5V高电平,让单片机运行内部程序。 然后我们就可以通过反复编程来验证我们的程序。
5. 复位电路:复位引脚(引脚9)上连续出现24 个振荡器脉冲周期(即2 个机器周期)的高电平信号将使微控制器复位。 如下图所示,电容C和电阻R构成单片机上电后自动复位电路。 复位后,单片机从0000H单元开始执行程序,并初始化一些特殊寄存器以复位状态值。 受影响的特殊寄存器如下表所示:
至此,我们就完成了51单片机最小应用系统的连接。 只要使用正确的编程程序并连接+5V电源,微控制器的其余部分可以不连接。
接下来我们来编写一个程序来驱动发光二极管闪烁。 这是一件很简单的事情。 我们只需要在某个世界间隔给p1.7一个高水平,然后给一个低水平。 重复此操作,我们将看到 2 极灯。 灯管闪烁,程序如下:
完整源程序如下:
;******** 51单片机最小化应用系统主程序********
主要:CLRP1.7; 主程序启动,P1.7输出低电平“0”点亮发光二极管
呼叫延迟; 调用延时子程序延时一段时间,让LED亮一段时间。
SETB P1.7;P1.7输出高电平“1”,关闭LED
呼叫延迟; 调用延时子程序延时一段时间,让发光二极管熄灭一段时间。
AJMP 主; 跳转到程序开头并重复执行
;******** 51单片机最小化应用系统延时子程序********
延迟:MOVR7,#255
Y1:MOVR6,#255
DJNZ R6,$
DJNZ R7、Y1
RET; 延迟子程序返回
结尾; 节目结束