|
发表于 2019-12-18 12:30:43
|
显示全部楼层
本帖最后由 舞指飞扬 于 2019-12-18 13:12 编辑
///#define DATAOUT(x) GPIOB->ODR=GPIOB->ODR&0x00FF|x<<8 //显示数据输出 PB8~PB15
//#define CEOUT(x) GPIOA->ODR=GPIOA->ODR&0xFF0F|x<<4 //138片选数据输出 PA4~PA7
////pb8-pb15改成p3.3 p3.2 p2.2-p2.7 怎么修改啊
////pa4-pa7 改成 p1.5-p1.6 p2.0-p2.1
PORTDRV=0x01;//IO等效电阻411,+-8MA
P1MDOUT=0xFF;//允许输出
P2MDOUT=0xFF;//允许输出
P3MDOUT=0xFF;//允许输出
void DATAOUT(u8 x)
{u8 vp33,vp32,vp22,vp23,vp24,vp25,vp26,vp27,vp3,vp2,m,n;
vp33= (x & (1<<0))>>0;
vp32= ( x & (1<<1))>>1;
vp22= ( x & (1<<2));
vp23= ( x & (1<<3));
vp24= ( x & (1<<4));
vp25= ( x & (1<<5));
vp26= ( x & (1<<6));
vp27= ( x & (1<<7));
vp2=0;vp2=vp22+vp23+vp24+vp25+vp26+vp27;
vp3=0;vp3=(vp32<<2)+(vp33<<3);m=vp2|0x03;
n= vp3| 0xf3;
P2|=vp2;
P2&=m;
P3|=vp3;
P3&=n;
}
void CEOUT(u8 x)
{u8 vp15,vp16,vp20,vp21,m,n;
vp15= (x & (1<<0))>>0;
vp16= ( x & (1<<1))>>1;
vp20= ( x & (1<<2))>>2;
vp21= ( x & (1<<3))>>3;
vp2=0;vp2= (vp20<<0)+ (vp21<<1 ) ;
vp1=0;vp1=(vp15<<5)+(vp16<<6);m=vp1|0x9f;
n=vp2|0xFC;
P1|=vp1;
P1&=m ;
P2|=vp2;
P2&=n;
}
|
|