工作范文]基于单片机的多路专用定时器的设计内容摘要:

内部时钟电路和晶振频率一般选择在 4MHz~12MHz 之间(该设计选用12MHz), 外 接两个谐振电容。 该电容的典型值为 30pF,该设计选用 22pF[10]。 LED 与单片机接口电路 常用的 LED 显示器有 7 段(或 8 段, 8 段比 7 段多了一个小数点“ dp”段)。 这种显示器有共阳极和共阴极两种。 该设计中选用的是共阳极, LED 与单片机的接线如下图 所示。 图 LED 与单片机的接线 共阳极 LED 显示器的发光二极管的阳极连接在一起,通常该共阳极接地。 当某个发光二极管的阴极为 低电平时,发光二极管点亮,相应的段被显示。 使用 LED 显示器时,为了显示数字或符号,要为 LED 显示器提供代码,因为这些代码是通过段的亮与灭来显示不同字形的,因此称之为代码。 7 段发光二极管,再加上一个小数点位,共计 8 段,因此提供给 LED 显示器的段码正好一个字节。 各段字节中各位的对应关系如表 所示: 表 31 LED 各段字节各位的对应关系 显示数 dp G f e d c b a 段码 0 1 1 0 0 0 0 0 0 C0H 1 1 1 1 1 1 0 0 1 F9H 2 1 0 1 0 0 1 1 0 A3H 3 1 0 1 1 0 0 0 0 B0H 4 1 0 0 1 1 0 0 1 99H 5 1 0 0 1 0 0 1 0 92H 6 1 0 0 0 0 0 1 0 82H 7 1 1 1 1 1 0 0 0 F8H 8 1 0 0 0 0 0 0 0 80H 9 1 0 0 1 0 0 0 0 90H 由于单片机 I/O 的电气特性决定了单片机的端口的驱动能力有限,一般地,单片机的端口只是驱动 TTL 电平,不提供或者提供很小的驱动电流,所以在带负载时,单片机应当在 I/O 口加上驱 动芯片。 该设计中使用 74HC573 驱动芯片。 74HC573 芯片 由于使用了两根数码管,必须要有位选和段选,本次设计中采用两片74HC573 分别进行段选和位选。 下面本人将简要介绍 74HC573 芯片。 首先, 74HC573 是一款高速 CMOS 器件, 74HC573 引脚兼容低功耗肖特基 TTL( LSTTL)系列。 74HC573 包含八路 D 型透明锁存器,每个锁存器具有独立的 D 型输入,以及适用于面向总线的应用的三态输出。 所有锁存器共用一个锁存使能( LE)端和一个输出使能( OE)端。 当 LE 为高时,数据从 Dn 输入到 锁存器,在此条件下,锁存器进入透明模式,也就是说,锁存器的输出状态将会随着对应的D 输入每次的变化而改变。 当 LE 为低时,锁存器将存储 D 输入上的信息一段就绪时间,直到 LE 的下降沿来临。 当 OE 为低时, 8 个锁存器的内容可被正常输出;当 OE 为高时,输出进入高阻态。 OE 端的操作不会影响锁存器的状态 [11]。 然后,再简要介绍此芯片的特性。 ( 1)输入输出分布在芯片封装的两侧,为微处理器提供简便的接口。 ( 2)用于微控制器和微型计算机的输入输出口。 ( 3)三态正相输出,用于面向总线的应用。 ( 4)共用三态输出使能端。 器件选择 STC89S52:单片机,控制 LED 的数据显示。 LED:两个一位的 8 段码 LED,用于显示单片机的数据。 74LS573:锁存器, 74LS573 输入的 D 端和输出的 Q 端依次排列在芯片的两侧,为绘制印刷电路板时的布线提供了方便。 ULN2803:驱动 LED,相当于一个反相器。 按键 KEY_ST: KEY_ST 未按时时间正常运行, 按一下 KEY_ST 键后数码管显示的时间暂停,这时可以使用 KEY_UP、 KEY_DW 自行加、减时间。 按键 KEY_UP:当时间暂停之后,按一次 KEY_UP 键 数码管上的时间加1。 按键 KEY_DW:当时间暂停之后,按一次 KEY_DW 键数码管上的时间减 1。 按键 KEY_T1:电路上电之后,按下 KEY_T1 键后,开启定时器 0,时间从 99s 开始倒计时。 按键 KEY_T2:电路上电之后,按下 KEY_T2 键后,开启定时器 1,时间从 99s 开始倒计时。 按键 KEY_T3:电路上电之后,按下 KEY_T3 键后,开启定时器 2,时间从 99min 开始倒计时。 L0— L2:发光二极管,通过单片机的 控制,用以观看使用的是哪一个定时器。 接口连接设计 — :与 74HC573 芯片的 8 个输入口相接,然后输出口接上数码管的 8 个段选。 — :分别和 三个发光二极管相连,用以显示使用的是哪一个定时器。 — :分别接 KEY_UP、 KEY_DW、 KEY_ST 三个按键,控制时间的自加、自减以及暂停。 、 :分别和 芯片 ULN2803 的管脚 3 相连,然后接上数码管的2 个位选端。 — : 分别接 KEY_T KEY_T KEY_T3 三个按键,控制定时时间 3。 功能简介 LED 显示模块与单片机的连接中,对 LED 显示模块读写和字位、字段通道的选择是通过单片机 的 、 口完成 的。 按键 KEY_ST、 KEY_UP、 KEY_DW完成定时器的暂停、自加和自减功能。 而发光二极管 L0— L2 则反映了选用的 定时时间的不同。 第四章 软件设计 本章首先对设计思想即主程序进行介绍,然后对发光二极管指示程序、键扫描程序和数码管的显示程序的设计分别进行说明。 主程序 本次设计中,由于要求有定时器 3,所以程序设计中使用了三个定时器分别进行定时。 数码管显示部分由于最大数是 99,所以 使用两只数码管已绰绰有余。 为了分清使用的是哪一个数码管,所以又用了三个发光二极管进行区分。 程序流程图如下 图 所示。 图 主程序流程图 发光二极管指示程序 发光二极管的亮灭指示了此刻数码管显示的时间是使用了三个定时器中的哪一个进行的定时。 流程图如图 所示。 结束 定时器初始化 设定初值 键扫描 LED 显示 二极管显示 开始 N 否 是 否 是 否 是 图 发光二极管指示流程图 键扫描程序 键扫描程序中主要是扫描判断 KEYST、 KEYUP、 KEYDW 这三个 扫描程序如图 所示。 开始 KEY_T1 按下。 L0 亮 L1 亮 L3 亮 结束 KEY_T2 按下。 KEY_T3 按下。 否 是 是 否 开始 延时 KEY_ST 按下。 延时 KEY_DW按下。 KEY_ST 按下。 KEY_UP 按下。 KEY_UP 按下。 延时 LED 显示 KEY_DW 按下。 延时 否 是 图 按键子程序流程图 定时器中断程序 程序设计中使用了单片机 的三个定时器,虽然定时时间各不相同,但定时器中断流程图是相同的,所以此处只画出定时器 0 的中断流程图,如下图 所示: KEY_DW 按下。 LED 显示 开始 t=20。 重装初值 t++ t=0 LED 显示数减一 50ms 到。 t=20。 KEY_ST 按下。 否 是 图 定时器 0 的中断流程图 延时 定时器 0 关闭 KEY_ST 按下。 第五章 设计调试 软件调试 Proteus 的 简介 Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。 它运行于 Windows 操作系统上,可以仿真、分析 (SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和 SPICE 电路仿真相结合。 具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、 RS232 动态仿真、I2C 调试器、 SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ② 支持主流单片机系统的仿真。 目前支持的单片机类型有: 68000 系列、 8051 系列、 AVR 系列、 PIC12 系列、 PIC16 系列、PIC18 系列、 Z80 系列、 HC11 系列以及各种外围芯片。 ③ 提供软件调试功能。 在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如 Keil C51 uVision2 等软件。 ④具有强大的原理图绘制功能。 总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。 Proteus主要用于绘制原理图并可进 行电路仿真, Proteus ARES主要用于 PCB 设计。 ISIS的主界面主要包括: 1是电路图概览区、 2是元器件列表区、 3是绘图区。 绘制电路图的过程如下: 单击 2区的 P命令即弹出元器件选择( Pick Devices)对话框, Proteus提供了丰富的元器件资源,包括 30余种元器件库,有些元器件库还具有子库。 利用该对话框提供的关键词( Keywords)搜索功能,输入所要。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。