目录
本文实现的仿真结果
一、仿真电路
1. 创建新工程:
主界面新建工程 → 命个名 → 原理图选 DEFAULT → 不创建PCB → 没有固件
2. 放置器件:
进入元件模式,搜索并添加电路所需元器件(常用元器件关键词见下文,本文用到的有:AT89C52、BUTTON、CAP、CRYSTAL、LED-RED、RES),VCC、GND等在终端模式中
进入元件模式(快捷键P)
进入终端模式
左键单击添加的元件,再在原理图上单击,出现元件示意图,再次单击放置元件,放置后右键元件可进行旋转等操作,双击数值可快速更改属性,元件就位后连接各端点
点灯电路:
晶振电路:
复位按键(并联电容以硬件消抖):
3. 烧录.hex:
右键单片机 → 编辑属性 → 在PromgramFile选中.hex文件 → 打开 → 确定
(.hex是keil编译后生成的文件,在keil工程中勾选生成.hex后一般在工程目录下的'Objects'文件夹内生成,下文含本文所用代码)
4. 点击界面左下角运行,执行仿真,仿真运行结果如下:
二、常用元器件关键词
器件 | 关键词 |
---|---|
51单片机 | AT89C52 |
按键 | BUTTON |
电阻 | RES |
排阻 | RESPACK(51常用 RESPACK-8 ) |
发光二极管 | LED(常用 LED-RED、LED-BLUE ) |
晶振 | CRYSTAL |
蜂鸣器(有源) | BUZZER |
蜂鸣器(无源) | SOUNDER |
数码管 | SEG |
6位数码管(共阳) | 7SEG-MPX6-CA-BLUE |
6位数码管(共阴) | 7SEG-MPX6-CC-BLUE |
电容(非极性) | CAP |
电容(极性) | CAP-POL |
三极管 | PNP、NPN |
开关(单刀单掷) | SW-SPST |
开关(单刀三掷) | SW-ROT-3 |
LCD屏(1602字符型液晶) | LM016L |
LCD屏 | LGM12641BS1R |
三、单片机程序
main.c代码:
#include <REGX52.H>
#include <INTRINS.H>
void Delay(unsigned int xms) //@12.000MHz 软件延时
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
void main()
{
while(1)
{
P2=0xFE; //1111 1110
// 此处也可对位寄存器直接操作:P2_0=0 (51上电引脚默认是高电平)
Delay(500);
P2=0xFF;
Delay(500);
}
}
注意:keil记得勾选生成hex文件!(点击魔术棒→ Output → Create HEX File)
四、proteus闪退解决方案
最直接有效的解决方案——重新安装proteus! 我安装的版本:proteus8.9
重装或安装过程推荐参考文章:
Proteus8.11的卸载与安装_proteus卸载-CSDN博客proteus8.11的卸载与安装_proteus卸载https://blog.csdn.net/vivigoahead/article/details/130200701?app_version=6.1.8&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22130200701%22%2C%22source%22%3A%22Zosea231%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app 如果因为之前安装时安装路径和程序路径选择不一致(下面以默认的两个路径为例),导致闪退,可以尝试复制" C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\ "中的文件夹MODELS,替换掉" C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\ "中的同名文件夹(ProgramData目录找不到可以直接粘贴路径打开),但是这样替换可能导致仿真报错,推荐直接重装!