欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機控制8*8點陣動態左右動態顯示,并實現改變方向 [打印本頁]

作者: 李大俠    時間: 2018-12-30 18:40
標題: 單片機控制8*8點陣動態左右動態顯示,并實現改變方向
附原理圖與程序


#include<reg51.h>
#include<math.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=8*10;
bit mode;
uchar code tab[]={
// (0) 0(1) 1(2) 2(3) 3(4) 4(5) 5(6) 6(7) 7(8) 8(9) 9(10)  (11)

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/

0x00,0x1C,0x22,0x22,0x22,0x22,0x1C,0x00,/*"0",1*/

0x00,0x12,0x12,0x3E,0x02,0x02,0x00,0x00,/*"1",2*/

0x00,0x12,0x26,0x26,0x26,0x2A,0x36,0x00,/*"2",3*/

0x00,0x14,0x22,0x32,0x32,0x2A,0x2C,0x00,/*"3",4*/

0x00,0x08,0x14,0x24,0x26,0x7E,0x00,0x00,/*"4",5*/

0x00,0x3C,0x2A,0x2A,0x2A,0x2A,0x24,0x00,/*"5",6*/

0x00,0x1C,0x2A,0x2A,0x2A,0x2A,0x04,0x00,/*"6",7*/

0x00,0x30,0x20,0x2E,0x28,0x30,0x20,0x00,/*"7",8*/

0x00,0x34,0x2A,0x2A,0x2A,0x2A,0x34,0x00,/*"8",9*/

0x00,0x10,0x2A,0x2A,0x2A,0x2E,0x1C,0x00,/*"9",10*/

};

void delay(uint z)           //延時子函數
{
   uchar x;
   for(;z>0;z--)
   for(x=110;x>0;x--);
}

void xianshi()                        //顯示
{
        uchar aa,i,num=2;
        for(i=0;i<16;i++)
        {
                switch(i){
                        case 0:
                                num=1;
                                break;
                        case 1:
                                num=2;
                                break;
                        case 2:
                                num=4;
                                break;
                        case 3:
                                num=8;
                                break;
                        case 4:
                                num=16;
                                break;
                        case 5:
                                num=32;
                                break;
                        case 6:
                                num=64;
                                break;
                        case 7:
                                num=128;
                                break;
                        default :
                                num=0;
                                break;
                }
                P2=0xff-num; //列掃描
                data1=tab[net+aa]; //取出上8行數據輸出
                aa++;
                delay(5);        //延時
                data1=0;  //清屏
                P1=0x00;  //消除余輝
                if(aa>15) aa=0;  //字模地址
        }        
        
}
void main()         //主函數
{
   ET1=1;         //使能定時器0
   EA=1;         //開啟總中斷
   TR1=1;        //開始計數
   while(1)         //無限循環
   {
           xianshi();  //顯示
           if(s1==0)   //檢測按鍵
           {
              delay(30);  //延時消抖
                  TR1=~TR1;          //按下暫停  ,暫按繼續
                  while(!s1)xianshi();
                  delay(30);
           }
           if(s2==0)        //檢測按鍵
           {
               delay(30);                        //延時消抖
                   fangxiang=~fangxiang;  //方向取反
                   while(!s2)xianshi();
                   delay(30);
           }
         
}

void timer1() interrupt 3
{

   alt++;
   if(alt==30)                   //到一定的時間加以實現左移
   {
     alt=0;
         if(fangxiang==0)         //如果是正向 正向移動
         {
                 net=net+2;
             if(net>sl)  //字移動數量
             net=0;
         }
         else                           //否則反向移動
         {
             net=net-2;
                 if(net<2)
                 net=sl;          //字移動數量
         }
   }

}



作者: 李大俠    時間: 2018-12-30 18:41
其它兄弟可以在此基礎上加一個上下動態顯示功能

作者: wuxishun    時間: 2019-1-24 21:03
學習下不會寫程序
作者: yn0879    時間: 2019-2-6 03:20
如果共享一下仿真文件就好 了




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