如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PAGE\*MERGEFORMAT8实验四七段数码管显示实验一、实验目的掌握数码管显示数字的原理。二、实验内容静态显示:数码管为共阴极,通过BCD码译码驱动器CD4511驱动,其输入端A~D输入4位BCD码,位码输入低电平选中。按图4-1连接好电路,将8255的A口PA0~PA3与七段数码管LED1的BCD码驱动输入端A1~D1相连,8255的A口PA4~PA7与七段数码管LED2的BCD码驱动输入端A2~D2相连,8255的B口PB0~PB3与七段数码管LED3的BCD码驱动输入端A3~D3相连,8255的B口PB4~PB7与七段数码管LED4的BCD码驱动输入端A4~D4相连,8255的C口PC0~PC3分别与七段数码管LED4~LED4的位驱动输入端DG1~DG4相连。编程从键盘上每输入4个0~9数字,在七段数码管LED4~LED4上依次显示出来。图4-1动态显示:数码管为共阴极,段码采用相同驱动,输入端加高电平,选中的数码管对应段点亮,位码采用同相驱动,位码输入端低电平选中,按图4-2连接好电路,图中只画了2个数码管,实际是8个数码管,将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~g相连(32TCI0模块上的J1连32LED8模块J2),8255的C口的PC0~PC7接七段数码管的段码驱动输入(32TCI0模块上的J3连32LED8模块J1),跳线器K1连2和3。编程在8个数码管上显示“12345678”。按任意键推出运行。图4-2三、编程提示由于DVCC卡使用PCI总线,所以分配的IO地址每台微机可能都不用,编程时需要了解当前的微机使用那段IO地址并进行处理。对实验内容1,七段数码管字型代码与输入的关系如下表:显示字型gfedcba输入DCBA001111110000100001100001210110110010310011110011411001100100511011010101611111010110700001110111811111111000911011111001对实验内容1,七段数码管字型代码与输入的关系如下表:四、参考流程图实验内容一的参考流程图开始将8255的A口、B口、C口设为输出从键盘接收字符是数字键吗?将所得字符的ASCII码减30H后存入显示缓冲键入满4个数字?从显示缓冲区取数并将四个数字的BCD码合并成两个8位字前两个数字从A口输出,后两个数字从B口输出位码从C口输出返回图4-3实验内容二的参考流程图NNYY开始将8255的A、B、C口设置成输出初始化数码管位计数器显示缓冲区中的段码送A口数码管的位码送C口显示缓冲区指针加1数码管位计数器减1位计数器为0?有键按下吗?返回图4-4五、实验步骤1.熟悉原理和电路;2.根据电路和实验内容连接设备并认真检查;3.通电,检查灯亮和电路连接情况,确保线路无误;4.根据编程提示和范围按要求编写代码;5.编译、运行代码;6.若出错,检查错误来源,再重新运行。六、问题问题:实验内容2中,数码显示上面无一横;并且小数点显示不出来解决:连接数码管上牌J1、J2;段码3fh换成80h七、参考程序1.内容一的源程序datasegmentioportequ0e400h-0280hio8255aequioport+288hio8255bequioport+289hio8255cequioport+28ahio8255kequioport+28bhleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1db0dh,0ah,'Inputanum(0--9),otherkeyisexit:',0dh,0ah,'$'bzdb?czdb04hdataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8255k;使8255的A口为输出方式movax,80houtdx,alsss0:movsi,offsetbzmovcx,04hsss1:movdx,offsetmesg1;显示提示信息movah,09hint21hmovah,01;从键盘接收字符int21hcmpal,'0';是否小于0jlexit;若是则退出cmpal,'9';是否大于9jgexit;若是则退出subal,30h;将所得字符的ASCII码减30Hmov[si],al;存入显示缓冲区incsi;显示缓冲区指针加1decc