单片机最小系统统是指能让单片机运行起来的所需的最少器件构成的电路系统。如果您构建的最小系统作为研究、学习使用,应该满足以下要求:1.有电源;2.有单片机主芯片;3.有程序下载电路;4.有时钟源电路;5.有复位电路;6.有I/O口的负载电路。这样的系统才能满足您下载程序和调试程序的要求。
下图是AT89S51/52单片机的最小系统电路原理图。
电源部分:从电脑USB接口DC5V取电,C4和C5构成USB接口电源的简单滤波电路。开关电源的输出电压往往波纹较大,不像线性稳压器输出的电压那么稳定,所以进行必要的滤波。如果需要接一个电源开关应接在C4和C5的前面,在您接通开关的瞬间产生的抖动能被这两个电容吸收。
复位电路:C1和R1构成单片机的上电自动复位电路。AT89S51/52单片机属于高电平复位,RST管脚上需要持续两个机器周期(24个时钟周期)以上的高电平,单片机才能复位。复位原理:上电的瞬间,电源给C1充电,在R1产生压降,R1上端为高电平,RST管脚检测到高电平,单片机的各个寄存器清零或恢复初始状态,特别是PC计数器清零,程序便从头开始执行。C1和R1常用取值:C1取10uf时R1取10K欧姆;C1取22uf时R1取4.7K或5.1K欧姆;如果C1、R1取值过大或C1、R1取值过小都会引起单片机复位时间过长或过短,不利于单片机启动。如果需要加手动复位,那就在C1两端并联一个按钮即可。
时钟电路:C2、C3和Y构成单片机的时钟源电路。C2和C3是晶振Y的负载电容,过大或过小都会影响晶振的频率和幅度。AT8951/52单片机对晶振负载电容的取值有明确的要求:在20pf到40pf,最佳值为30pf。Y的取值可从1MHZ到24MHZ选择,常用的是12MHZ。因为51单片机12个时钟周期为一个机器周期,用12MHZ晶振,一个机器周期刚好是1微妙,编程时计时很方便。焊接时这三个元件应尽量靠近单片机的管脚,以减少线路上寄生电容的影响。
下面我们写入第一个程序,也是每个学习单片机的同学最容易接受的一段代码,估计大家都是从这个开始的吧,我当年第一次学,可是比这个难,所以直接完犊子了,今天就来的简单些,防止重蹈当年的覆辙。
负载电路:R2和LED构成单片机P2.0 I/O的负载电路。注意发光二极管的方向,51单片机I/O可吸收灌电流可达20毫安,但输出高电平驱动电流才几十微安,所以I/O负载电流比较大时只能接成吸收灌电流的形式。R2的取值要保证LED亮度适合,太亮的话,影响LED寿命而且电源功耗大。发光二极管流过5到10毫安的电流时亮度是比较合适的。顺便提醒,如果您使用P0口作为普通I/O口,一定要接一个4.7K或10K的排阻。另外,单片机的EA/VPP管脚一定要接高电平。
程序下载电路:10PH是AtmelISP并口下载线10P接头。如果您还没有AtmelISP并口下载线的话,可按照笔者提供的原理图DIY。如果嫌麻烦,可到笔者的网店购买。
笔者的建议是,下载线和最小系统最好是自己动手焊接制作。不要小看这两个简单的东西,你能自己动手做好并正常使用,可以说你的硬件设计已经入门了。接下来您可以在最小系统的基础上继续加接数码管、蜂鸣器、DS1302、DS18B20、LCD接口、串口等资源,一个功能强大的单片机开发板在您日积月累,一点一滴的辛勤焊接下呈现了。在这个过程中您会碰到硬件设计的很多问题,积累很多经验。软件编程和硬件设计同步提高,让您快速掌握单片机技术,何乐而不为?
最小系统构建好了,下载线也有了,现在,您可以用KeilC51开发软件编写一个LED点亮或LED闪烁的简单程序,然后用WSFISP软件或者AtmelISP软件通过并口下载线将程序下载到单片机里检测程序运行效果啦。
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。在学习单片机之前,觉得模拟电路和数字电路基础不好的话,不要急着学习单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习单片机加强基础。