1、点亮一个LED
#include<> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
//此方法使用1个字节对单个端口赋值
P0 = 0xfe; //P0口的最低位点亮,可以更改数值是其他的灯点亮
//0xAA是16进制,0x开头表示16进制数,
//AA换算成二进制是 1010 1010
while (1); //主循环
}
2、点亮多个LED
#include<> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
sbit LED0=P0^0;// 用sbit 关键字定义 ,
sbit LED1=P0^1;//LED是自己任意定义且容易记忆的符号
sbit LED2=P0^2;
sbit LED3=P0^3;
sbit LED4=P0^4;
sbit LED5=P0^5;
sbit LED6=P0^6;
sbit LED7=P0^7;
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
//此方法使用bit位对单个端口赋值
LED0=0; // 0,对外输出低电平
LED1=1;
LED2=0;
LED3=1;
LED4=0;
LED5=1;
LED6=0;
LED7=1;
while (1); //主循环
}
3、花样灯
#include<> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/*------------------------------------------------
花样表格
------------------------------------------------*/
unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0xff,0xff,0x00,0x00,
0x55,0x55,0xaa,0xaa
};//rom允许情况可以无限添加
void Delay(unsigned int t); //函数声明
/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{
unsigned char i; //定义一个无符号字符型
//局部变量 i 取值范围 0~255
while(1)
{
P0=0xFE; //第1个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P0 <<=1;
}
P0=0x7F; //第8个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P0 >>=1;
}
P0=0xFE; //第1个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P0 <<=1;
P0 |=0x01;
}
P0=0x7F; //第8个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P0 >>=1;
P0 |=0x80;
}
//下面通过查表方法获得花样参数
for(i=0;i<16;i++)//查表可以简单的显示各种花样实用性更强
{
Delay(20000);
P0=seg[i];
}
}
}
/*------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------*
51单片机实例 来自淘豆网m.daumloan.com转载请标明出处.