×

LED几种典型的点矩阵实验案例与程序分析

消耗积分:0 | 格式:rar | 大小:0.1 MB | 2017-09-06

分享资料个

16x16 LED点矩阵实验

/*16x16 LED点矩阵实验(ch12-5-7.c)*/
#include 
#define ROWP P2 // 输出列接至P2 
#define COLP P1 // 扫瞄行接至P1 
#define repeat  30 // 扫瞄30周,约1m*16*30 =0.48秒 
sbit Hi = P3^1;  // 声明Hi栓锁信号位置 
sbit Lo = P3^0;  // 声明Lo栓锁信号位置 
//============== 字  型 ==================
unsigned char code d[3][2][16]={
{ { 0x00, 0x00, 0x40, 0x60, 0x60, 0x62, 0xee, 0xfc, // 大 
  0x30, 0x30, 0x30, 0x30, 0x10, 0x00, 0x00, 0x00}, 
 { 0x00, 0x20, 0x10, 0x18, 0x0c, 0x07, 0x03, 0x01, 
  0x03, 0x06, 0x0c, 0x18, 0x30, 0x30, 0x20, 0x20} }, 
{ { 0x00, 0x00, 0x48, 0x30, 0x10, 0x10, 0x3a, 0xaf, // 家 
  0xee, 0x28, 0x28, 0x48, 0x2c, 0x18, 0x00, 0x00}, 
 { 0x00, 0x00, 0x40, 0x2a, 0x2a, 0x35, 0x4a, 0x7f, 
  0x3f, 0x04, 0x0a, 0x11, 0x20, 0x60, 0x20, 0x00} }, 
{ { 0x00, 0x40, 0x40, 0xf8, 0x20, 0xe0, 0x10, 0x00, // 好 
  0x08, 0x08, 0x0c, 0xe4, 0x14, 0x08, 0x00, 0x00}, 
 { 0x00, 0x20, 0x12, 0x0b, 0x04, 0x0b, 0x10, 0x00, 
  0x02, 0x22, 0x63, 0x31, 0x0f, 0x01, 0x01, 0x00}}};
void delay1ms(int);      // 声明延迟函数 
//============== 主 程 式 ==================
main()         // 主程序开始 
{ int i,j,scan;      // 声明变量 
 while (1)       // 无穷尽循环 
 { for (i=0;i<3;i++)    // 三个字 
   for (j=0;j    { for (scan=0;scan<16;scan++) // 扫瞄循环 
    { ROWP =0xFF;   // 关闭LED(防残影) 
     Hi=1;Hi=0;   // 栓锁Hi信号 
     Lo=1;Lo=0;   // 栓锁Lo信号 
     COLP = scan;  // 输出扫瞄信号 
     ROWP = ~d[i][0][scan];// 输出Hi部分 
     Hi=1; Hi=0;   // 栓锁Hi信号 
     ROWP = ~d[i][1][scan];// 输出Lo部分 
     Lo=1; Lo=0;  // 栓锁Lo信号 
     COLP = scan;  // 输出扫瞄信号 
     delay1ms(1);  // 延迟1ms 
     }      // 完成扫瞄一个字型 
   }       // 完成重复repeat次(j循环) 
 }         // while结束 
}          // 主程序结束 
//============== 延迟函数 ==================
void delay1ms(int x)
{ int i,j;    // 声明变量 
 for (i=0;i   for (j=0;j<120;j++);// 内循环 
}       // 延迟函数结束 
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !