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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

雙色LED點陣顯屏設計與制作

[復制鏈接]
跳轉到指定樓層
樓主
ID:342515 發表于 2018-9-20 13:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>   
#include <intrins.h>
/***********************************************************************************************/
unsigned char  segout[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //8列掃描代碼,高電平有效
unsigned char code tab[]={0xff,0xcf,0xb7,0xbb,0xdd,0xbb,0xb7,0xcf};        //數據代碼,低電平有效
sbit LATCH = P1^0;                            //點屏數的數據端口定義
sbit SRCLK = P1^1;
sbit SER   = P1^2;
sbit LATCH_B = P2^0;                     //點陣屏的公共端口定義
sbit SRCLK_B = P2^1;
sbit SER_B   = P2^2;
/************************************************************************************************
**函數名:delay(unsigned char i)       
**功  能:延時程序
************************************************************************************************/
void delay(unsigned char i)
{        unsigned char j,k;
                for(k=0;k<i;k++)
                {        for(j=0;j<255;j++);
                }
}
/************************************************************************************************
**函數名:sendbyte(unsigned char dat)       
**功  能:發送字節程序
************************************************************************************************/
void sendbyte(unsigned char dat)
{        unsigned char i;      
        for(i=0;i<8;i++)            //發送1個字節數據
        {        SRCLK=0;                        //為數據移位準備
                if(dat&0x80)                //發送1位數據
                        SER = 1;                //發送1
                else
                        SER = 0;            //發送0       
         dat<<=1;                          //左移數據,為下次發送數據準備
         SRCLK=1;                        //數據寄存器中的數據移位,不影響輸出
    }      
}
/************************************************************************************************
**函數名:sendbyte2(unsigned char dat1,unsigned char dat2)
**功  能:發送2個字節程序,595級聯,n個595,就需要發送n字節后鎖存
************************************************************************************************/
void sendbyte2(unsigned char dat1,unsigned char dat2)
{        sendbyte(dat1);
        sendbyte(dat2);      
}
/************************************************************************************************
**函數名:out595(void)
**功  能:595級聯發送數據后,鎖存有效
************************************************************************************************/
void out595(void)
{        LATCH=0;                   //鎖存輸出
        _nop_();
        LATCH=1;
}
/************************************************************************************************
**函數名:send_com(unsigned char dat)
**功  能:發送點陣屏公共端控制碼
************************************************************************************************/
void send_com(unsigned char dat)
{        unsigned char i;      
        for(i=0;i<8;i++)                  //發送1個字節
        {        SRCLK_B=0;                        //為數據移位準備
                if(dat&0x80)                //發送1位數據
                        SER_B = 1;                 //發送1
                else
                        SER_B = 0;                //發送0
        dat<<=1;
        SRCLK_B=1;                        //數據寄存器中的數據移位,不影響輸出
    }
        LATCH_B=0;                            //輸出鎖存
        _nop_();
        LATCH_B=1;        
}
/************************************************************************************************
                                                                mian()
************************************************************************************************/
void main()
{        unsigned char i;
        while(1)
        {        for(i=0;i<8;i++)                                 //8列數據顯示
                {        send_com(segout[i]);                //送公共端數據,即列掃描代碼
                        sendbyte2(tab[i],0xff);                //送列數據,第1參數是綠色數據,第2參數是紅色數據
                        out595();                                        //595鎖存輸出
                        delay(2);
                        sendbyte2(0xff,0xff);                //防止重影
                        out595();                                        //595鎖存輸出
                }
        }
}


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

使用道具 舉報

沙發
ID:1 發表于 2018-9-20 16:43 | 只看該作者
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 伊色综合久久之综合久久 | 久久成人综合 | 在线观看免费观看在线91 | 国产精品高潮呻吟久久久久 | 欧美黄色小视频 | 一区二区av在线 | 国产精品免费一区二区三区 | 一区二区三区视频免费看 | 51ⅴ精品国产91久久久久久 | 一区二区三区电影在线观看 | 精品久久久久久亚洲综合网 | 日本不卡免费新一二三区 | 国产精品免费在线 | 成人视屏在线观看 | 欧美日韩电影免费观看 | 欧美精品一区二区三区在线播放 | 97超碰在线播放 | 免费观看黄色一级片 | 91性高湖久久久久久久久_久久99 | 国产精品1区2区3区 国产在线观看一区 | 日日草天天干 | www.午夜 | 欧美在线视频不卡 | 在线观看免费毛片 | 三级在线视频 | 国产精品一区二区在线免费观看 | 日韩一级 | 欧美精品1区2区 | 亚洲精品电影在线观看 | 亚洲成人精品国产 | 亚洲精品一区二区在线观看 | 草久网| 大象视频一区二区 | 国产精品夜色一区二区三区 | 91动漫在线观看 | 久久精品在线免费视频 | 亚洲av毛片成人精品 | 日韩国产在线观看 | 精品欧美一区二区在线观看视频 | 成人免费在线视频 | 久久久精品一区 |