51单片机Proteus仿真速成教程——P1-软件与配置+Proteus绘制51单片机最小系统+新建程序模版

devtools/2025/3/13 13:00:45/

前言:本文主要围绕 51 单片机最小系统的绘制及程序模板创建展开。首先介绍了使用 Proteus 绘制 51 单片机最小系统的详细步骤,包括软件安装获取途径、工程创建、器件添加(如单片机 AT89C51、晶振、电容、电阻、按键等)、外围电路(晶振电路、复位电路等)绘制、连线以及电源和地的设置,还说明了 EA 引脚和 P0 口上拉电阻的作用。接着阐述了在 Keil 中新建程序模板的过程,包含项目创建、单片机型号选择、新建 main.c 文件、编写程序框架、编译设置、生成 HEX 文件等操作,并介绍了将 HEX 文件加载到 Proteus 中运行的方法,最后给出了测试程序以判断程序是否正常运行,以及修改 HEX 文件名称的方式。

目录

一、Proteus绘制单片机>51单片机最小系统

二、新建程序模版


一、Proteus绘制单片机>51单片机最小系统

本教程需要安装proteus与keil 5软件,这个在网上有很多教程,可自行查阅安装,可关注我的微信公众号:阿齐Archie。回复关键字:单片机>51单片机Proteus与keil安装与配置,免费获取安装包及安装文档。

使用 Proteus绘制单片机>51单片机的最小系统。首先打开 Proteus,可通过点击新建工程或使用文件菜单中的新建工程选项

将工程名称修改为 “P1-单片机>51单片机最小系统”,路径暂设置在桌面,选择新工程后点击下一步。

使用默认模板创建原理图

因不需要 PCB,选择不创建 PCB

此处选择无固定项目,不建议选用后面两项

点击finish后完成操作。

此时画布空白,需手动添加器件。

先添加单片机 AT89C51,点击界面中的 “p” 进行搜索,在左上角关键字区域输入 “at89c51”,选择后点击确定。

此时鼠标变为笔的形状,在画布任意位置单击出现单片机外框,在合适位置再次单击完成放置。

接下来绘制最小系统的外围电路,其包含晶振电路、复位电路、EA 启动选择引脚设置以及 P0 口的上拉电阻。

绘制前说明一下网格密度设置,可通过 Ctrl+F1 设置更密,F2 设置为稍稀疏(个人偏好),默认 F3 为某一密度,F4 更稀疏。

开始绘制晶振电路,它由一个晶振和两个电容组成。

同样点击 “p”,若不清楚晶振英文,可网上搜索 “proteus 晶振”,按下 “p”,输入晶振关键字CRYSTAL,出现两个晶振选项。当出现两个相同器件时,单独选中查看右边模型是否符合需求,这两个晶振的符号及原理图仿真模型都一样,任选一个点击确定。

在画布点击鼠标,按快捷键进行旋转,旋转到合适角度后单击放置。

接着放置电容,若不知器件搜索关键词,可采用百度搜索的方法。电容英文为 “cap”,选择无极性电容,默认第一个即可

单击、旋转并放置后,双击电容将其值设置为 30pF。

单击选中电容,复制粘贴另一个相同的电容。

再看复位电路,由一个极性电容、一个电阻和一个按键组成。

先放置极性电容cap,有两个选项,个人偏好其中一种

放置后调整位置并将值设置为 10μF。注意极性,带弯的一端为负极,另一端为正极

接着放置按键,英文为 “button”,确定后旋转并放置。

然后放置电阻 “RES”,默认 10K 无需修改。

还有排阻 “respack”(“res” 代表电阻,“pack” 代表包,即电阻包),P0 口有 8 个引脚,需 8 个电阻,选择 “8 - 8” 的排阻确定放置。

完成器件放置后进行连线。

有简便方法,按下滑轮放大到合适位置,将两个器件尖端对准后点击确定并放置,按住拖动完成连线;

也可先连好第一根线,如从 39 连到 2,当 38 处出现红色方框时双击,可重复上一步划线操作。

完成上述操作后进行电源和地的设置

选择终端模式

“power” 是电源符号, “GND”(地)符号。

然后选择第一个选择模式,将相关器件连接起来,至此 51 单片机最小系统绘制完成。

其中 EA 是启动选择引脚,上拉接 VCC 表示从内部启动,接地则从外部存储器启动,51 单片机一般从内部启动,所以通常接 VCC 高电平。

P0 口需接一个上拉电阻,因为 P0 口没有内部上拉,不接外部上拉电阻无法正常输出高低电平。

点击运行,系统运行起来,但 message 信息处有黄色叹号,点击查看是 警告,提示未载入程序文件,将其关闭。下一课将进行程序模板创建。

二、新建程序模版

上节课通过 Proteus 绘制了一个单片机的最小系统,但该系统没有程序文件。

