51单片机嵌入式开发:STC89C52环境配置到点亮LED

STC89C52环境配置到点亮LED

  • 1 环境配置
    • 1.1 硬件环境
    • 1.2 编译环境
    • 1.3 烧录环境
  • 2 工程配置
    • 2.1 工程框架
    • 2.2 工程创建
    • 2.3 参数配置
  • 3 点亮一个LED
    • 3.1 原理图解读
    • 3.2 代码配置
    • 3.3 演示
  • 4 总结


1 环境配置

1.1 硬件环境

硬件环境采用“华晴电子”的MINIEL-89C开发板,这个板子是大学较为经典的51开发板硬件平台,作为单片机入门级应用来说是一个很好的学习板。
板子如图所示:
在这里插入图片描述

资源丰富,基础学习只此一个板子就够用,集成的开发模块主要有:
1、8 个高亮数码管显示(数字和字母显示)
2、16 个优质按键(2Pin)可配置成 4 个独立按键和 4*4 矩阵键盘(人机接口输入)
3、8 个高亮发光二极管(跑马灯、指示灯、红绿灯等)
4、标准的 RS232 通信接口(PC 通信)
5、一体化红外接收头(高灵敏度,可做红外遥控器解码)
6、遥控器用红外发射管(广发射角)可以模拟遥控器。
7、喇叭(报警以及音乐播放)
8、一路继电器输出(弱电控制强电,隔离控制)
9、EEPROM 24C02(数据存储)
10、8X8 单色点阵
11、DS18B20 接口(精密温度检测)
12、USB 口供电
13、加装优质电源开关
14、晶振采用拔插方式,可以使用于不同频率
15、DC 电机接口(直接接入小功率直流电机即可)
16、4 相步进电机接口(直接接入即可)
17、DS1302 实时时钟
18、经典双复位电路,支持 AVR
19、ISP 10Pin 下载线接口
20、PS2 键盘鼠标接口
21、标准 1602 液晶接口,独立对比度调节
22、标准 12864 液晶接口,独立对比度调节
23、外围供电,7805 稳压,最大电流 1A
24、4路AD模数转换输入
25、1路DA数模转换输出,LED指示

1.2 编译环境

编译环境采用资料包中的keil软件(Keil uVision2),安装过程按照安装说明安装即可。
安装说明:
版本号: 7.50a 安装过程
安装序列号:SN = K1DZP-5IUSH-A01UE
安装步骤如下:

  1. 记下安装序列号, 进入setup目录点击setup.exe进行安装;
  2. 选择Install Support…全新安装,以前没有安装过或者放弃以前的序列号安装;
    选择Update Current Installation升级安装,将可以保持原来的序列号,不必再次输入
  3. 选择Full安装,Next->Yes(接受版权信息)->选择安装目录->Next->输入序列号、姓名、公司
    等,除了序列号以外,都随意,可以如实输入你的姓名等。->next->
    …直到安装完成。
    一路确认直至安装完毕。
    注意:
    (1).每次安装都必须进行这几步,每次都需要重新写入AddOn标识;
    (2).假如安装过程中存在病毒防火墙,可能会产生xcopy错误使安装失败,此时请先
    关闭病毒防火墙,然后再安装;
    (3).安装前必须退出正在运行的Keil软件,否则也会产生xcopy错误使安装失败;
    (4).安装过程中可能会出现安装Secrity Key错误,点击确定即可。

1.3 烧录环境

烧录环境我们从官网下载最新的STCAI-ISP V6.94F 完整版烧录软件。并将Keil uVision2的STC芯片包安装,具体配置步骤如下:
1、 打开STCAI-ISP V6.94F
安装将芯片选择框选择如图所示,并点击如图中的配置框。
在这里插入图片描述

添加到Keil uVision2的安装目录下,如图所示,选择后点击确定即可。
在这里插入图片描述

2、 烧录测试
(1)使用方口-USB线连接板子和电脑(首先电脑应具有CH340串口驱动);
(2)打开串口STCAI-ISP下载工具,选择“芯片型号”和“串口”
在这里插入图片描述

(3)点击图中的打开程序文件,选择我们的测试程序。
在这里插入图片描述

(4)然后点击“编程”,板子打开供电(初始时,板子不供电,点击编程后再打开)。可以看到程序烧写成功,后续烧录过程不再演示。

在这里插入图片描述

2 工程配置

2.1 工程框架

首先创建一个文件夹“C51project20240701”,并在其文件夹下创建4个文件夹,用具存放不同的内容。
APP:用于存放用户代码h和c文件
Include:用于存放系统的h文件
Listing2:用于存放编译生成的文件
Objects:用于存放可执行文件

在这里插入图片描述

2.2 工程创建

(1)打开Keil uVision2软件,在C51project20240701文件夹下创建新工程,新工程名称我们任意取名,

