资源描述:
《上机6(一维数组、二维数组)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、任务1控制LED小灯闪烁(一维数组中取出数据,实现流水灯)1、程序如下2、仿真结果1、结果分析:uchardis[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f},这是定义了一个一维字符型数组,在定义数组时对数组的全部元素赋予了初值,有8个元素,每个元素由不同的下标表示,分别为dis[0]、dis[1]·····dis[7],数组的第一个元素(0xfe)的下标为0而不是1,即dis[0]对应的是第一个元素“0xfe”,dis[7]对应的是第八个元素“0x7f”(也就是在初始化后,dis[0]=0xfe,dis[1]=0xfd···dis
2、[7]=0x7f).for(i=0;i<8;i++){P1=dis[i];delay(100);}上面这段程序是用for循环使P1口上的8灯流动,先给i赋初值0,判断i<8条件成立,则给P1口赋值dis[0]即0xfe,可以看到P1.0口上的灯亮了,再延时,然后i自加1变为1,再次判断条件i<8成立,则给P1口赋值dis[1]即0xfd,可以看到P1.1口上的灯亮,依次循环8次,看到P1口上8灯循环点亮。任务2二维数组的应用,将dis二维数组的第一个数据和最后一个数据交替的取出来复制给p1口,实现p1.0和p1.7的led小灯交替闪烁。1、程序如下1、仿真结果1、结果分析:u
3、chardis[5][8]={{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f},{0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe},{0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff},{0x7f,0x3f,0x1f,0xf0f,0x07,0x03,0x01,0x00},{0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f}};这是定义了一个5行8列共40个元素的二维数据组dis[][],已经对数组里面的全部元素赋予了初值,也可以把里面的数据写在一个花括
4、号内。二维数据的存取顺序是:按行存取,先存取第一行元素的第0列(0xfe),1列(0xfd),2列(0xfb)······知道第1行的最后一列;然后返回到第二行开始,直到最后一行的最后一列。for(i=0;i<5;i++){for(j=0;j<8;j++){P1=dis[i][j];delay(100);}}这里使用for嵌套实现p1.0和p1.7的led小灯交替闪烁。首先给i赋初值0(第一行),满足条件(i<5),进入内嵌套,给j赋初值0(每行中的第一个数据),满足条件(j<8),就给P1赋值dis[0][0](也就是第一行中的第一个数据0xfe),再给j自加1,再判断··
5、·内嵌套循环8次(即第一行的数据都依次赋给P1了)后退出内嵌套,i自加1,再判断条件(i<5),若成立再次进入内嵌套······依次执行下去···