求51单片机大神帮忙看看一小段代码

麻烦帮忙看看这段数码管显示的代码是什么意思啊voiddisplay(void){XBYTE[0xE000]=0xff;//消隐XBYTE[0xC000]=(1<<dspc... 麻烦帮忙看看这段数码管显示的代码是什么意思啊
void display(void)
{
XBYTE[0xE000] = 0xff; //消隐

XBYTE[0xC000] = (1<<dspcom);//位选
XBYTE[0xE000] = tab[dspbuf[dspcom]]; //段码

if(++dspcom == 8){
dspcom = 0;
}
}
前面还有两句这个
unsigned char dspbuf[8] = {10,10,10,10,10,0,0,0}; //显示缓冲区
unsigned char dspcom = 0;
特别是XBYTE[0xC000] = (1<<dspcom);这句位选的看不懂,解释这一句也行
求大神啊,急急急!!!
展开
 我来答
11kxmx
2015-02-02 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.2万
采纳率:70%
帮助的人:2526万
展开全部
XBYTE[0xE000] = 0xff; 是指向地址为0xE000的外部端口输出数据 0xff
同样 XBYTE[0xC000] = (1<<dspcom);是指向地址为0xC000的外部端口输出数据
数据是1左移dspcom位,
若dspcom=0 则数据为1 即0000 0001
若dspcom=2 则数据为2 即0000 0010
若dspcom=3 则数据为4 即0000 0100
以此类推,一次只选中一个数码管
unsigned char dspbuf[8] = {10,10,10,10,10,0,0,0}; //显示缓冲区
数组用来存储待显示的数据
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式