基于单片机仿真软件proteus的流水灯实验报告
Proteus虚拟仿真案例---流水灯制作
Proteus虚拟仿真案例-——流水灯制作一、原理图设计1.打开proteus,新建文件2.选择元器件(1)选择单片机芯片左侧快捷菜单栏里按下,按下P,在“关键字”栏中输入“8951”,选择AT89C51(2)选择晶振:输入crystal,选择CRYSTAL(3)选择电容:输入22p,左边类别中选择Capacitors,右边选择CERAMIC22P(4)选择电阻:输入10k,左边类别中选择Resistors,右边选择RESISTORS库的3WATT10K(5)选择led:输入led,左边类别中选择Optoelectronics,右边选择led—yellow(6)选择按钮:输入button,选择USERDVC库的BUTTON(7)选择好的元器件如图所示3.放置器件振荡电路:(1)放置AT89C51单片机:在DEVICES栏中选中AT89C51,然后在绘制区放置到合适的位置(2)放置晶振,隐藏text属性(菜单-模板—设置设计默认值—显示隐藏文本不勾选)(3)分别将晶振的两脚与AT89C51的19、18脚相连(4)放置两个22p的电容,一端与晶振相连,另一端互连(5)放置地节点(左侧快捷菜单栏里按下—-GROUND),与两个电容相连复位电路:a.放置电源节点(左侧快捷菜单栏里按下——POWER)b.放置地节点c.放置电容,电阻,电阻一端接地,一端与电容相连,电容一端接+5V电源d.AT89C51第9脚接电阻、电容中间e.放置按钮,接电容两端f.右击按钮——编辑属性——元件参考:BUTTON,并取消“本元件不用于PCB制版”g.修改C3电容的值:右击——编辑属性—-Capacitance改为10u绘制流水灯:a.放置电阻、led,右击led——编辑属性——隐藏元件值,连接电阻和ledb.使用块复制,复制7组电阻和ledc.放置电源,分别与D1—D8的一端连接d.总线绘制:左侧选择“总线模式”,绘制一条总线,连接P1口与R2-R9e.使用属性分配工具进行快速网络标号:按下a,出现属性分配窗口,“字符串”框输入“net=D#”,单击P0口的8条线,进行编号,再次按下a,出现属性分配窗口,“字符串”框输入“net=D#”,单击R2—R9的8条线,进行编号f.批量修改R2-R9的值:按下a,出现属性分配窗口,“字符串”框输入“VALUE=100”,确定二、系统仿真1.编写源代码(1)菜单——源代码——添加/删除源文件—-new——文件名输入pmd。
基于51单片机的流水灯实训报告
4、焊接完了,还要对电烙铁进行保护措施——在电烙铁的笔头抹上一层锡,防止笔头被氧化!
周二
1、上午跟下午都是进行实物焊接。看着电脑上面的仿真电路图来一步步焊接,还要在脑海里边想象这样子焊接能否做到不用飞线,到最后又能让人看起来一目了然,清晰明了的感觉!不会看起来很混乱的联想图!所以,焊接是一个很考验人的耐性跟思维能力的功夫!在单片机的P0端口,接数码管的时候,要接上一个排阻来保护电路,因为在单片机内部除了P0端口,其它端口都有接内部电阻,所以,一定要在P0端口外接一个排阻来保护电路!
周五
我都在努力着完成最后一步工作,把程序下载到单片机中,刚开始的时候,经常出现CPU跟MCU握手失败,程序无法载入单片机中。我努力想到底哪里出错了,后来在一个同学的帮忙下,终于找到了出现问题的地方,就是数码管的1脚还没有与单片机的21脚焊接上。经过一会的补救,终于完成了!
总程序:
#include<reg51.h>
后来,老师就教我们編数码管的程序,然后结合流水灯的程序,通过修改后,仿真到模拟电路中看流水灯的走动和数码管的显示是否按你设想的结果一致,如果不一致,就要请教老师和同学。
最后,老师教给我们一个作业——写实训报告,后来我们都在埋头苦干中。
周四
由于部门的辩论赛活动,我不得不请假,所以就没有来参加实训!听同学们说老师叫我们自己动手把之前没完成的工作继续去完成!主要还是編程序和写实训报告。
uchar wei[2]={0xfe,0xfd};
bit start=0;
bit turnflag=0;
uchar num=0;
单片机流水灯实验报告
单片机流水灯实验报告电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验2 流水灯实验时间: xx-10-21 班级:电信092 姓名:蔡松亮学号: 910706247一、实验目的:进一步熟悉keil仿真软件、proteus仿真软件的使用。
了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。
掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
二、实验原理:MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。
每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。
四组并行I/O端口即可以按字节操作,又可以按位操作。
当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。
以P1口为例,内部结构如下图所示:图 P1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O 口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。
三、实验环境:硬件:PC机,基本配置CPU PII以上,内存2G 软件:keil 2, Proteus 7.5四、实验内容及过程:1、用Proteus画流水灯电路图流程:1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:图 1 打开搜索元器件窗口2)、搜索添加元器件,如图2 所示:图2 搜索添加元器件窗口3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。
单片机流水灯实验报告
单片机流水灯实验报告
单片机流水灯实验报告
本次实验是单片机灯光控制实验,主要目的是培养学生使用突变端口控制灯光的实操能力。
实验分为程序设计、硬件组装、调试调试几个部分。
程序设计:根据实验要求编写了一个流水灯程序,主要利用单片机控制实现开关控制和常开及常闭特性,以及设置灯的渐变和闪烁的速度。
硬件组装:在板子上安装单片机和电路原件,并连接灯光电路,可以把单片机连接到PC,以便烧录程序。
调试调试:将程序烧录到单片机上,使板子上的灯光依次亮起,调整每个灯光闪烁或连续亮起的间隔,使灯光更好地结合实验要求。
本次实验让我深刻体会到用单片机编码语言思考问题的重要性,以及如何解决具体的技术问题。
实验操作让我加深了对单片机现象和面向对象编程的理解,让我更加熟练灵活地运用单片机配合硬件的概念和编程技术,全面提高了自己的应用水平。
实训报告单片机流水灯
一、实验目的1. 熟悉单片机的基本原理和组成,掌握51单片机的编程方法。
2. 理解单片机I/O口的使用,学会利用单片机控制LED灯的流水灯效果。
3. 提高动手实践能力,培养团队协作精神。
二、实验环境1. 实验设备:51单片机开发板、LED灯、面包板、电源、连接线等。
2. 实验软件:Proteus仿真软件、Keil uVision5集成开发环境。
三、实验原理流水灯实验是单片机入门级实验之一,通过控制单片机的I/O口输出高低电平,使LED灯依次点亮,形成流水灯效果。
实验中,利用单片机的定时器产生定时中断,每隔一定时间改变I/O口的输出状态,实现LED灯的流水灯效果。
四、实验步骤1. 打开Proteus软件,新建一个工程项目,添加51单片机开发板和LED灯等元件,绘制电路图。
2. 打开Keil uVision5,新建一个C51工程项目,选择对应的单片机型号。
3. 编写程序:(1)初始化I/O口:将P0口设置为输出模式,将P1口设置为输出模式。
(2)设置定时器:选择合适的定时器,设置定时时间,使其产生定时中断。
(3)编写中断服务程序:在中断服务程序中,改变I/O口的输出状态,实现LED灯的流水灯效果。
(4)编写主程序:在主程序中,启动定时器,进入中断服务程序。
4. 编译程序,生成HEX文件。
5. 将生成的HEX文件导入Proteus软件,运行仿真实验。
6. 观察实验现象,检查LED灯的流水灯效果是否正常。
五、实验结果与分析1. 实验现象:在Proteus软件中,LED灯依次点亮,形成流水灯效果。
2. 实验分析:通过设置定时器,每隔一定时间改变I/O口的输出状态,实现LED 灯的流水灯效果。
实验过程中,可以调整定时器的定时时间,改变流水灯的速度。
六、实验总结1. 本实验使我们对单片机的基本原理和组成有了更深入的了解。
2. 通过编写程序,掌握了51单片机的编程方法,提高了编程能力。
3. 实验过程中,我们学会了利用单片机控制LED灯,实现了流水灯效果。
单片机流水灯实验总结
单片机流水灯实验总结单片机流水灯实验是学习单片机编程的基础实验之一,通过这个实验可以了解单片机的基本输入输出功能,掌握单片机的编程和控制方法。
下面我将对单片机流水灯实验进行总结,包括实验原理、实验步骤、实验结果以及实验中遇到的问题和解决方法。
实验原理。
单片机流水灯实验是利用单片机的GPIO口控制LED灯的亮灭,通过不同的控制方式实现LED灯的流水效果。
在单片机中,通过将相应的GPIO口输出高电平或低电平来控制LED的亮灭,从而实现流水灯的效果。
实验步骤。
1. 硬件连接,将单片机和LED灯按照电路图连接好,确保连接正确无误。
2. 编写程序,利用单片机编程软件编写流水灯控制程序,设置相应的GPIO口输出高低电平的时间间隔和顺序。
3. 烧录程序,将编写好的程序通过编程器烧录到单片机中。
4. 调试程序,连接好电路后,通过上电测试程序,观察LED灯的流水效果是否符合预期。
实验结果。
经过以上步骤,我们成功实现了单片机流水灯的效果。
LED灯按照设定的顺序依次亮起和熄灭,形成了流水灯的效果。
实验结果符合预期,证明了程序编写和硬件连接的正确性。
实验中遇到的问题和解决方法。
在实验过程中,我们遇到了一些问题,例如LED灯未按照预期顺序亮起、熄灭或者有闪烁现象。
经过检查和调试,发现是程序编写中的逻辑错误或者硬件连接接触不良导致的。
通过仔细排查和调试,我们成功解决了这些问题,确保了实验的顺利进行和结果的准确性。
总结。
通过本次单片机流水灯实验,我们深入了解了单片机的GPIO口控制LED灯的方法,掌握了单片机编程和控制的基本技能。
同时,实验过程中遇到的问题也让我们学到了很多调试和排查的方法,提高了我们的实际操作能力和解决问题的能力。
希望通过这次实验,能够为我们今后的学习和实践打下坚实的基础。
结语。
单片机流水灯实验是单片机编程学习的重要实验之一,通过这个实验可以加深对单片机控制方法的理解,提高实际操作能力。
希望大家能够认真对待这个实验,通过自己的努力和实践,掌握单片机编程的基本技能,为今后的学习和工作打下坚实的基础。
单片机流水灯实验报告
单片机流水灯实验报告:实验一:用C51实现流水灯实验实验要求:完成亮流水,即LED从低位流向高位流动,每次流动一位,且每次只亮一个LED灯,其它LED灭。
实验原理:单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。
使用r1或rr a实现位的转换。
实验内容:通过仿真来实现实验电路图代码如下;for(x=0;x<8;x++){P0=num[x];delay();}for(x=6;x>0;x--){P0=num[x];delay();}P0=0xfe;实验结果:实验程序:#include<REG51.H>void delay();//延时函数声明void main()//主函数{unsigned charx,num[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};while(1){for(x=0;x<8;x++){P0=num[x];delay();}for(x=6;x>0;x--){P0=num[x];delay();}P0=0xfe;}}void delay()//延时函数,无符号字符型变量i为形式参数{unsigned int j,k;//定义无符号字符型变量j和kfor(k=0;k<500;k++)//双重for循环语句实现软件延时for(j=0;j<100;j++);}实验总结:这次试验通过仿真实验软件实现流水灯实验,充分学会了keil 软件和Proteus电路仿真的联合调试,为后期的实验做足了功课。
也认识到仿真实用性。
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机流水灯实验报告
实验目的:实现单片机流水 灯功能
实验结果:LED灯按照预设 顺序依次点亮,实现流水灯
效果
分析与讨论:实验结果与预 期相符,验证了单片机流水
灯功能的实现。
实验结果分析
实验目的:验证单片 机流水灯控制电路的
设计与实现
实验设备:单片机、 LED灯、电阻、电源
等
实验步骤:编写程序、 连接电路、运行程序、
观察现象
实验过程中,对实验结果 的分析不够全面,容易导 致实验结论不准确。
实验过程中,对实验数据 的记录不够详细,容易导 致实验数据丢失。
实验过程中,对实验设备 的维护不够重视,容易导 致实验设备损坏。
实验过程中,对实验环境 的控制不够严格,容易导 致实验结果不准确。
对未来实验的展望
创新实验方法:尝试新的实 验方法,提高实验效果
掌握流水灯电路 的搭建方法
学习单片机的编 程和调试方法
掌握流水灯电路 的调试方法
添加标题
添加标题
添加标题
添加标题
培养实践操作和问题解决能力
通过实验操作, 提高动手能力
学习单片机的基 本原理和编程方
法
培养发现问题、 分析问题和解 决问题的能力
提高团队合作和 沟通能力
02
实验设备
单片机开发板
添加标题 添加标题 添加标题 添加标题 添加标题 添加标题
编写流水灯程序
确定流水灯的 硬件连接方式
编写流水灯控 制程序
编译并下载程 序到单片机
调试程序,确 保流水灯正常 工作
0
0
0
0
1
2
3
4
烧录程序到单片机
准备烧录器:选择合适的烧录器,如USB烧录器 连接单片机:将烧录器连接到单片机的烧录接口 打开烧录软件:启动烧录软件,选择要烧录的程序文件 开始烧录:点击烧录按钮,开始烧录程序到单片机 检查烧录结果:烧录完成后,检查单片机的运行情况,确保程序正常运行
流水灯显示实验报告
流水灯显示实验报告流水灯显示实验报告一、实验目的本实验旨在通过单片机控制LED灯的亮灭,实现流水灯的显示效果。
通过本实验,旨在巩固学生对单片机基本理论知识的理解,掌握流水灯显示的基本原理与设计方法,提高实践操作能力。
二、实验原理流水灯是一种常见的LED显示效果,通过控制LED灯的亮灭顺序和时间间隔,使LED灯以一定的速度逐次点亮或熄灭,形成流水般的效果。
本实验采用单片机控制LED灯的亮灭,通过编程实现流水灯的显示。
三、实验步骤1.准备实验材料(1)单片机开发板(2)LED灯若干(3)杜邦线若干(4)面包板(5)镊子、电烙铁等工具2.搭建硬件电路(1)将LED灯按照一定的顺序连接到单片机开发板的GPIO口上。
(2)使用杜邦线将电源连接到LED灯的正极和负极。
(3)连接单片机开发板与电脑的串口。
3.编写程序(1)打开单片机开发板的编程软件,如Keil uVision。
(2)编写程序代码,实现流水灯的显示效果。
程序代码包括初始化、延时、循环点亮和熄灭LED灯等部分。
(3)将程序代码下载到单片机开发板中。
4.调试与测试(1)打开电源,观察LED灯的亮灭情况,检查是否实现了流水灯效果。
(2)调整程序代码中的延时参数,改变LED灯的亮灭速度。
(3)检查程序代码中的语法错误和逻辑错误,确保程序的正确性。
四、实验结果与分析1.实验结果通过本次实验,我们成功地实现了流水灯的显示效果。
当电源接通后,LED灯按照设定的顺序逐次点亮或熄灭,形成流水般的效果。
同时,通过调整程序代码中的延时参数,我们还可以改变LED灯的亮灭速度。
2.结果分析本次实验的成功得益于正确的实验方法和步骤。
首先,我们准确地搭建了硬件电路,确保LED灯与单片机的连接正确;其次,我们合理地编写了程序代码,实现了流水灯的显示效果;最后,我们对实验结果进行了仔细的观察和调试,确保实验结果的正确性。
通过本次实验,我们不仅提高了实践操作能力,还巩固了对单片机基本理论知识的理解。
单片机流水灯实验报告
单片机流水灯实验报告引言:在现代科技的急剧发展下,单片机作为一种重要的控制元件,广泛应用于各个领域。
流水灯作为单片机的一个经典实验,旨在让学生接触并掌握单片机的基本原理和操作方法。
本次实验将介绍单片机流水灯的实验过程以及结果分析。
实验目的:通过单片机流水灯实验,我们的目标是:1. 熟悉并掌握单片机流水灯的基础原理;2. 学习单片机编程的基本方法;3. 培养实验设计和数据分析的能力。
实验原理:单片机流水灯实验基于LED灯的控制,通过改变LED的亮灭状态实现流水灯效果。
具体原理如下:1. 单片机通过IO口控制LED灯的亮度,通过改变IO的输出电平来控制LED的亮灭状态。
2. 流水灯效果通过轮流改变LED灯的亮灭状态实现,即依次控制相邻LED的亮度和灭度。
实验步骤:1. 准备实验材料:单片机开发板、LED灯、面包板、跳线等。
2. 按照电路图连接实验电路:将LED灯依次连接到单片机的IO口上。
3. 首先需要完成单片机的初始化工作,包括设置IO口的方向和初始状态。
4. 设计并编写流水灯的控制程序,包括控制LED灯的亮灭状态和延时时间。
5. 将编写好的程序烧录到单片机中。
6. 运行程序,观察LED灯的亮灭状态是否符合预期效果。
实验结果与分析:根据实验步骤,我们成功地完成了单片机流水灯的实验。
LED 灯按照预期的顺序轮流点亮和熄灭,呈现出流水般的效果。
通过调整延时时间,我们可以改变流水灯的速度,使其呈现出不同的闪烁效果。
在实验过程中,我们也发现了一些问题。
首先,有时LED灯的亮灭状态会出现错误,可能与电路连接有关,需要仔细检查电路连接的正确性。
其次,流水灯的速度调节范围有限,可能需要通过引入外部元件来扩大调节范围。
结论:通过单片机流水灯的实验,我们深入了解了单片机的基本原理和操作方法。
通过编程实现流水灯效果,我们培养了实验设计和数据分析的能力。
同时,在实验过程中发现的问题也为后续实验和学习提供了一定的启示,我们将进一步完善和改进实验方案,以提高实验效果。
[附]单片机Proteus仿真-流水灯
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的编辑界面如图
单片机流水灯的Protues仿真
单片机流水灯的Protues仿真摘要本文详细介绍了利用Proteus仿真软件仿真单片机流水灯实验的具体操作和调试过程,叙述了Proteus仿真软件的使用方法,对学习Proteus 的仿真有一定的指导意义。
关键词Protues;AT89C51;仿真1电路的基本功能在单片机P0口接有8个发光二极管,要求8个发光二极管每次点亮一个二极管,按照相同的时间间隔从左向右,即从P0.0到P0.7依次点亮,然后再返回P0.0依次循环,如图1所示。
2 硬件电路的构建实现流水灯电路功能的主体元件是89C51单片机,需在protues电路窗口中绘制如图2所示的单片机流水灯电路原理图,首先启动protues软件中的protues ISIS模块,单击文件菜单中的“新建”“新建设计”“另存为”在弹出的对话框中输入“流水灯”,并选择文件的路径,再单击确定按钮,即在指定文件夹建立名为“流水灯.DSN”文件。
在Protues主界面中单击“”图标,然后单击“”按钮,在弹出的“Pick devices”窗口里按照表1中的路径选择相应的元件并单击,将所选元件添加到元件列表,再选中元件放置到绘图区,重复以上操作将所需元件逐一添加到绘图区,通过编辑元件,修改元件的参数并调整好各元件位置,按下工具栏中的“”按钮,将两个元件用导线连接起来,依次操作,建立如图2所示的电路图[1]。
3程序设计及装载3.1程序的设计通过电路功能的分析,结合单片机电路图,设计出单片机工作流程图如图3所示,再根据流程图写出源程序,演示程序及说明如下:3.2程序的装载在Protues主界面中单击“源代码”菜单下的“添加/删除源文件”在弹出的“添加/移除源代码”对话框如图4所示,“目标处理器栏”选择“U1-AT89C51”,“代码生成工具”栏选择“ASEM51”,然后单击新建,在弹出的对话框文件名栏中输入“liushuideng.ASM”,单击“打开”按钮,返回“添加/移除源代码”对话框,单击“确定”按钮,返回Protues主界面,单击“源代码”菜单,选择“liushuideng.ASM”选项,打开source Editor窗口,将设计好的汇编程序粘贴到窗口中,单击“保存”按钮,关闭该窗口。
流水灯单片机实验报告
流水灯单片机实验报告流水灯单片机实验报告引言:单片机是一种集成电路芯片,具有微处理器的功能。
它广泛应用于各个领域,包括家电、电子产品、汽车等。
在本次实验中,我们将使用单片机实现一个简单的流水灯效果,通过这个实验,我们可以深入了解单片机的原理和应用。
实验目的:1. 了解单片机的基本原理和工作方式;2. 掌握单片机的编程方法和流程;3. 实现流水灯效果,并通过调整参数改变灯光的亮度和频率。
实验器材:1. 单片机开发板;2. LED灯若干;3. 连接线。
实验步骤:1. 连接电路:将LED灯与单片机开发板相连,确保连接正确无误。
2. 编写程序:使用C语言编写单片机程序,实现流水灯效果。
3. 烧录程序:将编写好的程序通过编程器烧录到单片机中。
4. 调试程序:将烧录好的单片机插入开发板,启动电源,观察LED灯的亮灭情况。
5. 调整参数:根据需要,可以通过修改程序中的参数来改变流水灯的亮度和频率。
实验结果:经过调试和调整参数,我们成功实现了流水灯效果。
LED灯在单片机的控制下,按照一定的顺序依次亮起和熄灭,形成了流水灯的效果。
通过修改程序中的参数,我们还可以调整灯光的亮度和频率,使得流水灯的效果更加丰富多样。
实验分析:通过这个实验,我们深入了解了单片机的原理和应用。
单片机作为一种集成电路芯片,具有微处理器的功能,可以通过编程来实现各种各样的功能。
在流水灯实验中,我们通过编写程序,控制LED灯的亮灭,实现了流水灯的效果。
通过调整参数,我们还可以改变灯光的亮度和频率,使得流水灯的效果更加丰富多样。
结论:本次实验通过使用单片机实现了流水灯效果,深入了解了单片机的原理和应用。
通过编写程序和调整参数,我们成功控制了LED灯的亮灭,实现了流水灯的效果。
这个实验不仅提高了我们对单片机的理解和应用能力,还培养了我们的动手能力和解决问题的能力。
希望通过这个实验,我们能够更好地掌握单片机的原理和应用,为今后的学习和工作打下坚实的基础。
Proteus硬件仿真(单片机控制流水灯)实 验 报 告
湖州师院Proteus硬件仿真(单片机控制流水灯)实验报告姓名汪健雷班级092833学号07083438一、实验目的1、了解proteus软件,掌握Proteus在单片机仿真中的应用,为开发、调试单片机应用系统做准备。
2、熟练掌握isis环境电路图的建立(流水灯电路图)二、实验仪器1、PC机2、proteus仿真软件三、实验内容1、选择元器件,画出电路图,学会硬件的设计2、在仿真软件上实现相应的功能四、实验步骤1、软件打开2、双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图所示界面,随后就进入了Proteus ISIS集成环境。
2、Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。
包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
3、添加元器件将所需元器件加入到对象选择器窗口。
Picking Components into the Schematic单击对象选择器按钮,根据元件预览区域的显示,双击你所需要的元件,则所选元件出现在原理图编辑环境的元件列表区中,如图所示。
用同样的方法找出原理图中需要的所有元件。
4、放置元器件放置元器件至图形编辑窗口Placing Components onto the Schematic 在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。
其他元器件放置方法相同。
单片机实验报告流水灯
单片机实验报告流水灯单片机实验报告:流水灯引言:单片机是现代电子技术中非常重要的一部分,它广泛应用于各个领域,如家电、汽车、通信等。
单片机实验是学习单片机的基础,通过实际操作来理解单片机的原理和应用。
本报告将介绍一个常见的单片机实验项目——流水灯实验。
一、实验目的流水灯实验旨在通过控制单片机的IO口,实现多个LED灯按照顺序依次点亮和熄灭的效果。
通过这个实验,可以加深对单片机IO口的控制和编程的理解。
二、实验器材1. 单片机开发板:我们使用的是STC89C52开发板,它是一种基于8051内核的单片机开发板。
2. LED灯:我们使用了8个LED灯,分别连接到单片机开发板的8个IO口上。
3. 连接线:用于连接单片机开发板和LED灯。
三、实验原理流水灯实验的原理很简单,通过控制单片机的IO口输出高低电平来控制LED灯的亮灭。
当某个IO口输出高电平时,对应的LED灯点亮;当IO口输出低电平时,对应的LED灯熄灭。
四、实验步骤1. 连接电路:将8个LED灯分别连接到单片机开发板的8个IO口上,确保连接正确。
2. 编写程序:使用C语言编写单片机程序,控制IO口的高低电平变化。
程序的主要逻辑是通过一个循环,依次将某个IO口输出高电平,然后延时一段时间,再将该IO口输出低电平,再延时一段时间,以此循环实现流水灯的效果。
3. 烧录程序:将编写好的程序烧录到单片机开发板中,确保程序能够正确运行。
4. 调试实验:将单片机开发板连接到电源,观察LED灯是否按照预期的顺序点亮和熄灭。
如果有问题,可以通过调试程序或检查电路连接来解决。
五、实验结果经过调试和实验,我们成功地实现了流水灯的效果。
8个LED灯按照顺序依次点亮和熄灭,形成了一个流动的灯光效果。
这个实验不仅让我们学习了单片机的IO口控制,还提高了我们的动手能力和解决问题的能力。
六、实验总结通过这个实验,我们深入了解了单片机的原理和应用。
单片机作为一种微型计算机,具有体积小、功耗低、成本低等优点,广泛应用于各个领域。
(完整word版)基于单片机仿真软件proteus的流水灯实验报告
单片机原理》实验报告题目:流水灯设计姓名:刘伟学号:1042157110专业:10 计科特色班院系:信息工程学院指导老师:史先桂完成时间:2014 年 4 月19 日安徽新华学院教务处制一、实验目的1、熟练掌握单片机仿真软件proteus 使用方法和注意事项。
2、了解简单单片机应用系统的设计方法。
3、帮助学生养成良好实验习惯。
二、实验内容单片机仿真软件proteus 上实现8个发光LED “流水”的现象,实现两个流水灯情况:1、先奇数灯亮,再偶数灯亮;2、实现流水灯从两边向中间亮,再从中间到两边亮。
并通过编写程序控制流水现象。
三、实验说明依照实验的硬件电路原理,在单片机仿真软件proteus 上进行硬件电路的模拟,然后进行实验。
在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水” 的现象。
四、实验环境硬件:pc 机;软件:单片机仿真软件proteus。
五、实验原理图六、实验参考程序#include<reg52.h>#include<intrins.h>void delay_ms(int n){int i,j;for(i=0;i<n;i++)for(j=0;j<110;j++);void main(){int i, num; unsigned char p1; unsigned char p0, p; while(1) {for(i=0; i<3; i++) // 间隔500ms 先奇数亮再偶数亮,循环三次{P1=0xaa; P0=p1; delay_ms(500);// 延时n 毫秒P1=0x55;P0=p1; delay_ms(500);}p1= 0xfe;num=3;while(num-- > 0) // 一个灯上下循环三?{ for(i=0; i<8; i++) {P0=p1; delay_ms(100); p1=_cror_(p1,1);}}//两个分别从两边往中间流动三?p1= 0xfe;p0= 0x7f;num=3;while(num-- > 0){for(i=0; i<4; i++) //让LED 灯从两边向中间点亮{p1=_crol_(p1,1);p0=_cror_(p0,1); p=p1&p0;delay_ms(100);P1=p;P0=p;// p1= 0xef;p0= 0xf7;num=3;while(num-- > 0){for(i=0; i<4; i++){p1=_crol_(p1,1);p0=_cror_(p0,1); p=p1&p0; delay_ms(100);P1=p;P0=p;}}//8 个全部闪烁3 次? num=3;while(num-- > 0){p1=0;delay_ms(500);p1=1; delay_ms(500);}break;}}模拟演示图:1)模拟单片机的偶数灯亮2)模拟单片机的奇数灯亮3)模拟单片机流水灯从两边到中间亮4)模拟单片机流水灯从中间到两边亮。
流水灯实训总结
流水灯实训总结
1.实训目的:
I.掌握单片机的硬件结构;
II.理解一个完整的单片机系统是由硬件和软件组成的。
III.学习流水灯的基本原理。
2.实训内容:
I.在Proteus仿真软件平台上输入单片机硬件电路。
II.在keil软件仿真平台上输入源程序,并进行编译、生产机器码。
III.在Proteus仿真软件平台上加载机器码,并进行仿真。
IV.下载程序到实验板的单片机,通电运行,试验其功能。
3.器件清单:
AT89C52: 1片;晶振12MHHz:1个;电容30pF:2个;
电容104pF:1个;电阻10k:1个;电阻270:8个;
发光二极管:8个;
4硬件电路:
5程序流程:
6.程序代码:
7.实验步骤:
I.在Proteus仿真软件中建立硬件电路,并保持;
II.在keil开发环境中编辑源程序,并保持;
III..在keil开发环境中编译源程序,生成hex文件;
IV.在Proteus仿真软件中选择单片机芯片,并加载hex文件;
V.在Proteus进行仿真;
VI.如果仿真不符合要求,重复以上步骤。
如果仿真符合要求,通过下载装置将程序下载到实验板单片机芯片中并观察;
VII.如果硬件不符合要求,检查电路,并重复以上步骤。
如果符合要求,即实训结束;
8.产品照片
9.实训总结:通过这次实验我对单片机系统还有汇篇语言有了一定的认识和了解!也加深了对单片机的兴趣。
通过这次实训争强了我的动手能力。
对单片机的掌握也熟悉了!!。
流水灯控制实验报告及程序
实验三流水灯控制实验姓名专业通信工程学号成绩一、实验目的1.掌握Keil C51 软件与protues软件联合仿真调试的方法;2.掌握如何使用程序与查表等方法实现流水效果;3.掌握按键去抖原理及处理方法。
二、实验仪器与设备1. 微机1台2. Keil C51集成开发环境3. Proteus仿真软件三、实验内容1.用Proteus设计一流水灯控制电路。
利用P1口控制8个发光二级管L1—L8。
P3.3口接一按键K1。
参考电路如下图所示。
其中74LS240为八反响三态缓冲器/线驱动器。
2.用中断或查询方式编写程序,每按动一次K1键,演示不同的流水效果。
若用KEY表示按键的次数,则其对应的流水效果如下:① KEY=0: L1-L8全亮;② KEY=1: L1-L8先全灭,然后自右向左单管点亮,如此循环;③ KEY=2: L1-L8先全灭,然后自右向左依次点亮,如此循环;④ KEY=3: L1-L8先全亮,然后自左向右依次熄灭,如此循环;⑤ KEY=4: L1-L8先全灭,然后整体闪烁,如此循环;⑥ KEY=5:自行设计效果。
以上移位及闪烁时间间隔均设置为0.3秒,按动5次按键后,再按键时,流水效果从头开始循环。
四、实验原理1.按键去抖原理:通常按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号波形如下图所示。
由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动。
抖动时间的长短由按键的机械特性决定,一般为5~10ms。
按键抖动会引起一次按键被误读多次。
为了确保CPU对键的一次闭合仅做一次处理,必须去除按键抖动。
在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。
按键的抖动,可用硬件或软件两种方法消除。
常用软件方法去抖动,即检测到按键闭合后执行一个5~10ms延时程序;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有按键按下。
单片机流水灯实验总结
篇一:单片机实验报告——流水灯电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验2 流水灯实验时间: 2011-10-21 班级:电信092 姓名:蔡松亮学号: 910706247一、实验目的:进一步熟悉keil 仿真软件、proteus仿真软件的使用。
了解并熟悉单片机i/o口和led灯的电路结构,学会构建简单的流水灯电路。
掌握c51中单片机i/o口的编程方法和使用i/o口进行输入输出的注意事项。
二、实验原理:mcs-51系列单片机有四组8位并行i/o口,记作p0、p1、p2和p3。
每组i/o口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。
四组并行i/o端口即可以按字节操作,又可以按位操作。
当系统没有扩展外部器件时,i/o端口用作双向输入输出口;当系统作外部扩展时,使用p0、p2口作系统地址和数据总线、p3口有第二功能,与mcs-51的内部功能器件配合使用。
以p1口为例,内部结构如下图所示:图 p1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:p1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
i/o口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和i/o接口,单片机的四个口均可作i/o口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;p0口作i/o口使用时应外接10k的上拉电阻,其它口则可不必;p2可某几根线作地址使用时,剩下的线不能作i/o口线使用;p3口的某些口线作第二功能时,剩下的口线可以单独作i/o口线使用。
三、实验环境:硬件:pc机,基本配置cpu pii以上,内存2g 软件:keil 2, proteus 7.5四、实验内容及过程:1、用proteus画流水灯电路图流程:1)、运行proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:图 1 打开搜索元器件窗口2)、搜索添加元器件,如图2 所示:图2 搜索添加元器件窗口3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;r1=r2=r3=r4=r5=r6=r7=r8=470欧姆、r9=10k欧姆;晶振=12m;vcc=5v。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理》实验报告题目:流水灯设计
**:**
学号:**********
专业: 10计科特色班
院系:信息工程学院
****:***
完成时间:2014 年 4 月19日安徽新华学院教务处制
一、实验目的
1、熟练掌握单片机仿真软件proteus使用方法和注意事项。
2、了解简单单片机应用系统的设计方法。
3、帮助学生养成良好实验习惯。
二、实验内容
单片机仿真软件proteus上实现8个发光LED“流水”的现象,实现两个流水灯情况:1、先奇数灯亮,再偶数灯亮;2、实现流水灯从两边向中间亮,再从中间到两边亮。
并通过编写程序控制流水现象。
三、实验说明
依照实验的硬件电路原理,在单片机仿真软件proteus上进行硬件电路的模拟,然后进行实验。
在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。
四、实验环境
硬件:pc机;软件:单片机仿真软件proteus。
五、实验原理图
六、实验参考程序
#include<reg52.h>
#include<intrins.h>
void delay_ms(int n) //延时n毫秒
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<110;j++);
void main()
{
int i, num;
unsigned char p1;
unsigned char p0, p;
while(1)
{
for(i=0; i<3; i++) //间隔500ms先奇数亮再偶数亮,循环三次
{
P1=0xaa;
P0=p1;
delay_ms(500);
P1=0x55;
P0=p1;
delay_ms(500);
}
p1= 0xfe;
num=3;
while(num-- > 0) //一个灯上下循环三?
{
for(i=0; i<8; i++)
{
P0=p1;
delay_ms(100);
p1=_cror_(p1,1);
}
}
//两个分别从两边往中间流动三?
p1= 0xfe;
p0= 0x7f;
num=3;
while(num-- > 0)
{
for(i=0; i<4; i++) //让LED灯从两边向中间点亮
{
p1=_crol_(p1,1);
p0=_cror_(p0,1);
p=p1&p0;
delay_ms(100);
P1=p;
P0=p;
}
}
//再从中间往两边流动三次
p1= 0xef;
p0= 0xf7;
num=3;
while(num-- > 0)
{
for(i=0; i<4; i++)
{
p1=_crol_(p1,1);
p0=_cror_(p0,1);
p=p1&p0;
delay_ms(100);
P1=p;
P0=p;
}
}
//8个全部闪烁3次?
num=3;
while(num-- > 0)
{
p1=0;
delay_ms(500);
p1=1;
delay_ms(500);
}
break;
}
}
模拟演示图:
(1)模拟单片机的偶数灯亮(2)模拟单片机的奇数灯亮
(3)模拟单片机流水灯从两边到中间亮(4)模拟单片机流水灯从中间到两边亮。