打开Keil5->project->newproject.....保存.

接下来要选择我们所使用的单品机:

microchip->At89c52->是否都可以

之后与VS类似;第一个文件名称即为:main.c

从左到右依次为:编译,建立工程,所有文件重新建立;

右边小把手可以调节配置 ,文字大小和文字颜色之类的;

LED介绍:小头正,大头负,长脚正,短脚负.

VCC为+极,RP7和RP9为两个1K欧的电阻,作用为限流:防止电流过高损害器件;

单片机电平为TTL电平,高电平为5V(+),低电平为0V(-)

任务转变为:如何控制单片机接口输出高低电平

如何通过软件控制硬件简图:

程序编写:

头文件加入后无法打开如何解决:

第一步:解决 Keil 不识别 STC89C52RC 的问题(关键)

Keil MDK 默认没有 STC 系列单片机的器件库,所以直接选不到 STC89C52RC,我们可以用替代选型 + 兼容头文件的方式解决:

  1. 打开 Keil 工程,点击左侧工程栏的 Target 1,右键选择 Options for Target 'Target 1'(快捷键 Alt+F7)。
  2. 在弹出的窗口中切换到 Device 标签页:
    • 左侧厂商列表找到 Atmel 并展开;
    • 选择 8051 内核下的 AT89C52(和 STC89C52RC 内核完全兼容,功能一致);
    • 点击 OK 保存(如果弹出 “是否添加启动文件”,选 “是” 即可)。

第二步:配置头文件路径(针对 STC89C52RC)

STC89C52RC 常用的头文件是REG52.HREGX52.H是其扩展版,两者通用),确保 Keil 能找到这个文件:

  1. 再次打开 Options for Target 'Target 1'(Alt+F7),切换到 C/C++ 标签页;
  2. 找到 Include Paths(包含路径)这一栏,点击右侧的 ... 按钮;
  3. 在弹出的路径选择窗口中,点击 New(新建),然后选择 Keil 安装目录下的C51\INC文件夹(默认路径:C:\Keil_v5\C51\INC);
  4. 点击 OK 确认路径,再点击 OK 关闭配置窗口(路径会自动保存)。

第三步:验证头文件并重新编译

  1. 回到代码编辑区,确保你的代码开头是 #include <REG52.H>(或REGX52.H);
  2. 点击 Keil 工具栏的 Rebuild 按钮(图标是 “锤子 + 刷新”,快捷键 F7),重新编译整个工程;
  3. 编译完成后,右键点击代码中的REG52.H(或REGX52.H),此时 “Go to Headerfile” 就会变成可点击状态,能正常打开了。

补充:如果找不到 REGX52.H 文件

如果你的 Keil 里没有REGX52.H,可以直接用REG52.H(STC89C52RC 完全兼容),也可以手动下载REGX52.H

  • 下载后放到 C:\Keil_v5\C51\INC 文件夹里,再重复第二步的路径配置即可。

根据原理图决定是0还是1,再转换为16进制,如下为进制转换表:

进制转换:

下载单片机:(STC-ISP)

在这之前点击魔术棒->output->create,之后rebuild即可

下载头文件:

Win+R 输入 cmd 打开命令提示符,输入命令 mode 并回车,输出结果中会列出可用 COM 端口及参数,可快速确认是否有 COM3/COM4。

例如我的就是:

点击下载结束之后重启单片机,就会发现他会亮

为什么恢复供电会自动亮?

STC89C52RC 的 Flash 是非易失性存储,烧录的程序会永久保存在里面,不会因为断电消失。一上电,单片机就会从 Flash 中加载程序并从头执行,所以之前烧录的 P2=0xFE; 代码会再次运行,LED 就亮了。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