下载Proteus并完成一个C51程序设计和仿真


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、下载安装Proteus8.9

Proteus简介

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。
——百度百科

百度网盘链接:
https://pan.baidu.com/s/1iN78tEvndN8RkTkXqXxZcw
提取码:1212

压缩包解压之后双击可执行程序无脑下一步即可,注意安装位置自己定,不推荐C盘。

二、搭建一个51单片机最小系统

1.创建工程

首先需要新建一个Proteus工程,进入页面后点击New Project
在这里插入图片描述

在弹出的框中,填写相关信息后,点击Next
在这里插入图片描述
选择默认模板DEFAULT(如果不需要创建原理图,可以勾选 Do not create a schematic),点击Next
在这里插入图片描述
创建PCB(如果不需要创建PCB,可以勾选Do not create a PCB layout),选择默认DEFALUT,点击Next
在这里插入图片描述
后面三个默认点击Next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

勾选 Create Fireware Project,选择芯片 AT89C51 后,点击 Next 。

在这里插入图片描述
点击Finish,工程创建完毕
在这里插入图片描述
创建工程完毕后会有三个窗口:源代码窗口、PCB窗口、原理图窗口。
源代码窗口:
在这里插入图片描述

PCB窗口:
在这里插入图片描述
原理图窗口:
在这里插入图片描述

2.界面功能介绍

下面就介绍一下原理图设计窗口界面的一些功能区域和各个工具的作用。
原理图设计界面,主要是包含预览窗口、方向工具栏、元件列表、模型选择工具栏、仿真测试按钮、原理图编辑窗口

在这里插入图片描述

四、51程序设计和仿真

1.绘制原理图

(1).添加元件

点击绘制原理图按钮
在这里插入图片描述
左键单击元件,然后再点击P按钮,进入元件选择界面
在这里插入图片描述
在 Keywords 处输入 AT89C51 ,然后在中间的窗口内双击AT89C51芯片,即可添加到元件列表中,而后依次添加LED-YELLOW、RES
在这里插入图片描述

(2)摆放元件

左击元件列表窗内的 AT89C51 芯片,然后再原理图编辑窗口内左击摆放。
在这里插入图片描述

左击元件列表内的 LED-YELLOW ,再点击 旋转按钮 ,可以在预览窗内看见元件顺时针旋转了下,再在原理图编辑框内一次摆放LED灯共8个。

在这里插入图片描述
再按照上面的步骤依次摆放8个电阻,然后左键双击“10K”,弹出修改值的对话框,将10K修改为300,以至于让LED更亮。
在这里插入图片描述

拉一条主线(左击一下起点,然后移动鼠标,然后双击一下终点,即可拉一条主线)
在这里插入图片描述
连接管脚(左击一下起点和左击一下终点即可连接)
在这里插入图片描述

点击终端接口→选择POWER,放置电源,然后左键双击电源图标,修改为VCC,再点击OK。

在这里插入图片描述

使用 LBL 为支线标记编号,连接到主线的支线,需要对支线进行编号才能正常连接,否则后面需要正常实验成功(使用方法:点击 LBL 后,在左键单击支线上,修改值)
在这里插入图片描述

这样,一个LED流水灯原理图就制作完成了。
在这里插入图片描述

2、编写51程序

(1)创建一个工程

打开 Keil 软件,点击 Project → New uVision Project
在这里插入图片描述
给工程命名(这里我取名为 LED ),在搜索框内输入 AT89C51 ,再选中 AT89C51 芯片,然后点击 OK 。
在这里插入图片描述
弹出的窗口点击是
在这里插入图片描述

(2)编写main.c文件

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

点击左上角新建文件,再在文本框内复制粘贴51程序代码。点击保存按钮,再命名为main.c文件(一定要加.c后缀,不然就不是C文件了),再点击保存。
在这里插入图片描述

右键点击 Source Group 1 ,再点击 Add Existing Files to Group “Source Group 1,选中刚刚创建的 main.c 文件,并点击 Add 。
在这里插入图片描述

可以看到main.c文件已经在Source Group1文件目录下了
在这里插入图片描述

(3)生成 .hex 文件

点击魔法棒,在弹出的界面中点击Output,再勾选Create HEX File,最后点击OK
在这里插入图片描述

点击编译按钮,进行编译,编译成功并生成了两个头文件(这一步不可忽略,否则无法生成 .hex 文件)
在这里插入图片描述

3.开始仿真

回到Proteus软件的原理图内,双击AT89C51芯片后,在弹出的窗口Program File一栏从刚才keil软件编译后的路径中添加.hex文件(在object文件中),再点击OK

在这里插入图片描述
点击调试按钮,开始仿真。
在这里插入图片描述
仿真结果:

仿真结果

五、总结

通过查阅资料,我学习到了如何使用Proteus创建工程、原理图界面的使用、设计一个简单的51原理图、使用Keil软件编译Hex文件,Proteus仿真软件使用起来十分方便,不过要更加熟练的掌握还需要上网查阅更多的资料。

