单片机芯片采用ATmel公司89c52芯片。
1.流水灯电路图
2.四位按键
3.C语言代码(简单的按键控制灯的明暗)
#include <reg52.h> sbit led1=P1^0; sbit led2=P1^1; sbit led3=P1^2; sbit led4=P1^3; sbit led5=P1^4; sbit led6=P1^5; sbit led7=P1^6; sbit led8=P1^7; sbit k1=P3^4; sbit k2=P3^5; sbit k3=P3^6; sbit k4=P3^7; void main() { P1=0xff; while(1) { led1=k1; led2=k1; /* if(k1==0) { led1=0; led2=0; } else { led1=1; le12=1; }*/ led3=k2; led4=k2; led5=k3; led6=k3; led7=k4; led8=k4; } }只有当按键按住超过一定时间,才亮灯,并且每次按键都反转指示灯的状态
#include <reg52.h> sbit led1=P1^0; sbit led2=P1^1; sbit led3=P1^2; sbit led4=P1^3; sbit led5=P1^4; sbit led6=P1^5; sbit led7=P1^6; sbit led8=P1^7; sbit k1=P3^4; sbit k2=P3^5; sbit k3=P3^6; sbit k4=P3^7; void delay(unsigned int xms) { unsigned int i,j; for(i=xms;i>0;i--) for(j=112;j>0;j--); } void main() { P1=0xff; while(1) { if(k1==0) delay(5000); //只有当按键按住时间到达5s,才点亮指示灯 if(k1==0) { while(k1==0); led1=~led1; } } }
简单的单片机程序,首先要了解电路的各个引脚的输出,其次对应库函数编写C语言代码。
