经过上一节我们对51单片机有了初步的认识,下面我们开始一些基本的编程来操作单片机。
一、点亮一个LED灯
#include "reg52.h"
sbit LED1 = p3^7; //引入单片机上灯的引脚
void main()
{
//给LED1一个低电平 使其亮灯
LED1 = 0;
}
二、 编程使LED灯闪烁
#include "reg52.h"
sbit LED1 = p3^7; //引入单片机上灯的引脚
//使用STC-ISP自带延时函数
void Delay100ms() //@11.0592MHz
{
unsigned char i, j, k;
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
//使用while循环 重复执行以下代码 实现灯闪烁的功能
while(1){
//给LED1一个高电平 使其灯灭
LED1 = 1;
//调用延时函数
Delay100ms();
//给LED1一个低电平 使其亮灯
LED1 = 0;
Delay100ms();
}
}
三、编程实现按键控制灯的亮灭
#include "reg52.h"
sbit LED1 = p3^7; //引入单片机上灯的引脚
sbit KEY1 = P2.1; //引入单片机上按键1的引脚
sbit KEY2 = P2.0; //引入单片机上按键2的引脚
//使用STC-ISP自带延时函数
void Delay100ms() //@11.0592MHz
{
unsigned char i, j, k;
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
//使用while循环 重复执行以下代码 实现按键控制灯的功能
while(1){
//使用条件判断语句来检测按键是否被按下
if(KEY1 == 0){
//调用延时函数 来防止按键非人为抖动导致误判
Delay100ms();
if(KEY1 == 0){
//给LED1一个低电平 使其亮灯
LED1 = 0;
}
}
//使用条件判断语句来检测按键是否被按下
if(KEY2 == 0){
//给LED1一个高电平 使其灯灭
LED1 = 1;
}
}
}