標(biāo)題: 51單片機(jī)8*8點(diǎn)陣滾動我愛你程序求解答 [打印本頁]

作者: 2038600630    時間: 2020-11-9 22:14
標(biāo)題: 51單片機(jī)8*8點(diǎn)陣滾動我愛你程序求解答
#include<reg51.h>
unsigned char code image[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
        0xC3,0xE7,0xE7,0xE7,0xE7,0xE7,0xC3,0xFF,
        0x99,0x00,0x00,0x00,0x81,0xC3,0xE7,0xFF,
  0x99,0x99,0x99,0x99,0x99,0x81,0xC3,0xFF,
  0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};   //24個
unsigned char code TAB[8]  = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

void main(){
  EA=1;
        TMOD=0x01;
        TH0=0xfc;
        TL0=0x67;
        ET0=1;
        TR0=1;
        while(1);


}
void int0() interrupt 1{

        static unsigned char i=0;
        static unsigned char tmr=0;
        static unsigned char index=0;
        TH0=0xfc;
        TL0=0x67;
       
        P0=0xff;
        switch(i){
       
                case 0: P1=TAB[7];i++;P0=image[index+0]; break;
                case 1: P1=TAB[6];i++;P0=image[index+1]; break;
                case 2: P1=TAB[5];i++;P0=image[index+2]; break;
                case 3: P1=TAB[4];i++;P0=image[index+3]; break;
                case 4: P1=TAB[3];i++;P0=image[index+4]; break;
                case 5: P1=TAB[2];i++;P0=image[index+5]; break;
                case 6: P1=TAB[1];i++;P0=image[index+6]; break;
                case 7: P1=TAB[0];i=0;P0=image[index+7]; break;
          default: break;
        }
tmr++;
        if(tmr>=250){
       
                  tmr=0;
                  index++;
                  if(index>=32){
                        index=0;
                        }
               
        }
       
       
}

作者: amandv    時間: 2020-11-10 09:37
你的問題是什么?
作者: 2038600630    時間: 2020-11-11 10:52
if(tmr>=250)這個

作者: 茶水    時間: 2020-11-11 14:16
TH0=0xfc;
TL0=0x67;定義刷新頻率

if(tmr>=250)是每個image的刷新總時間。
作者: weijoyer    時間: 2020-11-11 16:55
8*8不能顯示漢字,控制原理類似于多位數(shù)碼管動態(tài)顯示
作者: CGS1273972181    時間: 2020-11-12 10:55
寫這種點(diǎn)陣輸出字符的程序,最好找一個漢字取模軟件




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1