基于单片机的电动自行车智能里程表的设计内容摘要:
减少。 AT89C2051 芯片的 20个引脚功能为: Vcc 电源电压。 GND 接地。 RST 复位输入。 当 RST 变为高电平并保持 2 个机器周期时,所有 I/O 引脚复位至“ 1”。 XTAL1 反向振荡器的输入及内部时钟工作电路的输入。 XTAL2 来自反向振荡放大器的输出。 P1口 8位双向 I/O 口。 引脚 ~ 提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流( Iil) ,这是因为内部上拉的缘故。 和 需要外部上拉,可用做片内精确模拟比较器的正向输入( AIN1)。 P1口输出缓冲器能接收 20 mA 电流,并能直接驱动 LED 显示器; P1 口引脚写入“ 1”后,可用作输入,在闪速编程和编程校验期间, P1 口也可接收编码数 据。 P3 口 引脚 ~ 为 7 个带内部上拉的双向 I/O 引脚。 在内部已与比较器输出相连,不能作为通用 I/O 引脚访问。 P3口的输出缓冲器能接收 20 mA电流; P3 口写入“ 1”后,内部上拉,可用输入。 P3 口也可用作特殊功能口,其 16 功能见下 26表 表 26 P3 口特殊功能 P3 口引脚 特殊功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断 0) INT1(外部中断 1) T0(定时器 0 外部输入) T1(定时器 1 外部输入) P3 口同时也可以为闪速存储器编程和编程校验接收控制信号。 从上述引脚说明可看出, AT89C2051 没有提供外部扩展存储器与 I/O 设备所需的地址、数 据 、控制信号,因此利用 AT89C2051 构成的单片机应用系统不能在 AT89C2051 之扩展存储器或 I/O 设备,也即 AT89C2051 本 身即构成了最小单片机系统。 特殊功能寄存器( SFR) AT89C2051 中特殊功能寄存器描述在下表中,它们工用了 19 个字节,其功能与 8051 SFR 功能相对应。 低功耗工作方式 AT89C2051 有两种低功耗工作方式:空闲方式与掉电方式。 ( 1)空闲方式(休眠方式) 当利用软件使空闲方式 IDL( ) =1 时,单片机进入空闲方式。 此时,CPU 处于休眠状态,而片内所有其他外部设备保持工作状态,片内 RAM 和所有特殊功能寄存器内容保持不变。 在空闲方式下,当晶振 fosc=12 MHz、电源电压 Vcc= 6V 时,电源电流 Icc从 20mA降至 5mA,而 Vcc=3V 时 ,Icc由 mA 降至 1Ma。 中断或硬件复位可以终止空闲方式。 当空闲方式由硬件复位时, CPU 要从休眠处恢复程序的执行,执行 2 个机器周期后,内部复位算法才起作用。 此时,硬件禁止访问内部 RAM,但允许访问端口引脚。 为了防止休眠被复位终止时对端口引脚意外写入的可能性,在生成空闲方式的指令后不应紧跟对端口引脚的写指令。 ( 2)掉电方式 掉电方式由掉电方式位 PD( ) =1来设置,此时,振荡器停止工作,设 17 置掉电方式的指令成为最后执 行的 1 条指令,片内 RAM 和特殊功能寄存器内容保持不变。 在掉电方式下, Vccmin=2 V。 当 Vcc=6 V 时, Iccmax=100 uA;当 Vcc=3V 时, Iccmax==20 uA。 退出掉电的唯一方法是硬件复位。 硬件复位将重新定义特殊功能寄存器,但不影响片内 RAM。 复位的保持时间应足够长,以便振荡器能重新开始工作并稳定下来,在 Vcc 没有恢复到正常工作电压之前,不应进行复位。 编程(写代码数 据 ) AT89C2051 编程按下述步骤进行: 上电过程: Vcc 加电,置 RST 为 ‘ L’(低电平), XTAL1 为‘ L’,其他所有引脚悬空,等待 10 ms 以上; 置 RST 为‘ H’(高电平), 为‘ H’; ( 1) 在引脚 、 、 、 上施加相应的逻辑电平,选定某种 程模式; ( 2) 地址信号由内部地址计算器提供(初始值为 000H),欲写入该地址中的数 据 加至引脚 上; ( 3) 将 RST 电平升至 12 V 启动编程; ( 4) 给 施加一负脉冲,则编程 PEROM 存储陈列或锁定位的 1 字节,字节写周期采用自定时,通常为 ms; ( 5) 若要校验已编程数 据 ,将 RST 从 12 V 降至 逻辑电平‘ H’,并置引脚 为校验模式电平,输出数 据 即可在 P1 口读取; ( 6) 编程下一个地址字节,对 XTA1 施加一正脉冲,内部地址计数器加 1,然后在 P1 口上加载欲写入的新数 据 ; ( 7) 重复步骤( 5) ( 8),改变数 据 ,递增地址计数器直到 2 KB 存储陈列全部编程或目标文件结束; 下电过程:置 XTAL1 为‘ L’, RST 为‘ L’,其他 I/O 引脚悬空, Vcc下电。 当前次编程未结束时,不允许开始下一次编程。 如何确定一次编程操作是否结束, AT89C2051 提供了以下两种方法。 1(数 据 查询特性) AT89C2051 具有通过数 据 查询来检测写周期结束的特性。 在写期间,读操作将 18 导致 输出写入数 据 的补码,一旦完成,所有输出将出现真实数 据 ,这时可开始下一数 据 编程。 利用这一特性,可以在启动某 1 次编程后不断地查询写入数 据 ,直到查询出的数 据 为真实数 据 时,就可判定写周期已结束。 ( 2)准备好 /忙信号 在编程期间,引脚 ( RDY/BSY)提供了编程状态。 当 ( PROG)电平升高后,引脚 电平下降表示 BUSY,编程结束后 电平抬高表示 READY。 利用查询该状态信号便可 确定编程的结束。 (读代码数 据 ) 进行编程校验时,可通过下述步骤进行校验: 使 RST 从‘ L’变为‘ H’,地址计数器复位到 000H; ( 1) 提供适当的控制信号,从 P1 口读取数 据 与编程写入数 据 作比较; ( 2) 给 XTAL1 施加一正脉冲,地址计数器加 1; ( 3) 从 P1 口读 1个代码数 据 与编程写入数 据 作比较; ( 4) 重复步骤( 3)、( 4)直至整个存储陈列校验完毕。 写锁定位完成对闪速存储器加密。 按前述编程模式表操作:先选择写锁定模式,然后将 RST 升至 12 V, 施加编程脉冲,即可将锁定写入。 不能直接校验锁定位,锁定位的校验要通过观察其特性是否被允许来完成。 当编程模式选择为芯片擦除模式并被 引脚上施加 10 ms 的 PROG 脉冲后,整个 EPROM( 2 KB)和 2个锁定位即可被擦除。 擦除后,存储陈列全为 FFH。 特征字节 AR89C2051 系列芯片的基本特征,由 3 或 4 字组成,存储于程序存储区的低端。 AT89C2051 芯年片的特征字节位于地址 000H、 001H、 002H 中,当选择读特征字 节模式( ====“ L”)并采用类似校验步骤读取数据 时,即可获得 AT89C2051 芯片的特征字: ( 000H) =1EH 表示该产品由 ATMEL 生产; ( 001H) =21H 表示是 89C1051/89C2051; ( 002H) =FFH 表示 12 V 编程。 19 AT89C2051 除了可以按前述脱机编程外,还可以实现在线远程编程。 由于 AT89C2051 编程时需要利用 RST、 XTAL P1 口、 P3 口提供控制 信号与加载编程数 据 ,而这一要求常与用户系统对这些引脚的要求或操作冲突,因此,在线编程不能直接在用户工作电路中进行,而需要通过特殊电路处理才能实现。 利用电话线就可以实现远程编程。 为了实现远程编程,首先需要设计一个编程器。 该编程器由 CPU 控制,不仅能实现对用户系统中 AT89C2051(或其它 AT89C单片机)进行编程,而且能通过内置的调制解调器( MODEM)实现远程通信。 将编程器与用户系统中 AT89C2051 相连并通过 MODEM 和电话线连接到控端。 在远控端,操作人员可以用一台 PC 机及 MODEM 将含有新信息的新用户程序通过电话线以邮件的形式传输到本地端。 在本地端,编程器平时处于休眠状态,由内置 MODEM 监视电话线,等待呼叫。 当收到呼叫后, MODEM 应答并试着和呼叫者建立连接。 如果建立了连接, MODEM 就给编程器发 1个代码唤醒它,编程器开始工作,接收传输的邮件,并对用户系统 AT89C2051 进行编程。 编程结束后,应用系统即可执行新用户程序。 在远程通信中,可利用商业数 据 通信软件 Prom Plus 版编写用户文件传输协议( FTP),而通常使用的文件传输协议是一种简单 的发送等待( Sendandwait) Packetorented 协议。 在 PC 机上,可使用 Intel MCS51 软件开发包( Intel MCS51 Software Development Packetage)产生加载给编程器的文件。 89C2051 单片机是 Atme l公司生产的 C51 系列单片几中的一种,是一种低功耗、高性能的 8位 CMOS 微型控制器芯片。 它和 89C51 指令系统兼容,引脚功能和最小系统构成也一样,但与 89C51 单片机相比,具有以下优点: ( 1) 片内带 2KB 的 Flash ROM。 ( 2) 两极程序存 储器加密; ( 3) 能吸收 20 mA 的灌入电流并可直接驱动 LED; ( 4) 片内带精密模拟比较器,其中 和 除作通用 I/O 外,还可以作为模拟比较的正确输入端和负输入端,与片内精密模拟比较器相连,P3..6 作模拟比较结果输出,没有外部引脚,通过查询 可获知 和 的比较结果; 20 ( 5) 20 引脚封装,体积更小; ( 6) 没有 P0和 P2 口,不允许接片外存储器,因此不允许使用“ MOVX”指令 可见, 2051 可以为很多的嵌入式控制应用提供高度灵活且价格适宜的方案,特别适合小系统。 本系统仅用到单片机的 10 个 I/O 口,所以 选用 2051 单片机作主系统。 三端稳压器的选择 这类稳压器有输入、输出和公共端 3 个端子,输出电压固定不变(一般分为若干等级), CW7800 系列的输出电压为 5, 6, 9, 12, 15, 18, 24V 共 7 个档次,这个系列产品的最大输出电流可达。 同类型的产品还有 CW78M00 系列,输出电流为 ; CW78L00 系列,输出电流为。 这类产品具有使用方便、性能稳定、价格低廉等优点,得到了广泛应用,已基本上取代了由分立元件组成的稳压电路。 三端固定式集成稳压器还有输出 为负电压的 CW7900、 CW79M00 和 CW79L00系列。 它有 3 个接线端:输入端、输出端和调节端。 在调节端外接两个电阻可对输出电压作连续的调节。 在要求稳压精度较高,并且输出电压需在一定范围内做任意调节的场合,可选用这种集成稳压器。 它也有正、负输出电压以及输出电流大小之分,选用时应注意各系列集成稳压器的电参数特性。 (正负电压集成稳压器) 有很多电路需要正负电源(如运算放大电路),正负电源通常可以用 1 个正压稳压器和 1 个负压稳压器来组成,而用跟踪式集成稳压器更为 理想。 跟踪稳压器能保证正负输出电压始终是平衡的,它的中点始终为地电位,并有自动跟踪能力。 应用电路 如下所述: 1固定输出电压源 利用三端固定输出电压集成稳压器可以方。基于单片机的电动自行车智能里程表的设计
相关推荐
控制、延时、外部计数和检测等。 计数器:对引脚 T0( P )和 T1( .)输入的外部脉冲信号计数,当输入脉冲信号从 1 到 0 的负跳变时,计数器就自动加 1。 计数的最高频率一般为振荡频率的 1/24。 定时器 : 对系统晶振振荡脉冲的 12 分频 输出进行计数。 定时器 /计数器的结构组成: 16 位加法计数器、工作方式寄存器 TMOD 和控制寄存器 TCON。 T0: TL0(低 8
ed 或者其他的设备,它是 8路同相三态双向总线收发器,可双向传输数据。 74LS245还具有双向三态功能,既可以输出,也可以输入数据。 当 8051单片机的 P0口总线负载达到或超过 P0最大负载能力时,必须接入 74LS245等总线驱动器。 当片选端 /CE 低电平有效时, DIR=“ 0”,信号由 B 向 A 传输;(接收) DIR=“ 1”, 信号由 A 向 B 传输;(发送)当 /CE
方式 1 基于单片机的红外防盗报警系统设计 9 C口各位置位 /复位控制字,两种控制字写入的控制寄存器相同,只是用 D7位来区分哪一种控制字。 D7=1时为 C口置位 /复位控制字。 两种控制字的格式和定义如下图所示 : a b a 方式选择控制字 b C 口置 /复位控制字 AT89C51与 8255的接口电路 在 89C51 单片机上扩展一片 8255A 芯片,无需外加任何逻辑电路
多,为了便于用户安装使用,在硬件设计时,应尽可能地使用各种先进的现场总线技术,力求电路最简单,安装调试最方便。 第二,为保证本系统高可靠性运行,仪器本身要具备很强的抗干扰能力,为此应在硬件及软件设计上引入各种抗干扰清施。 特别是系统中各部分电路的电源均设计为直流稳压电源供电,当仪器用于复杂的工业环境时,直流电源能够不受干扰的对各部分电路提供直流电压就显得十分重要了。 第三,由于硬件电路十分简洁
四相步进电机,采用的方法是利用单片机控制步进电机的驱动。 步进电机是一种将电脉冲转化为角位移的执行机构。 当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度 (称为 “ 步距角 ”) ,它的旋转是以固定的角度一步一步运行的。 可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
[1] 江晓安等编著《模拟电子技术》西安电子科技大学出版社 [2] 雷思孝 冯育长编著《单片机系统设 计及工程应用》 西安电子科技大学出版社 [3] 求是科技编著《单片机典型模块设计实例导航》人民邮电出版社 2020 [4] 冯育长等编著《单片机系统设计与实例分析》西安电子科技大学出版社 2020 [5]《精通 PROTEL DXP 2020 SP2 电路设计》 电子工业出版社 2020 [6]