Proteus 51程序设计和仿真——流水灯

一、安装proteus

Proteus和C51网上的安装包和教程很多,过程也比较简单,这里就不再赘述。

二、51程序设计和仿真

1、绘制原理图

1)添加原件
(1)点击绘制原理图按钮

(2)左键单击元件,然后再点击P按钮,进入元件选择界面

(3)在Keywords处输入AT89C51,然后双击,即可添加到元件列表中。同上依次添加LED-YELLOW,RES

2)摆放元件
(1)点击AT89C51,然后在原理图编辑窗口内左击摆放。

(2)点击LED-YELLOW,再点击旋转按钮,然后依次摆放8个LED灯

(3)同(2),依次摆放8个电阻。双击10k,在弹出的修改框中将10k修改为300,使灯泡更亮

(4)拉一条主线。左击出现起点,移动鼠标后,左键双击出现终点

(5)连接管脚。起点和终点均左击

(6)点击终端接口,选择POWER,放置电源,然后左键双击电源图标,修改为VCC,再点击OK,然后用管脚连接

(7)使用 LBL 为支线标记编号,连接到主线的支线,需要对支线进行编号才能正常连接,使用方法:点击 LBL 后,再左键单击支线上,修改值

(8)原理图制作成功

2、编写51程序

1)创建工程
(1)打开Keil,点击Project,点击New uVision Project …

(2)给工程命名

(3)在搜索框内输入 AT89C51 ,再选中 AT89C51 芯片,然后点击 OK

(4)点击“是”

4)编写main.c文件
(1)点击左上角新建文件,再在文本框内复制粘贴51程序代码

//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)点击保存按钮,再命名为main.c文件,再点击保存。

(3)右键点击 Source Group 1 ,再点击 Add Existing Files to Group “Source Group 1”…

(4)选中刚刚创建的 main.c 文件,并点击 Add

3)生成.hex文件
(1)点击魔法棒,在弹出的窗口内选择 Output ,再勾选 Create HEX File ,然后点击 OK。

(2)点击编译按钮,进行编译,编译成功并生成了两个头文件

3、仿真

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

(2)点击调试按钮,开始仿真

(3)仿真结果

