仿真软件proteus点亮led实验

2023-05-16

    在这个实验之前,确保系统已经正确安装了proteus和keil工具。proteus是用来设计电路图的,keil是用来编写c语言代码并编译成芯片可用的hex程序的。

    前面安装keil的时候,最后提到,如果安装了keil,proteus,在进行仿真的时候,可以直接使用proteus。而不需要开启keil,然后使用什么联调,需要proteus开启远程调试,keil开启调试,这里面还需要额外下载一个VDM51.dll动态库文件,然后做配置,过于繁锁,而且还浪费了keil资源。

    这里的点亮led实验全部使用proteus软件完成。

    在proteus中新建项目:输入项目名称,选择保存路径。

    

    选择模板,选择第二个单选框,从模板创建,这个模板直接使用默认DEFAULT,这里是用来画设计图的。 

    这一步是选择PCB布局的,也是从模板创建,依旧选择默认DEFAULT类型。 

    这一步选择 “创建硬件项目”,英文版是:Create Firmware Project。Family选择8051,Controller选择80C51,编译器选择Keil for 8051,如果显示not configured,需要自己配置。

    这一步,如果没有Keil for 8051编译器,可以点击后面的Compilers按钮 ,配置系统安装的Keil编译器:

    有了这个选项,我们创建的工程,才能有源代码,而且是c语言的。

    接着可以切换视图到Schematic Capture,新手千万不要切换到了PCB Layout视图,否则会很奔溃。这里直接就有一个80C51的芯片,不用我们去设备库里面选择了。

     这个实验是要点亮led,我们还是需要选择其他元器件,发光二极管LED-RED, 220R电阻。在Schematic Capture视图下,我们在元器件Component模式下,选择设备,点击"P":    

    出现如下所示的弹出框:在关键字输入框,分别输入LED-RED,220R分别选择右侧的二极管和220欧姆电阻。最后点击页面下方“ok”结束选择元器件。

    接着就是画图,先选中设备框中的二极管或者电阻,然后在画图区域左键单击即可拖出元器件。

     我们还需要在Terminal Mode下选择“接地”(GROUND):

    接着就是电路连线,其实很简单,直接用鼠标连接你想要的连接的地方即可。 

    绘制的电路图如下所示:

    这个电路,二极管正极接单片机,负极连着一个电阻,最后接地,按照发光原理,需要单片机引脚P2.0给出高电平即可。

     源代码非常简单,几乎会让你感到失望:

#include <reg51.h>
#include <stdio.h>
sbit led = P2^0;
void main(void)
 { 
   while (1){
    led = 1;
   }
 }

仿真效果图:

    这个实验,还可以继续做下去,这里只是简单的点亮发光二极管,其实可以利用一个延时来让二极管闪烁。原理就是:开启高电平,延时1秒,开启低电平,延时1秒,不断循环往复,就可以看见二极管闪烁了。

    代码:

#include <reg51.h>
#include <stdio.h>
sbit led = P2^0;
void delay()
{
  unsigned int i,j;
  for(i=0;i<1000;i++)
  {
    for(j=0;j<110;j++);
  }
}
void main(void)
 { 
   while (1){
    led = 1;
    delay();
    led = 0;
    delay();
   }
 }

    仿真效果:

    也可以观察到,与前面直接点亮led不同的是,P2.0管脚一会是红色,表示高电平,一会是蓝色,表示低电平,这样就实现了led闪烁的效果。 

    这里电路图还有一种画法,就是电阻一端接电源,这样,二极管的方向需要旋转180度,二极管负极需要接上开发板,点亮程序自然需要修改,如果是闪烁,其实也可以不用修改。

     在所有的开发软件中,个人感觉这种仿真软件最好玩了,搭建电路,编写程序,最后仿真,可以直接看效果,真的很激动。

    值得注意的是,我开始在选择引脚接线的时候,直接接到P0管脚,后来发现死活点不亮二极管,仿真也不报错,后来发现接到P2管脚,立马就点亮了,而且在观察实验现象的时候,发现P0管脚根本没有任何变化,其他的P1,P2,P3都会显示红色,P2接二极管的管脚P2.0时不时还显示蓝色,从这里可以看出,P0管脚没有参与电平输出。所以接线的时候还是要注意一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仿真软件proteus点亮led实验 的相关文章

  • ArcGis导入经纬度坐标然后导出shp文件

    如题所示 xff0c 一般使用ArcGis制作shp文件 xff0c 需要数据 xff0c 这里直接利用经纬度坐标即可 1 获取经纬度数据 经纬度坐标从哪里获取 xff0c 这里推荐一个方法 xff1a 使用一个html页面 xff0c 配

