发表于:2008/7/26 9:57:00
#0楼
本文我们来谈一谈51单片机的最小化应用系统的问题,相信你做了这个简单的最小系统试验以后,会对单片机逐渐感兴趣起来的,单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:1.电源正常;2.时钟正常;3.复位正常。下面就以我们实验用的51单片机AT89S51为例介绍其硬件连接方法。
下图就是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欧姆的限流电阻,防止发光二极管和单片机的引脚P1.7因为电流过大烧坏,使发光二极管和单片机都工作在安全状态。
4、控制引脚EA接法。EA/VPP(31脚)为内外程序存储器选择控制引脚,当EA为低电位时,单片机从外部程序存储器取指令;当EA接高电平时,单片机从内部程序存储器取指令。。。AT89S51单片机内部有4KB可反复擦写1000次以上的程序存储器,因此我们把EA接到+5V高电平,让单片机运行内部的程序,我们就可以通过反复烧写来验证我们的程序了。
5、复位电路:在复位引脚(9脚)脚持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。如下图所示电容C和电阻R构成了单片机上电自动复位电路,复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如下表所示:
寄存器 状态 寄存器 状态
PC 0000H TCON 00H
ACC 00H TL0 00H
PSW 00H TH0 00H
SP 07H TL1 00H
DPTR 0000H TH1 00H
P0 -- P3 FFH SCON 00H
IP xxx00000H SBUF 不确定
IE 0xx00000H PCON 0xxx0000H
TMOD 00H
至此,我们完成了51单片机的最小化应用系统的连接,只要正确的烧写程序,并接上+5V电源就可以了,单片机剩下的其他可以不接线悬空。
下面我们来写一个驱动发光二极管闪烁的程序,这是很简单的事情,只需要以一定的世界间隔,给p1.7高电平,然后低电平,如此重复,我们就看到了发光2极管在闪烁,程序如下:
完整的源程序如下:
;******** 51单片机的最小化应用系统主程序 ********
MAIN: CLR P1.7 ;主程序开始,P1.7输出低电平"0",让点亮发光二极管
ACALL DELAY ;调用延时子程序延时一段时间,让发光二极管亮一段时间
SETB P1.7 ;P1.7输出高电平"1",熄灭发光二极管
ACALL DELAY ;调用延时子程序延时一段时间,让发光二极管熄灭一段时间
AJMP MAIN ;跳转到程序开头重复执行
;******** 51单片机的最小化应用系统延时子程序 ********
DELAY: MOV R7,#255
Y1: MOV R6,#255
DJNZ R6,$
DJNZ R7,Y1
RET ;延时子程序返回
END ;程序结束
更多内容http://minimcu.com
下图就是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欧姆的限流电阻,防止发光二极管和单片机的引脚P1.7因为电流过大烧坏,使发光二极管和单片机都工作在安全状态。
4、控制引脚EA接法。EA/VPP(31脚)为内外程序存储器选择控制引脚,当EA为低电位时,单片机从外部程序存储器取指令;当EA接高电平时,单片机从内部程序存储器取指令。。。AT89S51单片机内部有4KB可反复擦写1000次以上的程序存储器,因此我们把EA接到+5V高电平,让单片机运行内部的程序,我们就可以通过反复烧写来验证我们的程序了。
5、复位电路:在复位引脚(9脚)脚持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。如下图所示电容C和电阻R构成了单片机上电自动复位电路,复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如下表所示:
寄存器 状态 寄存器 状态
PC 0000H TCON 00H
ACC 00H TL0 00H
PSW 00H TH0 00H
SP 07H TL1 00H
DPTR 0000H TH1 00H
P0 -- P3 FFH SCON 00H
IP xxx00000H SBUF 不确定
IE 0xx00000H PCON 0xxx0000H
TMOD 00H
至此,我们完成了51单片机的最小化应用系统的连接,只要正确的烧写程序,并接上+5V电源就可以了,单片机剩下的其他可以不接线悬空。
下面我们来写一个驱动发光二极管闪烁的程序,这是很简单的事情,只需要以一定的世界间隔,给p1.7高电平,然后低电平,如此重复,我们就看到了发光2极管在闪烁,程序如下:
完整的源程序如下:
;******** 51单片机的最小化应用系统主程序 ********
MAIN: CLR P1.7 ;主程序开始,P1.7输出低电平"0",让点亮发光二极管
ACALL DELAY ;调用延时子程序延时一段时间,让发光二极管亮一段时间
SETB P1.7 ;P1.7输出高电平"1",熄灭发光二极管
ACALL DELAY ;调用延时子程序延时一段时间,让发光二极管熄灭一段时间
AJMP MAIN ;跳转到程序开头重复执行
;******** 51单片机的最小化应用系统延时子程序 ********
DELAY: MOV R7,#255
Y1: MOV R6,#255
DJNZ R6,$
DJNZ R7,Y1
RET ;延时子程序返回
END ;程序结束
更多内容http://minimcu.com
[此贴子已经被作者于2008-7-29 7:38:11编辑过]