基于嵌入式系统的调速学号显示嵌入式设计报告(编辑修改稿)内容摘要:
数码管显示模块的简介 用数码管除了可以显示 0~9 的阿拉伯数字外,还可以显示一些英语字母。 数码管由 7 段显示输出,利用 7 个位的组合输出,就可以形成部分英语字母和 0~9十个数字的显示。 本次设计 的开发箱的七段数码管共阳极,所以低电平有效。 数字及字母对应的七段显示关系和相应的进制关系,本次设计要显示的学号为 AP1035255。 七段数码管对应字母图为: 表 数字及字母对应的七段显示关系和相应的进制关系 a b c d e f g 二进制 十进制 十六进制 清屏 1 1 1 1 1 1 1 1111 111 127 7F A 0 0 0 1 0 0 0 0001 000 08 08 P 0 0 1 1 0 0 0 0011 000 24 18 1 1 0 0 1 1 1 1 1001 111 79 4F 0 0 0 0 0 0 0 1 0000 001 01 01 3 0 0 0 0 1 1 0 0000 110 06 06 5 0 1 0 0 1 0 0 0100 100 36 36 2 0 1 0 0 1 0 0 0100100 36 24 5 0 1 0 0 0 0 1 0100100 36 36 5 0 1 0 0 0 0 1 0100100 36 36 7 键盘扫描模块的简介 实现键盘有两种方案:一是采用现有的一些芯片实现键盘扫描 ;再就是用软件实现键盘扫描。 目前有很多芯片可以用来实现键盘扫描,但是键盘扫描的软件实现方法有助于缩减系统的重复开发成本,且只需要很少的 CPU 开销。 嵌入式控制器的功能很强,可以充分利用这一资源,这里就介绍一下软键盘的实现方案: 本次设计实现的是 4 4 的矩阵键盘扫描。 分别将每一列置零,如果这时有键按下,则对应的行将为低电平,将得到的结果放到一个变量中,该变量的哪一位为零则对应一个按键,如果没有键按下则该变量的值为 0xff。 三、 硬件设计 数码管显示电路设计 8 说明 : 在按下 1 号键的时候正常显示左移三次,在移动的同时按下 7 号键为减速键,每按一次减少 5us,当减少到 0 的时候,自动默认延时为 5us;在移动的同时按下 8号键为加速键,每按下一次增加 10us。 本次设计是在创维特公司的嵌入式实验箱上做的设计,因此直接调用了该实验箱的数码管显示设计电路。 键盘扫描电路设计 本次设计是在创维特公司的嵌入式实验箱上做的设计,因此直接调用了该实验箱的 4*4 键盘扫描设计电路。 设计的效果图 学号左移效果图 学号左移的信号由 1 号键提供,所以要显示学号的左移必须按下 1 号键 按下 7 号键为减速键 8 号键为加速键 通过按下 1 号键,正常显示学号左移如下: 9 说明 : 在按下 1 号键的时候正常显示右移三次,在移动的同时按下 7 号键为减速键,每按一次减少 5us,当减少到 0 的时候,自动默认延时为 5us;在移动的同时按下 8号键为加速键,每按下一次增加 10us。 学号 右 移效 果图 学号右移的信号由 2号键提供,所以要显示学号的右移必须按下 2号键 按下 7号键为减速键 8号键为加速键 通过按下 2 号键,正常显示学号右移如下: 10 学号 切换 效果图 学号 切换 的信号由 3 号键提供,所以要显示学号的 切换 必须按下 3 号键 按下 7号键为减速键 8号键为加速键 通过按下 3 号键,正常显示学号切换如下: 说明 : 在按下 1 号键的时候正常显示切换三次,在移动的同时按下 7 号键为减速键,每按一 次减少 5us,当减少到 0 的时候,自动默认延时为 5us;在切换的同时按下 8 号键为加速键,每按下一次增加 10us。 四、 软件设计 /******************************************************************** // Function name : Left_Display // Description : 数码管显示程序 // Return type : void // Argument : Left_count : 数码管对应数据 bit0 bit5 : SEG0 SEG5 *********************************************************************/ int Left_count = 0。 int key_vaule,delay_vaule = 40。 void Left_Display(void) { 11 int i = 0。 for(i = 0。 i 6。 i++) { *((unsigned char *)0x10000006) = ~(1 i) amp。 0x3f。 *((unsigned char *)0x10000004) = seg7table[Left_count]。 Delay(delay_vaule)。 key_vaule = Key_GetKeyPoll()。 if(key_vaule == 0x37) {。基于嵌入式系统的调速学号显示嵌入式设计报告(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。