仿真结果

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章:AVR单片机C语言程序设计概述 1.1 AVR单片机简介 1.2 AVR Studio+WinAVR开发环境安装及应用 1.3 AVR-GCC程序设计基础 1.4 程序与数据内存访问 1.5 I/O端口编程 1.6 外设相关寄存器及应用 1.7 中断服务程序 1.8 GCC在AVR单片机应用系统开发中的优势 第二章:PROTEUS操作基础 2.1 PROTEUS操作界面简介 2.2 仿真电路原理图设计 2.3 元件选择 2.4 仿真运行 2.5 PROTEUS与AVR Studio的联合调试 2.6 PROTEUS在AVR单片机应用系统开发中的优势 第三章:基础程序设计 3.1 闪烁的LED 3.2 左右来回的流水灯 3.3 花样流水灯 3.4 LED模拟交通灯 3.5 单只数码管循环显示0~9 3.6 8只数码管滚动显示单个数字 3.7 8只数码管显示多个不同字符 3.8 K1~K4控制LED移位 3.9 数码管显示4×4键盘矩阵按键 3.10 数码管显示拨码开关编码 3.11 继电器控制照明设备 3.12 开关控制报警器 3.13 按键发音 3.14 INT0中断计数 3.15 INT0及INT1中断计数 3.16 TIMER0控制单只LED闪烁 3.17 TIMER0控制的流水灯 3.18 TIMER0控制数码管扫描显示 3.19 TIMER1控制交通指示灯 3.20 TIMER1与TIMER2控制十字路口秒计时显示屏 3.21 用工作于计数方式的T/C0实现100以内的按键计数 3.22 用定时器设计的门铃 3.23 报警器与旋转灯 3.24 100000秒以内的计时程序 3.25 用TIMER1输入捕获功能设计的频率计 3.26 用工作于异步模式的T/C2控制的可调式数码管电子钟 3.27 TIMER1定时器比较匹配中断控制音阶播放 3.28 用TIMER1输出比较功能调节频率输出 3.29 TIMER1控制的PWM脉宽调制器 3.30 数码管显示两路A/D转换结果 3.31 模拟比较器测试 3.32 EEPROM读写与数码管显示 3.33 Flash程序空间中的数据访问 3.34 单片机与PC机双向串口通讯仿真 3.35 看门狗应用 第四章:硬件应用 4.1 74HC138与74HC154译码器应用 4.2 74HC595串入并出芯片应用 4.3 用74LS148与74LS21扩展中断 4.4 62256扩展内存 4.5 用8255实现接口扩展 4.6 可编程接口芯片8155应用 4.7 可编程外围定时计数器8253应用 4.8 数码管BCD解码驱动器7447与4511应用 4.9 8×8LED点阵屏显示数字 4.10 8位数码管段位复用串行驱动芯片MAX6951应用 4.11串行共阴显示驱动器MAX7219与7221应用 4.12 16段数码管演示 4.13 16键解码芯片74C922应用 4.14 1602字符液晶测试程序 4.15 1602液晶显示DS1302实时时钟 4.16 1602液晶工作于四位模式实时显示当前时间 4.17 2×20串行字符液晶演示 4.18 LGM12864液晶显示程序 4.19 PG160128A液晶图文演示 4.21 TG126410液晶串行模式演示 4.21 用带SPI接口的MCP23S17扩展16位通用IO端口 4.22 用TWI接口控制MAX6953驱动4片5×7点阵显示器 4.23 用TWI接口控制MAX6955驱动16段数码管显示 4.24 用DAC0832生成多种波形 4.25 用带SPI接口的数模转换芯片MAX515调节LED亮度 4.26 正反转可控的直流电机 4.27正反转可控的步进电机 4.28 DS18B20温度传感器测试 4.29 SPI接口温度传感器TC72应用测试 4.30 SHT75温湿度传感器应用 4.31 用SPI接口读写AT25F1024 4.32 用TWI接口读写24C04 4.33 MPX4250压力传感器测试 4.34 MMC存储卡测试 4.35 红外遥控发射与解码仿真 第五章:综合设计 5.1 多首电子音乐的选播 5.2 电子琴仿真 5.3 普通电话机拨号键盘应用 5.4 手机键盘仿真 5.5 数码管模拟显示乘法口诀 5.6 用DS1302与数码管设计的可调电子钟 5.7 用DS1302与LGM12864设计的可调式中文电子日历 5.8 用PG12864LCD设计的指针式电子钟 5.9 高仿真数码管电子钟 5.10 1602LCD显示的秒表 5.11 用DS18B20与MAX6951驱动数码管设计的温度报警器 5.12 用1602LCD与DS18B20设计的温度报警器 5.13 温控电机在L298驱动下改变速度与方向运行 5.14 PG160128中文显示日期时间及带刻度显示当前温度 5.15 液晶屏曲线显示两路模数转换结果 5.16 用74LS595与74LS154设计的16×16点阵屏 5.17 用8255与74LS154设计的16×16点阵屏 5.18 8×8LED点阵屏仿电梯数字滚动显示 5.19 用内置EEPROM与1602液晶设计的MD5加密电子密码锁 5.20 12864LCD显示24C08保存的开机画面 5.21 12864LCD显示EPROM27C256保存的开机画面 5.22 IIC-AT24C1024×2硬字库应用 5.23 SPI-AT25F2048硬件字库应用 5.24 带液晶显示的红外遥控调速仿真 5.25 能接收串口信息的带中英文硬字库的80×16点阵显示屏 5.26 用AVR与1601LCD设计的计算器 5.27 电子秤仿真设计 5.28 模拟射击训练游戏 5.29 PC机通过485远程控制单片机 5.30 用IE访问AVR+RTL8019设计的以太网应用系统
### 回答1: 流水灯源程序文件是指用于控制流水灯运行的程序文件,一般采用C语言编写。该文件中包含了流水灯的控制逻辑和相关的函数定义。例如,可以定义一个函数来实现流水灯的移动效果,并调用相应的IO口控制LED灯的状态。 Proteus仿真文件是一种用于进行电路仿真的文件格式,用于模拟电路的功能和性能。在Proteus软件中,可以创建电路原理图并根据电路组件的参数进行仿真。对于流水灯来说,可以使用Proteus中的LED模块和计时器模块来模拟LED灯和流水灯的移动效果。仿真文件中会包含电路的连接关系、元器件的参数和相应的仿真设置。 通过将流水灯的源程序文件连接到Proteus仿真文件中,我们可以通过仿真来验证流水灯的运行效果。在仿真中可以模拟LED灯的亮灭状态和流水灯的移动效果,从而检查程序是否正常工作。此外,仿真还可以帮助我们优化算法和调试代码,减少实际硬件调试的时间和成本。 总之,流水灯源程序文件和Proteus仿真文件是协同工作的,源程序文件定义了流水灯的控制逻辑,而仿真文件则用于验证和调试这个逻辑。它们在流水灯的设计和开发过程中起到了非常重要的作用。 ### 回答2: 流水灯是一种常见的电子技术实验项目,它通过多个LED灯按照一定的顺序不断点亮和熄灭,形成灯流水般的效果。要实现流水灯,需要编写一段源程序文件,并进行仿真测试。 流水灯源程序文件是用来控制流水灯的实际代码。它通常是由C语言或者汇编语言编写而成的,通过对MCU(单片机)的GPIO(通用输入输出口)进行控制来逐个点亮和熄灭LED灯。在编写源程序文件时,需要确定流水灯的流动方向、速度以及使用的引脚,并按照相应的逻辑来设置GPIO的状态,从而实现流水灯的效果。 Proteus仿真软件是一种电子电路设计与仿真工具,它可以对电路原理图进行仿真和测试。在设计流水灯时,我们可以使用Proteus来模拟流水灯的运行情况,以确保源程序文件的正确性和流水灯的效果。我们可以在Proteus中绘制相应的电路原理图,将MCU和LED等元件连接起来,并加载流水灯源程序文件进行仿真。通过仿真,我们可以观察LED灯的点亮和熄灭情况,以及流水灯的流动效果是否符合预期。 综上所述,流水灯源程序文件和Proteus仿真文件在实现流水灯项目中起着重要的作用。源程序文件通过对MCU的GPIO进行控制来实现流水灯的点亮和熄灭,而Proteus仿真文件可以帮助我们验证流水灯的运行效果和源程序文件的正确性。同时,通过仿真,我们还可以进行调试和优化,以得到更好的流水灯效果。 ### 回答3: 流水灯源程序文件和proteus仿真文件是用于控制流水灯功能的两个文件。 流水灯源程序文件是以某种编程语言编写的程序文件,例如C/C++、Python等。在源程序文件中,主要包含了控制流水灯的相关代码逻辑和设备驱动函数。通过编写源程序文件,可以实现流水灯的闪烁、灭灯、变换等功能。源程序文件可以被编译生成可以在特定的硬件平台上运行的可执行文件。 而proteus仿真文件则是用于在电路仿真软件proteus中模拟流水灯的运行情况的文件。proteus是一种常用的电路仿真软件,它模拟了电路中各个元器件的特性和连接方式。通过创建proteus仿真文件,并在其中添加相应的元器件和连线,可以实现对流水灯的模拟运行。在proteus中,可以设置流水灯的输入信号、周期、亮度等参数,观察流水灯的亮灭情况,以及流水灯在不同情况下的波形和电压。 总结起来,流水灯源程序文件和proteus仿真文件是分别用于控制流水灯功能和模拟流水灯运行情况的文件。前者用于实际硬件的控制程序编写和运行,后者用于在电路仿真软件中模拟流水灯的工作过程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值