基于proteus仿真的花样流水灯

合集下载

基于Proteus花样流水灯控制电路的设计与仿真

基于Proteus花样流水灯控制电路的设计与仿真

基于Proteus花样流水灯控制电路的设计与仿真作者:刘立军来源:《消费电子·理论版》2013年第02期摘要:在Proteus仿真软件与Keil编程软件的基础上设计了基于80C51单片机为控制核心的八位LED花样流水灯的控制电路。

整个电路的设计由硬件电路、软件编程与仿真等部分构成,其中软件程序的编写基于硬件电路的连接,最终通过硬件电路的仿真,验证了电路设计的正确性。

整个电路的设计过程,实现了将Proteus与Keil的完美结合,为单片机控制电路的设计提供了一种设计思想。

关键词:Proteus;LED;花样流水灯;控制电路中图分类号:TP369.2 文献标识码:A 文章编号:1674-7712 (2013) 04-0072-01当前随着信息化技术的突飞猛进,人们对电子智能化的要求越来越高,因而传统的利用单片机控制电路的设计流程得到了前所有未的挑战。

传统的电路设计流程需要经过电路原理图的设计、硬件电路的搭建、调试、功能验证、制版焊接等一系列流程,其过程复杂、开发周期长,效率较低。

本文采用了英国Labcenter公司开发的针对单片机仿真的Proteus软件来设计电路,大大的提高了电路设计的效率,降低了成本,缩短了开发周期[1,2]。

一、硬件电路设计本文是利用Proteus与Keil软件结合来实现电路设计与仿真的。

Proteus主要负责电路硬件的设计与搭建,而Keil软件主要是利用C语言对Proteus中的80C51单片机进行编程,实现相关的指令控制。

具体所设计的电路要求能够实现如下功能:(1)按下K1键,启动LED灯,LED灯依次点亮,先向下点亮,再向上点亮,循环往复;(2)按下K2键,所有LED灯熄灭;(3)在(1)的状态下,按下K3键,所有LED灯闪烁3次,然后熄灭;(4)在(1)的状态下,按下K4键,先单数LED向下流动点亮,再偶数LED灯向上流动点亮,循环往复。

本电路硬件结构由一片80C51单片机、八个LED灯、八个电阻、四个按键开关等组成。

实验3:花样流水灯实验

实验3:花样流水灯实验

实验三:花样流水灯实验一、实验目的1.熟悉LED的显示特点;2.了解单片机系统实现花样流水灯实验的硬件电路和软件编程技巧;3.熟悉基本汇编指令的灵活应用。

二、实验仪器、材料1.微型计算机(PⅣ以上)2.编程、汇编与模拟平台软件Keil uVision33.电子技术专业仿真软件protues运行平台4.单片机实训开发电路板三、实验内容和步骤1.2.//从左到右(或从右到左)流水循环显示实验ORG 0000HMOV A,#80H //MOV A,#01H ;从右到左LOOP:RL A //RR A ;从右到左MOV P1,AACALL DELAYSJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从两端到中间、从中间到两端显示实验ORG 0000HLOOP:MOV P1,#81HACALL DELAYMOV P1,#42HACALL DELAYMOV P1,#24HACALL DELAYMOV P1,#18HACALL DELAYMOV P1,#24HACALL DELAYMOV P1,#42HACALL DELAYSJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从左到右、从右到左流水显示实验1ORG 0000HMOV A,#80HMOV R0,#08HLOOP:RL AMOV P1,AACALL DELAYDJNZ R0,LOOPMOV R0,#07HLOOP1:RR AMOV P1,AACALL DELAYDJNZ R0,LOOP1MOV R0,#07HSJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从左到右、从右到左流水显示实验2ORG 0000HMOV A,#01HLOOP:RL AMOV P1,AACALL DELAYCJNE A,#80H,LOOPLOOP1:RR AMOV P1,AACALL DELAYCJNE A,#01H,LOOP1SJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从左到右、从右到左流水显示实验3ORG 0000HMOV A,#00HSETB CYLOOP:RLC AJC LOOP1MOV P1,AACALL DELAYSJMP LOOPLOOP1:RRC AJC LOOPMOV P1,AACALL DELAYSJMP LOOP1DELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//花样流水灯查表显示实验ORG 0000HSTART:MOV R0,#00HMOV P1,#00HLOOP:MOV A,R0ADD A,#0CHMOVC A,@A+PCCJNE A,#01H,XSH ;3SJMP START ;2XSH:MOV P1,A ;2ACALL DELAY ;2INC R0 ;1SJMP LOOP ;2ASCTAB:DB0FFH,00H,0FFH,00H,0FFH,00H,0FH,0F0H,0FH,0F0H,0FH,0F0H,0FH,0F0H,0CCH,55H,0AAH,55H,0AAH,55H,0AAH,55H DB81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H DB03H,06H,0CH,18H,30H,60H,0C0H,60H,30H,18H,0CH,06H,03H,06H,0CH,18H,30H,60H,0C0H,60H,30H,18H,0CH,06H,03H,0 1HDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:MOV R5,#02HDELAY3:DJNZ R5,DELAY3DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND。