随机推荐

  • win10安装ceres环境

    ceres是一个开源的c 43 43 库 xff0c 在windows上安装有点复杂 xff0c 它依赖其他三个库 Eigen gflags glog 好在这些依赖都可以通过源码安装 在windows上进行源码编译安装 xff0c 需要对应
  • 使用ceres库将经纬度坐标GCJ02到WGS84精确转换

    在之前的一篇博客中 xff0c 介绍了经纬度坐标系的关系 xff0c WGS84是世界大地坐标系 xff0c 属于原始坐标系 xff0c 在商用中 xff0c 需要通过火星加密算法将经纬度做转换 xff0c 转换之后的坐标 xff0c 称为
  • 百度地图api调用出现“APP Referer校验失败“错误

    如题所示 xff0c 在使用百度地图API的时候 xff0c 出现App Referer校验失败 这个是因为百度地图安全设置导致 xff0c 解决办法就是进入百度地图开放平台 xff0c 控制台下 xff0c 切换到 xff0c 应用管理
  • postgresql与postgis结合示例

    postgresql支持空间数据存储 postgis是postgresql的一个扩展 与postgresql配合使用 xff0c 需要对应的版本 如果是windows上安装 xff0c 可以参考这里选择对应的postgis版本 如果不安装p
  • vue3 语法糖获取axios返回值,vue3语法和vue2语法区别

    typescript怎么定义全局的函数 第一步 xff0c 双击打开HBuilderX编辑工具 xff0c 新建TypeScript文件并定义类Apple xff0c 定义三个变量a b c xff0c a是具体的数据类型 xff0c 而b
  • 蓝桥杯单片机开发板-数码管显示

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • postgresql导入shp地理文件并用uDig连接postgresql显示地图信息

    postgresql与postgis结合 xff0c 可以很好的支持空间数据库 shp文件可以通过postgis插件安装之后的工具 xff1a PostGIS Boundle 3 for PostgreSQL X64 9 6 Shapefi
  • 快速搭建springboot+mybatis+postgresql开发环境

    这里 xff0c 利用eclipse或者idea提供的springboot项目创建向导 xff0c 不用去找依赖 普通的eclipse需要安装spring插件 可以直接使用sts版本 全称是Spring Tools Suite 在eclip
  • mysql创建hash索引

    mysql支持的存储引擎与索引结构对照表如下 xff1a Storage Engine Permissible Index Types InnoDBBTREEMyISAMBTREEMEMORY HEAPHASH BTREENDBHASH B
  • docker搭建hbase环境

    hbase是hadoop生态中的一员 xff0c 最早搭建hbase xff0c 需要先安装hadoop xff0c 然后安装zookeeper xff0c 再安装hbase 现在通过docker可以直接安装hbase xff0c 而且容器
  • 使用c语言库asn1c对asn文件格式实现编解码

    针对asn文件编解码工作 xff0c asn1c这个开源工具对c c 43 43 的支持非常好 可以很方便的安装和使用 xff0c 目前这个工具是开源的 xff0c 最新版本是0 9 28 xff0c 项目地址 xff1a github c
  • ubuntu20.04版本安装gcc-4.8

    ubuntu20 04版本默认已经将gcc支持的版本更新到了gcc 9 xff0c 如果要降级gcc的版本 xff0c 需要设置新的源 xff0c 然后安装指定版本 xff0c 思路就是这样 可以看到如下这个图片 xff0c 4 8版本对应
  • WinRAR(去广告)中文繁体

    win10系统中 xff0c 如果没有winrar xff0c 可以使用本文提到的这个工具 xff0c 中文繁体 xff0c 不带广告 下载地址 xff1a tools 各种简单的工具 工具放在csdn xff0c 需要积分 xff0c 这
  • 单片机仿真软件proteus8安装与使用

    最近对Arduino 阿德伟诺 微控制器有点兴趣 xff0c 在学习的过程中 xff0c 如果我们没有机器 xff0c 其实可以通过仿真软件来模拟 xff0c 而proteus这个工具就非常适合单片机仿真 为此 xff0c proteus的
  • proteus电路仿真设计图中很多器件之间没有实线连线,它们是怎么实现的?

    如题所示 xff0c 在proteus电路仿真设计图中 xff0c 我们发现 xff0c 电子元器件之间 xff0c 很多时候并没有实线连接 xff0c 但是他们却可以工作 对于新手的我们 xff0c 可能觉着很奇怪 xff0c 独立的器件
  • 七段数码管显示原理研究

    在51单片机学习过程中 xff0c 相对基础的一个实验就是利用七段数码管依次显示数字0 9 很多时候 xff0c 我们按照要求 xff0c 搭建了电路 xff0c 编写了对应的显示控制程序 xff0c 最后运行 xff0c 可能对于七段数码
  • Cloudkitty – OpenStack计费服务

    https mp weixin qq com s biz 61 MzU0NDEyODkzMQ 61 61 amp mid 61 2247494964 amp idx 61 1 amp sn 61 259f86891d8e7bc07debd3
  • 51单片机c语言开发工具keil安装

    单片机分好几种 xff0c 常见的51单片机开发需要安装keil对应c51版本 xff0c 不能安装成了mdk版本 这个需要注意 目前 xff0c 比较好的工具 xff0c windows下自然是keil了 但是它是收费的 xff0c 只能
  • 仿真软件proteus构建LCD1602显示字符串实验

    LCD1602模块的显示需要注意几点 xff1a 1 显示两行 xff0c 第一行的起始地址是0x80 xff0c 第二行的地址是0x80 43 0x40 61 0xC0 2 RS RW EN接线没有说一定要接到P1 P2 P3上 xff0
  • 仿真软件proteus点亮led实验

    在这个实验之前 xff0c 确保系统已经正确安装了proteus和keil工具 proteus是用来设计电路图的 xff0c keil是用来编写c语言代码并编译成芯片可用的hex程序的 前面安装keil的时候 xff0c 最后提到 xff0