《基于51单片机的语音电子时钟系统.doc》由会员分享,可在线阅读,更多相关《基于51单片机的语音电子时钟系统.doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、江苏师范大学 毕业设计题 目 基于51单片机的语音电子时钟系统学生姓名 李承鑫 学 号 108319128 专 业 自动化 系 别 机 电 系 指导教师 张兴奎 二零一四年三月摘 要 单片计算机既单片微型计算机。由RAM,ROM,CUP构成,定时,计数和多种接口与一体的微型控制器。他体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51 系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习,设计的能力。 本文以AT89C51单片机为核心,将时钟集成芯片DS1302产生的时钟信号送入单片机,由六位数码管动态显示;采用不断查询单片机存储的作息时
2、间的方法,利用语音芯片播放音乐,同时采取定义三个按键及软件控制的方式,实现快速校时和整点报时功能;硬件部分介绍时钟集成芯片DS1302以及时钟信号模块、HY-1系列语音芯片以及自动控制打铃模块、直流电源模块、单片机AT89C51及动态显示模块;软件部分主要介绍设计思路及主程序以及各模块程序流程图。关键词:数字时钟; 单片机; 时钟集成芯片; 语音芯片I目 录绪论11. 系统的总体设计2 1.1 系统设计要求2 1.2 系统设计总方案2 1.2.1时钟电路方案3 1.2.2数码管显示方案32. 系统的硬件设计5 2.1 时钟电路模块5 2.1.1 时钟电路硬件连接图5 2.1.2 时钟电路模块工
3、作原理5 2.1.3 时钟芯片DS13025 2.2 校时电路模块8 2.1.1 校时电路硬件连接图8 2.1.2 校时电路模块工作原理9 2.3 整点报时模块9 2.1.1 整点报时电路硬件连接图9 2.1.2 整点报时电路模块工作原理10 2.4 数码管显示模块10 2.4.1 数码管显示电路硬件连接图10 2.4.2 数码管显示模块工作原理11 2.4.3 数码管11 2.4.4 驱动器13 2.5 音乐打铃模块15 2.5.1 音乐打铃电路电路硬件连接图15 2.5.2 音乐打铃模块工作原理15 2.5.3 HY-1系列语音芯片16 2.6 AT89C51的外设电路16 2.6.1 A
4、T89C51单片机16 2.6.2 时钟电路21 2.6.3 复位电路21 2.7 直流电源电路22 2.8 系统总原理图233. 系统的软件设计25 3.1 软件设计思路25 3.1.1 显示电路设计思路26 3.1.2 整点报时和语音电路设计思路26 3.1.3 校时电路设计思路28结论29致谢30参考文献31附录32 IV东华理工大学长江学院毕业设计(论文) 绪论 绪论 数字时钟是采用数字电路实现时、分、秒显示的计时装置,广泛用于个人家庭、车站、码头等场所,成为人们日常生活不可缺少的必需品。由于电子时钟采用了石英技术,因而走时精度高、稳定性好、使用方便、不需要经常调校。与机械式时钟相比具
5、有更高的准确性和直观性,且无机械装置,具有更长的使用寿命。数字电子时钟用集成电路计时时,译码代替机械式传动,用数码管LED代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行校时。故钟表的数字化给人们的生活带来了极大的方便。然而随着电子技术的飞速发展以及人们的生活水平不断的提高,人们对于时钟的要求不仅仅在于简单的计时,更趋向多功能的数字时钟。比如闹钟功能、日历显示功能、温度测量功能、温度计量功能、自动报时等功能。在自动控制工程中常常用到时钟。比如,上下课钟声是按特定的作息时间鸣响的;某些自动门有定时开闭的要求。在很多实际应用中,只要对数字时钟的程序和硬件电路
6、加以一定的修改,便可以实现对应的功能。因此研究数字时钟及其应用,有着非常现实的意义。 近年来由于大规模集成电路的发展,单片机具有功耗低、体积小、控制功能强、扩展灵活、价格便宜、使用方便等优点,促使单片机被广泛的应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化以及过程控制等领域。 本文的语音电子时钟正是以单片机为核心,时钟集成芯片、语音芯片、数码管等元件组成。通过对数字时钟的硬件电路以及对单片机的软件控制,使得设计的电子时钟实现整点报时、快速校时等功能。因而基于51单片机的数字语音电子时钟具有硬件结构简单,所需元件较少,实用性更强。 39东华理工大学长江学院毕业设计(论文) 系统的
7、总体设计 1. 系统的总体设计 1.1 系统设计要求 本课题的设计要求和技术指标: 1.系统具有时、分、秒计时,6位数字显示功能; 2.系统具有快速校时功能; 3.系统具有整点报时功能; 4.以时钟电路为基础,设计一个长江学院作息时间自动打铃器。 1.2 系统设计总方案 根据系统的设计要求和技术指标,基于时钟电路、显示电路、自动控制打铃电路等问题,考虑到三个设计方案:方案一:选用TTL、CMOS电路实现,主要包括晶体振荡器电路、分频器电路、时间计数器电路、七段译码驱动电路、LED数码管显示电路、校准电路。这钟设计方案主要靠硬件电路和准确计算元件参数来达到设计要求,因此,电路使用分立元件较多、灵
8、活性小、电路复杂、调试困难、集成度较低等缺点。方案二:选大规模时钟集成芯片LM8361搭建时钟电路,用存储器RAM6264作译码器,设计作息时间自动打铃器。该设计方案采用的专门时钟集成芯片LM8361是一种动态共阴屏幕具有性能稳定、走时功能、定时功能和睡眠功能。可以使用50或60hz频率作为数字钟的基准频率。但此芯片不易购买。虽然使用元件较少,但是线路复杂,也主要依靠硬件电路实现功能,计算量较大。方案三:选用51系列单片机为核心元件,由时钟电路、显示电路、直流电源电路等模块组成语音电子时钟系统。通过简单的硬件电路和51单片机软件控制的方法完成系统的设计要求。由于时钟的实现大部分是由软件的编程来
9、实现的,因此没有前两种方案的硬件的束缚。而且只要对数字时钟的硬件电路和程序加以一定的修改,就能实现更多功能的数字时钟的设计。综合上述三种设计方案的比较,基于成本等元素的考虑,本文采用方案三。根据系统的设计要求,采用单片机AT89C51作为控制器件,本系统的设计主要包括时钟电路模块、校时模块、整点报时模块、数码管显示模块、音乐打铃模块,该系统框图如图1-1所示: 校时模块 控制器件 AT89C51 数码管显示模块 整点报时模块 时钟电路模块 DS11302 音乐打铃模块 HY-1 直流电源模块图1-1 系统原理框图 1.校时模块:用于实现快速设置时、分的值。 2.整点报时模块:当分值计满60时,
10、通过蜂鸣器发出响声。3.时钟电路模块:用于产生时钟信号,且将时钟信号送入单片机处理。4.数码管显示模块:六位数码管动态的显示时、分、秒。 5.音乐打铃模块:依照作息时间,在特定的时间到达之时播放乐曲。 1.2.1 时钟电路方案 方案一:通过软件方式实现时钟电路。在单片机内部存储时钟的时、分、秒信息。利用定时器与软件结合的方式,实现1秒定时中断,每产生一次中断,存储器相应的秒值加1;若秒值达到60,则将其清零,并将相应的分值加1;若分值到达60,则分值清零,并将时值加1;若时值达到24,则将时值清零。由于每次执行程序时,定时器都要重新赋予初值,所以该时钟精度不高。 方案二:采用专门时钟电路集成芯
11、片DS1302,该芯片内部采用石英晶体振荡器,能够提供更加精确的时间信号。还有一个月小与31天时自动调整,且具有闰年补偿功能。为了保证时钟在突然掉电情况下仍能正常工作,芯片采用了双电源供电,以备随时提供正确的时间,且该芯片价格便宜。 基于上述两种方案的比较,本文采用时钟电路集成芯片DS1302,即方案二。 1.2.2数码管显示方案 方案一:数码管LED工作在静态显示方式时,其公共端接到一个固定的电平,其特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方式的优点是占用CPU时间少,显示便于监测和控制。缺点是在LED的
12、位数比较多时,会占用大量的I/O,硬件电路比较复杂,成本较高。 方案二:数码管LED工作在动态显示方式时,所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。这种方式的优点是即使LED的位数较多时硬件电路也较简单、只需要占用一组I/O。 通过两种方案的比较,本文采用数码管的动态显示方式,即方案二。东华理工大学长江学院毕业设计(论文) 系统的硬件设计 2. 系统的硬件设计 2.1 时钟电路模块 2.1.1 时钟电路硬件连接图 时钟芯片DS1302的X1、X2脚构成一个时钟电路,外接32.768kHz晶振,Vcc1接+5V的电源,Vcc2接+3V的电池,作为
13、备用电源。与单片机AT89C51的连接仅需要三条线:SCLK串行时钟引脚、I/O串行数据引脚、复位/片选RST,且分别与P3.3、P3.6、P3.5连接。具体连接图如图2-1所示: 图2-1 时钟电路DS302的硬件图 2.1.2 时钟电路模块工作原理 选用串行接口时钟芯片DS1302来设计时钟电路,该时钟电路以单片机AT89C51为控制元件,以DS1302为计时芯片,构成时钟电路。而且DS1302与单片机仅需要三个线,节省了接口资源。为了保证芯片安全的工作,分别在SCLK、 I/O、/RST接上上拉电阻来限流。由于Vcc2接有备份电源,所以即使在断电后也不会丢失时间和数据信息,保证继续工作。
14、2.1.3 时钟芯片DS1302 2.1.3.1 功能特性描述 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上
15、,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。 控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。DS1302 的控制字如表2-1所示。 表2-1 DS1302控制字 76543210 1RAMA4A3A2A1A0RD/CK/WR 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字
16、后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表2-2。 表2-2 DS1302控制字表读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0 范围81h80hCH10秒秒005983h82h10秒分005985h84h12/24010时时112/023AM/PM87h86h0010日日13189h88h00010月月11289h续表 2-2读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1
17、BIT0 范围8Bh8Ah00000周日178Dh8Ch10年年00998Fh8EhWP0000000-此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 2.1.3.2 管脚描述 DS1302的外部引
18、脚分配如图2-2所示、内部结构如图2-3所示。 图2-2 DS1302外部引脚图图2-3 DS1302内部结构图 管脚说明: Vcc1:主电源。 Vcc2:备份电源,当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc22.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。 2.2 校时模块 2.2.1 校时电路硬件连接图 定义三个按键:时设置键、分设置键、加1键,与单片机AT89C51的P1.0、P1.1、P1.2相连接。同样为了保证芯片的安全工作,需要在这几个I/O口线接上一定阻值的限流电阻,具体连接图如图2-4所示: 图2-4 校时电路硬
19、件图 2.2.2 校时模块工作原理 本文采用的是独立式按键,直接用I/O口线构成校时电路。每个按键占用一条I/O口线,每个按键的工作状态都不会产生相互的影响。按键的开关状态转换为高、低电平状态。通过采用单片机AT89C51的汇编语言的编程,软件控制实现如下操作:如果没有任何按键被按下,则时钟正常走下去。当S1按键被按下时,执行时设置状态时钟停止走动,按下S3键可以实现时值加1操作,加到24后清零;当S2按键被按下时,执行分设置状态时钟停止走动,按下S3键可以实现分值加1操作,加到60后清零。 2.3 整点报时模块 2.3.1 整点报时电路硬件连接图采用蜂鸣器的驱动电路,即用三极管的导通状态来驱
20、动蜂鸣器,从而控制蜂鸣器只在整点时发出响声。具体的连接如图2-5所示:图2-5 整点报时电路硬件图2.3.2 整点报时模块工作原理 由于蜂鸣器的工作电流一般比较大,所以单片机的I/O 口是无法直接驱动的,故本文设计利用一个PNP三极管来放大电路来驱动蜂鸣器。三极管Q1起开关作用,其基极的低电平使三极管饱和导通,使蜂鸣器发出响声;而基极高电平则使三极管截止,蜂鸣器不能发出响声。 通过软件控制,实现整点报时的功能。当分计时计满60时,把连接蜂鸣器的I/O口线置0延时蜂鸣器需要鸣响的时间后再把该I/O端口置1,关闭蜂鸣器。 本文设计时连接蜂鸣器的I/O口线选用P3.7。 2.4 数码管显示模块 2.
21、2.1 数码管显示电路硬件连接图 将六位数码管的8个笔划段ah同名端连接在一起,与驱动器CC4511的ah管脚相连且每个笔划段加上上拉电阻;每一个数码管的公共端com与反相驱动器74LS373的输出端Q0Q5相连。而CC4511、74LS373分别与单片机AT89C51的P0和P2口线连接。具体连接图如图2-6所示:图2-6 数码管显示电路硬件图 2.4.2 数码管显示模块工作原理本文设计的显示模块为了节省I/O接口,简化电路,采用了数码管的动态显示方式。其中芯片CC4511用于字段口的控制作用,而74LS373用于位选择的控制作用,且控制每个时刻只能有一个数码管处于有效工作状态。同时驱动器还
22、有增加显示的稳定性和亮度的作用。先通过字位口输出使第1位LED数码管的共阴极为0,其余位的共阴极为1,字段口相应输出第1位要显示的字形码,并延时1ms5ms,然后字位口使第2位的共阴极为0,其余位的共阴极为1;字段口再输出第2位要显示的字形码,每位轮流循环显示。虽然每一瞬间只会有以为LED在显示时间,但由于人眼的视觉暂留特性,使人感觉每个LED总在亮,即动态扫描显示方式。这主要采取软件的方式来完成。 2.4.3 数码管 2.4.3.1 数码管的分类和原理数码管一般是由8个发光二极管显示字段的显示器件。其中7个二极管组成一个“8”,另一个为小数点。可显示09及一些英文字母AF或特殊字符。其引脚图
23、如图2-7所示: 图2-7 数码管LED外部引脚图 通常数码管有共阴极与共阳极两种结构,共阴极就是把所有LED的阴极连接到共同接点com。而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)如图2-8所示。共阳极则是把所有LED的阳极连接到共同接点com。而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点),如图2-9所示。本文设计中所采用的是共阴极LED数码管。图2-8 共阴数码管内部结构图及实物图 图2-9 共阳数码管内部结构图及实物图 其工作原理分别为: 共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚
24、接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 2.4.3.2 数码管的显示 数码管
25、有静态显示和动态显示两种方式。 静态显示方式:LED在显示某一字符时,其显示驱动电路具有锁存功能,由单片机送出的显示驱动码一经送出后,在不改变显示内容的情况下,该驱动器应一直保持到显示下一个字符为止。数码管工作在静态方式时,其公共段应接到一个固定的电平。动态显示方式:将每一片LED相同的段码线并联,只有一个8位并行口(字段口)控制,而每位LED的共阴端引出也由一个并行口(字位口)控制,组成动态显示电路。 2.4.4 驱动器 2.4.4.1 CC4511描述 CC4511是常用的七段显示译码器。它的内部除了七段译码器电路外,还有锁存电路和输出驱动器部分,既有输出大驱动电流的能力,最大可达25mA
26、,可直接驱动LED数码管或荧光数码管。 CC4511有四个输入端A、B、C、D和七个输出端ag,它还具有输入BCD码锁存、灯测试和熄灭显示控制功能,它们分别有锁存端LE、灯测试端LT、熄灭控制端/BT来控制。其外部引脚如图2-10所示: 图2-10 CC4511外部引脚图 当锁存允许端LE=“0”时,锁存器直通,译码器输出端随输入端而变化,当LE=“1”时,锁存器锁定,输出端保持不变,熄灭控制端/BI=“0”时,译码器输出全“0”,因此,正常工作时应使/BI为高电平。另外灯测试端/LT=“0”时,译码器输出全“1”,数码管各段均亮,即显示“8”, 用来检测数码管是否正常。当输入的BCD码大于1
27、001时,七段显示输出全“0”,各段均不亮。CC4511驱动器逻辑图如表2-3:表2-3 CC4511驱动器逻辑图输 入 输 出LE/BI/LTDCBAabcdefg显 示XX0XXXX11111118X01XXXX0000000消 隐01100001111110001100010110000101100101101101201100111111001301101000110011401101011011011501101100011111601101111110000701110001111111801110011110011901110100000000消 隐01110110000000消
28、 隐01111000000000消 隐01111010000000消 隐01111100000000消 隐01111110000000消 隐111XXXX 锁 存锁 存 2.4.4.2 74LS373描述 74LS373为三态输出的八位透明锁存器,373 的输出端 Q0Q7可直接与总线相连。当三态允许控制端 OE 为低电平时, Q0Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时, Q0Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。当 LE
29、端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。 其外部引脚图如图2-11所示: 图2-11 74LS373外部引脚图 管脚说明: Vcc:电源GND:接地D0D7:数据输入端Q0Q7:数据输出端/OE:三态允许控制端,低电平有效LE:锁存也许端 2.5 音乐打铃模块 2.5.1 音乐打铃电路硬件连接图 HY-1系列语音芯片管脚2与单片机AT89C51的P2.1连接,具体连接如图2-12所示: 图2-12 音乐打铃电路硬件图 2.5.2 音乐打铃模块工作原理 其中与语音芯片2脚连接的P2.1口起着开关的作用,控制HY-1语音芯片的工作,而且HY-1音乐集成电路内存一首乐
30、曲。当触发端受脉冲触发后立即输出音乐信号,乐曲程序结束时工作自行停止。当触发端与触发电平相连时,电路反复呜奏,直到脱离触发电平且正常演奏的乐曲程序结束后才自行停止。电路内设有前置放大器和功放,使用灵活,可直接驱动扬声器,也可以从前置放大器引出端驱动电蜂呜器。首先将长江学院的作息时间存储到单片机AT89C51的几个位地址中,通过不断的提取DS1302的时间,利用软件的方式将其时间与存储的时间进行对比,如果该时间为作息时间则P2.1脚置1,打开语音芯片,蜂鸣器立即输出音乐信号播放乐曲;如果该时间不是作息时间则继续提取时间与之对比,不断重复查询作息时间这一操作,以实现依照作息时间表来控制语音芯片的工
31、作。 2.5.3 HY-1系列语音芯片 2.5.3.1 功能特性描述 HY-1 系列音乐集成电路是一种大规模CMOS 集成电路。该电路将包括前置放大器和功率放大器在内的所有电路用CMOS 技术集成在一块。HY-1 系列音乐集成电路具有驱动能力大和输出端运用灵活的特点。该系列产品外围元件少,耗电省,且应用灵活,适用于门铃、玩具、各种呼叫及报警装置。 3.5.3.2 工作原理 HY-1系列音乐芯片外部引脚如图2-13所示:图2-13 HY-1系列音乐芯片外部引脚图 在芯片上已焊接一个68K的电阻,其中5脚为功率输出端,能直接驱动扬声器。3、3脚为前置放大器的输出端,可用于推动压电蜂鸣器工作或推动半
32、导体三极管。当用正脉冲触发端2脚触发端时,它便会自动演奏乐曲。 2.6 AT89C51的外设电路 2.6.1 AT89C51单片机 2.6.1.1 功能特性描述 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4K的可反复擦写的只读程序存储器和128B的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C51单片机可灵活应用于各种控制领域。 AT89C51提供以下标准功能:4K字节Flash闪存储器,128字节内部RAM,31个I/O口线,两个16
33、位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。(其内部结构如图2-14所示)同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。图2-14 AT89C51内部结构图 主要性能参数: 与MCS-51产品指令系统完全兼容。 4K字节可重擦写Flash闪存储器。 1000次擦写周期。 全静态操作:0Hz24Hz。 三级加密程序存储器。 1288字节内部RAM。 32
34、个可编程I/O口线。 2个16位定时/计数器。 6个中断源。 可编程串行UART通道。 低功耗空闲和掉电模式。 2.6.1.2 管脚描述 AT89C51单片机采用40只引脚的双列直插封装方式。引脚主要包括电源的引脚、外接晶体的引脚、4跳控制或与其他电源复用的引脚、31条I/O引脚。引脚按其功能可分为3类: 主电源引脚(Vcc、GND)和时钟引脚(XTAL1、XTAL2)。 控制引脚,包括RST、/PSEN、ALE/PROG、/EA/VPP。 接口引脚 AT89C51单片机的引脚具有以下特点:单片机功能多但引脚较少,I/O接口线不是全部用于用户I/O接口线,许多引脚都具有双重功能。这种双重功能的
35、设置为单片机实现系统扩展奠定了基础。使单片机对外呈现3总线形式,即由P2、P0口构成外部存储器16位地址线,由P0口分时复用为数据总线,由ALE 、/PSEN 、RST 、/EA与P3口中的/INTO、/INT1、T0、T1、/WR 、/RD共10个引脚组成控制总线,如图2-15所示:图2-15 AT89C51单片机的对外总线结构 外部管脚如图2-16所示: 图2-16 AT89C51外部引脚图 管脚说明: Vcc:接+5V电源正端。 GND:接+5V电源地端。 XTAL1:接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端, 这个放大器构成了片内振荡器。当采用外部时钟事,对于HM
36、OS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。 XTAL2:接外部石英晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对CHMOS单片机,该引脚接收振荡器的 信号,即把此信号直接接到内部时钟发生器的输入端;对CHMOS单片机此引脚应悬空。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可
37、用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为
38、RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是
39、由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如表2-4所示:表2-4 P3口第2功能引脚第2功能功能代号作用P3.0RXD串行接口输入端P3.1TXD串行接口输出端P3.2/INT0外部中断0请求输入端,低电平有效P3.3/INT1外部中断1请求输入端,低电平有效P3.4T0