资源描述:
《单片机c语言简单编程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1、点亮2、3、5、8四个发光二极管。(课后作业)#includesbitLED2=P1^0;sbitLED3=P1^3;sbitLED5=P1^5;sbitLED8=P1^6;main(){LED2=0;//第二盏灯亮LED3=0;//第三盏灯亮LED5=0;//第五盏灯亮LED8=0;//第八盏灯亮while(1);}2、设计走马灯和数码管逐一显示数字。(课后作业)#includevoidDelay(){unsignedintj;j=30000;while(j--);}//时
2、间延时函数voidmain(){inta[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示段码intb[10]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xaa,0x55};//点亮灯的段码unsignedchari;while(1){for(i=0;i<10;i++){P1=b[i];P2=a[i];Delay();}}}3、开关K1控制加,开关K2控制减,开关K3控制复位。当减到小于0的时候再
3、从99开始减,当加到99的时候又从0开始加。(课后作业)#includesbitBIT1=P3^0;sbitBIT2=P3^1;sbitButton1=P3^7;sbitButton2=P3^6;sbitButton3=P3^5;unsignedchara[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示段码voidDelay(unsignedintt){unsignedinti,j;for(i=0;i4、r(j=0;j<252;j++){;}}//时间延迟函数的定义voidmain(){chardat=0;//有符号数intb[10]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xaa,0x55};//跑马灯显示的段码unsignedcharz;while(1){for(z=0;z<10;z++){BIT1=0;BIT2=1;P2=a[dat/10];Delay(20);P2=0xff;//消隐,防止个位的数在十位显示,导致显示乱码BIT1=1;BIT2=0;P2=a[dat
5、%10];Delay(20);P2=0xff;//消隐P1=b[z];Delay(20);//跑马灯显示if(Button1==0){dat++;if(dat>=99)dat=0;while(Button1==0);}//按键1是控制加的,当加到大于等于99时又从0开始加if(Button2==0){dat--;if(dat<=0)dat=99;while(Button2==0);}//按键2是控制减的,当减到小于等于0时再从99开始减if(Button3==0){dat=0;while(Button3==0);}
6、}//按键3是控制复位的,任何时候按下就归0}}4、开始1、2、3、4闪烁,按一下K1,5、6、7、8闪烁,再按一下K1全部闪烁。(课堂作业)#includesbitK1=P3^0;unsignedcharstate=0;voidDelay(unsignedintt){unsignedinti,j;for(i=0;i7、y(20);}elseif(state==1){P1=0x0f;Delay(20);P1=0xff;Delay(20);}elseif(state==2){P1=0x00;Delay(20);P1=0xff;Delay(20);}if(K1==0){state++;if(state>=3)state=0;while(K1==0);}}}5、先是1、2、3、4灯闪8下,再5、6、7、8灯闪8下。循环闪烁。(实验一2)#includevoidDelay(){unsignedintj;j=50000;w
8、hile(j--);}main(){chari=0;while(1){for(i=0;i<16;i++){if(i<8){P2=0Xf0;Delay();P2=0xff;Delay();}elseif(i<16){P2=0X0f;Delay();P2=0xff;Delay();}}}}6、逐个点亮8个发光二极管(第一次亮一个。。。最后全亮,然后再重新开始)(