单片机实训作业.docx

上传人:b****2 文档编号:1066507 上传时间:2023-04-30 格式:DOCX 页数:57 大小:21.59KB
下载 相关 举报
单片机实训作业.docx_第1页
第1页 / 共57页
单片机实训作业.docx_第2页
第2页 / 共57页
单片机实训作业.docx_第3页
第3页 / 共57页
单片机实训作业.docx_第4页
第4页 / 共57页
单片机实训作业.docx_第5页
第5页 / 共57页
单片机实训作业.docx_第6页
第6页 / 共57页
单片机实训作业.docx_第7页
第7页 / 共57页
单片机实训作业.docx_第8页
第8页 / 共57页
单片机实训作业.docx_第9页
第9页 / 共57页
单片机实训作业.docx_第10页
第10页 / 共57页
单片机实训作业.docx_第11页
第11页 / 共57页
单片机实训作业.docx_第12页
第12页 / 共57页
单片机实训作业.docx_第13页
第13页 / 共57页
单片机实训作业.docx_第14页
第14页 / 共57页
单片机实训作业.docx_第15页
第15页 / 共57页
单片机实训作业.docx_第16页
第16页 / 共57页
单片机实训作业.docx_第17页
第17页 / 共57页
单片机实训作业.docx_第18页
第18页 / 共57页
单片机实训作业.docx_第19页
第19页 / 共57页
单片机实训作业.docx_第20页
第20页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机实训作业.docx

《单片机实训作业.docx》由会员分享,可在线阅读,更多相关《单片机实训作业.docx(57页珍藏版)》请在冰点文库上搜索。

单片机实训作业.docx

单片机实训作业

《单片机应用技术实训》作业

组号:

第十组组长姓名:

组员姓名:

1、LED7,LED5,LED3,LED1亮

#include//包含头文件,该文件定义了特殊功能寄存器

voidmain()//主函数

{//花括号开头

P1=0xAA;//P1(P1要大写)口低4位LED亮

}

2、LED8,LED6,LED4,LED2亮

#include//包含头文件,该文件定义了特殊功能寄存器

voidmain()//主函数

{//花括号开头

P1=0x55;//P1(P1要大写)口低4位LED亮

}

3、LED8,LED7,LED5,LED2亮

#include//包含头文件,该文件定义了特殊功能寄存器

voidmain()//主函数

{//花括号开头

P1=0x2D;//P1(P1要大写)口低4位LED亮

}

4、LED8,LED7,LED6,LED5,LED4,LED3,LED2,LED1全亮

#include//包含头文件,该文件定义了特殊功能寄存器

voidmain()//主函数

{//花括号开头

P1=0x00;//P1(P1要大写)口低4位LED亮

}

跑马灯:

#include

#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亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P11=1;//LED1灭

P12=0;//LED2亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P12=1;//LED2灭

P13=0;//LED3亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P13=1;//LED3灭

P14=0;//LED4亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P14=1;//LED4灭

P15=0;//LED5亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P15=1;//LED5灭

P16=0;//LED6亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P16=1;//LED6灭

P17=0;//LED7亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P17=1;//LED7亮

}

}

1、LED1闪一下,到LED2闪,到LED3闪

#include

#defineucharunsignedchar

#defineuint

voiddelay(unsignedintt)

{

uchari;

while(t--)

{for(i=0;i<120;i++);}

}

voidmain()

{

while

(1)

{

P1=0xfe;//LED0亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P1=0XFD;//LED1亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P1=0XFB;//LED2亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

}

}

2、LED1,LED2,LED3,LED4同时闪再换成LED5,LED6,LED7,LED8同时闪

#include

#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亮

P11=0;//LED1亮

P12=0;//LED2亮

P13=0;//LED3亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P10=1;//LED0灭

P11=1;//LED1灭

P12=1;//LED2灭

P13=1;//LED3灭

P14=0;//LED4亮

P15=0;//LED5亮

P16=0;//LED6亮

P17=0;//LED7亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P14=1;//LED4灭

P15=1;//LED5灭

P16=1;//LED6灭

P17=1;//LED7灭

}

}

3、LED1,LED3,LED5,LED7同时闪再换成LED2,LED4,LED6,LED8同时闪

#include

#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亮

P12=0;//LED1亮

P14=0;//LED2亮

P16=0;//LED3亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P10=1;//LED0灭

P12=1;//LED1灭

P14=1;//LED2灭

P16=1;//LED3灭

P11=0;//LED4亮

P13=0;//LED5亮

P15=0;//LED6亮

P17=0;//LED7亮

delay(600);//调用延时函数,括号内的600要与uintx类型对应

P11=1;//LED4灭

P13=1;//LED5灭

P15=1;//LED6灭

P17=1;//LED7灭

}

}

4、LED1,LED2,LED3,LED4,LED5,LED6,LED7,LED8依次亮起来

#include

#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(300);//调用延时函数,括号内的600要与uintx类型对应

P11=0;//LED1亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

P12=0;//LED2亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

P13=0;//LED3亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

P14=0;//LED4亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

P15=0;//LED5亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

P16=0;//LED6亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

P17=0;//LED7亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

P10=1;//LED0亮

P11=1;//LED1亮

P12=1;//LED2亮

