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

QQ登錄

只需一步,快速開始

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

新手求救,51單片機(jī)+08接口點(diǎn)陣屏顯示不正常

[復(fù)制鏈接]
ID:908326 發(fā)表于 2021-5-12 04:50 | 顯示全部樓層 |閱讀模式

想用8個(gè)0x11點(diǎn)亮上半個(gè)屏幕(16行)每行應(yīng)該是0001000100010001001....即3個(gè)燈滅1個(gè)燈亮重復(fù)16次
但實(shí)際卻是1111111111111111111....整個(gè)屏幕都在發(fā)光

請(qǐng)大神看下代碼,出出主意



#include<STC12C5A60S2.H>

#define  uchar         unsigned char  
#define  uint  unsigned int


sbit IA  =P2^0;
sbit IB  =P2^1;
sbit IC  =P2^2;
sbit ID  =P2^3;

#define  scan0    {IA=0;IB=0;IC=0;ID=0;}
#define  scan1    {IA=1;IB=0;IC=0;ID=0;}
#define  scan2    {IA=0;IB=1;IC=0;ID=0;}
#define  scan3    {IA=1;IB=1;IC=0;ID=0;}
#define  scan4    {IA=0;IB=0;IC=1;ID=0;}
#define  scan5    {IA=1;IB=0;IC=1;ID=0;}
#define  scan6    {IA=0;IB=1;IC=1;ID=0;}
#define  scan7    {IA=1;IB=1;IC=1;ID=0;}
#define  scan8    {IA=0;IB=0;IC=0;ID=1;}
#define  scan9    {IA=1;IB=0;IC=0;ID=1;}
#define scan10    {IA=0;IB=1;IC=0;ID=1;}
#define scan11    {IA=1;IB=1;IC=0;ID=1;}
#define scan12    {IA=0;IB=0;IC=1;ID=1;}
#define scan13    {IA=1;IB=0;IC=1;ID=1;}
#define scan14    {IA=0;IB=1;IC=1;ID=1;}
#define scan15    {IA=1;IB=1;IC=1;ID=1;}

sbit SH=P2^7;
sbit ST=P2^6;
sbit R1=P1^0;
sbit R2=P1^1;
sbit G1=P1^2;
sbit G2=P1^3;
sbit OE=P2^5;

void scan(unsigned char Value)  
{switch(Value)
        {case  0: scan0;break;
                  case  1: scan1;break;
                   case  2: scan2;break;
                    case  3: scan3;break;
             case  4: scan4;break;
                      case  5: scan5;break;
                       case  6: scan6;break;
                        case  7: scan7;break;
                 case  8: scan8;break;
                       case  9: scan9;break;
                      case 10:scan10;break;
                     case 11:scan11;break;
            case 12:scan12;break;
                  case 13:scan13;break;
                 case 14:scan14;break;
            case 15:scan15;break;
           default:break;
        }
}

void WriteR1(unsigned char byte)   
{
        unsigned int i;
        for(i=0;i<8;i++)
        {
                SH=1;
                R1=byte&(0x80>>i);
                SH=0;
        }
}
void WriteR2(unsigned char byte)
{
        unsigned int i;
        for(i=0;i<8;i++)
        {
                SH=1;
                R2=byte&(0x80>>i);
                SH=0;
        }
}
void WriteG1(unsigned char byte)
{
        unsigned int i;
        for(i=0;i<8;i++)
        {
                SH=0;
                G1=byte&(0x80>>i);
                SH=1;
        }
}

void WriteG2(unsigned char byte)
{
        unsigned int i;
        for(i=0;i<8;i++)
        {
                SH=0;
                G2=byte&(0x80>>i);
                SH=1;
        }
}



void main()
{

        while(1)
        {
        unsigned int i,j;
                        for(i=0;i<16;i++)  //16DDé¨Ãè
                {
                        OE=0;
                        for(j=0;j<8;j++){
                                WriteR1(0x11);
                                WriteR2(0x00);
                                WriteG1(0x00);
                                WriteG2(0x00);
                        }
                        ST=0;
                        scan(i);
                        ST=1;
                        OE=1;
                       
                }
        }
        }


回復(fù)

使用道具 舉報(bào)

ID:390416 發(fā)表于 2021-5-12 08:00 | 顯示全部樓層
P2.5單紅16×192.jpg
這種就是08接口的,ABCD控制0~16行。
回復(fù)

使用道具 舉報(bào)

ID:68189 發(fā)表于 2021-5-12 14:36 | 顯示全部樓層
至少有電原理圖啥的參考,才能明白你要干嘛,都是代碼,難道你以為別人都 是神仙嗎
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2021-5-12 15:10 | 顯示全部樓層
好幾個(gè)函數(shù)中有類似: = byte&(0x80>>i); 的,建議 改為 =(byte<<i)&0x80;

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:908326 發(fā)表于 2021-5-12 16:27 | 顯示全部樓層
glinfei 發(fā)表于 2021-5-12 15:10
好幾個(gè)函數(shù)中有類似: = byte&(0x80>>i); 的,建議 改為 =(byte

多謝,今天回家試試
回復(fù)

使用道具 舉報(bào)

ID:908326 發(fā)表于 2021-5-12 16:28 | 顯示全部樓層
wpppmlah 發(fā)表于 2021-5-12 14:36
至少有電原理圖啥的參考,才能明白你要干嘛,都是代碼,難道你以為別人都 是神仙嗎

回家畫完P(guān)roteus上傳
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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