《硬件实验十 八段数码管显示》由会员分享,可在线阅读,更多相关《硬件实验十 八段数码管显示(13页珍藏版)》请在人人文库网上搜索。

1、硬件实验十 八段数码管显示一、实验要求利用实验仪提供的显示电路,动态显示一行数据.二、实验目的1. 了解数码管动态显示的原理。2. 了解用总线方式控制数码管显示三、实验线路及连线连线连接孔1连接孔21KEY/LED_CSCS0位选通信号(0x002H)段码输出(0x004H)数据总线四、实验说明1本实验仪提供了6 位8段码LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。本实验仪中 8位段码输出地址为0X004H,位码输出地址为 0X002H。

2、。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。七段数码管的字型代码表如下表: af b ge cd。dp显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hb11111007chC0111。

3、00139hd10111105ehE111100179hF111000171h五、程序框图否是开始初始化显示参数关所有位显示取显示数据输出段码数据 输出位选通信号延时位选通信号移位指向下一个显示数据返回6位完成程序代码OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口LEDBuf equ 60h ; 显示缓冲Num equ 70h ; 显示的数据DelayT equ 75h ;ljmp StartLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7c。

4、h, 39h, 5eh, 79h, 71hDelay: ;mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDisplayLED:mov r0, #LEDBufmov r1, #6 ; mov r2, #b ; Loop:mov dptr, #OUTBITmov a, #0movx dptr, a ; mov a, r0mov dptr, #OUTSEGmovx dptr,amov dptr, #OUTBITmov a, r2movx dptr, a ; mov r6, #01call Delaymov a, r2 ; rr 。

5、amov r2, ainc r0djnz r1, Loopmov dptr, #OUTBITmov a, #0movx dptr, a ; retStart:mov sp, #40hmov Num, #0MLoop:inc Nummov a, Nummov b, amov r0, #LEDBufFillBuf:mov a, banl a, #0fhmov dptr, #LEDMapmovc a, a+dptr ; mov r0,a ; inc r0inc bcjne r0, #LEDBuf+6, FillBufmov DelayT,#0DispAgain:call DisplayLED ; d。

6、jnz DelayT,DispAgainljmp MLoopend六、实验步骤(1). 把实验平台与PC机串行口连起来,根据实验连线提示在实验台上连线,之后打开电源。(2). 在PC机上用鼠标点击“Wave”图标,进入WINDOWS调试环境,而后进行初始化设置。点击仿真器仿真器设置出现“仿真器设置”窗,进行仿真器的设置。(3). 用鼠标点一下文件打开文件,输入文件名*.asm,创建新文件,在该窗口中输入事先编好的程序。(4). 用鼠标点项目全部编译窗,对当前源文件进行编译,反复修改好程序,直到编译通过为止。(5). 先跟踪运行程序,观察CODE和DATA窗口,了解八段管显示码存放的情况,以及要。

7、显示的八段码的存放位置,理解八段管显示原理,掌握八段码显示程序的编写方法;最后再全速运行程序,观察整个程序运行结果,并对整个程序注释。硬件实验十一 键盘扫描显示实验一、实验要求在硬件实验十的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。实验程序可分成三个模块。键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。显示模块:将显示单元的内容在显示器上动态显示。主程序:调用键输入模块和显示模块。二、实验目的1、掌握键盘和显示器的接口方法和编程方法。2、掌握键盘扫描和LED八段码显示器的工作原理。三、实验电路及连线这里只是。

8、键盘草图,详细原理参见图1连线连接孔1连接孔21KEY/LED_CSCS0数据总线读回行码(0X001H)列码(0X002H)四、实验说明本实验仪提供了一个64的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。地址中的X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如将KEY/LE。

9、D CS信号接CS0上,则列扫描地址为08002H,行码地址为08001H。列扫描码还可以分时用作LED的位选通信号。五、实验框图否是主程序框图 显示程序框图见硬件实验十读键输入子程序框图否是是否开始显示缓冲区初始化LED显示读取键值键值转换为显示数据开始输出列扫描信号列扫描信号移位该列有键输入?读入行信号返回6列扫描完?有键输入?初始化地址参数按照行列计算键值查表得键码等待按键释放返回程序代码OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲ljmp StartL。

10、EDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: ; 延时子程序mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDisplayLED:mov r0, #LEDBufmov r1, #6 ; 共6个八段管mov r2, #b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #0movx dptr, a ; 关所有八段管mov a, r0mov 。

