GUIZHOU UNIVERSITY
实验报告
实验课程名称 C51单片机实验
实验项目名称点阵LED数字显示实验
年级 2008 级
专业电子信息科学与技术
学生姓名郎子龙
学号 080712110069
指导教师签字
实验时间:2011年6月20日
实验十三点阵LED数字显示实验
(设计性实验)
一、实验目的:
⑴了解点阵数字的显示原理;
⑵了解单片机字符输出原理。
二、实验内容:
在点阵数码显示器上从右到左移动循环显示0~9的字符。
三、预习要求:
1、点阵数码管的工作原理?
答:8X8 点阵LED工作原理说明:8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。
2、字符字型码的编写及显示。
四、实验步骤:
1、在Proteus中画出实验硬件电路;
2、根据实验要求,进入Keil C51操作环境编辑源程序,并进行汇编。
3、根据要求编写程序如下:
/*字形编码送P1口(高电平),行选送P3口(低电平)。*/
#include <>
#define uchar unsigned char
#define uint unsigned int
unsigned char code tab[][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,,,0xFE,0x0C,0x0C,
0x7E,0x60,0x7C,0x66,0x06,0x06,0x66,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};
void delay(uchar x)
{uchar i;
while((x--)!=0)
{for(i=0;i<125;i++)
{;}
}
}
void main(void)
{
uchar i,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<<q);
if(j==9)
p=tab[0][i];
else
p=tab[j+1][i];
p=(p>>8-q);
p=n|p;
P1=p;
delay(1);
m=(m>>1);
}
}
}
实验13点阵LED数字显示实验 来自淘豆网m.daumloan.com转载请标明出处.