找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1322|回复: 0
打印 上一主题 下一主题
收起左侧

矩阵显字程序

[复制链接]
跳转到指定楼层
楼主
ID:301160 发表于 2018-4-4 16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int R[] = {2,7,A5,5,13,A4,12,A2}; //行  
int C[] = {6,11,10,4,A3,3,8,9};   //列   (原文中3、4的位置是反的,我做了调换)


unsigned char biglove[8][8] =       //大“心型”的数据  
{  
  0,0,0,0,0,0,0,0,  
  0,1,1,0,0,1,1,0,  
  1,1,1,1,1,1,1,1,  
  1,1,1,1,1,1,1,1,  
  1,1,1,1,1,1,1,1,  
  0,1,1,1,1,1,1,0,  
  0,0,1,1,1,1,0,0,  
  0,0,0,1,1,0,0,0,  
};  

unsigned char smalllove[8][8] =      //小“心型”的数据  
{  
  0,0,0,0,0,0,0,0,  
  0,0,0,0,0,0,0,0,  
  0,0,1,0,0,1,0,0,  
  0,1,1,1,1,1,1,0,  
  0,1,1,1,1,1,1,0,  
  0,0,1,1,1,1,0,0,  
  0,0,0,1,1,0,0,0,  
  0,0,0,0,0,0,0,0,  
};  

void setup()  
{  
   //循环定义行列PIN 为输出模式  
  for(int i = 0;i<8;i++)  
  {  
    pinMode(R,OUTPUT);  
    pinMode(C,OUTPUT);  
  }  
}  

void loop()  
{  
  for(int i = 0 ; i < 100 ; i++)        //循环显示100次  
  {  
    Display(biglove);                   //显示大”心形“  
  }  
  for(int i = 0 ; i < 50 ; i++)         //循环显示50次  
  {     
    Display(smalllove);                 //显示小“心形”  
  }  
}  

void Display(unsigned char dat[8][8])   //显示函数  
{  
  for(int c = 0; c<8;c++)  
  {  
    digitalWrite(C[c],HIGH);//选通第c列  

    //循环  
    for(int r = 0;r<8;r++)  
    {  
      digitalWrite(R[r],dat[r][c]);  
    }  
    delay(1);  
    Clear();  //清空显示去除余晖  
  }  
}  

void Clear()                          //清空显示  
{  
  for(int i = 0;i<8;i++)  
  {  
    digitalWrite(R,HIGH);  
    digitalWrite(C,LOW);  
  }  
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表