接下来创建程序文件,打开keil并选择 “project new” 新建

选择之前使用的文件夹后再新建一个名为 “P1-新建程序模版程” 的文件夹,双击文件名,简单选择 “project” 后保存。

先选择单片机型号,默认是ARM还有 STM,若安装了 MDK 则默认使用ARM系列,通过下拉菜单选择第二项,若默认就是该项则无需更改

在搜索设置里搜索 “AT89C51” 并选择该型号后点击 “OK”

接着点击否

之后进行新建操作,点击新建。

新建一个main.c文件,该文件路径是本工程路径

编写第一行 “include”,使用 51 函数时为 “REG51.h”,若为 52 则是 “REG52.h”

右键点击添加头文件

写如下框架,这样就形成了一个 51 单片机的程序模板。

对该程序模板进行编译,若出现 0 错误 0 警告则正常,若出现错误或警告,需检查各个单词拼写是否正确以及 “main函数” 是否正确添加。

若要让 Proteus 能够使用该程序,需点击魔法棒一样的图标,选择 “output”,选中 “创建 HEX 文件” 后确定,然后重新编译。

回到 Proteus,双击芯片,点击程序文件后面文件夹形状的图标,选择 “程序 obj project.hex” 后双击确定,再次运行,之前的警告应会消失。

为判断程序是否正常运行,编写测试程序,在前面添加 “P0 = 0X55”。正常运行时,P0 口应呈现高电平、低电平交替的状态。

每次修改程序后都要进行编译以确保无错误,然后点击运行,查看 P0 口状态,红色代表高电平,蓝色代表低电平,若呈现一个红、一个蓝交替的状态,从高位到低位为 “01010101”,正好对应 “0X55”,则说明程序运行正确。

若想修改 HEX 文件的名称,可在 “output” 里进行修改,例如将其修改为 “最小系统”,编译后双击芯片,重新选择修改后的 HEX 文件即可。


http://www.ppmy.cn/devtools/166774.html

相关文章

【蓝桥杯速成】| 1.暴力解题

1高频考点与暴力解题_哔哩哔哩_bilibili 感谢up主分享,以下内容是学习笔记,以c为主,部分python 题目一:维纳的年龄 题目内容 美国数学家维纳(N.Wiener)智力早熟, 11岁就上了大学。他曾在1935~1936年应邀来中国清华大…

反射、 Class类、JVM的类加载机制、Class的常用方法

DAY11.1 Java核心基础 反射 重点和难点,应用面很广 大部分库和框架都需要用到反射机制,它是动态语言的关键,但是概念抽象不好理解 反射:通过实例化类映射到类,从而获取类的信息 概括说就是:常规情况是…

scrcpy pc机远程 无线 控制android app 查看调试log

背景: 公司的安卓机,是那种大屏幕的连接usb外设的。不好挪动,占地方,不能直接连接pc机上的android stduio来调试。 所以从网上找了一个python adb.exe控制器,可以局域网内远程控制开发的app,并在android stduio上看…

2024年广州市智能网联汽车创新实践年度报告

政策法规方面,积极推进《广州市智能网联汽车创新发展条例》的制定和发布,不断完善法规标准体系,为产业创新发展营造良好政策环境;技术创新方面,企业加大研发投入,在自动驾驶算法、车联网安全等关键领域取得…

【架构艺术】Go语言微服务monorepo的代码架构设计

近期因为项目架构升级原因,笔者着手调研一些go项目monorepo的代码架构设计,目标是长期把既有微服务项目重要的部分都转移到monorepo上面,让代码更容易维护,协作开发更加方便。虽然经验不多,但既然有了初步的调研&#…

Webpack 深度解析:构建现代前端工程的基石

一、Webpack 的核心价值与演进 1.1 前端工程化的必然选择 根据 2024 年 JavaScript 现状调查报告,Webpack 以 76% 的使用率稳居构建工具榜首。其核心价值体现在: 模块化支持:处理 15 种模块规范(ESM/CJS/AMD 等)资源…

【数学建模】001

数学建模 方法论 层次分析法:确定评级价指标形成评价体系 1.评价的目标是什么 2.评价标准是什么 3.可选方案有哪些 以此来选择最优方案 “两两”比较发来确定指标重要性 可以画图列表,产生几个比较变量:产生一系列正互反矩阵,进而…

【Java 和 Scala】-- Java 与 Scala 的 Assert 断言对比

目录 Java 与 Scala 的 Assert 断言对比 1. 什么是 Assert(断言)? 2. 断言的使用场景 3. Java 断言示例 3.1 Java 断言的基本用法 3.2 Java 启用断言 4. Scala 断言示例 4.1 Scala 断言的基本用法 4.2 Scala 断言默认行为 5. Java 与…