嵌入式概论综合应用课程设计_矩阵键盘控制LED点阵电子屏.pptx
文本预览下载声明
院 系:信息工程学院
专 业:
指导老师:
作者姓名: ;总览;一、设计说明;二、设计方案;3、LED点阵显示函数设计;4、点阵图形设计;Company Logo;
int main(void)
{
int fd_key;
int fd_led;
int ret;
int m,n,k,l,r,u;
unsigned char bufl[2];
unsigned char bufk[2];
double x;
char scan = 0xff;
int bufc[8]={0xff,0x02,0x04,0x08,0x10,0x20,0x40,0xff};//z列1
int bufr[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//行0
int bufc1[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//1
int bufr1[8]={0xff,0xbd,0xb9,0xb5,0xad,0x9d,0xbd,0xff};//0
fd_key = open(DEVICE_NAME1,O_RDWR);
fd_led = open(DEVICE_NAME2,O_RDWR);;if (fd_key == -1 fd_led == -1)
{
printf(Open drivers error\n);
}
else
{
bufk[0]=0x22;
while(1)
{
read(fd_key,bufk,1);
if(bufk[0]!=0xff)
scan=bufk[0];
switch(scan)
{
case 0x05:
{
for(m=0;m=7;m++)
{
bufl[0]=bufc[m];
bufl[1]=bufr[m];
write(fd_led,bufl,2);
}
}break;;case 0x02:
{
for(k=0;k=7;k++)
{
for(n=0;n=7;n++)
{
bufl[0]=bufc[(n+k)%8];
bufl[1]=bufr[n];
write(fd_led,bufl,2);
}
}
}break;
case 0x08:
{
for(l=7;l=0;l--)
{
for(r=0;r=7;r++)
{
bufl[0]=bufc[(r+l)%8];
bufl[1]=bufr[r];
write(fd_led,bufl,2);
}
}
}break;;}
}
}
ret = close(fd_led);
ret = close(fd_key);
printf (close key_led driver test\n);
return 0;
}
//-------------------end main------------------------------------;四、设计结果;五、心得体会;THE END
显示全部