单片机原理及应用:Keil μVision4和Proteus 8的配置介绍

news2024/9/24 7:15:27

笔者所在的专业最近开设了单片机课程,对笔者而言,虽然之前有一定的代码基础。但还是第一次面对既要求代码架构又要求电路仿真的领域。为了巩固知识和增强记忆,特此创建了这个专栏,谨以一名非电专业初学者的身份记录和分享知识。

今天记录的内容是软件的安装,陆游有句话说得好“纸上得来终觉浅,绝知此事要躬行”,尽管我们也属于在纸上抄写代码的教条考核,但想学到真东西,还需要勤加练习。

课程选用的教材是张毅刚教授编纂的《单片机原理及应用——C51编程+Proteus仿真》,因此软件也是配套的Keil和Proteus,按照老师建议,C51属于比较古早的单片机,为了保证兼容性和稳定性,版本选用Keil μVision4和Proteus 8。

首先在这里放上keil4和proteus8的链接,供有需要的朋友取用。

链接:https://pan.baidu.com/s/1Axrk1JiHYQ7O3fd6_9Vzqg?pwd=mgcw 
提取码:mgcw

链接:https://pan.baidu.com/s/17nV2RXgWfDnt70-GOrXxoA?pwd=ydbw 
提取码:ydbw

具体的安装过程就不赘述了,在安装包里有相应的“readme”文件,大家按照步骤进行就可以了。另外如果你的电脑里没有C语言或C++的编译器的话,keil在安装的过程中还会为你安装VC++6.0。 

下面为大家介绍一下如何用Keil编写程序,以51单片机为例。

 

第一步点击功能栏中的“工程”选项,选择New μvision project新建工程,创建成功后会打开如下窗口,选择你需要的单片机型号。

我采用的是Atmel中的AT89C52,也是51单片机的升级版,书中也是以该型号单片机为例进行讲解的。

这里选择否,可以省下空间避免一些冗杂的附加文件。

点击左侧工具栏中的“目标1”,选中“源组”。

再点击左上角的新建文件,这一步是要创建C语言文件。

新建的文件叫做text1,点击保存按键将文件另存为.c后缀的c语言文件。

 

右键“源组”,选择添加文件到源组。 

找到我们刚才保存的文件。点击添加即可。

之后要注意两个按键,①可以修改单片机的一些属性和输出内容,②是重新编译所有文件,可以用这个功能运行代码。具体的使用方式会在后面的文章中介绍。下面来介绍Proteus8的配置。

安装好后可以看到Proteus8的界面如下所示。

我们可以新建工程,当然作为初学者,一般都是将老师下发的电路图直接拖入软件打开。Proteus7的文件格式为.DSN,而Proteus8的文件格式为.pdsprj,不过无须担心版本问题,Proteus8可以兼容DSN格式。

打开文件后选择左侧工具栏中的“元件模式”,点击按钮“P”,就能得到如下窗口。

 在左上角搜索需要的电路元件名称,屏幕中央就会出现一系列与之有关的元件,右侧则会出现该元件在电路中的图标,点击确定即可。

 

除了普通的电路元件外,我们可以在“终端模式”中找到电源、端口、地线等图标,至此就可以搭建一个完整的闭环电路。

在左下角有四个按键,分别是“运行”、“动态帧运行”、“暂停”和“停止”,一般来说只需要用到“运行”和“停止”。

今天的记录就到这里,后面会分享更多的单片机知识,谢谢大家。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软件工程】可执行文件和数据分离

一、概述 可执行文件和数据分离是一种软件设计策略,旨在将程序代码和程序使用的数据分离存储。这种方法通常用于提高软件的模块化程度和灵活性,以及方便软件的管理和维护。 在可执行文件和数据分离中,程序代码通常以可执行文件的形式存储&a…

.net6使用Sejil可视化日志

(关注博主后,在“粉丝专栏”,可免费阅读此文) 之前介绍了这篇.net 5使用LogDashboard_.net 5logdashboard rootpath-CSDN博客 这篇文章将会更加的简单,最终的效果都是可视化日志。 在程序非常庞大的时候&…

搬运机器人RFID传感器CNS-RFID-01|1S的RS485(MODBUS|HS协议)通讯连接方法

搬运机器人RFID传感器CNS-RFID-01|1S支持RS485通信,可支持RS485(MODBUS RTU)协议、RS485-HS协议,广泛应用于物流仓储,立库 AGV|无人叉车|搬送机器人等领域,常用定位、驻车等,本篇重点介绍CNS-RF…

智能优化算法应用:基于人工兔算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工兔算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工兔算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工兔算法4.实验参数设定5.算法结果6.参考文…

微信小程序列表点击Item回调