在这里插入图片描述

(2)弹出窗口,我们选择STCMCU……。

在这里插入图片描述

(3)芯片选择我们开发板上使用的芯片型号,点击确认,后续的弹出窗继续点“是(Y)”即可创建成功。
在这里插入图片描述

2.3 参数配置

工程配置过程
(1)OUTPUT配置如图所示,并选择输出hex文件HEX-80。

在这里插入图片描述

(2)listing配置如图所示

在这里插入图片描述

(2)工程创建路径如图所示,指明.h文件的路径
在这里插入图片描述

以上配置完成后直接确认即可完成配置。

配置工程框架:

(1)将STARTUP.A51移动到include文件夹下。
(2)在App文件夹下新建一个main.C文件,并实现点亮LED。
(3)工程架构修改:
在这里插入图片描述

在这里插入图片描述

点击确认完成,至此,工程创建完成,后续再有实现功能的c和h文件,按照这种方式添加即可,后续测试编译成功。

在这里插入图片描述

3 点亮一个LED

3.1 原理图解读

根据原理图所示,其中8个指示灯对应板子位置如图所示,按照原理图的原理,当P10~P17引脚为低电平时,指示灯会亮起来,
所以设定以下实验题目,我们现在实现D0/D2/D4/D6指示灯亮起,D1/D3/D5/D7指示灯灭掉,并演示。

在这里插入图片描述

3.2 代码配置

