本文共 646 字,大约阅读时间需要 2 分钟。
1.led实验
#include "regx52.h"//导入头文件sbit p=P2^0;//P2^0表示i/0口,低电平有效void main(){ p=0;//使第一个led灯亮}
//位移方式使led产生流水效果(方法很多,定义一个数令其自增取反赋值给P2也可以)P2=0xfe; while(1){ delay(500); P2=(P2<<1)+0x1; if(P2==0xff){ P2=0xfe; } }
2.独立按键
//控制独立按键引脚:P3^0-3#include "regx52.h"sbit p=P3^0;//sbit led=P2^0;//led的控制i/o口//宏定义:typedef unsigned char u8;typedef unsigned int u16;//延时函数:void delay(u8 i){ while(i--);}//加入消抖的独立按键控制led:void keypress(){ if(p==0){ delay(600); if(p!=0){//注意这里,因为按下的时间很短,将抖动过滤后p此时已经转换状态了 led=~led; } }}//独立按键控制实现二进制加法:void add(){ if(p==0){ delay(600); if(p!=0){ if(s==0xff){ s=0x00; } s++; P2=~s; } }}void main(){ add();}
转载地址:http://kyozi.baihongyu.com/