单片机简易秒表正计时时间可设置倒计时时间可查询
- 格式:pdf
- 大小:2.01 MB
- 文档页数:59
方案一:使用液晶显示屏显示时间数字。 液晶显示屏( LCD)具有轻薄短小、低耗电 量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好, 分辨率高,抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号,需要利用控 制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时, 不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。
3 单片机的硬件功能具有广泛的通用性。
4. 品种规格的系列化。
2.2 单片机的选择
方案一:采用 AT89C52单片机
AT89C52是一种低功耗、高性能 CMOS位8 微控制器,具有 8K 在系统可编程 Flash 存储 器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51产品指令和引脚完全 兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有 灵巧的 8 位 CPU和在系统可编程 Flash ,使得 AT89C52为众多嵌入式控制应用系统提供高 灵活、超有效的解决方案。该芯片且具备在线编程可擦除技术,当在对电路停止调试时, 因为顺序的过错修正或对步伐的心删功能需要烧进程序时,没有需要对芯片屡次插拔,所 以不会对芯片形成破坏。
显示输出部分所用的数码管有共阴极和共阳极两类数码管之分, 不管使用何种数码管, P0 口作为 I/O 使用时都是需要上拉电阻才能驱动数码管。 另外,因为单片机的 4 个并行 I/O 口的输出电流一般是 1mA,短路电流为 4mA左右,而数码管的最少驱动电流也需要 10mA,因 而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动 数码管。本电路中采用的是共阴极数码管。驱动部分主要是数码管分组显示的选择控制, 本电路中通过 P1 口和 P2 口的配合进行数码管的选通。
在基本设计基础上添加了正向查询 10 条记录后蜂鸣器同时报警。
1.5 设计意义 简易秒表具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸多优点,符 合电子仪器仪表的发展趋势,具有广阔的市场前景。本次设计将基于单片机的工作原理, 设计简易秒表的基本电路,深入的了解其工作原理,掌握其基本的工作特点。同时简易秒 表在生活中应用广泛,从实际出发,不断创新。
3.1 系统结构框图
第三章 系统总体结构
主控电路 (AT98C52)
图 2-1
图3-1 3.2 各框图实现功能 3.2.1 单片机模块 按照系统设计功能的要求,初步确定系统由主控模块,存储模块,驱动模块,显示模 块和键盘接口模块组成,如图3-1。这些模块中单片机占主控地位,采用 AT98C52芯片。
根据以上的论述, 因本系统需要的按键不多, 只需要开始 / 暂停” 键、“记录 / 查询”键、 “清零”键、 “模式切换”键、 “时间设置”键。所以采用方案一独立式键盘。
2.5 时钟电路的选择
时钟电路常用的有内部时钟方式和外部时钟方式, 但因为本设计中只需要一片单片机, 所以采用内部时钟方式比较简单。
P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作 为输入时, P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于 外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在给 出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口 输出其特殊功能寄存器的内容。 P2口在 FLASH编程和校验时接收高八位地址信号和控制信 号。
方案二:采用 FTC10F04单片机
FTC10F04单片机还带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的 8 位 CMOS微处理芯片,市场应用最多。其主要特点如下: 8KB Flash ROM,可以擦除 1000 次以 上,数据保存 10 年。
方案三:采用 8051 单片机
8051 单片机最早由 Intel 公司推出,内部具有 4KB ROM存储空间。其后多家公司购买 了 8051 的内核, 使得以 8051 为核心的 MCU系列单片机在世界上产量最大, 应用也最广泛。 有人推测 8051 可能最终形成事实上的标准 MCU芯片。 LG 公司生产的 GMS90系列单片机,
P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉 为低电平, P3 口将输出电流( ILL )这是由于上拉的缘故。
P3 口也可作为 AT89C52的一些特殊功能口, P 口管脚备选功能
第一章 设计内容和要求
1.1 设计任务 用 AT89C52设计一个 4 位的 LED数码作为多功能“秒表” 。 1.2 设计目的 1.学习数码管显示的结构和工作流程,实现数码管分组显示数字组合。 2.学习有关单片机的内容,进一步了解 AT89C52芯片的相关功能。 3.复习 C语言的相关知识。 4.培养自学能力和探索解决问题的能力。 1.3 设计要求 显示时间为 00 分 00 秒-59 分 59 秒,每 1 秒自动加 1,另外设计一个 “开始 / 暂停”键、 一个“记录 / 查询”键、一个“清零”键、一个“模式切换”键、一个“时间设置”键、一 个“复位”键。秒表要求正计时时,可记录并且查询 10 组数据,倒计时时,时间用户可设 置,并且时间到时蜂鸣器报警。 1.4 设计创新
与 Intel MCS-51 系列、 Atmel 89C51/52,89C2051 等单片机兼容, CMOS技术,高达 40MHZ 的时钟频率。应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各 种计费器,各种 IC 卡装置、 DVD、VCD、CD-RO。M
由于本系统对 CPU运算速度要求很高,需要执行很复杂的运算,方案一,三成本比较 低,适合做设计,方案二运算速度高,性能好,所以三种方案都有可取之处。本次设计选 用方案一作为主方案,设计以 AT89C52为主控电路的方案电路。
ALE/PRO:G 当访问外部存储器时, 地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正 脉冲信号,此频率为振荡器频率的 1/6 。因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE的输 出可在 SFR8EH地址上置 0。此时, ALE 只有在执行 MOV,X MOVC指令是 ALE才起作用。另 外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。
P1 口:P1口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高, 可用作输入, P1 口被外部下拉为低电平时, 将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时, P1 口作为第八位地址接 收。
2.4 键盘模块的选择
在对倒计时时间可设置,对正计时、倒计时的模式选择时,清零时都需要用按键。
方案一:使用独立式键盘。独立式键盘是指直接用 I/O 口线构成的单个按键电路。独 立式按键电路配置灵活,软件结构简单。
方案二:使用矩阵式键盘。矩阵式键盘是由行线和列线组成,按键位于行、列的交叉 点上,行线、列线分别连接到按键开关的两端。其特点是简单且不增加成本,这种键盘适 合按键数量较多的场合。
在显示模块中, 它的连接方式为 8 位数码管的各段控制口 a,b,c,d,e,f,g,dp 分别需接 到 P0 口。数码管的显示码是由 P0 口输入的,位选端是通过 P2 口控制的。数码管的显示编 码已经编好放在计算机的内存里,时间的显示可以通过软件的计算把显示码调出显示。显 示模块直接用数码管来显示时间。先将显示码存入数组中,指向最左边一位,然后取出要 显示的数据,指向换码表首地址,取出显示码,从 P0 口输出显示码, P2 口输入位选码,
a
f
b
g
e
c
d
h
图3-2 数码管笔段分布图
3.2.4 驱动模块 驱动部分电路选择S8050芯片,通过与单片机的连接,将电平拉高才能使发光管
正常发光。
第四章 硬件设计 由图 3-1 系统结构框图可知硬件选择如下: AT89C52芯片,LED数码管组,数码管驱动 三极管,电阻,按钮等外围应用电路构成。下面介绍各外围电路。 4.1AT89C52单片机基本引脚接线图 AT89C52的基本连接电路如图,有复位电路,内部时钟电路, VCC,VSS的连接,其余 控制电路根据程序设计分别连至个 I/O 口实现功能。图3-1为 AT89C52的引脚图,在设 计中大部分采用40引脚的双列直插式芯片。图3-2介绍的是 AT89C52作为基本连接电 路中。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管 脚第一次写 序数据存储器,它可以被定义为 数据 / 地址的第八位。在 FIASH编程时, P0 口作为原码输入口,当 FIASH进行校验时, P0 输出原码,此时 P0外部必须被拉高。
方案二: 使用传统的 LED数码管显示。 数码管具有: 低能耗、 低损耗、 低压、 寿命长、 耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度 比较高,称重轻,精确可靠,操作简单。数码管采用 BCD编码显示数字,程序编译容易, 资源占用较少。
根据以上的论述,采用方案二。在本系统中,我们采用了四位一体数码管串口的动态 显示,因选用四位一体共阳数码管,所以要加共阳的驱动,采用 pnp 的驱动。
P3.0 RXD(串行输入口)
P3.1 TXD (串行输出口)
P3.2 /INT0 (外部中断 0)