【郭天祥 TX-1C经典版 51单片机开发板试用体验】+点阵屏

  • wambob
  • LV4工程师
  • |      2017-09-05 15:26:35
  • 浏览量 1077
  • 回复:0
本帖最后由 wambob 于 2017-9-5 15:26 编辑 点阵屏的显示方向,一般根据需要进行调整,从上到下下,从右到左,这个跟字模取模关系很密切,调整不对会显示不出结果。 首先定义行扫描线,这个是固定的,由ABCD译码。当然不同的屏可能稍有不同。
#define  scan0    {IA=0;IB=0;IC=0;ID=0;}

#define  scan1    {IA=1;IB=0;IC=0;ID=0;}

#define  scan2    {IA=0;IB=1;IC=0;ID=0;}

#define  scan3    {IA=1;IB=1;IC=0;ID=0;}

#define  scan4    {IA=0;IB=0;IC=1;ID=0;}

#define  scan5    {IA=1;IB=0;IC=1;ID=0;}

#define  scan6    {IA=0;IB=1;IC=1;ID=0;}

#define  scan7    {IA=1;IB=1;IC=1;ID=0;}

#define  scan8    {IA=0;IB=0;IC=0;ID=1;}

#define  scan9    {IA=1;IB=0;IC=0;ID=1;}

#define scan10    {IA=0;IB=1;IC=0;ID=1;}

#define scan11    {IA=1;IB=1;IC=0;ID=1;}

#define scan12    {IA=0;IB=0;IC=1;ID=1;}

#define scan13    {IA=1;IB=0;IC=1;ID=1;}

#define scan14    {IA=0;IB=1;IC=1;ID=1;}

#define scan15    {IA=1;IB=1;IC=1;ID=1;}   
使用switch case语句调试上下方向
void HScan(unsigned char Value)

{switch(Value)

        {case  0: scan0;break;

                  case  15: scan1;break;

                   case  14: scan2;break;

                    case  13: scan3;break;

             case  12: scan4;break;

                      case  11: scan5;break;

                       case  10: scan6;break;

                        case  9: scan7;break;

                 case  8: scan8;break;

                       case  7: scan9;break;

                      case 6:scan10;break;

                     case 5:scan11;break;

            case 4:scan12;break;

                  case 3:scan13;break;

                 case 2:scan14;break;

            case 1:scan15;break;

           default:break;

        }

}         
逐行扫描测试:
unsigned char code displayH={0xFF,0xFF,0xFF,0xFE,0x9F,0xFF,0xFF,0xFD};

void main(void)

{

   	SEG_DLE	=1;

	P0=0x00;

	SEG_DLE	=0;									   //关闭数码管



	while(1)

	{	 

	     unsigned char i,j;

for(i=0;i<16;i++){ 

	  for(j=0;j<8;j++) 

			 {

			 send_R2(&displayH); 		 

//			  send_R2(&displayH);     	  

		     }

			 

		 STR=0;

		 STR=1;

			 HScan(i);

		  delayms(1000) ; 

	  }

	}  
共阳极模块。595输出低电平时点亮。测试行数组可以全部改为0x00。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子