久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4773|回復: 1
打印 上一主題 下一主題
收起左側

電機轉同時點陣顯示

[復制鏈接]
跳轉到指定樓層
樓主
ID:81203 發表于 2015-5-26 19:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*********************************************************

            電機轉同時點陣顯示
********************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit da  =P2^7;
sbit shcp=P2^5;
sbit stcp=P2^6;
uint led_array_count,anode_next;
bit motor_flag=0,led_array_flag;
uchar anode,negative;
uchar a,b;
////////////////////////////////////////////
void delays(uchar ms)
{
        uint a;
        while(ms--)  for(a=0;a<100;a++);
}
////////////////////////////////////////初始化定時器
void initial_timer0()
{
          TMOD=0X02;         
          TH0=0x38;      //100us
          TL0=0x38;
          TR0=1;
          EA=1;
          ET0=1;
}
///////////////////////////////////////////////////////////////////////
uchar code motor_run[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};              //最高頻率250us
/////////////////////////////////////////////////////////////////////
uchar code led_array_anode[]={ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
                                     0xC1,0x01,0x00,0x00,0x00,0x00,0x80,0x83,
                               0x60,0x01,0x01,0x00,0x00,0x80,0x80,0x06,
                                     0x30,0x00,0x01,0x01,0x80,0x80,0x00,0x0C,
                                     0x18,0x00,0x00,0x81,0x81,0x00,0x00,0x18,
                                     0x0C,0x00,0x80,0x80,0x01,0x01,0x00,0x30,
                                     0x06,0x80,0x80,0x00,0x01,0x01,0x01,0x60,
                                     0x83,0x80,0x00,0x00,0x00,0x00,0x01,0xC1,
                                     0xE1,0x01,0x01,0x00,0x00,0x80,0x80,0x87,
                                     0x62,0xC3,0x01,0x00,0x00,0x80,0xC3,0x46,
                                     0x30,0x62,0x03,0x01,0x80,0xC0,0x46,0x0C,
                                     0x08,0x14,0x22,0x41,0x82,0x44,0x28,0x10,
                               0x00,0x08,0x14,0x22,0x44,0x28,0x10,0x00,
                                     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
                                     0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,
                                     0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,  //16
                                     0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,
                               0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,
                                     0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,
                                     0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,
                                     0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,
                                     0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,
                                  0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,
                                  0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,
                                 0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,
                                0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                                 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                                0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                               0x00,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x00,
                                0x00,0x00,0x3C,0x3C,0x3C,0x3C,0x00,0x00,
                               0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,   //31
                              };
///////////////////////////////////////////////////////////////////
uchar led_array_negative[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};          //負極
//////////////////////////////////////                                         //595送數據
void input595(uchar dat)
{
        uchar b;
        shcp=0;
        for(b=0;b<8;b++)
          {
                        da=dat&0x80;
                        dat=dat<<1;
                        shcp=1;
                        shcp=0;
    }
}
////////////////////////////////////                                          //595輸出數據
void output595()
{
        stcp=0;
        stcp=1;
}
//////////////////////////////////////////////////////////////////
void motor_foreward()
{
        uint motor_time;
                        if(!led_array_flag)
                 {
                         motor_time++;
                         if(motor_time==5)
                         {
                                 motor_time=0;
                                                P3=motor_run[a];
                                                a++;
                                                if(a>=8)
                                                 {
                                                         a=0;
                                                 }
                                }
                        }
}
//////////////////////////////////////////////////////////////////////
void refresh_led_array()                                                     //刷新點陣
{
  if(!led_array_flag)
        {
                anode_next++;
                if(anode_next==100)   //1s
                {
                        anode_next=0;
                        anode=anode+8;
                        if(anode>240)
                        {
                                anode=0;
      }
    }
                 for(negative=0;negative<8;negative++)
                         {
                                 input595(led_array_anode[anode+negative]);
                                 input595(led_array_negative[negative]);
                                 output595();
                         }
         }                         
}
///////////////////////////////////////
void main()
{
        initial_timer0();
//        initial_timer1();
        while(1)
        {
                refresh_led_array();
                motor_foreward();
  }
}
/////////////////////////////////////
void timer0_interrupt()interrupt 1
{
    led_array_count++;
         if(led_array_count==10)   //1ms
        {
                led_array_count=0;
                !led_array_flag;
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:896220 發表于 2021-3-24 21:39 來自手機 | 只看該作者
我想問一下 這能顯示88的  還是1616的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区二区欧美 | 日本三级线观看 视频 | www.99热.com| 精品国产久 | 一区在线视频 | 日韩精品在线网站 | 91久久 | 一区二区三区精品视频 | 欧美午夜一区 | 本地毛片 | 国产精品久久久 | 免费a级毛片在线播放 | 日韩欧美三区 | 成人在线观看免费视频 | 国产欧美精品 | 国产91在线播放 | 麻豆av电影网 | 激情视频网站 | 免费啪啪 | 狠狠的干| 电影91久久久 | 国产视频一区二区 | 亚洲精品一区二区三区在线观看 | 羞羞的视频在线 | 91欧美精品成人综合在线观看 | 国产精品一区一区三区 | 欧美一区二区三区在线观看视频 | 欧洲亚洲一区二区三区 | 91精品国产一区二区三区动漫 | 色吧综合 | 日本三级网址 | 亚洲精品女优 | 欧美一级毛片久久99精品蜜桃 | 亚洲成人蜜桃 | 日韩精品区 | 成人欧美一区二区三区在线观看 | 日韩在线一区二区 | 精品96久久久久久中文字幕无 | 中文字幕亚洲区一区二 | 中文字幕国产一区 | 成人在线电影网站 |