智能车制作

标题: 新手求助,一点代码问题 [打印本页]

作者: 杳无期    时间: 2014-11-29 14:21
标题: 新手求助,一点代码问题
for(;;) {
    unsigned char ch ;
    unsigned char LedCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
    //int count = 50;
    //数组中的第i个元素代表显示数字i时数码管数据口的数据
    ch = PTT&0x0F;
    PORTE_PE2 = ch;
    PORTE_PE3 = ch>>1;
    PORTE_PE5 = ch>>2;
    PORTE_PE6 = ch>>3;
    //显示一个整数4321
    //while(count--);
    PTS |= 0x0F;
    PTS &= ~0x08;
    PORTB = LedCode[4];
这段代码中PTS &= ~0x08是怎么实现把第三位置0使其使能的?求大神指导?谢谢啦!


作者: calvin白    时间: 2014-11-29 14:47
同为新手,看不懂
作者: zhou1994    时间: 2014-11-29 14:53
取反后   与操作
作者: 杳无期    时间: 2014-11-29 16:26
calvin白 发表于 2014-11-29 14:47
同为新手,看不懂

哈哈,没事,一起进步

作者: 杳无期    时间: 2014-11-29 16:32
zhou1994 发表于 2014-11-29 14:53
取反后   与操作

也就是通过0x0F与11110111与操作是吗?与的结果是0x11110111后面再与11111011相与  就变成了11110011,这样会不会有在进行第二次操作的时候为什么第一次的现象还在呢

作者: zhou1994    时间: 2014-11-29 16:54
杳无期 发表于 2014-11-29 16:32
也就是通过0x0F与11110111与操作是吗?与的结果是0x11110111后面再与11111011相与  就变成了11110011,这 ...

先对后4位取1 然后对80取反为11110111 然后相与 就是将第4位清零,前4位不改变

作者: 杳无期    时间: 2014-11-29 17:47
zhou1994 发表于 2014-11-29 16:54
先对后4位取1 然后对80取反为11110111 然后相与 就是将第4位清零,前4位不改变

恩恩,谢谢啦,这我还是懂的,就是不明白他们之间的延时性是如何通过视觉延迟解决的

作者: zhou1994    时间: 2014-11-29 17:55
杳无期 发表于 2014-11-29 17:47
恩恩,谢谢啦,这我还是懂的,就是不明白他们之间的延时性是如何通过视觉延迟解决的

视觉暂留嘛

作者: 杳无期    时间: 2014-11-29 20:17
zhou1994 发表于 2014-11-29 17:55
视觉暂留嘛

恩恩,谢谢啦





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2