单片机实训作业Word格式.docx
《单片机实训作业Word格式.docx》由会员分享,可在线阅读,更多相关《单片机实训作业Word格式.docx(57页珍藏版)》请在冰点文库上搜索。
P1=0x55;
3、LED8,LED7,LED5,LED2亮
P1=0x2D;
4、LED8,LED7,LED6,LED5,LED4,LED3,LED2,LED1全亮
P1=0x00;
跑马灯:
#defineucharunsignedchar
#defineuint
sbitP10=P1^0;
//用P10定义单片机的1号引脚(P1^0;
字母要大写)
sbitP11=P1^1;
//用P11定义单片机的2号引脚(P1^1;
sbitP12=P1^2;
sbitP13=P1^3;
sbitP14=P1^4;
sbitP15=P1^5;
sbitP16=P1^6;
sbitP17=P1^7;
//用P17定义单片机的8号引脚(P1^7;
voiddelay(unsignedintt)
{
uchari;
while(t--)
{for(i=0;
i<
120;
i++);
}
voidmain()
while
(1)//一直执行以下程序
{
P10=0;
//LED0亮
delay(600);
//调用延时函数,括号内的600要与uintx类型对应
P10=1;
//LED0灭
P11=0;
//LED1亮
//调用延时函数,括号内的600要与uintx类型对应
P11=1;
//LED1灭
P12=0;
//LED2亮
P12=1;
//LED2灭
P13=0;
//LED3亮
P13=1;
//LED3灭
P14=0;
//LED4亮
P14=1;
//LED4灭
P15=0;
//LED5亮
P15=1;
//LED5灭
P16=0;
//LED6亮
P16=1;
//LED6灭
P17=0;
//LED7亮
P17=1;
}
1、LED1闪一下,到LED2闪,到LED3闪
while
(1)
P1=0xfe;
P1=0XFD;
P1=0XFB;
2、LED1,LED2,LED3,LED4同时闪再换成LED5,LED6,LED7,LED8同时闪
//LED0亮
//LED1亮
//LED0灭
//LED1灭
//LED2灭
//LED4亮
//LED5亮
//LED4灭
//LED5灭
//LED6灭
//LED7灭
3、LED1,LED3,LED5,LED7同时闪再换成LED2,LED4,LED6,LED8同时闪
P17=1;
4、LED1,LED2,LED3,LED4,LED5,LED6,LED7,LED8依次亮起来
delay(300);
//LED1亮
//LED2亮
//LED4亮
//LED6亮
5、用if语句实现,当按键P3.2按下(P3_2==0)时LED1到LED8循环点亮,未按下时LED1到LED8全亮全灭闪烁。
at89x51.h>
//包含头文件
#defineucharunsignedchar//定义用uchar代替unsignedchar
#defineuintunsignedint//定义用uint代替unsignedint
voidDelayMS(uintx)//延时程序
while(x--)//决定延时时间参数
main()//主函数
{
if(P3_2==0)//P3.2鍵被按下时执行时执行下面大括号的内容
P1_0=0;
DelayMS(600);
P1_0=1;
P1_1=0;
//LED1亮
P1_1=1;
P1_2=0;
//LED2亮
P1_2=1;
P1_3=0;
//LED3亮
P1_3=1;
P1_4=0;
//LED5亮
P1_4=1;
P1_5=0;
//LED6亮
P1_5=1;
P1_6=0;
//LED7亮
P1_6=1;
P1_7=0;
P1_7=1;
//P3.2鍵未被按下时执行时执行下面大括号的内容
P1=0X00;
P1=0XFF;
6、当P3.4按下时,LED1、LED3、LED5、LED7闪烁,P3.4未按下时,LED1~LED8依次亮起来,再从LED8~LED1依次灭。
if(P3_4==0)//P3.4鍵被按下时执行时执行下面大括号的内容
//P3.4鍵未被按下时执行时执行下面大括号的内容
//调用延时函数,括号内的600要与uintx类型对应延时
}
7、当P3.3按下时,LED1~LED8依次亮起来,再从LED8~LED1依次灭,共3次。
P3.3未按下时LED1、LED3、LED5、LED7闪烁。
ucharb;
for(b=0;
b<
3;
b++)//LED1到LED8循环点亮3个循环
P1=0xFF;
8、用while语句实现,当按键P3.2按下(P3_2==0)时LED1到LED8循环点亮3次,未按下时LED1到LED8全亮全灭闪烁。
b=0;
while(b<
3)
b++;
9、用do……while循环语句实现当按键P3.2按下(P3_2==0)时LED1到LED8循环点8次亮,未按下时LED1到LED8全亮全灭闪烁。
#defineucharunsignedchar//定义用uchar代替unsi