前言:本文主要围绕 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 文件即可。