任务实施

更新于 2026年10月10日 版权声明
任务实施

一、任务分析

单片机P3.0连接一个独立控键,P1.0连接发光二极管。当按键按下时,单片机P3.0端口将会检测到一个低电平(0),可以用if语句进行判断,完成按键控制LED灯亮灭的目的。

二、程序设计

程序设计流程如图5-1-8所示。

图示

图5-1-8 程序流程图

参考程序:

#include<reg51.h>         //头文件,调用文件名为"reg51.h"的文件

#define uint unsigned int      //定义uint=unsigned int(无符号整型)

#deifne uchar unsigned char    //定义uchar=unsigned char(无符号字符型)

sbit led=P1^0;          //定义符号led为单片机的P1.0引脚

sbit key=P3^0; //定义符号key为单片机的P3.0引脚

/*延时函数*/

void delayms(uint x)      //当晶振为12 MHz时,延时xms

{         //当晶振为11.0592 MHz时,延时12x/11ms

图示

三、电路仿真(https://www.daowen.com)

1.绘制电路仿真图

打开Proteus软件,创建“独立按键控制LED亮灭”文件,放置元器件。所需元件见表5-1-1。绘制完成的电路图如图5-1-9所示。

表5-1-1 元件清单

图示

图示

图5-1-9 绘制电路图

2.编写程序

打开Keil软件,新建“独立按键控制LED”工程文件,新建“key.c”文件,编写程序并生成hex文件。编写完成的程序如图5-1-10所示。

图示

图5-1-10 编写程序

3.电路仿真

双击单片机,打开“Edit Component”对话框,加载“key.hex”文件。单击“仿真”按钮仿真电路,并观看仿真结果。仿真结果如图5-1-11所示。

仿真结果显示:当KEY按下时,发光二极管D1亮;当KEY松开时,发光二极管D1灭。

图示

仿真视频

图示

图5-1-11 仿真结果

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)