武汉理工大学《单片机实习报告书》
图2.1 按键复位电路
2.2振荡电路
单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 STC89C51使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡
- 6 -
武汉理工大学《单片机实习报告书》
电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。其电路原理图如2.2所示。
图2.2 晶体振荡电路
2.3数码管显示电路
LED数码管显示是利用半导体发光制成条形的发光二极管,封装在一起组成数字或其他符号形状。数码管根据公共端不同,分为共阴极和共阳极两种形式。
图2.3 共阴极数码管内部电路
- 7 -
武汉理工大学《单片机实习报告书》
图2.4 共阳数码管电路内部电路
图2.5 共阴数码管
根据设计需要,本次选用共阴极数码管。由于一个数码管不能实现多位数显示,同时从节省I/O端口考虑,结合数电知识,利用两片74HC573扩展单片机的IO口,两片74HC573的输出分别接6位7段共阴数码管的段选端和公共端。
74HC573是8数据锁存器。主要用于数码管、按键等等的控制,其输出受输出允许端OE和锁存允许端LE的控制,当LE为高时锁存器输出为高阻态,当OE为低,LE也为低时,输入端的信号输出到输出端。在这里,使用两片74HC573的目的是为了扩展IO,达到时分复用单片机P0口的目的。输出端与6位7段阴数码管相连,共同组成数码管显示电路。电路图如图2.6所示。
- 8 -
武汉理工大学《单片机实习报告书》
图2.6 数码管显示电路
2.4串口通信电路
串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
MAX232是电平转换芯片。1970年,美国电气学会规定“RS232”串口通信协
- 9 -
武汉理工大学《单片机实习报告书》
议。规定逻辑“1”,-5— -15V;逻辑“0”,+5— +15V 。噪声容限为2V。要实现利用串口与单片机进行通信,就要进行电平转换,把标准转化成单片机可以识别的。MAX220–MAX249都是电平转换芯片,在单片机最小系统中,使用MAX232。其电路原理图如图2.7所示。
图2.7 串口电路
2.5矩阵键盘电路
从编码的功能上,键盘又可以分成全编码键盘和非编码键盘两种。全编码键盘是由硬件完成键盘识别功能的,它通过识别键是否按下以及所按下键的位置,由全编码电路产生一个唯一对应的编码信息(如ASCII码)。非编码键盘是由软件完成键盘识别功能的,它利用简单的硬件和一套专用键盘编码程序来识别按键的位置,然后由CPU将位置码通过查表程序转换成相应的编码信息。非编码键盘的速度较低,但结构简单的,并且通过软件能为某些键的重定义提供很大的方便。 编码键盘本身带有实现接口主要功能所需的硬件电路,不仅能自动栓测被按下的键并完成去抖动防串键等功能,而且能提供与被按键功能对应的键码(如ASCⅡ码)送往CPU,而非编码键盘只简单的提供按键开关的行列矩阵,有关键的识别,键码的输入与确定,以及去抖动等功能场由软件完成。
在这里,我们所需要的按键完成的功能就只是简单的功能切换和数字输入的
- 10 -