实用标准文案精彩文档51单片机汇编语言及C语言经典实例实验及课程设计51单片机汇编语言及C语言经典实例实用标准文案精彩文档一、闪烁灯如图1所示为一简单单片机系统原理图:在P1
0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0
延时程序的设计方法,作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0
2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢
下面具体介绍其原理:如图4
1所示的石英晶体为12MHz,因此,1个机器周期为1微秒,机器周期微秒如图1所示,当P1
0端口输出高电平,即P1
0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1
0端口输出低电平,即P1
0=0时,发光二极管L1亮;我们可以使用SETBP1
0指令使P1
0端口输出高电平,使用CLRP1
0指令使P1
0端口输出低电平
C语言源程序#includesbitL1=P1^0;voiddelay02s(void)//延时0
2秒子程序{unsignedchari,j,k;for(i=20;i>0;i--)for(j=20;j>0;j--)for(k=248;k>0;k--);}voidmain(void){while(1){L1=0;delay02s();L1=1;delay02s();}汇编源程序ORG0START:CLRP1
0LCALLDELAYSETBP1
0LCALLDELAYLJMPSTARTDELAY:MOVR5,#20;延时子程序,延时0
2秒D1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND图2程序设计流程图图1单片机原理图实用标准文案精彩文档二、多路开关状态指示如