51单片机50个例程代码程序里有中断,串口等驱动,直接复制即可使用1-IO输出-点亮1个LED灯方法1/*-----------------------------------------------名称:IO口高低电平控制论坛:编写:shifang日期:2009.5修改:无内容:点亮P1口的一个LED灯该程序是单片机学习中最简单最基础的,通过程序了解如何控制端口的高低电平------------------------------------------------*/#includereg52.h//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义sbitLED=P1^0;//用sbit关键字定义LED到P1.0端口,//LED是自己任意定义且容易记忆的符号/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用bit位对单个端口赋值LED=1;//将P1.0口赋值1,对外输出高电平LED=0;//将P1.0口赋值0,对外输出低电平while(1)//主循环{//主循环中添加其他需要一直工作的程序}}2-IO输出-点亮1个LED灯方法2/*-----------------------------------------------名称:IO口高低电平控制论坛:编写:shifang日期:2009.5修改:无内容:点亮P1口的一个LED灯该程序是单片机学习中最简单最基础的,通过程序了解如何控制端口的高低电平------------------------------------------------*/#includereg52.h//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用1个字节对单个端口赋值P1=0xFF;//P1口全部为高电平,对应的LED灯全灭掉,//ff换算成二进制是11111111P1=0xfe;//P1口的最低位点亮,可以更改数值是其他的灯点亮//0xfe是16进制,0x开头表示16进制数,//fe换算成二进制是11111110while(1)//主循环{//主循环中添加其他需要一直工作的程序}}3-IO输出-点亮多个LED灯方法1/*-----------------------------------------------名称:IO口高低电平控制论坛:编写:shifang日期:2009.5修改:无内容:点亮P1口的多个LED灯该程序是单片机学习中最简单最基础的,通过程序了解如何控制端口的高低电平------------------------------------------------*/#includereg52.h//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义sbitLED0=P1^0;//用sbit关键字定义LED到P1.0端口,sbitLED1=P1^1;//LED是自己任意定义且容易记忆的符号sbitLED2=P1^2;sbitLED3=P1^3;sbitLED4=P1^4;sbitLED5=P1^5;sbitLED6=P1^6;sbitLED7=P1^7;/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用bit位对单个端口赋值LED0=0;//将P1.0口赋值0,对外输出低电平LED1=1;LED2=0;LED3=1;LED4=0;LED5=1;LED6=0;LED7=1;while(1)//主循环{//主循环中添加其他需要一直工作的程序}}4-IO输出-点亮多个LED灯方法2/*-----------------------------------------------名称:IO口高低电平控制论坛:编写:shifang日期:2009.5修改:无内容:点亮P1口的多个LED灯该程序是单片机学习中最简单最基础的,通过程序了解如何控制端口的高低电平------------------------------------------------*/#includereg52.h//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用bit位对单个端口赋值P1=0x55;//换成二进制是01010101while(1)//主循环{//主循环中添加其他需要一直工作的程序}}5-闪烁1个LED/*-----------------------------------------------名称:IO口高低电平控制论坛:编写:shifang日期:2009.5修改:无内容:点亮P1口的1个LED灯闪烁该程序是单片机学习中最简单最基础的,通过程序了解如何控制端口的高低电平------------------------------------------------*/#includereg52.h//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义sbitLED0=P1^0;//用sbit关键字定义LED到P1.0端口,//LED是自己任意定义且容易记忆的符号voidDelay(unsignedintt);//函数声明/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用bit位对单个端口赋值while(1)//主循环{LED0=0;//将P1.0口赋值0,对外输出低电平Delay(10000);//调用延时程序;更改延时数字可以更改延时长度;//用于改变闪烁频率LED0=1;//将P1.0口赋值1,对外输出高电平Delay(10000);//主循环中添加其他需要一直工作的程序}}/*------------------------------------------------延时函数,含有输入参数unsignedintt,无返回值unsignedint是定义无符号整形变量,其值的范围是0~65535------------------------------------------------*/voidDelay(unsignedintt){while(--t);}6-不同频率闪烁1个LED灯/*-----------------------------------------------名称:IO口高低电平控制论坛:编写:shifang日期:2009.5修改:无内容:点亮P1口的1个LED灯闪烁该程序是单片机学习中最简单最基础的,通过程序了解如何控制端口的高低电平------------------------------------------------*/#includereg52.h//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义sbitLED0=P1^0;//用sbit关键字定义LED到P1.0端口,//LED是自己任意定义且容易记忆的符号voidDelay(unsignedintt);//函数声明/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用bit位对单个端口赋值unsignedchari;//定义一个无符号字符型局部变量i取值范围0~255while(1)//主循环{for(i=0;i10;i++)//加入for循环,表明for循环大括号中的程序循环执行10次{LED0=0;//将P1.0口赋值0,对外输出低电平Delay(5000);//调用延时程序;更改延时数字可以更改延时长度;//用于改变闪烁频率LED0=1;//将P1.0口赋值1,对外输出高电平Delay(5000);}for(i=0;i10;i++){LED0=0;//将P1.0口赋值0,对外输出低电平Delay(60000);//调用延时程序;更改延时数字可以更改延时长度;//用于改变闪烁频率LED0=1;//将P1.0口赋值1,对外输出高电平Delay(60000);}//主循环中添加其他需要一直工作的程序}}/*------------------------------------------------延时函数,含有输入参数unsignedintt,无返回值unsignedint是定义无符号整形变量,其值的范围是0~65535------------------------------------------------*/voidDelay(unsignedintt){while(--t);}7-不同频率闪烁多个LED灯/*-----------------------------------------------名称:IO口高低电平控制论坛:编写:shifang日期:2009.5修改:无内容:点亮P1口的多个LED灯闪烁该程序是单片机学习中最简单最基础的,通过程序了解如何控制端口的高低电平------------------------------------------------*/#includereg52.h//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbitLED0=P1^0;//用sbit关键字定义LED到P1.0端口,LED是自己任意定义且容易记忆的符号sbitLED1=P1^1;sbitLED2=P1^2;sbitLED3=P1^3;sbitLED4=P1^4;sbitLED5=P1^5;sbitLED6=P1^6;sbitLED7=P1^7;voidDelay(unsignedintt);//函数声明/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用bit位对单个端口赋值unsignedchari;//定义一个无符号字符型局部变量i取值范围0~255while(1)//主循环{for(i=0;i10;i++)//加入for循环,表明for循环大括号中//的程序循环执行10次{LED0=0;//将P1.0口赋值0,对外输出低电平LED2=1;LED4=0;Delay(5000);//调用延时程序;更改延时数字可以更改延时长度;//用于改变闪烁频率LED0=1;//将P1.0口赋值1,对外输出高电平LED2=0;LED4=1;Delay(