六、参考资料

https://blog.csdn.net/weixin_43772810/article/details/121993865

https://blog.csdn.net/ssj925319/article/details/108929227

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Proteus单片机设计仿真51单片机220个Proteus仿真实例源码文件: 100000秒以内的计时程序.DSN 10秒的秒表 (2).DSN 10秒的秒表.DSN 12864LCD显示24C08保存的开机画面.DSN 12864LCD显示EPROM2764保存的开机画面.DSN 12864LCD显示计算器键盘按键实验.DSN 12864图形液晶滚动演示.DSN 160128LCD中文显示温度与时间.DSN 160128LCD图文演示.DSN 160128液晶中文显示ADC0832两路模数转换结果.DSN 160128液晶显示当前压力.DSN 160128液晶曲线显示ADC0832两路模数转换结果.DSN 1602LCD显示仿手机键盘按键字符.DSN 1602LCD显示电话拨号键盘按键实验.DSN 1602LCD显示的秒表.DSN 1602LCD随机模拟显示乘法口诀.DSN 1602字符液晶滚动演示程序.DSN 1602液晶显示DS1302实时时钟.DSN 16×16点阵屏-四块8x8并排的效果.DSN 24C04与数码管.DSN 2×20串行字符液晶演示.DSN 4×4键盘矩阵控制条形LED显示 (2).DSN 4×4键盘矩阵控制条形LED显示.DSN 555定时器实验.DSN 6264扩展内存.DSN 74HC154译码器应用.DSN 74HC595串入并出芯片应用.DSN 74LS138译码器应用.DSN 74LS148扩展中断.DSN 8×8LED点阵屏仿电梯数字滚动显示.DSN 8×8LED点阵屏显示数字.DSN 8只数码管显示多个不同字符.DSN 8只数码管滚动显示单个数字 (2).DSN 8只数码管滚动显示单个数字.DSN 8只数码管滚动显示数字串.DSN ADC0808 PWM实验.DSN ADC0809模数转换与显示.DSN ADC0832模数转换与显示.DSN BCD译码数码管显示数字.DSN DS1621温度传感器实验.DSN DS18B20温度传感器实验.DSN LED模拟交通灯 (2).DSN LED模拟交通灯.DSN MAX7221控制数码管动态显示.DSN PCF8591模数与数模转换实验.DSN T0控制LED实现二进制计数.DSN TIMER0与TIMER1控制条形LED.DSN TIMER0控制单只LED闪烁 (2).DSN TIMER0控制单只LED闪烁.DSN TIMER0控制四只LED滚动闪烁.DSN TIMER0控制流水灯 (2).DSN TIMER0控制流水灯.DSN tu1.DSN 串口发送数据到2片8×8点阵屏滚动显示.DSN 串行数据转换为并行数据.DSN 交通灯控制器.DSN 从左到右的流水灯 (2).DSN 从左到右的流水灯.DSN 光耦控制点亮和延时关闭照明设备.DSN 单只数码管循环显示0-9 (2).DSN 单只数码管循环显示0-9.DSN 单片机与PC机串口通讯仿真.DSN 单片机之间双向通信.DSN 单片机向主机发送字符串.DSN 单片机系统中自制硬件字库的应用.DSN 可以调控的走马灯.DSN 可演奏的电子琴.DSN 字符液晶显示的频率计.DSN 定时器控制交通指示灯.DSN 定时器控制数码管动态显示 (2).DSN 定时器控制数码管动态显示.DSN 左右来回的流水灯 (2).DSN 左右来回的流水灯.DSN 左右来回的流水灯.PWI 并行数据转换为串行数据.DSN 开关控制12864LCD串行模式显示.DSN 开关控制LED.DSN 开关控制报警器.DSN 报警器与旋转灯.DSN 按键发音.DSN 按键控制8×8LED点阵屏显示图形.DSN 按键控制定时器选播多段音乐.DSN 按键控制定时器选播多段音乐.PWI 按键选播电子音乐.DSN 按键选播电子音乐.PWI 播放一段音乐 (2).DSN 播放一段音乐.DSN 数码管显示4×4键盘矩阵按键 (2).DSN 数码管显示4×4键盘矩阵按键.DSN 数码管显示拨码开关编码.DSN 数码管显示的温控电机.DSN 数码管显示的频率计.DSN 数码管闪烁显示.DSN 数码管随机模拟显示乘法口诀.DSN 模拟射击游戏.DSN 正反转可控的步进电机.DSN 正反转可控的直流电机.DSN 温度控制直流电机转速.DSN 演奏一段音阶.DSN 用1602LCD与DS18B20设计的温度报警器.DSN 用1602LCD设计的可调式电子钟.DSN 用24C04与1602LCD设计电子密码锁.DSN 用74HC595与74LS154设计的16×16点阵屏.DSN 用8051与1601LCD设计的计算器.DSN 用8255与74LS154设计的16×16点阵屏.DSN 用8255实现接口扩展.DSN 用ADC0808设计的调温报警

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菲菲QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值