《单片机实验二程序.docx》由会员分享,可在线阅读,更多相关《单片机实验二程序.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机实验二程序三电路原理图一、实验目的1、熟悉Proteus软件和Keil软件的使用方法。2、熟悉单片机应用电路的设计方法。3、把握单片机并行I/O口的直接应用方法。4、把握单片机应用程序的设计和调试方法。二、设计要求1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口线上分别接LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。2、编写程序:要求LED0至LED7以秒速率循环右移。3、编写程序:要求LED0至LED7以秒速率循环左移。4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。四程序清单和流程图程序清单:一右移程序清单ORG0000HMOVA,#0111111
2、1BLOOP:MOVP1,ALCALLDELAYRRALJMPLOOPDELAY:;误差0usMOVR7,#0A7HDL1:MOVR6,#0ABHDL0:MOVR5,#10HDJNZR5,$DJNZR6,DL0DJNZRETENDR7,DL1NOP二左移ORG0000HMOVA,#11111110BLOOP:MOVP1,ALCALLDELAYRLALJMPLOOPDELAY:;误差0usMOVR7,#0A7HDL1:MOVR6,#0ABHDL0:MOVR5,#10HDJNZR5,$DJNZR6,DL0DJNZR7,DL1NOPRETEND三移位报警ORG0000HMOVA,#01111111B
3、LOOP:MOVP3,ASETBP1.0LCALLDELAYCLRP1.0LCALLDELAYRRALJMPLOOPDELAY:;误差0usMOVR7,#17HDL1:MOVR6,#98HDL0:MOVR5,#46HDJNZR5,$DJNZR6,DL0DJNZR7,DL1RETENDC语言:左右移#include#include#defineucharunsignedchar#defineuintunsignedintvoiddelay(void)/误差0usuchara,b,c;for(c=167;c0;c-)for(b=171;b0;b-)for(a=16;a0;a-);_nop_();/
4、ifKeil,requireuseintrins.hvoidmain(void)uchari,temp;while(1)temp=0xfe;for(i=0;idelay();temp=_cror_(temp,1);移位报警#include#include#defineucharunsignedchar#defineuintunsignedintsbitP10=P10;voiddelay(void)/误差0usuchara,b,c;for(c=167;c0;c-)for(b=171;b0;b-)for(a=16;a0;a-);_nop_();/ifKeil,requireuseintrins.h
5、voidmain(void)uchari,temp;while(1)temp=0xfe;for(i=0;iORG0000HMOVA,#00HLOOP:MOVP3,ALCALLDELAYINCALJMPLOOPDELAY:;误差0usMOVR7,#7FHDL1:MOVR6,#0EBHDL0:MOVR5,#20HDJNZR5,$DJNZR6,DL0DJNZR7,DL1NOPRETENDC语言:#include#include#defineucharunsignedchar#defineuintunsignedintvoiddelay(void)/误差0usunsignedchara,b,c;for(c=127;c0;c-)for(b=235;b0;b-)for(a=32;a0;a-);_nop_();/ifKeil,requireuseintrins.hvoidmain(void)uchari;uinttemp;while(1)temp=0x00;for(i=0; i