P13=1;//LED3亮

P14=1;//LED4亮

P15=1;//LED5亮

P16=1;//LED6亮

P17=1;//LED7亮

delay(300);//调用延时函数,括号内的600要与uintx类型对应

}

}

5、用if语句实现,当按键P3.2按下(P3_2==0)时LED1到LED8循环点亮,未按下时LED1到LED8全亮全灭闪烁。

#include//包含头文件

#defineucharunsignedchar//定义用uchar代替unsignedchar

#defineuintunsignedint//定义用uint代替unsignedint

voidDelayMS(uintx)//延时程序

{

uchari;

while(x--)//决定延时时间参数

{for(i=0;i<120;i++);}

}

main()//主函数

{

if(P3_2==0)//P3.2鍵被按下时执行时执行下面大括号的内容

{

P1_0=0;//LED0亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_0=1;

P1_1=0;//LED1亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_1=1;

P1_2=0;//LED2亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_2=1;

P1_3=0;//LED3亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_3=1;

P1_4=0;//LED5亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_4=1;

P1_5=0;//LED6亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_5=1;

P1_6=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_6=1;

P1_7=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_7=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

}

//P3.2鍵未被按下时执行时执行下面大括号的内容

P1=0X00;

DelayMS(600);

P1=0XFF;

DelayMS(600);

}

6、当P3.4按下时,LED1、LED3、LED5、LED7闪烁,P3.4未按下时,LED1~LED8依次亮起来,再从LED8~LED1依次灭。

#include//包含头文件

#defineucharunsignedchar//定义用uchar代替unsignedchar

#defineuintunsignedint//定义用uint代替unsignedint

voidDelayMS(uintx)//延时程序

{

uchari;

while(x--)//决定延时时间参数

{for(i=0;i<120;i++);}

}

main()//主函数

{

if(P3_4==0)//P3.4鍵被按下时执行时执行下面大括号的内容

{

P1_0=0;//LED0亮

P1_2=0;//LED2亮

P1_4=0;//LED5亮

P1_6=0;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_0=1;

P1_2=1;

P1_4=1;

P1_6=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

}

//P3.4鍵未被按下时执行时执行下面大括号的内容

P1_0=0;//LED0亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_1=0;//LED1亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_2=0;//LED2亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_3=0;//LED3亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_4=0;//LED5亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_5=0;//LED6亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_6=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_7=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_7=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应延时

P1_6=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_5=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_4=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_3=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_2=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_1=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_0=1;

DelayMS(600);

}

7、当P3.3按下时,LED1~LED8依次亮起来,再从LED8~LED1依次灭,共3次。

P3.3未按下时LED1、LED3、LED5、LED7闪烁。

#include//包含头文件

#defineucharunsignedchar//定义用uchar代替unsignedchar

#defineuintunsignedint//定义用uint代替unsignedint

ucharb;

voidDelayMS(uintx)//延时程序

{

uchari;

while(x--)//决定延时时间参数

{for(i=0;i<120;i++);}

}

main()//主函数

{

if(P3_4==0)//P3.4鍵被按下时执行时执行下面大括号的内容

for(b=0;b<3;b++)//LED1到LED8循环点亮3个循环

{

P1_0=0;//LED0亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_1=0;//LED1亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_2=0;//LED2亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_3=0;//LED3亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_4=0;//LED5亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_5=0;//LED6亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_6=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_7=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_7=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应延时

P1_6=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_5=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_4=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_3=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_2=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_1=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_0=1;

DelayMS(600);

}

//P3.4鍵未被按下时执行时执行下面大括号的内容

P1_0=0;//LED0亮

P1_2=0;//LED2亮

P1_4=0;//LED5亮

P1_6=0;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1=0xFF;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

}

8、用while语句实现,当按键P3.2按下(P3_2==0)时LED1到LED8循环点亮3次,未按下时LED1到LED8全亮全灭闪烁。

#include//包含头文件

#defineucharunsignedchar//定义用uchar代替unsignedchar

#defineuintunsignedint//定义用uint代替unsignedint

ucharb;

voidDelayMS(uintx)//延时程序

{

uchari;

while(x--)//决定延时时间参数

{for(i=0;i<120;i++);}

}

main()//主函数

{

b=0;

if(P3_2==0)//P3.2鍵被按下时执行时执行下面大括号的内容

{

while(b<3)

{

P1_0=0;//LED0亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_0=1;

P1_1=0;//LED1亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_1=1;

P1_2=0;//LED2亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_2=1;

P1_3=0;//LED3亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_3=1;

P1_4=0;//LED5亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_4=1;

P1_5=0;//LED6亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_5=1;

P1_6=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_6=1;

P1_7=0;//LED7亮

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

P1_7=1;

DelayMS(600);//调用延时函数,括号内的600要与uintx类型对应

b++;

}

}

//P3.2鍵未被按下时执行时执行下面大括号的内容

P1=0X00;

DelayMS(600);

P1=0XFF;

DelayMS(600);

}

9、用do……while循环语句实现当按键P3.2按下(P3_2==0)时LED1到LED8循环点8次亮,未按下时LED1到LED8全亮全灭闪烁。

#include//包含头文件

#defineucharunsignedchar//定义用uchar代替unsi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2