在Proteus中完成一个简单的51程序设计和仿真

1、准备工作

1.1 安装Proteus

具体安装资源以及安装教程请自行在互联网中寻找资源,本篇文章只写使用步骤

2、在Proteus中绘制原理图

2.1 新建Proteus工程文件

  1. 点击图里任意一个红色箭头所指的地方
    在这里插入图片描述

  2. 点击1处修改工程名称,点击2处更改工程文件存放位置,然后点击下一步
    在这里插入图片描述

  3. 默认,点击下一步
    在这里插入图片描述

  4. 选择所选模板,创建PCB布版设计在这里插入图片描述

  5. 下一步在这里插入图片描述

  6. 下一步在这里插入图片描述

  7. 一直下一步到该界面,按序号设置51芯片在这里插入图片描述

  8. 到此完成Proteus工程的创建在这里插入图片描述

2.2 添加元件

(1)点击原理图绘制,进入如图所示界面在这里插入图片描述
(2)点击界面左边如图所示地方
在这里插入图片描述
在关键字处输入如图所示字符,选择共阴极7段数码管
在这里插入图片描述
元件添加完毕
在这里插入图片描述
重复以上步骤,添加电容、晶振、排阻等元件
在这里插入图片描述

2.3 摆放元件

(1)左击元件列表窗内的AT89C51芯片,然后在原理图编辑窗口内左击摆放。在这里插入图片描述
依次添加元件到原理编辑窗口,连线,最终连成如图所示
在这里插入图片描述

3、在keil 4中编写51程序

3.1 创建工程

点击New…………
在这里插入图片描述
输入工程名,保存
在这里插入图片描述
选择Atmel系列下的AT89C51芯片
在这里插入图片描述
在这里插入图片描述

3.2 编写程序

新建一个文件
在这里插入图片描述
在文本框内输入下列代码,按Ctrl+s保存,文件名命名为xxx.c文件(一定要加.c后缀保存为C语言文件)

#include<reg51.h>
main()
{
      unsigned int j;
	  unsigned int i;

    unsigned char code tab[16]=
    {
    0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 
    0x7d, 0x07, 0x7f , 0x6f, 0x77, 0x7c,0x39, 0x5e, 0x79, 0x71
	};
      while(1)
{
      for(i=0;i<=15;i++)
     {
            P0=tab[i];
            for(j=0;j<32000;j++);
    }
}
}

右键点击Source Group 1,左键点击Add Files to Group “Source Group 1”…
在这里插入图片描述
点击刚才保存的C语言文件,点击Add,然后点击Close
在这里插入图片描述
可见主程序已经在Source Group 1目录下了
在这里插入图片描述

3.3 生成.hex文件

(1)点击1处的Target Options,然后点击Output,勾选生成HEX File,4处是生成的HEX文件的文件名,然后点击OK保存设置
在这里插入图片描述
(2)点击Build进行编译,可以看到编译成功并生成了hex文件
在这里插入图片描述

4、在Proteus中进行仿真

(1)在Proteus原理图中双击C51芯片,在Program File中选择刚才生成的hex文件
在这里插入图片描述
(2)点击开始仿真
在这里插入图片描述
(3)仿真结果

在这里插入图片描述

5、总结