/*-----------------------------------------------
  名称:IO口高低电平控制
  内容:现在实现D0/D2/D4/D6指示灯亮起,
				D1/D3/D5/D7指示灯灭掉,并演示
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{

	P1 = 0xFF;		//P1口全部为高电平,对应的LED灯全灭掉,ff换算成二进制是 1111 1111
	P1 = 0x00;		//P1口全部为低电平,对应的LED灯全亮起,ff换算成二进制是 0000 0000
	
	P1 = 0xAA;		//D0/D2/D4/D6指示灯亮起
					//D1/D3/D5/D7指示灯灭掉,AA换算成二进制是 1010 1010 
	while (1)		//主循环
	{
					//主循环中添加其他需要一直工作的程序
	}
}

3.3 演示

如图所示,指示灯点亮方式与实现题目一致,工程创建成功,代码演示成功。

……
……
……
……
……

在这里插入图片描述

4 总结

嵌入式领域开发过程,涉及的细节方面较多,尤其是一些环境配置编程细节与原理细节,遇到问题,一步步根据提示和现象去解决,重要的是掌握方法和解决问题的思路。
欢迎大家交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/762001.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第6天|Vision Transformer

文章目录 昇思MindSpore应用实践基于MindSpore的Vision Transformer1、Vision Transformer&#xff08;ViT&#xff09;简介网络结构 2、Attention模块Encoder部分用到的功能函数&#xff1a;整体构建ViT模型 3、模型训练4、模型验证 Reference 昇思MindSpore应用实践 本系列文…

Java web应用性能分析之【prometheus监控K8s指标说明】

常规k8s的监控指标 单独 1、集群维度 集群状态集群节点数节点状态&#xff08;正常、不可达、未知&#xff09;节点的资源使用率&#xff08;CPU、内存、IO等&#xff09; 2、应用维度 应用响应时间 应用的错误率 应用的请求量 3、系统和集群组件维度 API服务器状态控…

C++视觉开发 三.缺陷检测

一.距离变换 1.概念和功能 距离变换是一种图像处理技术&#xff0c;用于计算图像中每个像素到最近的零像素&#xff08;背景像素&#xff09;的距离。它常用于图像分割、形态学操作和形状分析等领域。它计算图像中每个像素到最近的零像素&#xff08;背景像素&#xff09;的距…

制造型企业生产管理的技巧,你都用过哪些?

作为管理者&#xff0c;一谈到生产管理&#xff0c;你可能会想到很多生产过程中的问题&#xff1a;订单准交率不高、计划达成率不高、生产效率低、再制品太多、生产周期长等等一系列问题&#xff1b;如果你不仅仅是一名管理者&#xff0c;你还是一名企业主&#xff0c;你甚至经…

安装Rabbitmq遇到的坑

&#xff01;&#xff01;&#xff01;一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后&#xff0c;如果在虚拟机的服务器上可以打开&#xff0c;在本地浏览器…

UI(四)布局

文章目录 10、Navigator——路由器组件11、Pannel——可滑动面板12、Refresh——刷新组件13、RelativeContainer——相对布局组件14、Scroll——可滚动容器15、SideBarContainer——侧边栏容器16、Stack——堆叠容器17、Swiper——滑动块视图容器18、Tabs和TabContent——页签和…

Nginx-2

一、高级配置 1.1网页状态页 基于nginx 模块 ngx_http_stub_status_module 实现&#xff0c;在编译安装nginx的时候需要添加编译参数 --with-http_stub_status_module&#xff0c;否则配置完成之后监测会是提示语法错误注意: 状态页显示的是整个服务器的状态,而非虚拟主机的状…

【SQL】已解决:SQL错误(208):对象名‘STRING_SPLIT‘无效

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;SQL错误&#xff08;208&#xff09;&#xff1a;对象名‘STRING_SPLIT‘无效 在使用SQL Server进行数据库操作时&#xff0c;遇到错误&#xff08;208&#xff…

反向沙箱技术:安全隔离上网

在信息化建设不断深化的今天&#xff0c;业务系统的安全性和稳定性成为各公司和相关部门关注的焦点。面对日益复杂的网络威胁&#xff0c;传统的安全防护手段已难以满足需求。深信达反向沙箱技术&#xff0c;以其独特的设计和强大的功能&#xff0c;成为保障政务系统信息安全的…

SpringBoot项目中获取IP地址

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 OkHttp 是一个由 Square 开发的高效、现代的 HTTP 客户端库&#xff0c;用于 Android 和 Java 应用程序。它支持 HTTP/2 和 SPDY 等现代网络协议&#xff0c;…

详解COB显示屏的技术特点

COB&#xff08;Chip on Board&#xff09;显示屏作为一种采用倒装COB封装技术的LED显示屏&#xff0c;在显示效果以及使用稳定性跟防护性方面&#xff0c;拥有更大优势&#xff0c;今天跟随COB显示屏厂家中品瑞科技一起来看看&#xff0c;COB显示屏的技术特点&#xff1a; 1、…

【前端vue3】TypeScrip-类型推论和类型别名

类型推论 TypeScript里&#xff0c;在有些没有明确指出类型的地方&#xff0c;类型推论会帮助提供类型。 例如&#xff1a; 变量xiaoc被推断类型为string 如重新给xiaoc赋值数字会报错 let xiaoc "xiaoc"xiaoc 1111111111111如没有给变量指定类型和赋值&#xf…

tcpdump命令详解及使用实例

1、抓所有网卡数据包&#xff0c;保存到指定路径 tcpdump -i any -w /oemdata/123.pcap&一、tcpdump简介 tcpdump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤&#xff0c;并提供and、or、not等逻辑语句来去掉无用的信…

内网服务器时间校正

新购买的云服务器发现内网机器和可以访问外网的机器时间慢了三分钟&#xff0c;导致有些访问会报错&#xff0c;那么我们配置一下ntp校正一下时间。外网配置起来比较简单&#xff0c;直接下载ntp执行校正命令即可。 比当前时间慢了三分钟 注意当前服务器是可以访问外网的机器这…

道可云AI智能体平台全新升级,加快培育发展新质生产力

数字化时代浪潮下&#xff0c;以人工智能为代表的新一代信息技术正在加速推动社会变革&#xff0c;给各行各业带来巨大发展机遇。在AI技术的加持下&#xff0c;“人工智能”成为时代发展趋势&#xff0c;也是加快培育和发展新质生产力的新动能。 为培育数字经济发展新动能&…

自定义vue3 hooks

文章目录 hooks目录结构demo hooks 当页面内有很多的功能&#xff0c;js代码太多&#xff0c;不好维护&#xff0c;可以每个功能都有写一个js或者ts&#xff0c;这样的话&#xff0c;代码易读&#xff0c;并且容易维护&#xff0c;组合式setup写法与此结合&#x1f44d;&#…

Java基础(判断和循环)

一、流程控制语句-顺序结构 顺序结构语句是Java程序默认的执行流程&#xff0c;按照代码的先后顺序&#xff0c;从上到下依次执行。 二、流程控制语句-分支结构&#xff08;分支结构包括if、switch) if语句&#xff1a;在程序中用来进行判断 1、If语句的第一种格式&#xf…

HTTP请求响应/与HTTPS区别

HTTP&#xff08;Hypertext Transfer Protocol&#xff09;和HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是用于在计算机网络上传输信息的两种协议。 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;: HTTP 是一种用于传输超文本的应用层协议…

谈谈创意设计中的AI、AGI、AIGC

在当今的数字化时代&#xff0c;创意设计领域正经历着前所未有的变革。随着人工智能&#xff08;AI&#xff09;、通用人工智能&#xff08;AGI&#xff09;以及人工智能生成内容&#xff08;AIGC&#xff09;的迅猛发展&#xff0c;设计师们的工作方式和创作手段都发生了深刻的…

网络基础-RIP协议

RIP&#xff08;Routing Information Protocol&#xff09;是一个基于距离矢量的动态路由协议&#xff0c;常用于小型到中型网络。RIP是较早的路由协议之一&#xff0c;具有简单易用的特点。以下是关于RIP协议的详细介绍&#xff1a; RIP的主要特点 ①使用跳数&#xff08;ho…