资源描述:
《流水灯_交通灯_双机通讯单片机报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、单片机实验报告专业:自动化班级:11-01姓名:朱照飞学号:0-21-实验一流水灯实验一、实验目的1、简单I/O引脚的输出2、掌握软件延时编程方法3、简单按键输入捕获判断二、实验实现的功能1、开机是点亮12发光二极管,闪烁三下2、按照顺时针循环依次点亮发光二极管3、通过按键将发光二极管的显示改为顺逆时针方式。三、系统硬件设计四、系统软件设计#include#include#defineuintunsignedint#defineucharunsignedcharvoiddelayms(uint);ucharaa,bb,a
2、a1,bb1,k;sbitko1=P3^6;sbitko2=P3^7;sbitki1=P0^5;sbitki2=P0^6;sbitki3=P0^7;voidsanci(){uchard;while(d<=2){-21-P2=0x00;P3=0xc3;delayms(1000);P2=0xff;P3=0xff;delayms(1000);d++;}}voidkey1(){ko1=0;ko2=0;ki1=1;ki2=1;ki3=1;if(!ki1
3、
4、!ki2
5、
6、!ki3)k=0;elsek=1;while(!ki1
7、
8、!ki2
9、
10、!ki3);}voidmain()
11、{sanci();aa=0xfe;bb=0xfb;aa1=0x7f;bb1=0xdf;loop:loop1://按照顺时针循环依次点亮发光二极管P2=aa;delayms(500);aa=_crol_(aa,1);while(aa==0xfe){P2=0xff;P3=bb;delayms(500);bb=_crol_(bb,1);if(bb==0xbf){P3=0xff;P2=0xfe;-21-bb=0xfb;break;}}key1();if(k)gotoloop1;loop2://按照逆时针循环依次点亮发光二极管P2=aa1;delayms(500);aa
12、1=_cror_(aa1,1);while(aa1==0x7f){P2=0xff;P3=bb1;delayms(500);bb1=_cror_(bb1,1);if(bb1==0xfd){P3=0xff;bb1=0xdf;break;}}key1();if(k)gotoloop2;if(1)gotoloop;}voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}五、实验过程中遇到的问题及解决方法1主程序中没有用延时程序和死循环导致led不能点亮,请教同学以后才知道。2对于C语言的很
13、多东西都不知道,语句的用法也不清楚,重新看了C语言,用到什么看什么很快就懂了。-21-指导老师签字:日期:实验二定时器实验一、实验目的1)数码管动态显示技术2)定时器的应用3)按键功能定义二、实验实现的功能1)通过按键可以设定定时时间,启动定时器,定时时间到,让12个发光二极管闪烁,完成定时器功能。2)实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。上述二个功能至少完成一种功能三、系统硬件设计四、系统软件设计#include#defineucharunsignedchar#defineuintunsignedintsf
14、rP1M1=0x91;-21-sfrP1M0=0x92;tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9tab2[]={0xf7,0xfb,0xfd,0xfe};//4、3、2、1数码管分别有效,,低电平有效tab3[4]={0};uinta=0,h=0;intb=-1;voiddelayms(uintxms)//延时程序{uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voidflick(){uchard;while(d<=2){P2=
15、0x00;P3=0xc3;delayms(500);P2=0xff;P3=0xff;delayms(500);d++;}d=0;}//亮三次voiddisp(){charj;switch(j){case0:P0=tab2[j];j++;P1=tab1[tab3[0]];break;case1:P0=tab2[j];j++;P1=tab1[tab3[1]];break;case2:P0=tab2[j];j++;P1=tab1[tab3[2]];break;case3:P0=tab2[j];j=0;P1=tab1[tab3[3]];break;default:br
16、eak;-21-}}voidinter