接触过单片机的朋友们都时常会听到别人提"最小系统"这个词.那到底什么是最小系统,有怎样设计称上"最小"呢?单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统.但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为小系统 应用89C51(52)单片机设计并制作一个单片机最小系统,达到如下基本要求: 1、具有上电复位和手动复位功能2、使用单片机片内程序存储器3、具有基本的人机交互接口按键输入、LED显示功能4、具有一定的可扩展性,单片机I/O口可方便地与其他电路板连接 51单片机学习想学单片机,有一段时间了,自己基础不好,在网上提了许多弱智的问题,有一些问题网友回答了,还有一些为题许多人不屑一顾学来学去,一年多过去了,可是还是没有入门,现在我就把我学习中遇到的一些问题和大家分享一下,希望在大虾的帮助下能快速的入门:) 在学习之前我在网上打听了一下atmel公司的单片机用的人比较多,avr系列这几年在国内比较流行,但是考虑到avr还是没有51系列用的人多,51系列的许多技术在实践中都已经的到了前人的解决,遇到问题后,有许多高人可以帮助解决,所以这次学习,选用了atmel公司的at89s52,来进行学习。
学习单片机是需要花费时间实践的;学之前我们先准备好所需的东西一、所需硬件 at89s52一片;8m晶振一个,30pf的瓷片电容两个;10uf电解电容一个,10k的电阻一个;万用板(多孔板)一块;其他的器件如电烙铁一把30w的,松香,焊锡若干,如果是第一次学习,不知道这些东西,没关系,以下是它们的照片:Atmel公司生产的at89s52 8m晶振 22pf瓷片电容 电解电容图 1/4 w 10k 的电阻 普通的电木万用板 好了,有了这些东西,我们就可以把它们组合到一起做成我们的最小系统了:)有了这些东西我们怎么焊接丫?不用着急,过一会我们把原理图给大家画出来大家就会了 二、51单片机最小系统原理图 这张图是组成51单片机的最小系统图了,我们把他的功能在这里简单的介绍一下核心器件: 单片机,周围的东西都是使单片机更好的工作而设立的; 1、震荡器 单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振和瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。
2、复位端 复位电路, 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,这时如果手按着一直不放,系统将一直复位,不能正常工作,如果我们买的小按钮有问题,我们又没有仔细的检查,那可有点麻烦了,呵呵,我估计我们的运气不会那么差,哈哈,在这里我们需要注意用的电容是电解电容,是有正负的,如果接反了,他就会爆炸,哈哈做实践真是不容易,有时要冒着危险的,哈哈 我们可以用并口或者串口把程序下到单片机中,这样我们就可以省去了买烧录器, 3、电源, 说了半天还没有说到电源,要不单片机怎么工作呀,图中没有给出,第20管脚是地GND,第40管脚是电源VCC,一般我们在电源vcc处加一个0.1uf的瓷片电容,滤掉电源中的高频雑波,使系统更安全注意51单片机使用的是5付直流电源第一课:51单片机最小系统 实际上,51单片机核心外围电路是很简单的,一个单片机+一个看门狗+一个晶振+2个磁片电容; 1. 单片机:atmel的89C51系列、winbond的78E52系列,还有philips的系列,都差不多;现在有一些有ISP(下载的),就更好用了; 2. 看门狗:种类很多,我常用的有max691/ca1161和DS1832等,具体看个人习惯、芯片工作电压、封装等。
Max系列和DS系列,还有IMP公司的,种类很多,一般只需要有最基本的功能就可以了;原来我使用max691,但是max691比较贵,因为它有电池切换功能,后来新设计电路板,就都采用ca1161了 很早以前的电路设计中,现在可能还有人使用,使用一个电阻和一个电容达成的上电复位电路;但是,这样的复位电路一个是不可靠,为什么不可靠,网络上能找得到专门论述复位电路的文章;更重要的是,51系列的单片机比较容易受到干扰;没有看门狗电路是不行的,当程序跑飞时,回不来了,死在那里 常规的做法是买一个专门的看门狗电路,完成复位电路和看门狗电路的功能 这些芯片的资料很容易在网络上找到,通常使用百度搜索就可以了;单片机和单片机抗干扰能力是不一样的如果你的产品是工作在干扰比较大的环境,可以试试选用不同品牌的单片机;原来我在一个光电所,做YAG激光治疗机的控制部分,脉冲激光机的电源放电的时候,能量是很大的,在采取了所有能够想到的光电隔离等措施之后,还是不行;后来,选用了intel的8031,就可以了小声的说:当时的philips的单片机抗干扰性能是最差的,可能跟Philips主要是用在民用领域有关现在不知道怎么样了,有人知道的话告诉我。
单片机的输入输出口线是最容易引进干扰的地方;在严重干扰的情况下,需要将所有的口线光电隔离 3. 晶振:一般选用11.0592M,因为可以准确地得到9600波特率和19200波特率;也可以使用36.864M,这个频率是1.8432M的20倍,看别人的电路板上用过,我也没有用到这2种晶振很容易买到,价钱跟12M的一样书上说,12M的晶振也能得到9600的波特率,但是,实际用的时候,会每隔一段时间就出错一次,好像累积误差一样,比较奇怪 即使你的单片机系统不使用RS232接口,也可以做一个Rs232,留着做测试,或者预留等等,没有坏处除非你的单片机系统的口线不够用了 4. 磁片电容:22pf~30pf,可以在有些书上找到什么晶振频率对应什么容量的磁片电容,但是,我都是随便拿来使用,反正在11.0592M下,都没有问题;如果你用到了更高的频率,最好还是找找资料看看 参见以下电路图: 如果你的单片机系统没有工作,检查步骤如下: 1. 查看门狗的复位输出,可能的话在电路板上加一个LED,下拉,这样看起来就更方便;要是看门狗复位信号有,往下; 2. 查单片机,看看管脚有没有问题;一般编程器能够将程序写入,说明单片机是好的;最好手头上准备一个验证过的单片机,内部有一个简单的程序,比如,在某个口线上输出1个1秒占空比的方波等,可以使用万用表测量。
加一句:设计产品时,要在关键的地方:电源、串口、看门狗的输出和输入、I/O口等加不同颜色的LED指示,便于调试;作为批量大的产品,可以去掉部分LED,一方面是降低成本、一方面是流程保密; 3. 再查磁片电容,有些瓷片电容质量不行,干脆换了;顺便说一下,换器件最好使用吸锡带,将焊盘内的锡吸干净,再将器件拔出,这样不会损伤焊盘内的过孔;再将新的瓷片电容焊接上去的时候,用万用表量量是好的再焊; 4. 最后只有换晶振了;切记要买好的晶振,有些品牌质量比较好 5. 以上按照以上步骤检测时,将无关的外围芯片去掉;因为有一些是外围器件的故障导致单片机最小系统没有工作第二课 基本的芯片和分立器件 2.1 简述 有必要对以下系列的芯片和分立器件进行介绍 除了单片机作为控制器的核心外,作为一个产品,由很多东西构成;所以,在讲系统之前,先将这些零零碎碎的东西一并交待就好像一栋房子,有各种各样的构件组成,下面的这些东东就像砖瓦一样,没有不行 2.2 74系列芯片 74系列的芯片的下载地址: .tw/asp/class36_40.htm 74系列的芯片是古老的一族,大部分的芯片现在均已不用了,但是,实际上,在目前的系统中,还能看到一些芯片,有些芯片现在还在系统中使用,例如: 1、 7404 – 6个反相门 下载地址: 将输入的TTL逻辑反相,如:0->1,1->0 2、 7407 – 6个集电极开路门 下载地址: 由于集电极开路门可以外接高电压,可以最高到DC30V,电流最大到39mA,通常我用它驱动8字数码管和继电器等大电流的负载;开路门内部结构是达林顿管的,输出的逻辑是正的; 与其类似的芯片是7406,只不过是反相开路门。
3、 74LS573与74LS373 – 8 数据锁存器 74LS373下载地址: 74LS573下载地址: 引入几个概念: 1. 真值表 参见74LS373的PDF的第2页: Dn LE OE On H H L H L H L L X L L Qo X X H Z 这个就是真值表,表示这个芯片在输入和其它的情况下的输出情况 每个芯片的数据手册(datasheet)中都有真值表 布尔逻辑比较简单,在此不赘述; 2. 高阻态 就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧毁; 高阻态的概念在RS232和RS422通讯中还可以用到 3. 数据锁存 当输入的数据消失时,在芯片的输出端,数据仍然保持; 这个概念在并行数据扩展中经常使用到 4. 数据缓冲 加强驱动能力74LS244/74LS245/74LS373/74LS573都具备数据缓冲的能力 OE:output_enable,输出使能; LE:latch_enable,数据锁存使能,latch是锁存的意思; Dn:第n路输入数据; On:第n路输出数据; 再看这个真值表,意思如下: 第四行:当OE=1是,无论Dn、LE为何,输出端为高阻态; 第三行:当OE=0、LE=0时,输出端保持不变; 第二行第一行:当OE=0、LE=1时,输出端数据等于输入端数据; 结合下面的波形图,在实际应用的时候是这样做的: a. OE=0; b. 先将数据从单片机的口。