LED数码管显示实验一、实验目的:(1)进一步掌握8255的工作原理。(2)学习LED数码管的显示原理。(3)熟悉LED数码管显示器的接口设计方法。二、实验设备:MUT—Ⅲ型实验箱、8086CPU模块。三、实验内容:编程实现在六位LED数码管上“E”字跑马灯。四、实验电路原理图:八段LED数码管显示器采用共阴极接法,其段码由8255A的A口输出,通过PA0~PA7分别送给LED1~LED6的段码输入端(LED-A,LED-B,…,LED-G,LED-DP)。显示器的位扫描信号经B口输出,通过PB0~PB5提供给数码管的公共极。数码管采用动态扫描的方式显示。八段LED数码管显示原理:如下图(a)所示,LED数码管的主要部分是由八段发光二极管构成,这八段发光二极管分别称为a,b,c,d,e,f,g和DP(小数点)。通过7个发光二极管的不同组合,可以显示数字0~9和字母A~F,从而实现十六进制数的显示。LED数码管可以分为共阳极和共阴极两种结构,图(b)为共阳极结构,数码显示端输入低电平有效,当某一段为低电平时,该段便发光;图(c)为共阴极结构,数码显示端输CPU8255APA0┆PA7PB0┆PB5LED6LED5LED4LED3LED2LED1┆入高电平有效,当某一段得到高电平时,便发光。例如,当a,b,g,e,d为高电平,而其他段为低电平时,则显示数字“2”。显示段码与各段的对应关系如下图所示。根据对应关系,LED数码管在共阴极结构下,数字“2”的显示段码为01011011B(即5BH)下表是数字0~9与字母A~F的七段数码管显示段码。五、实验步骤:(1)实验连线PA0连LED-A,PA1连LED-B,PA2连LED-C,PA3连LED-D,PA4连LED-E,PA5连LED-F,PA6连LED-G,PA7连LED-DP;PB0连LED1,PB1连LED2,PB2连LED3,PB3连LED4,PB4连LED5,PB5连LED6。CS0CS8255(注意:运行程序前,需要除去电路板上数码管右侧的跳线!表示使用外部接口电路)(2)编写程序,全速运行,观察实验结果六、参考程序CODESEGMENTASSUMECS:CODEORG0100HSTART:MOVDX,04A6H;8255控制口地址MOVAL,80H;A口和B口工作于方式0,输出OUTDX,ALCOUNT:MOVCX,6;循环次数MOVBL,11011111B;位选码初值:PB5=0,选中LED6,其它灭NEXT:MOVDX,04A0H;A口地址MOVAL,79H;“E”的段码送ALOUTDX,AL;显示“E”MOVDX,04A2H;B口地址MOVAL,BL;送位选码给ALOUTDX,ALCALLDELAY;延时SARBL,1;位选码右移1位,选择下一位数码管LOOPNEXTJMPCOUNT;显示完一轮后再继续显示下一轮DELAY:MOVSI,8FFFH;延时约1秒的子程序DELAY1:NOPNOPDECSIJNZDELAY1RETCODEENDSENDSTART程序框图:YNA口输出“E”的段码输出位选码,在1位上显示8255A初始化(写方式控制字)设置循环次数、位选码初值延时改变位选码,指向下1位6位显示完?作业题:1、修改上述程序,显示“8”字跑马。2、如何显示“HELLO”