/********************************方法一******************************** * 描述 : 点亮P0口的多个LED灯 该程序是单片机学习中最简单最基础的, 通过程序了解如何控制端口的高低电平 LED1、LED3、LED5、LED7点亮。 LED2、LED4、LED6、LED8不亮。 您会看到LED美丽的光芒。 ***********************************************************************/ #include #define uchar unsigned char //这里用"uchar"代替"unsigned char","uchar"用来定义无符号字符型数。 #define uint unsigned int //"uint"用来定义无符号整型数。 sbit LED1 = P0^0; //用来声明P0.0口为程序所要控制的端口,"sbit"是KEIL专门用来声明某位IO口 sbit LED2 = P0^1; sbit LED3 = P0^2; sbit LED4 = P0^3; sbit LED5 = P0^4; sbit LED6 = P0^5; sbit LED7 = P0^6; sbit LED8 = P0^7; /******************************************************************** * 名称 : Main() * 功能 : 实现灯的闪烁 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void Main(void) { LED1 = 0; LED2 = 1; LED3 = 0; LED4 = 1; LED5 = 0; LED6 = 1; LED7 = 0; LED8 = 1; while(1) { } }
/****************************方法二************************************ * 文件名 : 闪烁灯.c * 描述 : 点亮P0口的多个LED灯 该程序是单片机学习中最简单最基础的, 通过程序了解如何控制端口的高低电平 通过对P1口和P2口的直接赋值,来点亮LED LED1、LED3、LED5、LED7点亮。 LED2、LED4、LED6、LED8不亮。 相比前面一个代码,这个代码显得简洁的多。 如果是多为IO进行控制,建议大家直接对P1--P3进行操作。 ***********************************************************************/ #include #define uchar unsigned char //这里用"uchar"代替"unsigned char","uchar"用来定义无符号字符型数。 #define uint unsigned int //"uint"用来定义无符号整型数。 /******************************************************************** * 名称 : Main() * 功能 : 实现灯的闪烁 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void Main(void) { P0 = 0xaa; //相当于二进制 0B 1010 1010 while(1) { } }