亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5033|回復: 1
收起左側

求助max7219點陣顯示問題

[復制鏈接]
ID:299298 發表于 2018-4-2 15:47 | 顯示全部樓層 |閱讀模式
本人是單片機小白,在學習驅動max7219做個小時鐘;請教下面圖片中一個字符拆分開,在兩塊點陣屏上顯示怎么做的,目前只會一個屏顯示一個字符;
另外,中間那個冒號怎么顯示?
QQ截圖20180402153436.png QQ截圖20180402153451.png

這是網上找來的7219驅動程序,要怎么修改才能實現自己的需求

#include <reg52.h>  
#include <intrins.h>  
#define uchar unsigned char  
#define uint  unsigned int  
//定義Max7219端口  
sbit Max7219_pinCLK = P2^2;  
sbit Max7219_pinCS  = P2^1;  
sbit Max7219_pinDIN = P2^0;  
uchar code disp1[3][8]={  
{0x7E,0x2,0x2,0x7E,0x40,0x40,0x40,0x7E}, //2
{0x3E,0x2,0x2,0x3E,0x2,0x2,0x3E,0x0},    //3
{0x8,0x18,0x28,0x48,0xFE,0x8,0x8,0x8},   //4
};  
/*n毫秒的延時程序*/  
void Delay_xms(uint x)  
{  
uint i,j;  
for(i=0;i<x;i++)  
  for(j=0;j<112;j++);  
}  
//--------------------------------------------  
//向MAX7219(U3)寫入字節  
void Write_Max7219_byte(uchar DATA)           
{  
        uchar i;      
        Max7219_pinCS=0;                //CS=0有效,CS=1鎖存   
        for(i=8;i>=1;i--)  
          {         
            Max7219_pinCLK=0;  
            Max7219_pinDIN=DATA&0x80; //&10000000, 編譯器對位操作的理解:非0即為1  
            DATA=DATA<<1;  
            Max7219_pinCLK=1;       //上升沿把數據送出去  
           }                                   
}  
//-------------------------------------------  
/*向M第一片MAX7219寫入數據*/  
void Write_Max7219_1(uchar add1,uchar dat1)  
{   
     Max7219_pinCS=0;  
     Write_Max7219_byte(add1);           //寫入地址,即數碼管編號  
     Write_Max7219_byte(dat1);               //寫入數據,即數碼管顯示數字   
     Max7219_pinCS=1;                          
}  
/*第二片MAX7219的寫入數據*/  
void Write_Max7219_2(uchar add2,uchar dat2)  
{  
    Max7219_pinCS=0;  
    Write_Max7219_byte(add2);  
    Write_Max7219_byte(dat2);  
    Max7219_pinCLK=1;  
    Write_Max7219_byte(0x00);  //片1寫入空  
    Write_Max7219_byte(0x00);  
    Max7219_pinCS=1;  
}  
/*第三片MAX7219的寫入數據*/  
void Write_Max7219_3(uchar add3,uchar dat3)  
{  
    Max7219_pinCS=0;  
    Write_Max7219_byte(add3);  
    Write_Max7219_byte(dat3);  
    Max7219_pinCLK=1;  
    Write_Max7219_byte(0x00); //片1寫入空  
    Write_Max7219_byte(0x00);  
    Write_Max7219_byte(0x00); //片2寫入空  
    Write_Max7219_byte(0x00);  
    Max7219_pinCS=1;  
}  


/*初始化芯片*/  
void Init_MAX7219(void)  
{  
Write_Max7219_1(0x09, 0x00);       //譯碼方式:BCD碼  
Write_Max7219_1(0x0a, 0x03);       //亮度   
Write_Max7219_1(0x0b, 0x07);       //掃描界限;8個數碼管顯示  
Write_Max7219_1(0x0c, 0x01);       //掉電模式:0,普通模式:1  
Write_Max7219_1(0x0f, 0x00);       //顯示測試:1;測試結束,正常顯示:0  

Write_Max7219_2(0x09, 0x00);       //譯碼方式:BCD碼  
Write_Max7219_2(0x0a, 0x03);       //亮度   
Write_Max7219_2(0x0b, 0x07);       //掃描界限;8個數碼管顯示  
Write_Max7219_2(0x0c, 0x01);       //掉電模式:0,普通模式:1  
Write_Max7219_2(0x0f, 0x00);       //顯示測試:1;測試結束,正常顯示:0  

Write_Max7219_3(0x09, 0x00);       //譯碼方式:BCD碼  
Write_Max7219_3(0x0a, 0x03);       //亮度   
Write_Max7219_3(0x0b, 0x07);       //掃描界限;8個數碼管顯示  
Write_Max7219_3(0x0c, 0x01);       //掉電模式:0,普通模式:1  
Write_Max7219_3(0x0f, 0x00);       //顯示測試:1;測試結束,正常顯示:0  
}  


/**********************主程序**************************/  
void main(void)  
{  
uchar i,j;  
Delay_xms(50);  
Init_MAX7219();   
while(1)  
{  
  for(j=0;j<3;j++)  
  {  
   for(i=1;i<9;i++)  
   {  
    Write_Max7219_1(i,disp1[2][i-1]);  
    Write_Max7219_2(i,disp1[3][i-1]);  
    Write_Max7219_3(i,disp1[4][i-1]);  
    }  
   Delay_xms(1000);  
  }   
}   
}

回復

使用道具 舉報

ID:123289 發表于 2018-4-3 00:52 | 顯示全部樓層
你要現進行字符拆裝分解組合,考的是你對掃描顯示、以及對點陣真正理解。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表