思考:1、若用>>符号写程序,还需不需要用头文件<intrins.h>最终的现象是什么呢?3、请问如何实现由下到上的依次显示?4、请问如何实现先从上到下,再从下到上的依次显示?11
思考: 1、若用>>符号写程序,还需不需要用头文件<intrins.h>, 最终的现象是什么呢? 3、请问如何实现由下到上的依次显示? 4、请问如何实现先从上到下,再从下到上的依次显示? 11
由下到上依次点亮的主程序IⅡ主程序void main()(P1=0x7f;I/向P1口送出点亮数据while(1)(I/500为延时参数,可根据实际需要调整delay(500);P1=_cror_(P1,1);I/函数_crol_(P1,1)把P1中的数据循环左移1位1112
由下到上依次点亮的主程序 void main( ) //主程序 { P1=0x7f; //向P1口送出点亮数据 while (1) { delay( 500 ); //500为延时参数,可根据实际需要调整 P1=_cror_(P1,1) ; // 函数_crol_(P1,1)把P1中的数据循环左移 1位 } } 12
先从上到下再从下到上呢?void main()(uinti;P1=0xfe;while(1)(for(i=0;i<7;i++)(delay(500);P1=_crol_(P1,1);1for(i=0;i<7;i++)(delay(500);P1=_cror_(P1,1);11713
先从上到下再从下到上呢? 13 void main( ) { uint i; P1=0xfe; while (1) { for(i=0;i<7;i++) { delay(500); P1=_crol_(P1,1) ; } for(i=0;i<7;i++) { delay(500); P1=_cror_(P1,1); } } }
思考:如果想要显示的花色很炫酷并不能用简单的左移右移实现呢?如:先两边到中间再中间到两边这种,怎么实现呢?店【例5-2】电路见图5-2,制作由上至下再由下至上反复循环点亮显示的流水灯的第二种方法,数组的字节操作实现建立1个字符型数组,将控制8个LED显示的8位数据作为数组元素,依次送P1口。参考程序:#include<reg51.h>#define uchar unsigned charucharcodetab[j=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7fOxbf,0xdf,0xef,0xf7,Oxfb,Oxfd,oxfe;/*前8个数据为左移点亮数据,后8个为右移点亮数据*思考:为何用code?请掌握数组定义方法,很有用。14
14 思考:如果想要显示的花色很炫酷并不能用简单的左移右移实现呢? 如:先两边到中间再中间到两边这种,怎么实现呢? 【例5-2】电路见图5-2,制作由上至下再由下至上反复循环点亮显示的 流水灯的第二种方法, 数组的字节操作实现 建立1个字符型数组,将控制8个LED显示的8位数据作为数组元素,依 次送P1口。参考程序: #include <reg51.h> #define uchar unsigned char uchar code tab[ ]={ 0xfe , 0xfd , 0xfb , 0xf7 , 0xef , 0xdf , 0xbf , 0x7f , 0x7f , 0xbf , 0xdf , 0xef , 0xf7 , 0xfb , 0xfd , 0xfe }; /*前8个数据为左移点亮 数据,后8个为右移点亮数据*/ 思考:为何用code?请掌握数组定义方法,很有用
思考:为何用code?请掌握数组定义方法,很有用。数组定义方法:数据类型[存储空间种类]数组名字[元素数目]=[X,X,X,X..];1、如果数组内容属于定义好了就不再变化时,一般放在code中,节省ram空间。2、假设定义一个inta[5],则各元素分别为a[0],a[1],,a[2],a[3],a[4],为何要从0开始数呢,因为从1开始数,第五个为a[5],和数组名字重复了。3、数组名字的本质是指针3、完整的数组定义应包含元素数目n,和各元素取值。4、元素数目可以省略,此时应将每个元素的初始值均列举出来。5、可以不完全定义,只定义前面几个值,后面的值默认为0,例如:inta[5]=[1,3],则a[0]=0,a[1]=3,其余值均为0。6、完全不定义时,所有值均为不确定的值
◼ 思考:为何用code?请掌握数组定义方法,很有用。 ◼ 数组定义方法: ◼ 数据类型 [存储空间种类] 数组名字[元素数目]={x,x,x,x.}; ◼ 1、如果数组内容属于定义好了就不再变化时,一般放在code中,节 省ram空间。 ◼ 2、假设定义一个int a[5],则各元素分别为a[0],a[1],a[2],a[3], a[4],为何要从0开始数呢,因为从1开始数,第五个为a[5],和数组 名字重复了。 ◼ 3、数组名字的本质是指针 ◼ 3、完整的数组定义应包含元素数目n,和各元素取值。 ◼ 4、元素数目可以省略,此时应将每个元素的初始值均列举出来。 ◼ 5、可以不完全定义,只定义前面几个值,后面的值默认为0,例如: ◼ int a[5]={1,3},则a[0]=0,a[1]=3,其余值均为0。 ◼ 6、完全不定义时,所有值均为不确定的值