找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2589|回復(fù): 1
收起左側(cè)

單片機(jī)16*16點(diǎn)陣點(diǎn)亮+proteus+文檔

[復(fù)制鏈接]
ID:517378 發(fā)表于 2019-4-20 20:25 | 顯示全部樓層 |閱讀模式
0.png
這是我的程序:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define data1 P0
#define data2 P2
sbit s1=P3^6;
sbit s2=P3^7;
bit fangxiang;
uint alt=0,net=0,sl=128;
bit mode;
uchar code tab[]={
0x20,0x08,0x24,0x10,0x22,0x60,0x21,0x80,0x26,0x41,0x39,0x32,0x02,0x04,0x0C,0x18,
0xF0,0x60,0x13,0x80,0x10,0x60,0x10,0x18,0x14,0x04,0x18,0x02,0x00,0x01,0x00,0x00,/*"歡",2*/
0x02,0x00,0x02,0x02,0x42,0x04,0x33,0xF8,0x00,0x04,0x00,0x02,0x3F,0xF2,0x20,0x22,
0x40,0x42,0x00,0x02,0x3F,0xFE,0x20,0x42,0x20,0x22,0x3F,0xC2,0x00,0x02,0x00,0x00,/*"迎",3*/
0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x00,0x02,0x08,0x04,0x30,0x18,0xC0,
0xF0,0x02,0x10,0x01,0x13,0xFE,0x10,0x00,0x10,0x80,0x14,0x60,0x18,0x18,0x00,0x00,/*"你",4*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",5*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",6*/
};
void delay(uint z)    //延時(shí)子函數(shù)
{
   uchar x;
   for(;z>0;z--)
   for(x=110;x>0;x--);
}
void xianshi()   //顯示
{
uchar aa,i;
for(i=0;i<16;i++)
{
  P1=i; //列掃描
  data1=tab[net+aa]; //取出上8行數(shù)據(jù)輸出
  aa++;
  data2=tab[net+aa]; //取出下8行數(shù)據(jù)輸出
  aa++;
  delay(5); //延時(shí)
  data1=0;  //清屏
  data2=0;  //清屏
  P1=0x00;  //消除余輝
  if(aa>30) aa=0;  //字模地址
}

}
void main()  //主函數(shù)
{
   ET1=1;  //使能定時(shí)器0
   EA=1;  //開啟總中斷
   TR1=1; //開始計(jì)數(shù)
   while(1)  //無(wú)限循環(huán)
   {
    xianshi();  //顯示
    if(s1==0)   //檢測(cè)按鍵
    {
       delay(30);  //延時(shí)消抖
    TR1=~TR1;   //按下暫停  ,暫按繼續(xù)
    while(!s1)xianshi();
    delay(30);
    }
    if(s2==0) //檢測(cè)按鍵
    {
        delay(30);   //延時(shí)消抖
     fangxiang=~fangxiang;  //方向取反
     while(!s2)xianshi();
     delay(30);
    }
  }
}

void timer1() interrupt 3
{
   alt++;
   if(alt==10)     //到一定的時(shí)間加以實(shí)現(xiàn)左移
   {
     alt=0;
  if(fangxiang==0)  //如果是正向 正向移動(dòng)
  {
   net=net+2;
      if(net>sl)  //字移動(dòng)數(shù)量
      net=0;
  }
  else      //否則反向移動(dòng)
  {
      net=net-2;
   if(net<2)
   net=sl;   //字移動(dòng)數(shù)量
  }
   }
   
}

全部資料51hei下載地址:
111.zip (525.24 KB, 下載次數(shù): 34)
回復(fù)

使用道具 舉報(bào)

ID:532069 發(fā)表于 2019-5-12 21:36 | 顯示全部樓層
自定義文字亂碼怎么解決啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表