基于mcs-51单片机的车辆测速仪的设计与制作内容摘要:

AT89C52 介绍 AT89C52 是一个低电压,高性能 CMOS 8 位 单片机 , 片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器( RAM),器件采用ATMEL 公司 的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8位中央处理器和 Flash 存储单元, AT89C52 单片机在电子行 业中有着广泛应用[8]。 图 AT89C52芯片 AT89C52 管脚介绍 AT89C52 为 8 位 通用微处理器 ,采用工业标准的 C51 内核,在内部功能及管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。 功能包括对会聚主信号 发生器 放大 电路 波形转 换电路 AT89C52 单片机 图 系统硬件结构图 晶振电 路 复位电路 LCD显示模块 通信接口 本科毕业设计说明书(论文) 第 9 页 共 43 页 IC 内 部寄存器、数据 RAM 及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号 IR 的接收解码及 与主板 CPU通信等。 主要管脚有: XTAL1( 19 脚)和 XTAL2( 18 脚)为振荡器输入输出端口,外接 12MHz 晶振。 RST/Vpd( 9 脚)为复位输入端口,外接电阻电容组成的复位电路。 VCC( 40 脚)和 VSS( 20 脚)为供电端口,分别接 +5V 电源的正负端。 P0~P3 为可编程通用 I/O 脚,其功能用途由软件定义,在本设计中, P0 端口( 32~39 脚)被定义为 N1 功能控制端口,分别与 N1 的相应功能管脚相连接, 13 脚定义为 IR输入端, 10 脚和 11 脚定义为 I2C 总线控制端口,分别连接 N1 的 SDAS( 18脚)和 SCLS( 19 脚)端口, 12 脚、 27 脚及 28 脚定义为握手信号功能端口,连接主板 CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 图 AT89C52管脚分布图 VCC:供电电压。 GND:接地。 P0 口是一组 8 位漏极开路型双向 I/O 口, 也即地址 /数据总线复用口。 作为输出口用时,每 脚以 吸收电流的方式驱动 8 个 TTL逻辑门 电路,对端口 P0 写 “1” 时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在 Flash 编程时, P0 口接收指令字节,而在程序校验时,输出指令字节,校验 本科毕业设计说明书(论文) 第 10 页 共 43 页 时,要求外接上拉电阻。 P1 口 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写 “1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信 号拉低时会输出一个电流 (IIL)。 与 AT89C51 不同之处是, 和 还可分别作为定时 /计数器 2 的外部计数输入( )和输入( ),参见表 1。 Flash 编程和程序校验期间, P1 接收低 8 位地址。 和 的第二功能 如表 所示: 表 引脚号 功能特性 T2,时钟输出 T2EX(定时 /计数 1器 2) P2 口 是一个带有内部上拉电阻的 8 位双向 I/O 口 , P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口 P2 写 “1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 (IIL)。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX @DPTR 指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 MOVX @RI 指令)时, P2 口输出 P2 锁存器的内容。 Flash 编程或校验时, P2 亦接收高位地址和一些控制信 号。 P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对 P3 口写入 “1” 时,它们被内部上拉电阻拉高并可作为输入端口。 此时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL)。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能。 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 RST 复位输入。 当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG 当访问外部程序存储器 或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固 本科毕业设计说明书(论文) 第 11 页 共 43 页 定的脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条。 MOVX 和 MOVC 指令能将 ALE 激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时 ,应设置 ALE 禁止位无效。 PSEN 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 EA/VPP 外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为 0000H— FFFFH),EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端), CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组 合,并保持 ALE管脚处于低电平 10ms 来完成。 在芯片擦操作中,代码阵列全被写 “1” 且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外, AT89C52 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU 停止工作 , 但 RAM、 定时器 、 计数器 、 串口和中断系统仍在工作。 在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 复位电路 MCS51 单片机复位电路 是指 单片机的初始化操作。 单片机启运运行时,都需要先 本科毕业设计说明书(论文) 第 12 页 共 43 页 复位, 其作用是使 CPU 和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。 因而,复位是一个很重要的操作方式。 但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。 本设计中的复位电路: 图 复位电路 1) 复位 功能 : 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。 为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分 合过程中引起的抖动而影响复位。 单片机的复位是由外部的复位电路来实现的。 片内复位电路是复位引脚 RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的 S5P2,由复位电路采样一次。 复位电路通常采用上电自动复位(如图 (a))和开关复位 (如图 (b))两种方式 [9]。 图 RC复位电路 2) 单片机复位后的状态 : 单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器 PC= 0000H,这表明程序从 0000H 地址单元开始执行。 单片机冷启动后,片内 RAM 为随机值,运行中的复位操作不改变片内 RAM区中的内容, 21 个特殊功能寄存器复位后的状态为确定值,见表。 值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的 本科毕业设计说明书(论文) 第 13 页 共 43 页 初态,减少应用程序中的初始化部分是十分必要的。 说明:表 中符号 *为随机状态。 表 寄存器复位后状态 表 特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 A B PSW 00H 00H 00H TMOD TCON TH0 00H 00H 00H SP DPL DPH P0— P3 IP IE 07H 00H 00H FFH ***00000B 0**00000B TL0 TH1 TL1 SBUF SCON PCON 00H 00H 00H 不定 00H 0********B PSW= 00H,表明选寄存器 0组为工作寄存器组; SP= 07H,表明堆栈指针指向片内 RAM 07H 字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到 08H单元中; PoP3= FFH,表明已向各端口线写入 1,此时,各端口既可用于输入又可用于输出。 IP= 00000B ,表明各个中断源处于低优先级; IE= 000000B ,表明各个中断均被关断; 系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。 51 单片机的复位是由 RESET 引脚来控制的,此引脚与高电平相接超过 24个振荡周期后, 51 单片机即进入芯 片内部复位状态,而且一直在此状态下等待,直到 RESET引脚转为低电平后,才检查 EA 引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。 51单片机系统 在 复位时,将其内部的一些重要寄存器设置为特定的值,至于内部 RAM 的数据则不变。 晶振电路 晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。 AT89C52 单片机内部有一个用于构成振荡器 的高增益反相放大器。 这个放大器与 本科毕业设计说明书(论文) 第 14 页 共 43 页 作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。 引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端,使用外部振荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。 内部方式时,时钟发生器对振荡脉冲二分频,如晶振为 12MHz,时钟频率就为 6MHz。 晶振的频率可以在 1MHz24MHz 内选择。 电容取 30PF 左右, 两个电容取值都是相同的, 没有相同电容的情况下,可以用两个 相差不大 电容代替 , 但不能 相差太大, 这样会导致 谐振不平衡,容易造成停振或者干脆不起振 [10]。 系统的 电路设计是采用的内部方式,即利用芯片内部的振荡电路。 外接晶体谐振器以及电容 C1 和 C2构成并联谐振电路,接在放大器的反馈回路中。 对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。 在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。 本设计中的晶体振荡电路如图 : 图 晶体振荡电路 晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 放大整形电路 在测待测信号时,须将待测信号放大整形才能使用计数器计数,本设计所采用的放大整形电路如下图所示: 图 放大整形电路 本科毕业设计说明书(论文) 第。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。