12月24日周五-硬件实验2-八段数码管显示(学生)_第1页
12月24日周五-硬件实验2-八段数码管显示(学生)_第2页
12月24日周五-硬件实验2-八段数码管显示(学生)_第3页
12月24日周五-硬件实验2-八段数码管显示(学生)_第4页
12月24日周五-硬件实验2-八段数码管显示(学生)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、实验要求利用实验仪提供的显示电路,动态显示一行数据.二、实验目的了解数码管动态显示的原理。了解用总线方式控制数码管显示 硬件实验十六 八段数码管显示四、实验说明 本实验仪提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。 本实验仪中 8位段码输出地址为0X004H,位码输出地址为 0X002H。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以

2、便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。 位选通信号 (0 x002H) 段码输出(0 x004H)数据总线 七段数码管的字型代码表如下表: 显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hb11111007chC011100139hd10111105ehE111100179hF111000171h补.

3、试用七段代码方式编制数码管显示程序。 算法分析: 在许多应用中都采用七段代码方式的数码管来显示数据信息,如图所示。数码管各段由数据总线的D0D6位控制。若某一位为“1,则相应段发光,反之不然。将十进制数对应的七段码存放在地址偏移量为TAB的数据表中,其存放次序正好与十进制数09的次序对应。所以要取十进制数对应的七段码,只需在数据段中找到存放七段码数据的首地址偏移量,再把首地址偏移量加上要转换的十进制数以形成新的地址偏移量即可。这显然要用XLAT指令来实现。 设欲转换的十进制数存放在数据段中地址偏移为NUM的变量中,转换结果存放在RESULT变量中。LED显示器的扩展(结构) LED数码管的结构

4、:共阳与共阴 单片机系统扩展LED数码管时多用共阳LED:共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。 通常每个段笔画要串一个数百欧姆的降压电阻。公共阳极h g f e d c b aabcdgefh公共阴极h g f e d c b aabcdgefhh g f ah g f a高电平点亮低电平点亮接高电平接地LED数码管的软件译码八段LED数码管段代码编码表(连线不同可有多种表):公共阳极h g f e d c b aabcdgefh公共阴极h g f e d c b aabcdgefhh g f ah

5、g f a高电平点亮低电平点亮接高电平接地字形0123456789黑共阳0C00F90A40B09992820F880900FF共阴3F065B4F666D7D077F6F00 程序如下: DATA SEGMENTTAB DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FH, 6FHNUM DB 5RESULT DB ?DATA ENDSCODE SEGMENT ASSUME CS :CODE, DS :DATASTART: MOV AX , DATA MOV DS , AX MOV BX, OFFSET TAB MOV AL, NUM XLAT T

6、AB ;AL BX+AL MOV RESULT, AL MOV AH, 4CH INT 21HCODE ENDS END STARTOUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口data segmentLEDBuf db 6 dup(?) ; 显示缓冲Num db 2,3,5,8,1,6 ; 显示的数据DelayT db 20LEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hdata endsco

7、de segment assume cs:code, ds:dataDelay proc near push ax ; 延时子程序 push cx mov al, 0 mov cx,ax loop $ pop cx pop ax retDelay endpDisplayLED proc near mov bx, offset LEDBuf mov cl, 6 ; 共6个八段管 mov ah, 00100000b ; 从左边开始显示DLoop: 同学们补充: 下面将显示缓冲区中的内容显示在6个八段管上。注意每显示1个要调用一次延时子程序。 dec cl jnz DLoop retDisplayLED endp 实验程序如下: Start proc near mov ax, data mov ds, ax MLoop: mov ah,0 mov cl,6 mov bx,offset LEDBuf mov di,offset numFillBuf: mov si, offset LEDMap 同学们补充: 1、数据转换成显示码 2、显示码存入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论