基于at89s52单片机的八位流水灯和按键的数码显示内容摘要:

AT89 单片机内部有一个用于构成振荡器的高增益反相放大器。 引脚 XTAL1 和 XTAL2 分别是此放中国地质大学江城学院毕业设计(论文) 6 大器的输入端和输出端。 这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器 [7]。 外接晶体谐振器以及电容 C1 和 C2 构成并联谐振电路,接在放大器的反馈回路中。 对外接电容的值没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。 此系统电路的晶体振荡器的值为 12MHz,电容应尽可能的选择陶 瓷电容,电容值约为 30PF。 在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。 单片机复位电路的设计 图 复位电路 单片机要复位,本质上是在其 RESET 脚上保持一定时间的高电平,单片机检测到这个电平保持时间大于它要求的时间就会自动复位。 最简单的上电复位电路是用一个电容与一个电阻串联组成,电容接 VCC,电阻接地, RESET 脚接在它们中间,当上电时,电容相当于短路,此时电阻上的电压等于 VCC,经过一段时间后电 阻电压逐渐变小直至为 0,只要 RC 时间选择合适,就可以用来上电复位。 但是这个电路要想起到重新复位的作用,只能先下电,再上电才行。 如果在电容两端并联一个按键,就成了按键复位电路,只要按下这个按键,单片机就能复位而无需下电 [8]。 复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如图 所示。 RST 引脚是复位信号输入端,复位信号为高电平有效,有效时间应持续 24 个震荡周期以上才能完成复位操作,当时钟频率选用 6MHz 时,则需要持续 4us 以上才能完成复位操作。 在通电瞬间,由于 RC 的充电过程,在 RST 端出现一定宽度的正脉冲,只要该正脉冲保持 10ms 以上,就能使单片机自动复位,在 6MHz 时钟时,通常 C 取 10μF, R2 约为 10k。 中国地质大学江城学院毕业设计(论文) 7 流水灯功能设计 AT89S52 单片机 P0口功能简介 图 AT89S52 单片机 P0 口内部结构 P0 口作输出口时:输出锁存,漏极开路输出,需外接上拉电阻。 如图 所示,由内部总线提供信号。 若是 “0”信号,经锁存器 /Q 端输出 “1”信号,使 T2 管导通,因 T2 管接地则 P0 输出 “0”信号;若是 “1”信号,经锁存器 /Q 端输 出 “0”信号,使 T2 管截止,要使 P0输出 “1”信号则需将 “0”信号拉为 “1”信号即需外接一上拉驱动电路。 74LS373 芯片简介 74LS373 是带有三态门的 八 D 锁存器 (3S,锁存允许输入有回环特性 ) ,常应用在地址锁存及输出口的扩展。 SN74LS373, SN74LS374 常用的 8D 锁存器 ,常用作地址锁存和 i/o输出,可以用 74HC373 代换。 74LS373 是低功耗肖特基 TTL8D 锁存器, 74H373 是高速CMOS 器件,功能与 74LS373 相同,两者可以互换。 74LS373 内有 8 个相同的 D 型 (三态同相 )锁存器,由两个控制端 (11 脚 G 或 EN; 1 脚 OUT、 CONT、 OE)控制。 当 OE 接地时,若 G 为高电平, 74LS373 接收由 PPU 输出的地址信号;如果 G 为低电平,则将地址信号锁存。 ( 1) 74LS373 引脚图 图 74LS373引脚图 中国地质大学江城学院毕业设计(论文) 8 ( 2) 74LS373 的逻辑功能表 图 74LS373的逻辑功能 ( 3) 74LS373 各引脚的功能 74LS373 的 1D~8D 为 8 个输入端 ,O0~O0 为 8 个输出端 , 输出端 O0~O7 可直接与总线相连。 G 是数据锁存控制端,当 G=1 时,锁存器输出端同输入端,当 G 由 “1”变为 “0”时,数据输入锁存器中。 OE 为输出允许端,当 OE=“0”时,三态门打开;当 OE=“1”时,三态门关闭,输出呈 高阻状态。 即当三态允许控制端 OE 为低电平时, O0~O7 为正常逻辑状态,可用来驱动负载或总线。 当 OE 为高电平时, O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时, O 随数据D 而变。 当 LE 为低电平时, O 被锁存在已建立的数据电平。 流水灯硬件电路 图 流水灯硬件 电路 流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统, 通过编写程序控制单片机 P0 口电平的高低变化,通过 P0 口扩展单片机的输出口时,可以将锁存器视为中国地质大学江城学院毕业设计(论文) 9 一个外部的 RAM 单元,其中, WR(写入信号)和 通过一个或非门来控制锁存器 LS373的锁存允许端 LE,当 WR 这个输入引脚为低电平时,允许 CPU将数据写 LS373, WR 和 都为低电平时, LE 为高电平,锁存器的输出端随着输入端的变化而变化,即达到了通过锁存器 74LS373 来驱动发光二极管的发光状态。 键盘电路及 LED七段数码管显示 电路 CD4511 芯片简介 CC4511 是 BCD- 7 段所存译码驱动器 [9],在同一单片结构上由 COS/MOS 逻辑器件和 n- p- n 双极型晶体管构成。 这些器件的组合,使 CC4511 具有 BCD 转换、消隐和锁存控制、七段译码及驱动功能的 CMOS 电路能提供较大的拉电流,可直接驱动 LED 显示器。 其低静态耗散和高抗干扰及源电流高达 25mA 的性能 [10],由此可直接驱动 LED。 本设计利用 CD4511 来驱动共阴极 LED (数码管)显示器的 BCD 码 —七段码译码器。 ( 1) CD4511 的引脚图 图 CD4511引 脚 图 4/7 段锁存译码驱动器( HCF4511BE)其引脚排列如上图 所示, CC4511 提供了 16 引线多层陶瓷双列直插、熔封陶瓷双列直插、塑料双列直插、和陶瓷片状载体 4 种封装形式。 其中, 6 脚为 BCD 码的编码输入端, 3 脚 LT 为试灯脚, 4 脚 BI 为消 隐脚,5 脚 LE 为锁存控制端, 9—15 脚用来驱动数码管显示字符。 其中 3 脚 LT, 4 脚 BI 接高电平有效, 5 脚 LE 接低电平选通、高电平锁存, 还有两个引脚 16 分别表示的是 VDD、VSS。 当给 ABCD 输入端输入不同的 BCD 编码时 CD4511 经过内部电路译码并通过输出端显示对应的字符。 CD4511 的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作,限流电阻要根据电源电压来选取,电源电压 5V时可使用 300Ω的限流电阻。 ( 2) CD4511 的各引脚功能 BI: 4 脚是消隐输入控制端,当 BI=0 时,不管其它输入 端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。 LT: 3 脚是测试输入端,当 BI=1, LT=0 时,译码输出全为 1,不管输入 DCBA 状态如何,七段均发亮,显示 “8”。 它主要用来检测数码管中国地质大学江城学院毕业设计(论文) 10 是否损坏。 LE:锁定控制端,当 LE=0 时,允许译码输出。 LE=1 时译码器是锁定保持状态,译码器输出被保持在 LE=0 时的数值。 A A A A4 为 8421BCD 码输入端。 a、 b、c、 d、 e、 f、 g:为译码输出端,输出为高电平 1 有效。 CD4511 译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数据 B、 C 进行组合, 即可 得出四项,然后将输入的数据 A、 D 一起用或非门译码。 BI为消隐功能端,该端施加某一电平后,迫使 B 端输出为低电平,字形消隐。 消隐控制电路如 表 31 所示。 消隐输出 J 的电平为 J=( C+B)D+BI 如不考虑消隐 BI项,便得 J=( B+C) D 据上式,当输入 BCD 代码从 10101111 时,J 端都为 “1”电平,从而使显示器中的字形消隐。 ( 3) CD4511 的逻辑功能表 表 CD4511的逻辑功能表 输入 输出 LE BI LI D C B A a b c d e f g 显示 X X 0 X X X X 1 1 1 1 1 1 1 8 X 0 1 X X X X 0 0 0 0 0 0 0 消隐 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 2 0 1 1 0 0 1 1 1 1 1 1 0 0 1 3 0 1 1 0 1 0 0 0 1 1 0 0 1 1 4 0 1 1 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 1 1 0 0 0 1 1 1 1 1 6 0 1 1 0 1 1 1 1 1 1 0 0 0 0 7 0 1 1 1 0 0 0 1 1 1 1 1 1 1 8 0 1 1 1 0 0 1 1 1 1 0 0 1 1 9 0 1 1 1 0 1 0 0 0 0 0 0 0 0 消隐 0 1 1 1 0 1 1 0 0 0 0 0 0 0 消隐 0 1 1 1 1 0 0 0 0 0 0 0 0 0 消隐 0 1 1 1 1 0 1 0 0 0 0 0 0 0 消隐 0 1 1 1 1 1 0 0 0 0 0 0 0 0 消隐 0 1 1 1 1 1 1 0 0 0 0 0 0 消隐 1 1 1 X X X X 锁 存 键盘输入应解决的问题 键盘是一组按键的集合,他是最常用的单片机输入设备。 操作人员可以通过键盘输入中国地质大学江城学院毕业设计(论文) 11 数据或命令,实现简单的人机通讯。 键是一种常开型按钮开关,平时(常态)键的二个触电处于断开状态,按下键时他们才闭合(短路)。 键盘分编码键盘和非编码键盘。 键盘上闭合键的识别由专用的硬件译码器实现并产生编号 或键值的称为编码键盘,如: ASCII 码键盘 ,BCD 码键盘等。 靠软件识别的称为非编码键盘。 在单片机组成的测控系统及智能化仪器中用的最多的是非编码键盘 [11]。 组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的, 当机械触点断开、闭合时 ,电压信号如下图 所示。 由于机械触点的弹性作用 ,一个按键开关在闭合时不会马上稳定地接通 ,在断开时也不会一下子断开。 因而在闭合及断开的瞬间均伴随有一连串的抖动 [12],如下图。 抖动时间的长短由按键的机械特性决定 ,一般为5ms~ 10ms。 这是一个很重要的 时间参数 ,在很多场合都要用到。 图 按键的抖动特性 按键稳定闭合时间的长短则是由操作人员的按键动作决定的 ,一般为零点几秒至数秒。 键抖动会引起一次按键被误读多次。 在单片机控制系统中,通过按键实现控制功能是很常见的。 单片机控制系统中大多使用控制键来实现控制功能,消除按键瞬间的抖动是设计必须要考虑的问题。 对按键处理的重要环节是去抖动,包括去除按下和抬起瞬间的抖动。 为确保 CPU对键的一次闭合仅作一次处理 ,必须去除键抖动。 在键闭合稳定时读取键的状态 ,并且必须判别到键释放稳定后再作处理 [13]。 去抖动的方法有很多种,这一点可从硬件和软件两方面来考虑。 如使用 RS 触发器的硬件方法(如下图 所示)、运用不同算法的各种软件方法等。 硬件去抖。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。