一、实验目的、熟悉Proteus软件和Keil软件的使用方法。、熟悉单片机应用电路的设计方法。、掌握单片机并行I/O口的直接应用方法。、掌握单片机应用程序的设计和调试方法。二、设计要求1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口线上分别接LED0至LED7八个发光二极管,在P3.0口线上接蜂鸣器。2、编写程序:要求LED0至LED7以秒速率循环右移3、编写程序:要求LED0至LED7以秒速率循环左移4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警三、实验程序流程框图和程序清单延时程序流程框图实验程序流程框图初始化#FEA,#FFP1,设置循环次数为七次(A)P1,延迟.左移一位P3.0清零延迟再将P3.0置1NYfL设置循环次数为7次11延迟,(A)一P1,左移一位411P3.0清零・延迟・再将P3.0置1N1判断是否循环7次判断是否循环7次结束汇编程序:ORG0000HMOVA,#11111110BMOVP3,#0FFHMAIN:MOVRO,#07HLOOP1:LCALLDELAYMOVP3,ARLACLRP2.0LCALLDELAYSETBP2.0DJNZR0,LOOP1MOVR0,#07HLOOP2:LCALLDELAYMOVP3,ARRACLRP2.0LCALLDELAYSETBP2.0DJNZR0,LOOP2LJMPMAINDELAY:MOVR7,#17HDL1:MOVR6,#98HDL0:MOVR5,#46HDJNZR5,$DJNZR6,DL0DJNZR7,DL1RETENDC语言程序:#include
#includevintrins.h>unsignedchartemp;inti;voiddelay(void);sbitspeaker=P2A0;voidmain(){temp=0xfe;P3=temp;while(1){for(i=0;i<7;i++){temp=_crol_(temp,1);speaker=0;delay();speaker=1;delay();P3=temp;}for(i=0;i<7;i++){speaker=0;temp=_cror_(temp,1);delay();speaker=1;delay();P3=temp;}}}voiddelay(void){unsignedchara,b,c;for(c=167;c>0;c--)for(b=171;b>0;b--)for(a=16;a>0;a--);_nop_;}四:电路原理图LSIV;ATJU.1pa7/AQ7X0-虽71-B孑4-工■*£.—-2-3-45-6.^7-0:;I-M5.K-7J士C2PLI1MD0PQVADIPQ2ZAD2PDSTAD3PD.3D4PQ附EfiL£罠pz.a/jttPS.I^P3J/A10P2.3M1IP2.4/A12P25M13PgBM14P27MI5P1.DiPa.DfRMDP|,HPJ.IJTKDP1.2旳.打而师PI.3fs.S/IHtTP1.4P3.*1DPl.6P3.5JTIP1.6PJ.B耐PIJF37/RDR5T五:实验结果1.2.六、实验
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
通过本次实验,我复习了Proteus软件的使用方法,学习了更多的对KEIL的调试方法,对keil和Proteus的使用更加熟悉了,通过用Proteus软件画图,熟悉了单片机电路基本的设计方法,掌握了单片机并行I/O口的直接应用方法,对子程序的调用左移、右移指令可以灵活的运用,同时对keil产生的HEX型的文件的有了新的认识和应用七、思考题1编程实现LED0至LED7以十六进制计数规律亮灯?程序设计流程框图如下:开始初始化#FF・P1,#FF一A,1F—・(A)—P11PP3.0清零,P3.0置1,延迟.再将再延时A的内容自减1汇编实验程序:ORG0000HMAIN:MOVP3,#256MOVA,#0FFHLOOP:MOVP3,ACLRP2.0LCALLDELAYSETBP2.0LCALLDELAYDECALJMPLOOPDELAY:MOVR7,#17HDL1:MOVR6,#98HDL0:MOVR5,#46HDJNZR5,$DJNZR6,DL0DJNZR7,DL1RETENDC语言程序:#include#includeunsignedchartemp;inti;voiddelay(void);sbitspeaker=P3A1;voidmain(){P3=0X00;temp=0xFF;while(1){for(i=0;i<0XFF;i++){speaker=0x00;delay();speaker=0x01;P3=temp;temp=temp-1;}}}voiddelay(void){unsignedchara,b,c;for(c=167;c>0;c--)for(b=171;b>0;b--)for(a=16;a>0;a--);_nop_;}结果如下图所示:1.23.45.67.89.10.11.■112.单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善