一.AT89C51结构框图
AT89C51内部结构框图如图3-1 外部中断
EA TXD RXD P0 P1 P2 P3 ———————— ALE PSEN ————程序存贮器 中断控制 内部 中断 CPU 4K字节 ROM 数据存贮器 128字节 RAM 定时器1 定时器0 外部计 数脉冲 OSC 总线 控制 4×8 I/O口 串行口 图3-1 AT89C51内部结构框图
二.引脚功能说明
AT89C51是双列制插封装形式的器件,其引脚图如图3-2所示。
AT89C51的引脚P00~P07、P10~P17、P20~P27、P30~P37为四个8位并行输入/输出口,其中P3口、P0口、P2口为双功能口,可以作为普通输入/输出口(第一功能),也可以作为特殊输入/输出口。RST为复位输入线,ALE、PSEN、EA为系统扩展控制线,XTAL1和XTAL2为时钟电路输入/输出线,VCC、VSS为电源输入线,一般接+5V和地。
3.1.2 AT89C51单片机最小系统
最小系统包括单片机的基本供电、时钟电路和复位电路。 一.时钟和时钟电路
时钟电路是计算机的心脏,它控制着计算机的工作节奏。AT89C51单片
第6页 共69页
图3-2 AT89C51
————————
————
允许的时钟频率的典型值12MHZ,也可以是6MHZ。本设计采用12MHZ。单片机时钟电路图如图3-3
图3-3 单片机时钟电路
图3-10中晶振频率选择12MHZ。接到晶振两端的瓷片电容作用是使振荡器起振和对f 微调补偿,典型值为30PF,本设计中选用20PF瓷片电容。当单片机加电以后延迟约10ms的时间振荡器起振产生时钟,不受软件控制(XTAL2输出幅度为3V左右的正弦波。
二.复位和复位电路
计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位引脚是RST,当振荡器起振后,该引脚上出现2个周期的高电平,是器件复位,只要RST保持高电平,单片机保持复位状态。单片机复位方式有二种:上电复位(如图3-4)、人工复位(如图3-5)。
图3-4 上电复位电路 图3-5 上电复位和开关复位
注:RST与Vss之间的那个电阻在NMOS型单片机种需要接,但是在CMOS型单片机中不接。
其中电容一般为10UF的电解电容。
第7页 共69页
三.AT89C51单片机最小系统连接原理图
本设计的AT89C51单片机最小系统原理图。如图3-6
图3-6 AT89C51最小系统连接原理图
3.2 显示部分的设计 3.2.1 LED显示器接口原理[6]
LED(Light Emitting Diode)是发光二极管的缩写。LED显示器是由发光二极管构成的。LED显示器在单片机中的应用非常普遍。 一.LED显示器的结构
图3-7 七段发光显示器的结构
常用的LED显示器为8段(或7段,8段比7段多了一个小数点“dip”段)。
(a) 外形 (b)共阳极 (c)共阴极
每一个段对应一个发光二极管。这种显示器有共阴极和共阳极两种,如图3-7所示。共阴极LED显示器的发光二极管的阴极连结在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,
第8页 共69页
共阳极LED显示器的发光二极管的阳极连结在一起,通常此公共阳极接正电压,当某个发光二极管的阳极为低电平时,发光二极管点亮,相应的段被显示[11]。
为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同的字型,因此该代码称之为段码(或字型码)。
7段发光二极管,再加上一个小数点位,共计8段。因此提供给LED显示器的字型码正好是一个字节。各段与字节中的各位对应的关系如表3-1。
表3-1 显示段与代码位的对应关系表 代码位 显示段 D7 dip D6 g D5 f D4 e D3 d D2 c D1 b D0 a 按照表3-1格式,8段LED显示器的字型码如表3-2所示。 表3-2 8段LED显示器部分字型码
显示字符 共阴极段码 共阳极段码 显示字符 共阴极段码 共阳极段码 0 1 2 3 4 5 3FH 06H 5BH 4FH 66H 6DH C0H F9H A4H B0H 99H 92H 6 7 8 9 “灭” … 7DH 07H 7FH 6FH 00H … 82H F8H 80H 90H 88H … 注:段码是相对的,它由个字段在字节中所处的位决定。应根据实际情况确定,以上表格用来参考。 二.LED显示器工作原理
LED显示器有静态显示和动态显示两种显示方式。 1.LED静态显示方式[7]
所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。这种显示方式的每一个8段显示器需要一个8位输出口控制。
如图3-8用AT89C51单片机控制LED静态显示方式接口
第9页 共69页
AT89C51单片机
3.3K排阻
图3-8 用AT89C51单片机控制LED静态显示方式接口
2.LED动态显示方式
所谓的动态显示,就是一位一位地轮流点亮各位显示器(扫描)。在多位LED显示时,为简化硬件电路,节省I/O口资源,通常将所有位的段码线相应的并联在一起,由一个8位I/O口控制,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。如图3-9用AT89C51单片机控制LED动态显示方式接口。
图3-9用AT89C51单片机控制LED动态显示方式接口
其中7407是同相器集成块,其内部结构如图3-10,它是用来驱动共阴极数码管的。 在使用动态显示电路的时候,由于各位的段码线并联,8位I/O口输出的段码对各个显示位来说都是相同的。因此,要在同一时刻,如果各位的位选线都处于选通状态的话,那两位LED将显示相同的字符。若要各位LED能够
图3-10 集成块7407的内部结构图
第10页 共69页