前言: 对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。
以下介绍单片机最小系统电路设计,单片机最小系统主要由电源、复位、振荡电路以及扩展部分组成。对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。
1、电源
在使用STC89C52RC单片机的时候,工作电压:5.5V-3.4V(5V单片机),这个地方就说明我们这个单片机正常的工作电压是个范围值,只要电源VCC在5.5V到3.4V之间都可以正常工作,电压超过5.5V是绝对不允许的,会烧坏单片机,电压如果低于3.4V,单片机不会损坏,但是也不能正常工作。
2、振荡电路
单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
晶振
晶振通常分为无源晶振和有源晶振两种类型,无源晶振一般称之为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。
有源晶振是一个完整的谐振振荡器,他是利用石英晶体的压电效应来起振,所以有源晶振需要供电,当我们把有源晶振电路做好后,不需要外接电路,它就可以主动产生振荡频率,并且可以提供高精度的频率基准,信号质量比无源信号好。
有源晶振通常有4个引脚,VCC,GND,晶振输出引脚和一个没有用到的悬空引脚。无源晶振有2个或3个引脚,如果是3个引脚的话,中间引脚是晶振的外壳,使用时要接到GND,两侧的引脚就是晶体的2个引出脚了,这两个引脚作用是等同的,就像是电阻的2个引脚一样,没有正负之分。对于无源晶振,就是用我们的单片机上的两个晶振引脚接上去即可,而有源晶振,只接到单片机的晶振的输入引脚上,输出引脚上不需要接,如图1和图2所示。
图1 无源晶振接法
图2 有源晶振接法
3、复位电路
我们先来分析一下我们的复位电路,如图3所示。
图3 单片机复位电路
当这个电路处于稳态时,电容起到隔离直流的作用,隔离了+5V,而左侧的复位按键是弹起状态,下边部分电路就没有电压差的产生,所以按键和电容 C11以下部分的电位都是和GND相等的,也就是0V电压。我们这个单片机是高电平复位,低电平正常工作,所以正常工作的电压是0V电压,完全OK,没有问题。
4、独立按键
通常的按键分为独立式按键和矩阵式按键两种,独立式按键比较简单,并且与独立的输入线相连接,如图4所示
图4 独立式按键电路图
4条输入线接到单片机的IO口上,当按键K1按下时,+5V通过电阻R1然后再通过按键K1最终进入GND形成一条通路,那么这条线路的全部电压都加到了R1这个电阻上,KeyIn1这个引脚就是个低电平。当松开按键后,线路断开,就不会有电流通过,那么KeyIn1和+5V就应该是等电位,是一个高电平。我们就可以通过KeyIn1这个IO口的高低电平来判断是否有按键按下。
这个电路中按键的原理我们清楚了,但是实际上在我们的单片机IO口内部,也有一个上拉电阻的存在。我们的按键是接到了P2口上,P2口上电默认是准双向IO口,我们来简单了解一下这个准双向IO口的电路,如图5所示。
图5 准双向IO口结构图
当内部输出是高电平,经过一个反向器变成低电平,NPN三极管不会导通,那么单片机IO口从内部来看,由于上拉电阻R的存在,所以是一个高电平。当外部没有按键按下将电平拉低的话,VCC也是+5V,他们之间虽然有2个电阻,但是没有压差,就不会有电流,线上所有的位置都是高电平,这个时候我们就可以正常读取到按键的状态了。
当内部输出是个低电平,经过一个反相器变成高电平,NPN三极管导通,那么单片机的内部IO口就是个低电平,这个时候,外部虽然也有上拉电阻的存在,但是两个电阻是并联关系,不管按键是否按下,单片机的IO口上输入到单片机内部的状态都是低电平,我们就无法正常读取到按键的状态了。
5、矩阵按键
矩阵按键和独立按键的关系
我们在使用按键的时候有这样一种使用经验,当需要多个按键的时候,如果做成独立按键会大量占用IO口,因此我们引入了矩阵按键,如图6所示,使用了8个IO口来实现16个按键。
图6 矩阵按键
其实独立按键理解了,矩阵按键也简单,我们来分析一下。图6中,一共有4组按键,我们只看其中一组,如图7所示。大家认真看一下,当KeyOut1输出一个低电平,KeyOut2、KeyOut3、KeyOut4这三个输出高电平时,是否相当于4个独立按键呢。
图7 矩阵按键变独立按键
编辑点评:本文介绍了单片机最小系统的电路设计,单片机系统里都有晶振,晶振通常分为无源晶振和有源晶振两种类型。对单片机最小系统的电源模块、复位电路和振荡电路进行了详细的分析,理解单片机最小系统的设计对工程师是有利的。
技术专区
- 采用最新片上系统,实现电机控制方案
- 嵌入式C编程库的创建经验分享
- 超有趣的动态机械原理图 让你更加喜欢上机械
- 小白必看:单片机系统电路经典设计教学
- 什么是嵌入式技术?嵌入式软件经常出现的错误有哪些?又该如