您的位置 首页 报告

51单片机学习笔记(二)_流水灯试验

流水灯实验电路图一、控制一/多灯亮灭汇编实现;注释LOOP:;SETBP1.1;(1)熄灭灯MOVP1,#0FFH;LCALLDELAY;(2)延时一段时间;C…

流水灯试验电路图

一、操控一/多灯亮灭

汇编完成

;注释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             ;子程序完毕标志

C言语完成

#include sbit led=P1^3;void Delay(){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<200;j++);}void main(){while(1){P1=0xfe;Delay(); Delay();Delay();Delay();led=0;Delay(); Delay();Delay();Delay();P1=0x00;Delay(); Delay();Delay();Delay();}}

开关操控单灯亮灭

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

流水灯一共乘法运算成果

#includevoid main(void){unsigned char s,m,n;m=64;n=71;s=m*n;  //s=4544=17*256+192  所以用P0一共17、P1一共192P0=s/256;P1=s%256;}

走马灯

#include void Delay(){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;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的流水方向#include  //包括单片机寄存器的头文件 sbit S1=P1^4;     //将S1位界说为P1.4sbit 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点亮 }      }


声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/263720.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部