作者d062637776 (寸土寸金台北市信义区)
看板ASM
标题[问题] 求高手解说单晶片(8051)程式码
时间Mon Aug 31 04:47:54 2009
是这样的,最近我在做关於红绿灯小绿人矩阵图型的报告
而我朋友刚好有用 mikroC 这套软体写出简单的单晶片(8051)小绿人动态扫描的程式。
可是我看不太懂,希望有高手可以帮忙解说程式码。
------------------------------------------------------------------------------
void main()
{
int key,count;
char s[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //borad all lack oil
const char l[4][8]= {
{
0b10011111,
0b10011111,
0b11001111,
0b11000111,
0b10000111,
0b11100111,
0b11010111,
0b11001011
}
,
{
0b10011111,
0b10011111,
0b11000111,
0b11001011,
0b10000011,
0b11000111,
0b11011011,
0b10011001
}
,
{
0b10011111,
0b10011111,
0b11000011,
0b11001101,
0b00100111,
0b11000111,
0b10111011,
0b00111001
}
,
{
0b10011111,
0b10011111,
0b11000111,
0b11001011,
0b10000011,
0b11000111,
0b11011011,
0b10011001
}
};
do
{
for(key=0;key<20;key++)
{
for(count=0;count<8;count++)
{
p1=s[count]; //扫描各排
p2=l[key/5][count]; //送各排字型
delay_ms(2);
}
delay_ms(30);
}
}
while(1);
}
------------------------------------------------------------------------------
以下是用 Proteus海神 模拟的结果(图):
http://tinyurl.com/nhoub2
------------------------------------------------------------------------------
PS.另外可否请板友将写此程式码的过程转换成"流程图"(可用箭头→述说就好)
EX:开始→设定阵列→....→结束
让我更好理解来制作报告 麻烦您
--
老化四徵兆
○ zzzz ! * \○/ ★ (○ ?
└□ "
○□═ □ □>
√√ ╦══╦
∥ |\
坐着一直睡 躺着睡不着 旧的一直提 说过就忘记
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.181.46
※ 编辑: d062637776 来自: 114.33.181.46 (08/31 04:51)
1F:推 ruemann:你这个实际跑起来可能会觉得画面会闪 08/31 06:49
2F:→ ruemann:它的做法很简单,就是每一个film约46ms(其中30ms是空白) 08/31 06:51
3F:→ ruemann:然後每2ms跑一个扫描线,每个画面由八条扫描线组合而成 08/31 06:51
4F:→ ruemann:全部的动作只有四张图,就这样 08/31 06:52
5F:→ ruemann:最後,根据我对8051的了解,这个线路实际上应该是推不动 08/31 06:55
6F:→ ruemann:也就是应该看不到模拟的画面(led的亮度会很弱或是没有) 08/31 06:55
有用海神模拟过了
http://tinyurl.com/nhoub2
※ 编辑: d062637776 来自: 114.33.181.46 (08/31 21:43)
7F:→ d062637776:模拟也是我朋友拉的 程式是专为模拟而写 08/31 21:56