利率显示屏设计单片机课程设计(编辑修改稿)内容摘要:

起,另外为每个数码管的公共极 COM 增加位元选通控制电路,位元选通由各自独立的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位 元就显示出字形,没有选通的数码管就不会亮。 透过分时轮流控制各个 LED 数码管的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。 在轮流显示过程中,每位元数码管的点亮时间为 1~ 2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 口,而且功耗更低。 本设计采用的是 4 位共阴极 LED 数码管的串行驱动电路来达到显示的目的。 驱动器采用 74LS164,由单片机 89C51 的 P3 口来控制 LED 数码管的显示。 显示电路图如 所示。 单片机系统课程设计 abfcgdeD P Y1234567abcdefg8dpdpD S 1abfcgdeD P Y1234567abcdefg8dpdpD S 2abfcgdeD P Y1234567abcdefg8dpdpD S 3abfcgdeD P Y1234567abcdefg8dpdpD S 4Q05Q16Q27Q38Q49Q510Q611MR4C L K3B2A1Q71274L S 164Q05Q16Q27Q38Q49Q510Q611MR4C L K3B2A1Q71274L S 164Q05Q16Q27Q38Q49Q510Q611MR4C L K3B2A1Q71274L S 164Q05Q16Q27Q38Q49Q510Q611MR4C L K3B2A1Q71274L S 164P 3. 1V C C 图 显示电路 74LS164 是 8 位串行输入,并行输出的移位寄存器。 其引脚及各个引脚的作用如下图 所示: 单片机系统课程设计 V C C14Q713Q612Q511Q410MR9CP8Q36Q03D S A1D S B2Q14Q25G N D7 图 74LS164 引脚及说明 4 系统软件设计 系统软件设计主要包括主程序、显示子程序、键盘子程序、延时子程序等构成。 本章节系统的介绍了利率显示屏的主程序和各主要功能子程序的设计流程,具体的程序代码见附录。 主程序软件设计 主程序构成无限循环,主要完成单片机初始化 、关 中断 、 菜单显示内容初始化 、 按键扫描等功能。 主程序的流程图如图。 符号 引脚 说明 DSA 1 数据输入 DSB 1 数据输入 Q0~Q3 3~6 输出 GND 7 地 (0 V) CP 8 时钟输入(低电平到高电平边沿触发) /MR 9 中央复位输入(低电平有效) Q4~Q7 10~13 输出 VCC 14 正电源 单片机系统课程设计 开 始单 片 机 初 始化 设 置显 示 状 态有 键 按 下键 码 分 析命 令 键数 码 键 处 理命 令 键 码 处理YNYN 图 主程序流程图 主程序流程说明: 电路主要分为以下几个部分,分别是电源部分、显 示部分、按键部分 ,各部分具有不同的子程序。 主程序的作用主要是先初始化寄存器以及显示内容;然后查询按键操作,并且对按键进行分析以及处理,通过分析处理,对于功能 键,则设定各个利率数据。 键盘程序设计 在操作按键时,无论是按下还是松开,触点在闭合和断开时均会产生抖动,此时逻辑电平是不稳的,如果得不到正确处理,可能会引起单片机对按键命令的错误执行。 解决这个问 题的简单方法是利用软件延时。 在单片机处理按键操作后都延时 10ms,如果确定是按键后再延时,这样基本可以避免键盘的抖动。 然后由单片机进行键码分析 ,并执行相应的命令,显示并且返回。 图 是键盘程序设计流程图。 单片机系统课程设计 开 始有 键 闭 合调 用 延 时 子程 序 1 0 m s确 有 键 闭 合判 断 闭 合 键键 码闭 合 键 释 放执 行 键 码 对应 的 子 程 序结 束调 用 延 时 子程 序YYYNNN 图 键盘程序流程图 按键 设置采用了 行 扫描法,要判断键盘中有无键按下时将全部行线 Y0Y3置低电平,列线置高电平,然后检测列线的状态。 只要有一列的电平为低, 则表示键盘中有键被按下,而 且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之 中。 若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置时,在确认有键按下后,即可进入确定具体闭 合键的 单片机系统课程设计 过程。 图 为确定闭合键的程序流程图。 开 始其 中 一 行 为0 , 其 余 为 1读 P 1 口 数 据高 四 位 是 否 有 0Y判 断 一 位 为 0确 定 键 位结 束N 图 确定闭合键程序流程图 其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。 在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。 若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 例如 : 将单片机的 P1 口用作键盘 I/O 口,键盘的列线接到 P1 口的低 4 位,键盘的行线接到 P1 口的高 4 位。 令第一行为 0 其余为 1( 为 0, ~为 1),若读 取 P1 口的数据为 11100000,则为第一行的第一个按键按下。 5 系统调试 单片机系统课程设计 错误 !未指定书签。 错误 !未指定书签。 因为本设计用的数码管和 74LS164 芯片比较多不能进行试验室实际仿真调试,所以利用 proteus 仿真软件进行辅助仿真。 上面两个图为用 proteus 软件仿真的结果。 第一张图为单片机初始化后的仿真效果,第二张为利用键盘更改利率数据后显示屏显示效果仿真图。 6 总结 经过两周的资料查找和设计,我已完成了单片机系统的课程设计。 本文设计了利率显示屏的智能系统,介绍了利率显示屏系统的硬件电路设计到软件设计的一系列步骤。 本设计采用矩阵键盘作为输入设备, 74LS164 驱动 LED 八段数码管作为显示设备, AT89C51 单片机作为控制芯片,实现了利率显示屏的智能显示项目。 纵观整个设计系统,单片机使用了常用的 AT89C51 单片机,从而使整个控制芯片了如指掌。 熟悉的控制芯片设计起来也是得心应手。 所用芯片简单实用,减少了开发和硬件开销。 输入部分采用矩阵键盘既节约了单片机的 I/O 口,又使整个设计简单易操作。 显示模块采用常见的移位寄存器 74LS164 驱动 LED 数码管,经济实用,并且 LED 数码管显示数据简单、清晰、明了,适合绝大部分人们观看。 同时,由于设计的时间和能力有限,还有许多功能和技术没有充分研究,可能存在不合理的地方。 例如没有时钟显示模块。 输入设备固定,没有蓝牙和红外输入功能。 但是,一个完整的课程设计过程,让我掌握了单片机系统和电子操作软件等方面的知识,尤其是熟悉了用 protel 画电路原理图和用 visio 画程序流程图以及用 proteus 进行系统仿真。 这使我在动手能力方面有很大的提升,也给今后更成功、完善的设计打下坚实的基础。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。