流水灯实验报告

流水灯实验报告

流水灯实验报告单片机流水灯实验一、任务让8个LED灯轮流亮起来,实现流水灯的功能。

二、思路让接在P0.0口的LED灯亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED灯熄灭,就要把P0.0口的电平变为高电平就可以了。

要实现流水灯功能,只要将8个LED灯依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

我们应该注意一点,由于单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

三、步骤1、用proteus画电路图。

如下图:2、用keil建工程。

1) 运行keil C51软件,点击Project菜单新建项目,选择为AT89C52的单片机型号。

然后单击File选择New新建程序文件,保存成 .c 文件,右击Source Group1添加入程序文件。

2) 用C语言编写程序代码如下:#includevoid delay (unsigned char tmp);code unsigned char tmpled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void main(void) {unsigned char i; while (1) {for(i=0;i<8;i++) { P0=tmpled[i]; delay(50); } } }void delay(unsigned char tmp) {unsigned char i,j; i=tmp; while(i) { i--; j=255; { j--; } } }3) 右击Target 1打开设置,Output菜单下勾选上create hex file。

4) 调试运行程序后,在proteus中双击单片机,添加hex文件,运行看到流水的的效果。

四、实验中遇到的问题。

1、用proteus仿真时候,发现错误:error variable not found parsing property resistance of RN1-Rnvalue expected for RN1-R(n=1~8)而且led灯亮度十分微弱。

基于MSP430和Proteus的多模式花样流水灯设计

基于MSP430和Proteus的多模式花样流水灯设计

指令
注释
PxDIR
输入输出方向寄存器
PxIN
输入寄存器
PxOUT
输出寄存器
PxIE
中断使能寄存器
PxIES
中断触发沿选择寄存器
PxIFG
中断标志寄存器
PxSEL
功能选择寄存器
1.2 实现变量控制频率可变的跑马灯
这部分系统设计的想法建立在延时函数的调用次数参数 从定值设为变量 n,通过外部控制按键的中断,触发对 n 的函数 运算,从而改变流水灯闪烁周期,影响闪烁频率,关键在于对实 际基频和 1s 周期的计算与控制。
MSP430 端口设置寄存器表
2 总体设计方案与实现 2.1 软件设计总方案 从系统设计的整个过程来看,包括: “功能需求分析,功能 模块化,器件选择,电路设计,程序设计,仿真调试”。其中,仿 真调试需要多次进行,以确保系统的稳定性和正确性。 以 MSP430 为核心芯片,用 P1 和 P2 口分别作为中断端口与 I / O 口。首先仅对基础功能进行讨论,将功能分为两个子模块: 模块一由 P2 口主要完成,用于点亮正常的依次循环的流水灯; 模块二需要加上 P1 口,用于控制中断信号,转向第二种流水灯 模式。同时也负责检测按键的松开,并返回模块一的功能。 2.2 花样流水灯电路设计 对于 MSP4430 的电路设计,实际电路中需要用到对晶振电 路,Vcc 以及 GND 的设置。但由于 Proteus 中 MSP430 默认内部 时钟以及供电和地段是设置好的,所以在仿真界面不予显示。 如下图 1 所示,P1 口仅 P1.3 属于基本功能控制按钮,用于 为中断提供触发信号。
msp430端口设置寄存器表指令注释pxdir输入输出方向寄存器pxin输入寄存器px0ut输出寄存器pxie中断使能寄存器pxies中断触发沿选择寄存器pxifg中断标志寄存器pxsel功能选择寄存器12实现变量控制频率可变的跑马灯这部分系统设计的想法建立在延时函数的调用次数参数从定值设为变量n通过外部控制按键的中断触发对n的函数运算从而改变流水灯闪烁周期影响闪烁频率关键在于对实际基频和ls周期的计算与控制