11、dptr, #OUTSEGmovx dptr, amov dptr, #OUTBITmov a, r2movx dptr, a ; 显示一位八段管mov r6, #1call Delaymov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, LoopretTestKey:mov dptr, #OUTBITmov a, #0movx dptr, a ; 输出线置为0mov dptr, #INmovx a, dptr ; 读入键状态cpl aanl a, #0fh ; 高四位不用retKeyTable: ; 键码定义db 16h, 15h, 14h, 0ffhdb。

12、 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 01h, 04h, 07hGetKey:mov dptr, #OUTBITmov P2, dphmov r0, #Low(IN)mov r1, #bmov r2, #6KLoop:mov a, r1 ; 找出键所在列cpl amovx dptr, acpl arr amov r1, a ; 下一列movx a, r0cpl aanl a, #0fhjnz Goon1 ; 该列有键入djnz r2, KLoopmov 。

13、r2, #0ffh ; 没有键按下, 返回 0ffhsjmp ExitGoon1:mov r1, a ; 键值 = 列 X 4 + 行mov a, r2dec arl arl amov r2, a ; r2 = (r2-1)*4mov a, r1 ; r1中为读入的行值mov r1, #4LoopC:rrc a ; 移位找出所在行jc Exitinc r2 ; r2 = r2+ 行值djnz r1, LoopCExit:mov a, r2 ; 取出键码mov dptr, #KeyTablemovc a, a+dptrmov r2, aWaitRelease:mov dptr, #OUTBIT 。

14、; 等键释放clr amovx dptr, amov r6, #10call Delaycall TestKeyjnz WaitReleasemov a, r2retStart:mov sp, #40hmov LEDBuf+0, #0ffh ; 显示 8.8.8.8.mov LEDBuf+1, #0ffhmov LEDBuf+2, #0ffhmov LEDBuf+3, #0ffhmov LEDBuf+4, #0mov LEDBuf+5, #0MLoop:call DisplayLED ; 显示call TestKey ; 有键入?jz MLoop ; 无键入, 继续显示call GetKey 。

15、; 读入键码anl a, #0fh ; 显示键码mov dptr, #LEDMapmovc a, a+dptrmov LEDBuf+5, aljmp MLoopend六、实验步骤(1). 把实验平台与PC机串行口连起来,根据实验连线提示在实验台上连线,之后打开电源。(2). 在PC机上用鼠标点击“Wave”图标,进入WINDOWS调试环境,而后进行初始化设置。点击仿真器仿真器设置出现“仿真器设置”窗,进行仿真器的设置。(3). 用鼠标点一下文件打开文件,输入文件名*.asm,创建新文件,在该窗口中输入事先编好的程序。(4). 用鼠标点项目全部编译窗,对当前源文件进行编译,反复修改好程序,直到编。

16、译通过为止。(5). 全速运行程序,通过在键盘按键,观察八段管的显示结果,理解键盘扫描原理及程序编写方法。六位LED数码显示器、46 键盘电路本实验仪的LED显示电路和键盘电路如图1。显示控制的位码由74HC374输出,经ULN2003反向驱动后,做LED的位选通信号。位选通信号也可做为键盘列扫描码,键盘扫描的行数据从74HC245读回,374输出的列扫描码经245读入后,用来判断是否有键被按下,以及按下的是什么键。如果没有键按下,由于上拉电阻的作用,经245读回的值为高,如果有键按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位,根据374输出的列信号和245读回的行信号,就可以判断哪个键被按下。LED显示的段码由另一个74HC374输出。键盘和LED显示电路的地址译码见图,做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。位码输出地址为0X002H,段码输出地址为0X004H,键盘行码读回地址为0X001H,此处X是由KEY/LED CS 决定。例如将KEY/LED CS接到地址译码的CS0上,那么位码输出地址就为08002H,段码输出地址就是08004H,键盘行码读回地址为08001H。图1: 键盘及LED显示电路。

