本文作者:qiaoqingyi

编程if表达式(编程if函数)

qiaoqingyi 06-12 109

  流水灯实验电路图

  

  一、控制一/多灯亮灭

  汇编实现

  ;注释 LOOP: ;SETB P1.1 ;(1)熄灭灯 MOV P1,#0FFH; LCALL DELAY ;(2)延时一段时间 ;CLR P1.1 ;(3)点亮灯 MOV P1,#0FDH; LCALL DELAY ;(4)延时一段时间 AJMP LOOP ;(5)跳转到第一句LOOP处 ;以下子程序 DELAY: MOV R7,#250 ; D1: MOV R6,#250 ; D2: DJNZ R6,D2 ;R6=R6-1;IF(R6!=0) GOTO D2; DJNZ R7,D1 ; RET ;返回主程序 END ;子程序结束标志

编程if表达式(编程if函数)

  C语言实现

  #include reg52.h sbit led=P1^3; void Delay(){ unsigned char i,j; for(i=0;i250;i++) for(j=0;j200;j++); } void main(){ while(1){ P1=0xfe; Delay(); Delay();Delay();Delay(); led=0; Delay(); Delay();Delay();Delay(); P1=0x00; Delay(); Delay();Delay();Delay(); } } 开关控制单灯亮灭

  #include reg52.h sbit led=P1^3; void main(){ while(1){ if(P0^1==0){ //开关是否按下 led=0; }else{ led=1; } } }

  流水灯表示乘法运算结果

  #includereg52.h void main(void){ unsigned char s,m,n; m=64; n=71; s=m*n; //s=4544=17*256+192 所以用P0表示17、P1表示192 P0=s/256; P1=s%256; }

  走马灯

  #include reg52.h void Delay(){ unsigned char i,j; for(i=0;i250;i++) for(j=0;j250;j++); } void main(){ unsigned int i; i=0x01; while(1){ P1=i; Delay(); i=1; if(i==0x100) i=0x01; } } 摘自《单机片C语言编程100个实例》

  //实例19:用if语句控制P0口8位 LED的流水方向 #includereg51.h //包含 单片机寄存器的头文件 sbit S1=P1^4; //将S1位定义为P1.4 sbit S2=P1^5; //将S2位定义为P1.5 /* 函数功能:主函数 */ void main(void) { while(1) { if(S1==0) //如果按键S1按下 P0=0x0f; //P0口高四位LED点亮 if(S2==0) //如果按键S2按下 P0=0xf0; //P0口低四位LED点亮 } }

  原文链接:https://www.eeworld.com.cn/mcu/article_2016051726394.html

阅读
分享