基于Proteus和Keil的花样流水灯控制电路的设计与仿真

基于Proteus和Keil的花样流水灯控制电路的设计与仿真

科技资讯2017 NO.20SCIENCE & TECHNOLOGY INFORMATION55科技资讯 SCIENCE & TECHNOLOGY INFORMATION 动力与电气工程1 Proteus 与Keil μVision4简介英国Labcenter Electronics公司研发的Proteus软件,是一种模拟单片机外围器件的工具,包含ARES、ISIS等软件模块,是一种电路设计与仿真软件。

ARES模块的主要功能是进行PCB电路的设计,制作电路板,而ISIS模块的主要功能是在系统中进行电路原理图的绘制与仿真。

PROTEUS的软件仿真基于VSM技术,最大的优势是它能仿真大量的单片机芯片,如MCS-51、PIC系列等,以及单片机外围电路,如键盘、LED等。

美国Keil Software公司出品的Keil C51,是一种兼容汇编和C语言的软件开发系统,是基于Windows的开发界面,界面友好,内涵非常多的库函数以及调试工具,功能强大,易学易用。

Keil μVision4通过一个集成开发环境将包括C/C++编译器、宏汇编、连接/定位器和HEX文件生成器等一套完整的开发设计方案组合在一起的应用软件。

Keil软件的运行要求在WIN98、NT、WIN2000、WINXP、WIN7等操作系统的环境下。

2 系统设计2.1 任务目标用AT89C51单片机的P1口控制8个LED灯,使其先从上到下D1到D8依次点亮,循环2次,然后从下到上D8到D1依次点亮,循环2次,接着8等全部点亮、全部熄灭,变化时间间隔为0.2s,这样完成一次完整的循环,再重新第二次循环,并用Proteus软件和Keil软件仿真,进行联机调试。

2.2 硬件电路设计该文是利用Proteus与Keil软件结合来实现电路设计与仿真的。

Proteus主要负责电路硬件的设计与搭建,而Keil软件主要是①作者简介:郑丽敏(1983—),女,河南焦作人,硕士研究生,讲师,研究方向:电子通信、高等职业教育。

实验一 软件仿真工具应用及流水灯程序设计

实验一 软件仿真工具应用及流水灯程序设计

实验一软件仿真工具应用及流水灯程序设计一、实验目的熟悉并掌握μVision4.0仿真软件以及proteus的基本使用方法,并据已知电路和设计要求编写、编译、仿真运行程序。

二、实验内容1、熟悉掌握软件仿真工具的基本使用方法(包括仿真平台的设置、源代码输入、编译和调试方法)以及proteus的基本使用方法;2、用汇编语言设计流水灯程序,采用软件延时的方法,灯闪烁1s左右。

3、改变8个LED显示方式,让其反复显示00-29的BCD码(读表方式),每次显示2s左右。

三、实验原理单片机芯片:LED灯电路部分如图所示:8个LED发光二极管阳极的接法相同,都经过排阻后连接在一起,为公共端,接电源。

阴极连接到单片机的P2接口,那么8个LED发光二极管变化只随P2接口状态变化而变化,给P2接口不同数据,显示8个LED发光二极管的不同状态。

四、实验方法与步骤实验方法:在μVision4.0软件仿真平台、针对电路图设计实验要求的程序,编译运行程序,并在proteus平台检验、比照试验结果。

实验步骤:μVision4.0仿真软件的使用:1、按照电路图上的MCU芯片设置μVision4.0平台。

操作是点击Keil uVision4,单击主菜单的“project”的“new project”选项,选择工程保存路径(假设保存在“LED”文件夹中),输入工程名“LED”;在弹出的对话框里选择Atmel的80C51,单击“确定”;2、单击主菜单的“File”的“New”选项,在编辑窗口里编写源代码,代码见附录1。

编写结束后,单击单击主菜单的“File”的“Save”选项,输入要保存的文件名,以及扩展名(用C51语言编写则扩展名为“.c”,用汇编语言扩展名为.asm,这里保存为led.asm);3、回到编辑界面,单击“Target1”前面的“+”号,在“Source Group1”选项上右击,选择“Add Files to Group’ Source Group1”,选择“led.c”,单击“Add”,然后单击“Close”;4、单击左边“Project”窗口的“Target1”,然后选择菜单“Project /Option for Target ’Target1’,选择“Output”,勾选”Creat HEX File”,点击“确定”;5、编译连接与调试。

