关于数码管段选,位选,数据送入先后的讨论
时间:10-02
整理:3721RD
点击:
在照着郭天祥视频学数码管时,我很好奇先送段选好,还是位选,还是先送P0的数据好:
//程序1 先开段选,送数据,关段选,开位选,送数据,关位选
wela=0; //送段选前先关闭所有位选
P0=0XFF; //送段选前将P0口全置为1
dula=1; //打开段选
P0=0X3F; //送入段选数据
dula=0; //关闭段选
P0=0XFF; //送位选前将P0口全置为1(消影)
wela=1; //打开位选
P0=0XFE; //送位选数据
wela=0; //关闭位选
//程序2 先开位选,送数据,关位选,开段选,送数据,关段选
dula=0; //送位选前先关闭所有位选
P0=0XFF; //送位选前将P0口全置为1
wela=1; //打开位选
P0=0XFE; //送入位选数据
wela=0; //关闭位选
P0=0XFF; //送位段选前将P0口全置为1(消影)
dula=1; //打开段选
P0=0X3F; //送段选数据
dula=0; //关闭段选
//程序3 先送数据,再开段选和位选
P0=0X3F;
dula=1;
dula=0;
P0=0XFE;
wela=1;
wela=0;
//程序4 先送数据,再开位选和段选
P0=0XFE;
dula=1;
dula=0;
P0=0X3F;
wela=1;
wela=0;
程序3和4感觉可以不要消影我感觉也可以,不知道大神们觉着这四个程序哪个好一些呢?你们一般都是怎样点亮数码管的?
//程序1 先开段选,送数据,关段选,开位选,送数据,关位选
wela=0; //送段选前先关闭所有位选
P0=0XFF; //送段选前将P0口全置为1
dula=1; //打开段选
P0=0X3F; //送入段选数据
dula=0; //关闭段选
P0=0XFF; //送位选前将P0口全置为1(消影)
wela=1; //打开位选
P0=0XFE; //送位选数据
wela=0; //关闭位选
//程序2 先开位选,送数据,关位选,开段选,送数据,关段选
dula=0; //送位选前先关闭所有位选
P0=0XFF; //送位选前将P0口全置为1
wela=1; //打开位选
P0=0XFE; //送入位选数据
wela=0; //关闭位选
P0=0XFF; //送位段选前将P0口全置为1(消影)
dula=1; //打开段选
P0=0X3F; //送段选数据
dula=0; //关闭段选
//程序3 先送数据,再开段选和位选
P0=0X3F;
dula=1;
dula=0;
P0=0XFE;
wela=1;
wela=0;
//程序4 先送数据,再开位选和段选
P0=0XFE;
dula=1;
dula=0;
P0=0X3F;
wela=1;
wela=0;
程序3和4感觉可以不要消影我感觉也可以,不知道大神们觉着这四个程序哪个好一些呢?你们一般都是怎样点亮数码管的?