5 data-model 中的model可以定义任何字段 需要在event.currentTarget.dataset.model 中的model 对应即可 onClickItem(event:any) {const model event.currentTarget.dataset.model as ContactItem; // 获取传递的参数//const selectedItem this.data.contactItems[index]; …

AIOps在美团的探索与实践——事件管理篇

美团服务运维团队从事前防御、事中处理、事后运营多个阶段探索AIOps在事件管理领域的应用。本文介绍了在各个运维领域中AIOps的赋能场景,详细阐述了每一个运维场景的业务价值以及算法的具体的落地效果。 0 写在最前 1 背景 2 事件管理中AI能力总览 3 AIOps之事件…

网络安全保障领域

计算机与信息系统安全---最主要领域 云计算安全 IaaS、PasS、SaaS(裸机,装好软件的电脑,装好应用的电脑) 存在风险:开源工具、优先访问权、管理权限、数据处、数据隔离、数据恢复、调查支持、长期发展风险 云计算安全关键技术:可信…

案例分析:西门子智能工厂

西门子全球首家原生数字化工厂,以其独特的数字化技术,在虚拟世界中构建了工厂的数字孪生,从而实现了从需求分析、规划设计、施工实施到生产运营全过程的数字化。这一原生数字化工厂的创新之处在于,它开创性地运用了原生数字孪生理…

STM32 cubeMX 直流电机控制风扇转动

本文使用的是 HAL 库。 文章目录 前言一、直流电机介绍二、直流电机原理图三、直流电机控制方法四、STM32CubeMX 配置直流电机五、代码编写总结 前言 实验开发板:STM32F051K8。所需软件:keil5 , cubeMX 。实验目的:了解 直流电机…

iconfont拓展iview图标库

文章目录 前言1.如何下载图标?首先进入官网,找属于自己需求的图标,添加到购物车2.点击右上角的购物车,会来到此页面,点击下载代码3.下载完成后,是一个压缩包,文件内容如下4.在项目assets下新建一…

TCP协议工作原理及实战(一)

实战项目目标: ui搭建:clientconnect 客户端连接 clientdisconnect 客户端断开 socketreaddate 使用套接字传输数据 newconnection新的连接 获取本机的IP地址: 获取本机的ip地址可以参考前面的QT网络编程协议 将得到的ip地址放入combox中…

实现 Spring Boot 项目热重载,无需重启,省时省力

实现 Spring Boot 项目热重载,无需重启,省时省力 插件介绍 通过 JRebel 插件 实现 Spring Boot 项目热重载。类似于前端 Webpack 热重载功能 无需重启,省时省力 安装插件 打开 IDEA 在插件中搜索:JRebel 安装成功后重启IDEA …

[环境配置]win11关闭病毒和威胁防护防止乱删软件

选择桌面的开始图标,选择“设置”功能 点击隐私和安全性功能,进入“Windows安全中心” 点击开启Windows安全中心。 将实时保护和其他保护功能进行关闭就可以了。

【AI美图】第09期效果图,AI人工智能汽车+摩托车系列图集

期待中的未来AI汽车 欢迎来到未来的世界,一个充满创新和无限可能的世界,这里有你从未见过的科技奇迹——AI汽车。 想象一下,你站在十字路口,繁忙的交通信号灯在你的视线中闪烁,汽车如潮水般涌来,但是&…

【论文阅读笔记】SegVol: Universal and Interactive Volumetric Medical Image Segmentation

Du Y, Bai F, Huang T, et al. SegVol: Universal and Interactive Volumetric Medical Image Segmentation[J]. arXiv preprint arXiv:2311.13385, 2023.[代码开源] 【论文概述】 本文思路借鉴于自然图像分割领域的SAM,介绍了一种名为SegVol的先进医学图像分割模型…

Linux用户与文件权限学习

Linux是一个多用户操作系统,允许多个用户同时登录和使用系统资源,在Linux中,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。Linux的多用户管理也可以通过组的概念来…

Python | 使用VIF检测多重共线性

多重共线性是指多元回归模型中有两个或两个以上的自变量,它们之间具有高度的相关性。当某些特征高度相关时,我们可能很难区分它们对因变量的个体影响。多重共线性可以使用各种技术来检测,其中一种技术是方差膨胀因子(VIF&#xff…

Windows操作系统中:共享文件夹以及防火墙介绍

目录 一.共享文件夹 1.什么是共享文件夹 2.共享文件夹的优点以及不足 优点 不足之处 3.实际案例操作 共享介绍 普通共享 实例展示 高级共享 实例展示 二.防火墙 1.防火墙介绍 主要功能 2.防火墙常见的应用场景 3.实例操作 操作介绍 出现的问题 解决措施…

人工智能_机器学习074_SVM支持向量机_软间隔与优化目标函数构建_C参数由来_惩罚误差点的惩罚度---人工智能工作笔记0114

然后我们接着上一节再来看一下这里我们说有个 min_faces_per_person = 0 这个可以看到如果我们写上0,就意味着要加载所有的人脸图片,就会花费的时间久对吧 我们可以试试,这里我们 min_faces_per_person = 0 改成0然后 我们等一会加载完了以后,我们用 display(X.shape,faces.sh…

图灵日记之java奇妙历险记--输入输出方法数组

目录 输入输出输出到控制台从键盘输入使用 Scanner 读取字符串/整数/浮点数使用 Scanner 循环读取 猜数字方法方法定义方法调用的执行过程实参和形参的关系(重要)方法重载 数组数组的创建数组的初始化动态初始化静态初始化 数组的使用元素访问遍历数组 数组是引用类型null数组应…