本文章介绍了如何使用Proteus创建工程并设计一个简单的51原理图、使用Keil软件编译Hex文件

  • 27
    点赞
  • 163
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
300个C51单片机设计proteus仿真源码软件源码: 100000秒以内的计时程序 10秒的秒表 12864LCD图形滚动演示 128X64LED 160128LCD图文演示 1602字符液晶滚动演示程序 1602液晶显示的DS1302实时时钟 16×16点阵(滚动显示) 16×16点阵2(滚动显示) 2io5键盘模拟音量数码管显示 2×20串行字符液晶演示 32x16汉字 44行列键盘 485全双工通信 4×4键盘矩阵控制条形LED显示 4个独立式按键控制LED开关 4个独立式按键控制LED移位 4只数码管滚动显示0~3 555可调PWM发生器 555的应用 6264扩展内存 6个16×16点阵 74HC154译码器应用 74HC595 74HC595串入并出芯片应用 74LS138译码器应用 74LS148扩展断 8051双机通信简例 8255并行口扩展实例 89C51PWM 8x8LED汉字显示 8x8点阵做的贪吃蛇游戏 8×8LED点阵屏显示数字 8只数码管同时显示不同字符 8只数码管显示多个不同字符 8只数码管滚动显示8~F 8只数码管滚动显示单个数字 8只数码管滚动显示数字串 8只数码管闪烁显示 8通道自动温度检测系统仿真(含原程序) ADC0808 PWM实验 ADC0809模数转换与显示 ADC0832模数转换与显示 AT89C51对直流电动机的驱动 AVR_Uart BCD译码数码管显示数字 c51 可预设电压的数控电源(功能强大) clock Conter CPU控制的独立式键盘扫描实验 da、ad。液晶,传递函数模型综合应用的实例 DIY51式数控电源 DS1621温度传感器实验 ds18b20 DS18B20温度传感器实验 DS18B20温度检测及其液晶显示 HorseLight I2C IIC-24C04与数码管 IIC-24C04与蜂鸣器 INT0与INT1断计数 INT0断3位计数 INT0及INT1断计数 INT0和INT1控制条形LED INT1断5位计数 IO并行口直接驱动单个数码管 K1-K4 分组控制LED K1-K4 控制LED移位 K1-K4 控制数码管加减演示 K1-K4 控制数码管移位显示 K1-K4 键状态显示 key_lcd ks0108 液晶12864 LCD频率计仿真 LED代码查询V1[1].1 LED模拟交通灯 LED闪烁 M16_AN_Compare M16_EEPROM M16_Horse MAX7221控制数码管动态显示 my16key_c NT0断控制LED NT0断计数 NumberDisplay P3口流水灯 PCF8574 PCF8583+LCD1602 PCF8591模数与数模转换实验 proteus ADDC的练习程序 PWM PWMLED PWM控制LED的亮度仿真程序 PWM控制马达的方法 PWM波输出(可调) PWM电机正反转 pwm程序实例 PWM调温 RAM扩展练习 sscom32串口调试 TIMER0与TIMER1控制条形LED TIMER0控制LED二进制计数 TIMER0控制单只LED闪烁 TIMER0控制四只LED滚动闪烁 TIMER0控制流水灯 ULN2803 usart_t 《lcd1602仿真实例》 一个数控直流稳压电源 一个步进电机的仿真 一步一步教你51_PC串口通信 万能逻辑电路实验 三机通讯 串口仿真mcu_pc 串口方式1 串行数据转换为并行数据 交通灯 从左到右的流水灯 光藕隔离驱动电机 内部函数intrins.h应用举例 净水控制器仿真电路 刚做好的十个字的led屏模拟有程序 包含单片机寄存器的头文件 单只按键控制单只数码管滚动显示 单只数码管循环显示0-9 单只数码管循环显示0~F 单片机与PC机串口通讯仿真 单片机之间双向通信 单片机向PC发送数据 单片机向主机发送字符串 单片机接收PC发出的数据 单片机控制的电动自行车驱动系统 单片机数据发送程序 发一个用定时器做的PWM 基于1602+ds12b80+ds1302+音乐+电子书+流水灯的多功能电子表 基于ADC0832的数字电压表 基于AT24C02的多机通信 基于AT89C51+MAX7219的频率计 附带proteus仿真电路图 实际硬件电路测试通过 基于DS1302的日历时钟 基于yjwpm测试过的DS18B20仿真实例 多功能电子钟 多点温度测量 多路开关状态指示 大屏幕仿真 子电路做的一个H型电机驱动电路 字符串函数string.h应用举例 字符函数ctype.h应用举例 宏定义应用举例 定时器断控制的独立式键盘扫描实验 定时器控制交通指示灯 定时器控制数码动态显示 定时器控制数码管动管显示 对I2C总线上挂接多个AT24C0

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值