基于at89c51的公交车语音报站器的论文内容摘要:

程序存储器锁定 5 128*8 位内部 RAM 6 32 可编程 I/O 线 7 两个 16 位定时器 /计数器 8 6 个中断源 9 可编程串行通道 10 片内振荡器和时钟电路 另外, AT89C51 是用静态逻辑来设 计的,其工作频率可下降到 0Hz,并提供两种可用软件来选择的省电方式 ——空闲方式( Idle Mode)和掉电方式( Power Down Mode)。 在空闲方式中, CPU 停止工作,而 RAM、定时器 /计数器、串行口和中断系统都继续工作。 在掉电方式中,片内振荡器停止工作,由于时钟被 “冻结 ”,使一切功能都暂停,故只保存片内 RAM 中的内容,直到下一个硬件复位为止。 引脚功能说明 AT89C51 引脚图如图 3- 2 所示。 图 3- 2 AT89C51引脚图 VCC:供电电压。 VSS:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8 个 TTL 门电流。 当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的 低 八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写 “1”时,其管脚被内部上拉电阻拉高,且作为输入。 硬件电路的设计 8 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址 “1”时,它利用内部上拉优 势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。 当 P3 口写入 “1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 口管脚 备选功能 RXD(串行输入口) TXD(串行输出 口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程 期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在 访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 硬件电路的设计 9 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出 [6]。 振荡器电路的设计 89 系列单片机的内部振荡器电路如图 3- 3 所示,由一个单级反相器组成。 XTAL1 为反相器的输入, XTAL2 为反相器的输出。 可以利用它内部的振荡器产生时钟,只要在 XTAL1 和 XTAL2 引脚上外接一个晶体及电容组成的并联谐振电路,便构成一个完整的振荡信号发生器,如图 3- 5 示,此方法称为内部方式。 另一种使用方法如图 3- 4 示,由外部时钟源提供一个时钟信号到 XTAL1 端输入,而 XTAL2 端浮空。 在组成一个单片机应用系统时,多数采用图 3- 5 所示的方法,这种方式的结构紧凑,成本低廉,可靠性高。 振荡 器的等效电路如图 3- 5 上部所示。 在图中给出了外接元件,即外接晶体及电容 C1, C2,并组成并联谐振电路。 在电路中,对电容 C1 和 C2 的值要求不是很严格,如果用高质的晶振,则不管频率为多少, C1, C2 通常都选择 30pF。 有时,在某些应用场合,为了降低成本,晶体振荡器可用陶瓷振荡器代替。 如果使用陶瓷振荡器,则电容 C1, C2 的值取 47pF。 XTAL2 XTAL1 内部定时 /PD 400 D1 D2 Q1 Rf Q2 VCC Q3 Q4 硬件电路的设计 10 图 3- 3 AT89C51 单片机内部振荡器电路 图 3- 4 外部时钟接法 图 3- 5 片内振荡器等效电路 通常,在单片 机中对所使用的振荡晶体的参数要求如下: ESR(等效串联电阻):根据所需频率按图 3- 6 选取。 C0(并联电容):最大。 CL(负载电容): 30pF+3pF。 通常,其误差及温度变化的范围要按系统的要求来确定。 图 3- 6 ESR 与频率的关系曲线 XTAL2 XTAL1 GND NC CMOS 门 外部振荡信号 XTAL1 XTAL2 89 系列单片机 GND 内部定时 VCC /PD Rf 石英晶体或 陶瓷振荡器 C1 C2 600 500 400 300 200 100 0 4 8 12 16 硬件电路的设计 11 在本设计中,采用的是内部方式,即如图 3- 5 所示,在 XTAL1 和 XTAL2 引脚上外接一个 12MHZ 的晶振及两个 47pF 的电容组成。 复位电路的设计 89 系列单片机与其他微处理器一样,在启动的时候都需要复 位,使 CPU 及系统各部件处于确定的初始状态,并从初始状态开始工作。 89 系列单片机的复位信号是从 RST 引脚输入到芯片内的施密特触发器中的。 当系统处于正常工作状态时,且振荡器稳定后,如 RST 引脚上有一个高电平并维持 2 个机器周期( 24 个振荡周期),则 CPU 就可以响应并将系统复位。 复位时序如图 3- 7 所示,因外部的复位信号是与内部时钟异步的,所以在每个机器周期的 S5P2 都对 RST 引脚上的状态采样。 当在 RST 端采样到“ 1”信号且该信号维持 19 个振荡周期以后,将 ALE 和 /PSEN 接成高电平 ,使器件复位。 在 RST 端电压变 低后,经过 12 个机器周期后退出复位状态,重新启动时钟,并恢复 ALE 和 /PSEN 的状态。 如果在系统复位期间将 ALE和 /PSEN 引脚拉成低电平,则会引起芯片进入不定状态。 图 3- 7 内部复位定时时序 手动复位 手动复位需要人为在复位输入端 RST 上加入高电平。 一般采用的办法是在 RST端和正电源 VCC 之间接一个按钮。 当人为按下按钮时,则 VCC 的 +5V 电平就会直| S5 | S6 | S1 | S2 | S3 | S4 | S5 | S6 | S1 | S2 | S3 | S4 | S5 | S6 | S1 | S2 | S3 | RST: INST ADDR INST ADDR INST ADDR INST ADDR INST ADDR INST ALE: /PSEN: P0: 11 振荡周期 19 振荡周期 硬件电路的设计 12 接加到 RST 端。 由于人的动作很快也会使按钮保持接通达数十毫秒,所以,保证能满足复位的时间要求。 手动复位的电路如图 3- 8 所示。 图 3- 8 手动复位电路 上电复位 AT89C51 的上电复位电路如图 3- 9 所示,只要在 RST 复位输入引脚上接一电容至 VCC 端,下接一个电阻到地即可。 对于 CMOS 型单片机,由于在 RST 端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至 1uF。 上电复位的过程是在加电时,复位电路通过电容加给 RST 端一个短暂的高电平信号,此高电平信号随着 Vcc 对电容的充电过程而逐渐回落,即 RST 端的高电平信号必须维持足够长的时间。 上电时, Vcc 的上升时间约为 10ms,而振 荡器的起振时间取决于振荡频率,如晶振频率为 10MHz,起振时间为 1ms;晶振频率为 1MHz,起振时间则为 10ms。 在图 3- 8 的复位电路中,当 Vcc 掉电时,必然会使 RST 端电压迅速下降到 0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。 另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“ 1”态。 如果系统在上电时得不到有效的复位,则在程序计数器 PC 中将得不到一个合适的初值,因此, CPU 可能会从一个未被定义的位置开始执行程序。 Vcc AT89C51 RST 10uF + Vcc GND Vcc AT89C51 RST GND 10uF + Vcc 硬件电路的设计 13 图 3- 9 上电复位电路 复位后寄存器的状态 当系统复位时,内部寄存器的状态如表 3- 1 所列,即在 SFRS 中,除了端口锁存器、堆栈指针 SP 和串行口的 SBUF 外,其余的寄存器全部清 0,端口锁存器的复位值为 0FFH,堆栈指针值为 07H, SBUF 内为不定值。 内部 RAM 的状态不受复位的影响,在系统上电时, RAM 的内容是不定的。 表 3- 1 各特殊功能寄存器的复位值 专用寄存器 复位值 专用寄存器 复位值 PC 0000H TCON 00H ACC 00H B 00H PSW 00H SP 07H DPTR 0000H P0P3 FFH IP 00000B IE 0 00000B TMOD 00H TH0 00H TL0 00H TH1 00H TL1 00H SCON 00H SBUF 不定 PCON( CHMOS) 0 0000B 在本设计中复位电路采用的是上电复位,即如图 3- 9 所示。 电压变换电路的设计 公交车上所使用的电源电压为 24V,而 AT89C51 芯片的工作电压为 5V,所以需要将 24V的电压转换成 5V电压。 设计中采用了三端固定正电压集成稳压器 7805,来得到 +5V 稳定电压。 电压变换电路如图 3- 10 所示。 集成稳压器是指将不稳定的直流电压变为稳定的直流电压的集成电路。 由于集成稳压器具有稳压精度高、工作稳定可靠、外围电路简单、体积小、重量轻等显箸优点,在各种电源电路中得到了普遍的应用。 常用的集成稳压器有:金属圆形封装、金属菱形封装、塑料封装、带散热板塑封、扁平式封装、双列直插式封装等。 在电子制用中应用较多的是三端固定输出稳压器。 78xx 系列集成稳压器是常用的固定正输出电压的集成稳压器,输出硬件电路的设计 14 电压有 5V、 6V、 9V、 12V、 15V、 18V、 24V 等规格,最 大输出电流为。 它的内部含有限流保护、过热保护和过压保护电路,采用了噪声低、温度漂移小的基准电压源,工作稳定可靠 [9]。 根据输出电流值的不同,选用不同系列的芯片,当电流小于 100mA 时,可以选用 78L00 系列;当电流在 以内时,可选用 78M0。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。