- 学习单片机程序开发软件Keil uVision的使用方法
- 学习单片机IO口控制LED的方法
- 学习使用循环程序设置延时时间的方法
硬件:X86型兼容计算机,单片机开发板;软件:Keil uVision和烧录软件
- 设计程序控制LED逐个点亮并变换花色;
- 硬件方案:LED需用杜邦线连接到单片机任一IO口,为共阴极连接,故IO口输出低电平时LED点亮;
- 软件原理:使用循环程序控制LED点亮的时间;
- 要求:控制LED以循环方式点亮;

我们先用第一种方法实现--数组法。
- #include
- #define uchar unsigned char
- uchar tab[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- void delay()
- {
- uchar i,j;
- for(i=0;i<255;i++)
- for(j=0;j<255;j++);
- }
- void main()
- {
- uchar i;
- while(1)
- {
- for(i=0;i<8;i++)
- {
- P1=tab[i];//向p1口送出点亮数据的数组元素
- delay();
- }
- }
- }
下面我们用循环的方法去实现流水灯。
- #include
- #include
-
- #define uchar unsigned char
- #define uint unsigned int
- void delay(uint i)
- {
- uchar t;
- while(i--)
- {
- for(t=0;t<120;t++);
- }
- }
- void main()
- {
- P1=0xfe;
- while(1)
- {
- delay(500);
- P1=_crol_(P1,1);
- }
- }
接下来,我们用最后一种方法--移位去实现。
- #include
-
-
- void delay(unsigned int t)
- {
- unsigned i,j;
- for(i=0;i
- for(j=0;j<125;j++);
-
- }
- void main()
- {
- unsigned char i,temp;
-
- while(1)
- {
- temp=0xfe;
- for(i=0;i<8;i++)
- {P0=~temp;
- delay(500);
- temp=temp<<1;
- }
- }
- }
在这里,简单解释一下什么是头文件吧。
在代码中引用头文件,其实际意义就是将这个头文件中的全部内容放到引用 头文件的位置处,免去我们每次编写同类程序都要将头文件中的语句重复编写。 在代码中加入头文件有两种书写方法,分别为#include 和#include "reg52.h",包含头文件时都不需要在后面加分号。两种写法的区别如下:
①当使用<>包含头文件时,编译器先进入到软件安装文件夹处开始搜索这个 头文件,也就是 KEILC51/C51/INC 这个文件夹下,如果这个文件夹没有引用的头 文件,编译器将会报错。
②当使用""包含头文件时,编译器先进入到当前工程所在文件夹处开始搜索 该头文件,如果当前工程所在文件夹下没有该头文件,编译器将继续回到软件安 装文件夹处搜索这个头文件,若找不到该头文件,编译器将报错。