七段数码管显示实验一、实验目的1、掌握七段LED数码管的结构及工作原理。2、掌握共阴极LED数码管连接
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
、及其静态和动态显示方法。3、进一步掌握并行接口芯片8255A的使用方法。二、实验设备微型计算机、单片机仿真器、实验仪;实验连线(若干)。三、实验原理如图4.9-1所示,LED数码管由7个发光二极管组成,此外,还有一个圆点型发光二极管(在图中以dp
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示),用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED数码管中的发光二极管共有两种连接方法:1)共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。实验中使用的LED显示器为共阴极接法2)共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED显示器的字形代码正好一个字节。若a、b、c、d、e、f、g、dp8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则用共阴极LED数码管显示十六进制数时所需的字形代码如表4.9-1所示。表4.9-1共阴极LED数码管字形代码字型共阴极字形代码字型共阴极字形代码字型共阴极字形代码03FH67DHC39H106H707Hd5EH25BH87FHE79H34FH96FHF71H466HA77H灭00H56DHb7CH四、实验内容动态显示:按图18连接好电路,将8255的A口分别与七段数码管a~g相连,S1接位码驱动,S0接8255C口的PC1,PC0。编程在两位七段数码管上动态显示00~99,若键盘有键按下则返回DOS。五、程序代码stacksegmentstack'stack'dw32dup(0)stackendsdata segmentio8255a equ288hio8255c equ28ahled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;段码buffer1 db 0,0 ;存放要显示的十位和个位bz dw ? ;位码dataendscode segmentassumecs:code,ds:datastart: movax,datamovds,axmovdx,28bh ;将8255设为A口输出moval,80houtdx,almovdi,offsetbuffer1 ;设di为显示缓冲区loop1: movcx,0300h ;循环次数loop2: movbh,02lll: movbyteptrbz,bhpushdidecdiadddi,bzmovbl,[di] ;bl为要显示的数popdimovbh,0movsi,offsetled ;置led数码表偏移地址为SIaddsi,bx ;求出对应的led数码moval,byteptr[si]movdx,io8255c ;自8255A的口输出outdx,almoval,byteptrbz ;使相应的数码管亮movdx,io8255coutdx,alpushcxmovcx,100 delay: loopdelay ;延时popcxmoval,00houtdx,almovbh,byteptrbzshrbh,1jnzllllooploop2 ;循环延时mov ax,wordptr[di]cmp ah,09jnz setcmp al,09jnz setmov ax,0000mov [di],almov [di1],ahjmp loop1set: mov ah,01int 16hjne exit ;有键按下则转exitmov ax,wordptr[di]inc alaaamov[di],al ;al为十位mov[di1],ah ;ah中为个位jmploop1exit: movdx,io8255amoval,0 ;关掉数码管显示outdx,almovah,4ch ;返回int21hcodeendsendstart六、实验
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
通过本次试验,我基本上掌握了数码管显示的程序流程,学会编写一些程序调用相应的相应的子程序,显示所需内容,了解了动态扫描显示的程序执行过程,结合定时器的设置和中断的返回,来实现最基本的百分秒显示,从而完成时钟显示,由此,结合前面所学的知识,巩固了数码管显示的知识,增强了我的程序调试能力,为下一步的学习打下了坚实基础。