请问这段控制单元板的函数什么意思?

2020-01-30 14:17发布

红 {MOD}为我标注的问题



unsigned char PLAYBUF[64];


void point(unsigned char x,unsigned char y,bit c)
{
        unsigned char i;

        if(x>=32) return; //这两行是干什么的?怕画点画出点阵的范围吗?
        if(y>=16) return; //这两行是干什么的?怕画点画出点阵的范围吗?
        i=0x80; //这个变量准备干啥?
        i>>=x-((x>>3)<<3); //这是干什么的?为什么先向右移,又向左移?不是等于没移?

        if(c)
                PLAYBUF[(y<<1)+((x>>4)<<5)+((x>>3)&0x01)] |= i;  //这句彻底看不懂...
        else
                PLAYBUF[(y<<1)+((x>>4)<<5)+((x>>3)&0x01)] &= ~i;
}




问题挺多的,请各位高人赐教!给08口的规范更好,先谢谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
习学发开
1楼-- · 2020-01-31 04:35
 精彩回答 2  元偷偷看……
i_kkyu
2楼-- · 2020-01-31 07:11
是很基本的程序语句。实在看不懂的话,仿真一下。软仿真即可。
习学发开
3楼-- · 2020-01-31 09:15
i_kkyu 发表于 2013-2-5 13:13
是很基本的程序语句。实在看不懂的话,仿真一下。软仿真即可。

语句看懂了,可惜带来的效果不知道。现在我搞不清硬件输出情况是怎么样的。这个画点的函数怎么和led显示对应起来。
习学发开
4楼-- · 2020-01-31 11:21
本帖最后由 习学发开 于 2013-2-5 13:31 编辑
HeP028 发表于 2013-2-4 22:56

08hub.png (67.56 KB, 下载次数: 0)

下载附件

08口

2013-2-5 12:09 上传


ABCD是对应的LED点;
STB是什么?
CLK又是啥?
OE?
G1、G2、R1、R2这些是双 {MOD}才要都连的吧?但是为什么同是有两个?
单 {MOD}屏是不是只要连R1即可?

望能相助!
HeP028
5楼-- · 2020-01-31 14:52
如果你是单红 {MOD}的话那么连接的时候ABCD是控制行的。  STB是锁存端口.CLK是时钟端口。R1是红 {MOD}数据接口。OE是显示允许端口
HeP028
6楼-- · 2020-01-31 16:22
 精彩回答 2  元偷偷看……

一周热门 更多>