资源描述:
《实验13点阵LED数字显示实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、GUIZHOUUNIVERSITY实验报告实验课程名称C51单片机实验实验项目名称点阵LED数字显示实验年级2008级专业电子信息科学与技术学生姓名郎子龙学号080712110069指导教师签字实验时间:2011年6月20日实验十三点阵LED数字显示实验(设计性实验)一、实验目的:⑴了解点阵数字的显示原理;⑵了解单片机字符输出原理。二、实验内容:在点阵数码显示器上从右到左移动循环显示0~9的字符。三、预习要求:1、点阵数码管的工作原理?答:8X8 点阵LED工作原理说明:8X8点阵共需要64个发
2、光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。2、字符字型码的编写及显示。四、实验步骤:1、在Proteus中画出实验硬件电路;2、根据实验要求,进入KeilC51操作环境编辑源程序,并进行汇编。3、根据要求编写程序如下:/*字形编码送P1口(高电平),行选送P3口(低电平)。*/#include#defineucharunsignedchar#defineuintunsignedintunsignedc
3、harcodetab[][8]={0x3C,0x66,0x6E,0x6E,0x76,0x76,0x66,0x3C,0x18,0x78,0x18,0x18,0x18,0x18,0x18,0x7E,0x3C,0x66,0x66,0x06,0x1C,0x30,0x66,0x7E,0x3C,0x66,0x06,0x1C,0x06,0x66,0x66,0x3C,0x1C,0x3C,0x6C,0xCC,0xCC,0xFE,0x0C,0x0C,0x7E,0x60,0x7C,0x66,0x06,0x06,0x6
4、6,0x3C,0x1C,0x30,0x60,0x7C,0x66,0x66,0x66,0x3C,0x7E,0x66,0x06,0x0C,0x08,0x18,0x30,0x30,0x3C,0x66,0x66,0x3C,0x66,0x66,0x66,0x3C,0x3C,0x66,0x66,0x66,0x3E,0x06,0x0C,0x38};voiddelay(ucharx){uchari;while((x--)!=0){for(i=0;i<125;i++){;}}}voidmain(void){uch
5、ari,j,k,m,n,p,q;while(1){for(j=0;j<10;j++){for(q=0;q<8;q++){for(k=0;k<15;k++){m=0x80;for(i=0;i<8;i++){P3=~m;n=tab[j][i];n=(n<>8-q);p=n
6、p;P1=p;delay(1);m=(m>>1);}}}}}}4、运行、调试程序和结果检查(1)采用单步,设置断点等方法,态观察程序走向
7、是否正确;(2)连续运行程序,观察点阵数码管显示是否正确。从0到1的循环显示截图如下:五、思考题:1、字符的字型码应该怎样编写,有哪两种方式?2、字符的循环移动显示原理是什么?答:主要是考扫描程序及累加器循环移位指令 扫描程序能使单片机在向P0口送出数据之后,不断改变P2口各口线的高低电位, 根据如前所述的扫描显示过程,我们采用累加器循环移位指令来完成P2口中的高电位移动是极其方便的。累加器A是单片机中使用最频繁的具有特殊功能的寄存器。RRA指令能使A中的内容向右循环移位,该指令代码是03H
8、。执行该指令的结果是(An+1)→(An),(A0)→(A7)。如图5所示。假如在A中装入的数据为#80H,也就是10000000B,执行RRA后,A中的数据则是#40H,也就是01000000B,所有数据皆向右移动了一位,而原来的最低位则转移到最高位,其中唯一的一位高电位也便右移了一位。因此,要使P2口仅有一条口线呈高电位,并向右循环移动,首先执行MOVA#80H,再执行MOVP2,A,将#80H送入P2口,然后执行RRA完成一次循环,再执行MOVP2,A,将循环后的控制字送至P2口即可。向A
9、中装入立即数#80H,经过8次上述操作过程,P2口自P2.7至P2.0就会依次呈现高电位,完成前述的扫描任务。