流水灯(电路和汇编)-Proteus和Keil仿真演示实例
- 格式:doc
- 大小:440.50 KB
- 文档页数:8
光控流水灯实验报告LED流水灯实验报告LED流水灯的设计报告课程名称:LED流水灯设计学院:大数据与信息工程学院专业:姓名:学号:年级:任课教师:一、实验的背景和意义单片机全称叫单片微型计算机,是一种集成在电路芯片,是采用大规模集成电路技术把CPU随机存储器RAM、只读存储器ROM、多种输入输出口、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的应用。
大致可以分为以下几个范畴: 1、在智能仪器仪表上的应用,例如精确的测量设备;2、在工业控制中的应用,例如用单片机可以构成形式多样的控制系统,与计算机互联网构成二级控制系统等;3、在家用电器中的应用,可以从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话、集群移动通信、无线电话对讲机等;4、在医用设备中的应用,例如医用呼叫机、各种分析仪、超声诊断设备及病床呼叫系统等等;5在各种大型电器中的模块化作用,如音乐集成单片机,看是简单的功能,微缩在电子芯片中,就需要复杂的类似于计算机的原理。
本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发计算器设计做了详细的分析和研究。
本系统就是充分利用了8051芯片的I/O引脚。
系统已采用MCS—51系列单片机为中心器件来设计LED流水灯系统,实现LED左循环显示,并实现循环的速度可调。
二、设计目的1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
2.掌握汇编语言程序和C语言程序设计方法。
3.培养实践技能,提高分析和解决实际问题的能力。
三、设计任务及要求1.用个发光二极管作为显示电路2.实现LED动态显示3.能连续循环显示四、设计思路LED流水灯实际上是一个带有八个放光二极管的单片机最小应用系统,即为由晶振LED灯、电阻、电容器、电源等电路和必要的软件组成的单个单片机。
实验一流水灯实验报告一、实验目的1、熟练掌握JC-51A型开发板的使用方法和注意事项。
2、了解简单单片机应用系统的设计方法。
3、掌握应用KEIL软件编辑、编译源汇编程序的操作方法。
4、掌握应用USBISP烧录软件STC-ISP的操作方法。
5、掌握89C52RC单片机的流水灯操作过程。
二、实验内容在JC-51A开发板上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象。
三、实验主要仪器及软件1,JC-51A开发板2,一台电脑3,STC-ISP-V479软件4,KEIL软件四、实验说明当8255 的PA口有低电平输出时,相应的发光二极管就会点亮。
应用这一原理我们可以容易的点亮一个数码管,例如令PA口输出0111 1111时D1就会点亮。
若再把0111 1111向右循环一位,利用PA口输出,就会点亮D2。
在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。
五、实验步骤步骤一:把学习板连接到电脑上,把光盘安装到电脑里,注意电脑右下方显示的是COM几端口;步骤二:打开光盘看到“4.程序烧写软件”字样并打开,安装PL-232驱动这个软件,并打开STC手动下载,找到STC_ISP_V479.exe并打开;步骤三:打开看到一个界面,MCU type选择STC89C52RC,COM端口选择刚刚看到的几端口;步骤四:点击open file,选择光盘里5.MINI-V22实例源程序,打开汇编参考样例,打开流水灯2,选择hex格式的文件,点击确定;步骤五:点击download,如果连接不成功,重置下学习板的开关,这时就看到学习板的流水灯的滚动了。
六、广告流水灯程序ORG 00HMOV P2,#80HSTART:MOV A,#0FFH ;赋初值CLR CMOV R2,#8LOOP:RRC A ; 带进位右移MOV P1,ACALL DELAYDJNZ R2,LOOPMOV R2,#7LOOP1:RLC A ; 带进位左移MOV P1,ACALL DELAYDJNZ R2,LOOP1JMP STARTDELAY:MOV R3,#20 ; 延时0.2秒D1: MOV R4,#20 D2: MOV R5,#248DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETEND七、实验原理图更改此处可以使流水灯速度发生变化八、总结:通过本实验,懂得如何安装kell软件以及实验板,懂得单片机的调试,初步了解并熟悉实验板上单片机I/O口和LED 灯的电路结构,能通过修改程序实现仿真板上不同灯的亮灭情况,并希望通过多次试验对它有更多的了解。
《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验实验目的(1)了解Keil和Proteus软件的基本特点和功能。
(2)学会使用Keil软件进行单片机中断应用和定时器/计数器应用的编程。
(3)学会使用Proteus软件进行单片机中断应用和定时器/计数器应用的原理图的绘制和程序实现。
(4)学会使用Keil和Proteus两种软件的联调。
实验指导一、Keil C51的使用1.创建项目编写一个新的应用程序前,首先要建立项目(Project)。
(1)在编辑界面下,单击菜单栏中的[Project],出现下拉菜单,再点击选择中的“New Project”。
(2)单击“New Project…”选项后,就会弹出“Create New Project”窗口。
在“文件名(N)”中输入一个项目的名称,保存后的文件扩展名为“.uvx”,即项目文件的扩展名,以后可直接单击此文件就可打开先前建立的项目。
在“文件名(N)”窗口中输入新建项目文件的名字后,在“保存在(I)”下拉框中选择项目的保存目录,单击“保存(S)”即可。
(3)选择单片机,单击“保存(S)”后,会弹出“Select Device for Target”(选择单片机)窗口,按照提示选择相应的单片机。
搜索“AT89C52”并选择。
(4)单击“确定”按钮后,会出现对话框。
如果需要复制启动代码到新建的项目,选择单击“是”。
如选择单击“否”,启动代码项“STARTUP. A51”不会出现,这时新的项目已经创建完毕。
2.新建文件新的项目文件创建完成后,就需要将用户源程序文件添加到这个项目中,添加用户程序文件通常有两种方式:一种是新建文件,另一种是添加已创建的文件。
(1)单击快捷按钮,这时会出现一个空白的文件编辑画面,用户可在这里输入编写的程序源代码。
(2)单击中快捷按钮,保存用户程序文件,这时会弹出窗口“Save As”的对话框,在“保存在(I)”下拉框中选择新文件的保存目录,这样就将这个新文件与刚才建立的项目保存在同一个文件夹下,然后在“文件名(N)”窗口中输入新建文件的名字,如果使用C51语言编程,则文件名的扩展名应为“.c”。
PROTEUS仿真教程第一步:安装PROTEUS软件第二步:创建新项目在PROTEUS软件中,您可以创建新项目来开始您的电路仿真工作。
点击菜单栏中的“File”选项,选择“New Project”来创建一个新项目。
然后输入项目的名称并选择保存路径。
第三步:添加元件在PROTEUS软件中,您可以通过“Library”选项来选择各种电子元件,包括电阻、电容、电压源等。
点击“Library”选项,选择您需要的元件并将其拖动到工作区中。
连接元件之间的引脚以搭建电路。
第四步:设置仿真参数在搭建完电路后,您需要设置仿真参数。
点击菜单栏中的“Graph”选项,选择“Set Simulator Parameters”来设置仿真参数,包括仿真时间、步长等。
您还可以设置输出波形的显示格式和范围。
第五步:运行仿真设置好仿真参数后,点击菜单栏中的“Simulate”选项,选择“Run”来运行仿真。
PROTEUS将模拟您搭建的电路,并显示仿真结果。
您可以查看电压、电流等参数,并分析电路的工作情况。
第六步:调试电路在仿真过程中,您可能会发现电路存在问题,比如输出波形不符合预期,电流过大等。
您可以通过调试电路来解决这些问题。
尝试更改元件参数、连接方式等,并重新运行仿真来检查效果。
第七步:保存和导出仿真结果在完成仿真后,您可以保存仿真结果并导出到其他格式。
点击菜单栏中的“File”选项,选择“Save As”来保存仿真文件。
您还可以导出波形图、数据表等结果,以便后续分析和报告。
总结:本教程介绍了PROTEUS的基本功能和使用方法,帮助您快速上手该软件进行电路仿真工作。
通过创建新项目、添加元件、设置仿真参数、运行仿真、调试电路和保存结果,您可以轻松完成电路仿真工作。
希望本教程对您有所帮助,祝您在PROTEUS软件中取得成功!。
成绩实验名称:单片机系统简单扩展实验
一、实验目的
1、了解单片机系统的扩展方法
2、熟悉8255A在单片机系统扩中的使用方法。
3、熟悉仿真软件Proteus以及编程软件Keil的使用。
二、实验仪器
三、实验内容
四、实验原理
实验报告
五、实验步骤
步骤:
1、根据给定的实验要求,分析实验的目的以及实验要求。
2、通过计算机仿真软件Proteus,根据实验目的设计电路,并且绘制电路原理图。
3、根据自己设计的电路,编写控制程序。
4、调试所编写的控制程序,直至程序没有语法及语意错误,可以通过编译。
5、将所编写的无错误的程序下载至仿真软件,并进行调试,根据仿真结果修改程序。
6、重复上一步骤,知道仿真效果达到实验要求,即可完成。
六、实验程序
#include <reg51.h>
#include<absacc.h>。
实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。
二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。
2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。
3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。
5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。
三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。
当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。
E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。
综上,画出实验电路原理图。
2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。
图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。
实验5程序流程图如图3-5,3-6所示。
图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。
流水灯电路图和程序#include <reg52.h>#include<instrins.h>#define uchar unsigned char#define uint unsigned intuchar code led[]={0xfe,0xfb,0xfd ,0xf7,0xef,0xbf,0xdf,0x7f};delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}main( ){uint i;while(1){P2=led[];delay(500);_crol_(led,1);}}用arm7做一个流水灯的设计。
悬赏分:100 - 解决时间:2009-9-3 20:03试设计一个闪烁流水灯控制器,该控制器可以控制8个灯顺序亮灭,当按钮K按下1次后,每次顺序点亮一个灯。
而且每个点亮的灯在闪烁3次后,才能灭,周而复始,直到按钮K 二次按下。
(用状态机设计)要用PROTEL99画好电路图。
还要写好程序。
画图的也只能发到我的邮箱里面吧。
邮箱:。
谢谢各位。
提问者:woxinruozai - 五级最佳答案从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。
因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。
示例要求:
在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。
在KEIL 51中编程序,形成HEX文件;在PROTEUS中设计硬件,下载HEX文件,运行看结果。
第1篇:PROTEUS电路设计
1、打开PROTEUS的ISIS软件,如图1所示。新建电路图文件,将文件保存到E:\projectio(新建文件夹projectio)
下面,文件基本名为io,扩展名默认。
图1 ISIS窗口图
2、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图2所示。
图2 元件选择窗口
在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元
选择元件
件,添加元件到图3的device列表栏。在这里依次添加元件单片机80C51、电阻RES、电容CAP、按键BUTTON、
晶振CRYSTAL、发光二极管LED-RED,如图3所示。
图3 添加元件的device列表栏
3、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进
行移动、旋转等操作;如图4所示。电源(POWER)与地(GROUND):(右键-放置-终端里选)。
图4 放置元件图
4、连接导线,如图5所示。连接后存盘。
图5 连接元件图
5、在Keil软件中设计软件程序,形成HEX文件(具体过程见第2篇Keil软件编程)。保存软件项目到电路文
件相同的文件夹E:\projectio下。
6、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属
性对话框中的program file框中选择下载到80C51芯片中的程序。这里是同一个文件夹下面的shili.hex文件。
如图6所示。
图6 下载程序到单片机
7、单击仿真运行按钮play,运行程序。可通过LED二极管看到相应的结果。如图7所示。
图7 仿真结果图
第2篇:Keil软件编程
1、 运行KEIL51软件,出现图1所示KEIL 51主界面。
图1 KEIL 51主界面
首先用Project菜单下的New Project命令建立项目文件,过程如下:
(1)选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。
(2)在Create New Project对话框中选择新建项目文件的位置(与PROTEUS电路图文件同一个文件夹下
E:\projectio),输入新建项目文件的名称,例如,项目文件名为shili,单击【保存】按钮将弹出如图3所示的
Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支持
所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相
关信息以供用户参考。
图2 Create New Project对话框
图3 Select Device for Target ‘Target 1’对话框
(3)这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup
Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。单击
后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。这时只有
一个框架,紧接着需向项目文件中添加程序文件内容。
图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框
2、给项目添加程序文件
当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语
言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序
文件后再添加。
(1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。
图5 新建文本窗口
在文本编辑窗口中输入程序。存盘,假设文件名为chengxu.asm。注意汇编程序文件扩展名为.asm,这时默认
路径为工程文件夹。参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV A, #01H
LOOP: MOV P2, A
LCALL DELAY
RL A
SJMP LOOP
SJMP $
DELAY: MOV R2, #0FFH
DELAY1: MOV R3, #0FFH
DJNZ R3, $
DJNZ R2, DELAY1
RET
END
(2)添加文件到项目中。在项目管理器窗口中,展开Target1项,可以看到Source Group1子项。右击Source
Group1,在出现菜单中选择Add Files to Group ‘Source Group1’命令。出现添加文件的窗口,加程序chengxu.asm
如到项目中。如图6所示。注意文件类型要选择为*.a*。
图6 添加程序文件到项目
3、编译、连接项目,形成目标文件
当把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成HEX
目标文件(只在keil 51中软件仿真可以不形成目标文件)。
(1)选择Project菜单下的Built Target命令(或快捷键F7) 编译、连接当前项目,编译、连接时,如果程
序有错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、
连接,这个过程可能会重复多次。如果没有错误,则编译、连接成功,并且在信息窗口给出提示信息。如图7
所示。
图7 编译、连接后的显示图
(2)如果要做硬件下载可硬件仿真,则要形成HEX目标文件,须先对输出选项进行相应的设置,设置
后再进行编译连接。方法如下:右击项目管理器窗口的Target1项,在右键菜单中选择下面的Options for Target
‘Target 1’命令,在Options for Target ‘Target 1’对话框选择Output选项卡,在该选项卡选中Create HEX File选
项,选择生成HEX文件,然后按(1)操作进行编译连接。如图8所示。
图8 Options for Target ‘Target 1’ 对话框
4、运行调试观察结果(本示例不需要的步骤)
当项目编译、连接成功后,就可以运行它来观察结果。
先用Debug菜单下的Start/Stop Debug Session命令(快捷键Ctrl+F5)启动调试过程,启动后可用Debug菜
单下Go连续运行命令、Step单步运行、Stop running停止运行命令等运行程序观察结果。