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

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

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

课程选用的教材是张毅刚教授编纂的《单片机原理及应用——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.mzph.cn/news/237880.shtml

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

相关文章

B/S医院手术麻醉临床管理系统源码 手术申请、手术安排

手术麻醉系统概述 手术室是医院各个科室工作交叉汇集的一个重要中心,在时间、空间、设备、药物、材料、人员调配的科学管理、高效运作、安全质控、绩效考核,都十分重要。手术麻醉管理系统(Operation Anesthesia Management System&#xff0…

CNAS中兴新支点——什么是软件压力测试?软件压力测试工具和流程

一、含义:软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,以及在高峰期或…

[架构之路-263]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 概要设计 - 综述、如何做概要设计、概要设计的内容

目录 一、概要设计综述 1.1 什么是概要设计 1.2 概要设计的目标 1.3 软件概要设计与软件架构设计的比较 1.4 软件概要设计、软件架构、软件详细设计比较 二、如何做好概要设计 2.1 概要设计的入手点 2.2 概要设计的步骤 2.3 进行概要设计的注意事项 三、软件概要设计…

Python异常捕获和处理方式

目录 一、引言 二、异常捕获和处理的基本方式 1、try-except语句块 2、raise语句 3、assert语句 三、高级异常捕获和处理技术 1、多个except块 2、finally块 3、使用多个try-except块 4、使用with语句 5、使用多个except块捕获同一种异常 四、总结 一、引言 在Pyt…

ES6 语法精粹简读

本文旨在记录 ES6 的核心常用语法,略去一些细节。 文章目录 1 var 函数作用域与 let/const 块作用域2 解构赋值数组结构赋值对象结构赋值3 ES6 中字符串的新语法模板字符串模板编译标签模板4 ES6 中的函数默认值rest 参数箭头函数this 指向问题部署管道机制尾调用优化

优化Go语言HTTP应用程序性能的技巧

Go语言具有强大的性能和高效的网络编程能力,因此在构建高性能的HTTP应用程序时,使用Go语言是一个不错的选择。以下是一些优化Go语言HTTP应用程序性能的技巧: 使用goroutine和channel Go语言的goroutine和channel是实现并发编程的重要特性。…

一阶马尔科夫过程

一阶马尔科夫过程 一阶马尔可夫过程是一个随机过程,它具有这样的特性:系统的下一个状态仅依赖于当前状态,而不依赖于之前的历史状态。这种性质被称为“无记忆性”或马尔可夫性质。在数学上,如果一个过程 { X n } \{X_n\} {Xn​}是…

将qt程序注册成服务

将qt程序注册成服务 1、qt服务模块管理下载 qt-solutions 2、QtService项目 2.1、将qtservice拷贝到项目代码路径 2.2、实现服务管理 PS&#xff1a;响应服务的启停 CustomService.h #include <QCoreApplication> #include "qtservice.h"class CustomSer…

HarmonyOS 应用事件打点开发指导

简介 传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志&#xff0c;难以识别其中的关键信息。因此&#xff0c;应用开发者需要一种数据打点机制&#xff0c;用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。 HiAppEvent 是在系统层面…

K 近邻算法(K-Nearest Neighbor),简称 KNN 算法 简介

K 近邻算法&#xff08;K-Nearest Neighbor&#xff09;&#xff0c;简称 KNN 算法 基于距离计算的方式来解决分类问题. 数学描述: 对于一个待测的样本点&#xff0c;我们去参考周围最近的已知样本点的分类&#xff0c;如果周围最近的 K 个样本点属于第一类&#xff0c;我们就…

Kafka集群架构原理(待完善)

kafka在zookeeper数据结构 controller选举 客户端同时往zookeeper写入, 第一个写入成功(临时节点), 成为leader, 当leader挂掉, 临时节点被移除, 监听机制监听下线,重新竞争leader, 客户端也能监听最新leader leader partition自平衡 leader不均匀时, 造成某个节点压力过大, …

SpringCloudGateway网关处拦截并修改请求

SpringCloudGateway网关处拦截并修改请求 需求背景 老系统没有引入Token的概念&#xff0c;之前的租户Id拼接在请求上&#xff0c;有的是以Get&#xff0c;Param传参形式&#xff1b;有的是以Post&#xff0c;Body传参的。需要在网关层拦截请求并进行请求修改后转发到对应服务。…

工业自动化的通信核心—钡铼技术R10A工业级路由器介绍

随着工业自动化的快速发展&#xff0c;工业通信技术也日新月异。在这个信息时代&#xff0c;工业通信设备的稳定性、可靠性和高效性变得尤为重要。作为工业自动化的核心部件之一&#xff0c;钡铼技术R10A工业级路由器以其出色的性能和卓越的功能在行业内赢得了广泛的赞誉。本文…

docker学习(十二、Redis主从容错迁移)

文章目录 一、容错切换迁移挂一个master节点6381&#xff0c;查看集群信息主节点挂一个&#xff0c;对应从节点切换为主节点&#xff0c;数据获取测试恢复挂的主节点&#xff0c;主从关系变化 二、小思考 docker搭建Redis集群相关知识&#xff1a; docker学习&#xff08;九、分…

C# SQLite基础工具类

目录 1、安装System.Data.SQLite工具包 2、创建数据库 3、数据库的连接与断开 4、执行一条SQL语句 5、批量执行sql语句 6、返回首行首列值 7、执行sql语句返回datatable 1、安装System.Data.SQLite工具包 2、创建数据库 /// <summary> /// 数据库路径 …

FAQ:Operator Overloading篇

文章目录 1、What’s the deal with operator overloading? &#xff08;运算符重载是怎么回事?&#xff09;2、What are the benefits of operator overloading?&#xff08;运算符重载有什么好处&#xff1f;&#xff09;3、What are some examples of operator overloadi…

Github2023-12-22开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2023-12-22统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4TypeScript项目2非开发语言项目2C项目1C项目1HTML项目1Dart项目1 Tailwind CSS&#xff1a;快速U…

main函数获取传入的参数

文章目录 代码获取到参数转整型 代码 #include <stdio.h> #include <stdlib.h> #include <getopt.h> #include <stdint.h>static uint8_t optstr[] "?:i:o:v:h:"; static struct option long_options[] {{"input", required_…

c# opencv 提取图片文字,如读取身份证号

在C#中使用OpenCV读取身份证号码并不是一个直接的任务&#xff0c;因为OpenCV主要是一个用于图像处理和计算机视觉的库&#xff0c;它并不直接支持文本识别功能。然而&#xff0c;你可以结合其他OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xf…

spark-thrift-server 报错 Wrong FS

文章目录 [toc]具体报错实际原因查看 hive 元数据修改 spark-thrift-server 配置修改 hive 元数据 具体报错 spark-thrift-server 执行删表语句&#xff0c;出现如下报错 Error: org.apache.hive.service.cli.HiveSQLException: Error running query: org.apache.spark.sql.Ana…