使用Proteus进行51程序设计和仿真

本文详细介绍了如何使用Proteus进行AT89C51的程序设计,包括绘制原理图(添加元件、摆放和连线)、编写main.c文件(含延迟函数)以及生成和加载.hex文件进行仿真,展示了LED流水灯的简单示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Proteus进行51程序设计和仿真

1. 绘制原理图

1) 添加元件

在keyword中搜索并添加添加AT89C51.LED-YELLOW,RES零件。
在这里插入图片描述

2) 摆放元件

(1)左击元件列表窗内的AT89C51芯片,然后在原理图编辑窗口内左击摆放。
在这里插入图片描述
(2)左击元件列表内的LED-YELLOW,再点击 旋转按钮 ,在原理图编辑框内摆放LED灯8个。
在这里插入图片描述
(3)再按照(2)的步骤依次摆放8个电阻,左键双击”10K“,弹出修改值的对话框,将10K修改为300,以至于让LED更亮。
在这里插入图片描述
(4)拉一条主线(左击一下起点,让后移动鼠标,然后双击一下终点,即可拉一条主线)
在这里插入图片描述
(5)连接管脚。(左击一下起点,左击一下终点即可连接)
在这里插入图片描述
(6)点击终端接口→选择POWER,放置电源,然后左键双击电源图标,修改为VCC,再点击OK。
在这里插入图片描述
(7)使用LBL为支线标记编号,连接到主线的支线,需要对支线进行编号才能正常连接。
在这里插入图片描述
(8)如此,LED流水灯原理图就制作完成。

2.编写51程序

1)创建一个工程

(1)打开Keil软件,点击Project>>New…
(2)在搜素框中输入AT89C51,再选中AT89C51芯片,然后点击OK。
在这里插入图片描述

2)编写main.c文件

(1)点击左上角新建文件,再在文本框内复制粘贴51程序代码。然后保存代码为.c后缀文件。

//51单片机编程常用的头文件
	#include <reg51.h>
	#include <intrins.h>
	//延迟函数
	void delay_ms(int a)
	{
		int i,j;
		for(i=0;i<a;i++)
		{
			for(j=0;j<1000;j++) _nop_();
	
		}
	}
	
	void main(void)
	{
		while(1)
		{
			P0=0xfe;
			delay_ms(50);
			P0=0xfd;
			delay_ms(50);
			P0=0xfb;
			delay_ms(50);
			P0=0xf7;
			delay_ms(50);
			P0=0xef;
			delay_ms(50);
			P0=0xdf;
			delay_ms(50);
			P0=0xbf;
			delay_ms(50);
			P0=0x7f;
			delay_ms(50);
		}
	}

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

3)生成.hex文件

(1)点击魔法棒,在弹出的窗口内选择 Output ,再勾选 Create HEX File ,然后点击 OK。
在这里插入图片描述
(2)点击编译按钮,进行编译,编译成功并生成了两个头文件。
在这里插入图片描述

3.开始仿真

(1)回到Proteus软件的原理图内,双击 AT89C51 芯片后,在弹出的窗口的 Program File 一栏从刚才 keil 软件编译后的路径中添加 .hex 文件,再点击 OK 。
在这里插入图片描述
(2)点击调试按钮开始仿真。
结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值