八段数码管数字显示实验c语言,硬件实验十 八段数码管显示相关推荐

  1. 汇编语言电子琴实验c语言,电子琴实验及报告.docx

    电子琴实验及报告 电子琴实验报告 一,实验目的 1.学习使用AT89S52单片机的功能,进行单片机编程,实现键盘演奏音乐的功能,进一步加深对于单片机功能实现过程的理解,强化单片机编程的能力. 2.设计 ...

  2. dsp 实验c语言,dsp实验报告 实验1 ccs入门实验2(c语言的使用)

    1. 1 DSP 实验报告实验报告 院 ( 系 ) 名 称 自 动 化 科 学 与 电 气 工 程 学 院 学 生 姓 名 学 号 任 课 老 师 吴 冠 2014 年 6 月 DSP 实验报告 1 ...

  3. 定时器计数器实验C语言程序,实验二 单片机定时器和计数器编程

    仲恺农业工程学院实验报告纸 信息学院 (院.系)专业班组单片机原理及接口技术课实验二单片机定时器/计数器编程 一.实验目的 1.掌握单片机定时器/计数器的工作方式: 2.掌握单片机定时器/计数器的编程 ...

  4. 山东大学单片机原理与应用实验 C语言程序实验

    一.实验题目 C语言程序实验 二.试验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...

  5. 单片机音频驱动实验C语言,单片机实验:音乐改编

    <单片机实验:音乐改编>由会员分享,可在线阅读,更多相关<单片机实验:音乐改编(7页珍藏版)>请在人人文库网上搜索. 1.实验1将歌曲播放程序两只老虎改变为另一首歌曲(如Hap ...

  6. 查询式键盘实验c语言,单片机实验上机--实验十七查询式键盘实验.doc

    实验十七 查询式键盘实验 一.实验目的 1.掌握键盘和显示器的接口方法和编程方法 2.掌握键盘和八段码显示器的工作原理 3.静态显示的原理和相关程序的编写 二.实验说明 本实验提供了8个按钮的小键盘, ...

  7. 处理机调度实验c语言,操作系统实验处理机调度C语言实现

    操作系统实验处理机调度C语言实现 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  8. 循环彩灯实验c语言程序,实验3LED指示灯循环控制.doc

    实验3LED指示灯循环控制 洛阳理工学院实验报告 系部计算机系班级B100508学号姓名王彪课程名称单片机原理及应用实验日期2012.5.26实验名称LED指示灯循环控制成绩[实验目的]熟悉uVisi ...

  9. 实验 c语言作用域实验,关于《C语言深度解剖》一些例程的实验和感悟——关键字static...

    最经买了一本好书--<C语言深度解剖>,书比较薄,看的比较快,而且也非常地吸引人,对于其中的一些讲解和例子都非常的经典,感觉有一些新的感悟.可能我的想法和水平非常菜,但是我只想是写点东西出 ...

  10. pc机串口通讯实验c语言,单片机实验六 单片机与PC机串口通讯

    实验报告六 实验名称:单片机与PC机串口通讯 实验目的 : 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制. 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议. 3.了解PC机通讯 ...

最新文章

  1. 【组队学习】【35期】李宏毅机器学习(含深度学习)
  2. LinkedIn工程经理眼中的数据世界格局
  3. C# 中科学计数法转成正常值
  4. pg高性能服务器,Pgpool-II 负载均衡对PG的性能影响
  5. windows7计算机管理,win7系统打开计算机管理(compmgmt.msc)的操作方法
  6. js中 var a= b || c;
  7. ROS官网新手级教程总结
  8. 最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)
  9. 使用GDB进行嵌入式远程调试
  10. BXP多分区的正确的操作步骤(转)
  11. 2016年高校保送生拟录取名单(清华大学)
  12. python-乌龟吃小鱼(小游戏)
  13. python8皇后不攻击问题_Python 解决八皇后问题
  14. linux系统pcre是什么作用,Linux下安装PCRE
  15. 宁西铁路线 宁合线 宁西铁路
  16. 赵小楼《天道》《遥远的救世主》深度解析(109)天下乌鸦一般黑,不要幻想
  17. pyomo / Ipopt : Error evaluating constraint 1: can‘t evaluate pow‘(0,0.5).
  18. 2019微博热点,盘一盘那些记忆中的大瓜
  19. amazon账号关联|我做了这些不在关联了
  20. iPhone4丢了 定位找回

热门文章

  1. Self-Supervised Vision Transformers with DINO-代码研读
  2. 计算机科学基础word实验一,计算机基础实验报告
  3. java.lang.NoSuchMethodError错误
  4. React Native 超长列表优化方案
  5. 酷睿i5 1235u参数 i5 1235u处理器怎么样
  6. 008_SSSS_ Improved Denoising Diffusion Probabilistic Models
  7. [Delphi学习]Delphi Access Violation错误的分析
  8. 苹果HomeKit生态深度解析,在智能家居领域后发制人?
  9. python3基础教程pdf下载-《Python基础教程》(第3版)pdf电子书百度网盘下载
  10. 37 一次获取redis连接阻塞引起的 Thread pool is EXHAUSTED