[附]单片机Proteus仿真-流水灯

[附]单片机Proteus仿真-流水灯
2.3 编译源代码生成目标代码
1)编译器设置 单击菜单【Source】(源代码)→【Define Code Generation Tools】,设置结果如图
2)编译源程序,生成目标代码文件 单击菜单【Source】(源
代码)→【Bulid All】(编译全部)。如果出现错误则修改;无
错误则生成目标代码“.HEX”文件。
基于PROTEUS的单片机仿真
嵌入式系统与接口技术
北京理工大学光电学院 2018-9-10
1
基于PROTEUS的单片机仿真
基于PROTEUS的单片机仿真
循环点亮发光二极管程序仿真
说明:要点亮一个发光二极 管,必须在其两端加上足够 的电压,一般为5V,而且二 极管必须要正向接法,同时 还要加上限流电阻。 【例】用51系列单片机的I/O 口点亮发光二极管。
3.1 添加目标代码到电路 2)选择要添加的目标代码文件,单击“打开”按钮,目标代码 就添加到了电路中。
最后按 “确定”
22
基于PROTEUS的单片机仿真
3 单片机电路的仿真与调试
3.2 电路调试
全速启动仿真
23
基于PROTEUS的单片机仿真
3 单片机电路的仿真与调试
3.2 电路调试
Led灯点亮 24
由上图可知,若要使灯点亮,
根据发光二极管点亮条件,只
要P2.0引脚输出为低电平即可,
即P2.0=0。
2
基于PROTEUS的单片机仿真
1 单片机电路的建立
1.1 51系列单片机应用电路图(流水灯)
3
基于PROTEUS的单片机仿真
1 单片机电路的建立
1.2 元器件的选取
在桌面上选择【开始】→【程序】→“Proteus 7 Professional”,单击蓝色图标“ISIS 7 Professional” 打开应用程序。ISIS Professional的编辑界面如图

用Proteus仿真软件完成流水灯的教学设计

用Proteus仿真软件完成流水灯的教学设计

用Proteus仿真软件完成流水灯的教学设计作者:闫红蕾来源:《知识文库》2018年第23期目前单片机在教学过程中,面临实验室经费紧张、课时有限的困难。

为了让学生增加就业机会,在教学中必须尽可能地为学生提供更多更好的单片机实践机会。

本文借助Proteus强大的仿真能力以及丰富的资源库,可以有效地替代硬件仿真器进行先期的软硬件调试,使开发过程变得高效。

我们在教学中,选取非常容易理解的程序,从实际入手,引人入胜。

1 教学设计背景目前企业对单片机应用人才的需求量仍然很大,同时,对技术水平的要求也越来越高,所以单片机教学一方面要面临实验室经费紧张、課时有限的困难,另一方面为了增大学生的的就业机会,我们的教学必须尽可能地为学生提供更多更好的单片机实践机会。

借助Proteus的对CPU和外围电路强大的仿真能力以及丰富的资源库,可以有效地替代硬件仿真器进行先期的软硬件调试,等到仿真结果基本理想时再进行实际的硬件调试,这样的开发过程不仅高效,而且可以尽可能地减少损失。

对于刚接触单片机的学生来说,拥有一台计算机和一套Proteus软件,就可以很好地开展单片机的入门学习,还可以积累一些实用的硬件开发经验。

本文讲解如何仿真生活中很常见的流水灯。

2 学习目标掌握Proteus仿真软件的使用方法和流水灯的硬件及软件设计。

能够在Proteus仿真软件中实现流水灯的仿真。

3 教学设计过程3.1分析从左到右流水灯的设计要求8只LED灯接在P1端口,LED阳极连接P1,阴极通过限流电阻接地,P1端口相应引脚输出1时,才会使相应的LED点亮,为产生单个LED循环滚动效果,P1端口初值设为01H (00000001B),这会使第1只LED点亮,然后把送给P1端口的数据循环左移,依次为00000010B,00000100B,00001000B,……直到变为10000000B后,第1次循环结束,然后继续送第1只LED高电平,即可使8只LED从左向右形成循环走马灯效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档