单片机花样流水灯设计实验报告
51单片机流水灯实验报告
51单片机流水灯实验报告51单片机流水灯实验报告引言:51单片机是一种常用的微控制器,广泛应用于各种电子设备中。
流水灯实验是学习单片机编程的基础实验之一,通过控制多个LED灯的亮灭顺序,可以了解单片机的基本原理和编程方法。
一、实验目的本实验旨在通过使用51单片机,设计并实现一个简单的流水灯电路,加深对单片机原理的理解,掌握基本的单片机编程方法。
二、实验原理51单片机是一种8位微控制器,具有强大的功能和广泛的应用。
流水灯实验中,我们需要控制多个LED灯的亮灭顺序,通过编写程序,将指令发送给单片机,控制LED灯的亮灭。
三、实验器材1. 51单片机开发板2. LED灯若干3. 面包板4. 连接线四、实验步骤1. 将51单片机开发板连接到电脑上,打开开发板的编程软件。
2. 在编程软件中,新建一个工程,选择适合的单片机型号。
3. 编写程序,设置相应的引脚为输出模式,并配置流水灯的亮灭顺序。
4. 将单片机开发板与面包板连接,将LED灯连接到相应的引脚上。
5. 将编写好的程序下载到单片机中。
6. 打开电源,观察LED灯的亮灭顺序是否符合预期。
五、实验结果与分析经过实验,我们成功地实现了一个简单的流水灯电路。
LED灯按照设定的顺序亮灭,形成了流水灯的效果。
通过调整程序中的指令顺序,我们可以改变LED灯的亮灭顺序,实现不同的流水灯效果。
六、实验心得通过这次实验,我对51单片机的原理和编程方法有了更深入的了解。
流水灯实验是一种简单但基础的实验,通过实际操作和编程,加深了我对单片机的理解和掌握。
在实验过程中,我遇到了一些问题,如LED灯连接错误、程序逻辑错误等,但通过仔细检查和调试,最终成功解决了这些问题。
这次实验让我更加熟悉了单片机的应用,为以后更复杂的项目打下了基础。
七、实验拓展在掌握了基本的流水灯实验后,我们可以进一步拓展实验内容。
例如,可以增加控制开关,实现对流水灯的启停控制;可以设计不同的流水灯效果,如闪烁、变速等;还可以与其他传感器、模块进行组合,实现更多功能和效果。
单片机流水灯实验报告
单片机流水灯实验报告1. 实验目的本实验旨在通过使用单片机控制LED灯的亮灭来实现流水灯效果,以加深对单片机控制原理的理解,并培养学生动手实践的能力。
2. 实验器材•单片机开发板•面包板•LED灯•连接线•电源3. 实验原理流水灯是一种常见的LED灯效果,通过控制多个LED灯的亮灭顺序和速度,形成流动的效果。
在本实验中,我们使用单片机通过改变IO口的输出电平来控制LED灯的亮灭。
4. 实验步骤第一步:准备工作•将单片机开发板连接到电脑上,并确保单片机开发环境已经正确安装。
•将面包板连接到单片机开发板上的IO口。
•将LED灯连接到面包板上,确保连接正确。
第二步:编写程序在单片机开发环境中,编写下列代码:#include <reg52.h>sbit LED1=P1^0;sbit LED2=P1^1;sbit LED3=P1^2;sbit LED4=P1^3;void delay(int t) {int i, j;for(i=t;i>0;i--) {for(j=110;j>0;j--);}}void main() {while(1) {LED1=0;delay(1000);LED1=1;delay(1000);LED2=0;delay(1000);LED2=1;delay(1000);LED3=0;delay(1000);LED3=1;delay(1000);LED4=0;delay(1000);LED4=1;delay(1000);}}第三步:烧录程序将编写好的程序烧录到单片机开发板上,确保烧录成功。
第四步:实验测试•将单片机开发板连接到电源上,并打开开关。
•观察LED灯的亮灭情况,是否能够形成流水灯效果。
•如果效果与预期一致,则说明实验成功。
5. 实验结果分析经过实验测试,LED灯能够按照程序中设定的流水灯顺序亮灭,形成了流水灯效果。
说明通过单片机控制IO口输出电平能够实现对LED灯的控制,并且通过改变控制程序中的延时时间可以调整流水灯的速度。
单片机流水灯实验报告
单片机流水灯实验报告单片机流水灯实验报告引言:单片机是一种集成电路,具有微处理器、存储器和输入输出设备等功能,被广泛应用于各个领域。
流水灯是一种常见的实验项目,通过控制单片机的输出端口,使多个LED灯依次亮起,形成流动的效果。
本实验旨在通过搭建流水灯电路,了解单片机的基本原理和操作方法。
实验目的:1. 掌握单片机的基本工作原理;2. 学习使用单片机控制LED灯的亮灭;3. 熟悉流水灯电路的搭建和控制。
实验器材:1. 单片机开发板;2. LED灯若干;3. 连线电缆。
实验步骤:1. 将单片机开发板连接至电源,并接通电源开关;2. 将LED灯连接至单片机的输出端口,确保极性正确;3. 打开单片机开发板上的编程软件,编写流水灯控制程序;4. 将编写好的程序下载至单片机开发板;5. 按下开发板上的复位按钮,观察LED灯是否依次亮起。
实验结果:经过实验,我们成功搭建了单片机流水灯电路,并通过编写程序实现了流水灯的效果。
当按下复位按钮后,第一个LED灯亮起,随后依次是第二个、第三个……最后一个LED灯亮起,然后再从第一个开始循环。
整个过程形成了一个流动的效果。
实验分析:通过本次实验,我们深入了解了单片机的基本工作原理。
单片机通过控制输出端口的电平状态,来控制外部设备的亮灭。
在流水灯实验中,我们通过改变输出端口的状态,实现了LED灯的顺序亮灭。
同时,本次实验也让我们学会了使用单片机开发板上的编程软件。
通过编写程序,我们可以灵活控制单片机的输出端口,实现各种不同的功能。
在流水灯实验中,我们编写的程序控制了LED灯的亮灭顺序,形成了流动的效果。
实验总结:通过本次实验,我们不仅了解了单片机的基本原理和操作方法,还掌握了流水灯电路的搭建和控制。
单片机作为一种重要的集成电路,在各个领域都有广泛的应用。
通过学习和实践,我们可以进一步探索单片机的更多功能和应用。
在今后的学习和工作中,我们可以运用单片机的知识,设计和实现更加复杂和有趣的项目。
单片机实训报告——花样流水灯的制作
单片机实训报告——花样流水灯的制作班级:电气一班学号:110101127姓名:李亚龙一、花样流水灯的设计方案流水灯实际上就是一个带有八个发光二级管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
如果要让P0.0口的LED2亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.0~P0.7口的其他7个LED的电亮和熄灭的方法同LED2。
因此,要实现流水灯功能我们只要将发光二极管LED2~LED9依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
对8段LED数码管显示器的控制,包括“显示段”和“公共端”两个地方的控制。
其中显示段用来控制字符的形状,公共端用来控制若干个LED中的那一只被选中,前者称为“段选”,后者称为”位选”。
只有二者结合起来,才能在指定的LED上显示指定的字形。
显然,要显示某种字形就应该使此字形的相应字段点亮,按照dp、g、e、f、e、d、c、b、a的顺序,dp为最高位,a为最低位,引脚输入不同的8位二进制编码,可显示不同的数字或字符。
二、花样流水灯的硬件电路设计时钟电路是计算机的心脏,它控制着计算机的工作节奏,CPU 就是通过复杂的时序电路完成不同的指令功能的,89C52的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式,时钟信号由外部引入。
单片机有多种复位电路,本系统采用电平式复位与上电复位方式,如下图所示当上电时C1相当于短路时,使单片机复位,在正常工作时,按下复位键是单片机复位。
显示部分主要是由八个LED和四个七段数码管组成,八个LED 由限流电阻限流后接入89C52的P0口。
三、花样流水灯的软件设计#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit key3=P3^1;sbit key2=P3^2;sbit key1=P3^3;uchar code table[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09}; uchar code moshi1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchar code moshi2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code moshi3[]={0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00};uchar code moshi4[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};uchar code moshi5[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};uchar code moshi6[]={0x7e,0x3c,0x18,0x00,0x81,0xc3,0xe7,0xff};uchar moshi,dingshi; //模式,定时uchar shijian,k1; //时间控制uchar num0,num;void delay(uint x) //延时程序{uchar i;while(x--);for(i=0;i<120;i++);}void keyscan() //键盘扫描{if(key1==0){delay(10);if(key1==0) //按键1,模式循环{moshi++;if(moshi==7)moshi=1;TR0=1;k1=1;while(!key1);}}if(key2==0) //按键2,时间调整{delay(10);if(key2==0){shijian++;if(shijian==15)shijian=15;while(!key2);}}if(key3==0) //按键3,时间复位{delay(10);if(key3==0){shijian--;if(shijian==1)shijian=1;while(!key3);}}}void display() //数码管显示{P1=table[moshi];P2=0xfe; //从左向右显示delay(2);P1=0XFF;P2=0XFF; //数码管不显示delay(2);P1=table[dingshi/10]; //十位显示P2=0xfd;delay(2);P1=table[dingshi%10]; //个位显示P2=0xfe;delay(2);}void liushuideng() //流水灯显示{switch(moshi) //模式选择{case 1:P0=moshi1[num];break;case 2:P0=moshi2[num];break;case 3:P0=moshi3[num];break;case 4:P0=moshi4[num];break;case 5:P0=moshi5[num];break;case 6:P0=moshi6[num];break;}}void disp() //显示器{num++;if(num==8){num=0;dingshi--;if(dingshi==0){dingshi=shijian;moshi++;if(moshi==7)moshi=1;}}}void init() //初始化{TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;shijian=5;dingshi=5;moshi=0;P3=P0=0xff;num=num0=0;}void main(){init();while(1){keyscan(); //键盘扫描display(); //数码管显示if(k1==1) //模式选择liushuideng(); //流水灯显示}}void t0_time() interrupt 1 //中断{TH0=(65536-50000)/256;TL0=(65536-50000)%256;num0++;if(num0==6){num0=0;disp();}}四、总结实训中我发现主要问题是在焊接电路板的时候有虚焊,导致电路接触不良,还有多焊导致电路板损坏或短路。
单片机实训报告_流水灯
一、实验目的1. 掌握单片机的基本原理和操作方法。
2. 熟悉单片机编程环境Keil的使用。
3. 熟悉LED流水灯的原理和编程方法。
4. 培养动手实践能力和团队协作精神。
二、实验原理1. 单片机(Microcontroller Unit,MCU)是一种具有中央处理器(CPU)、存储器(RAM、ROM)和输入输出接口(I/O)等功能的集成电子电路。
它广泛应用于各种电子设备中,如家用电器、工业控制、汽车电子等。
2. LED(Light Emitting Diode,发光二极管)是一种半导体器件,具有单向导电性。
当电流通过LED时,会发出光亮。
3. 流水灯是一种通过控制LED灯的亮灭,模拟流水效果的电子装置。
在单片机控制下,可以实现不同形式的流水灯效果。
三、实验设备1. 单片机实验板(如STC89C52单片机实验板)2. LED灯若干3. 跳线若干4. 电阻若干5. 电源(5V)6. Keil软件四、实验步骤1. 硬件连接(1)将单片机的P1.0-P1.7引脚与LED灯的正极相连,负极接地。
(2)将电阻串联在LED灯和单片机引脚之间,起到限流作用。
(3)将单片机的VCC和GND分别连接到5V电源的正负极。
2. 软件编写(1)在Keil软件中创建一个新的项目,选择相应的单片机型号。
(2)编写主函数main(),实现流水灯的编程。
(3)初始化单片机的P1口为输出模式。
(4)定义延时函数Delay(),实现流水灯的延时效果。
(5)在主循环中,通过改变P1口的高低电平,控制LED灯的亮灭,实现流水灯效果。
(6)保存并编译程序。
3. 程序调试(1)将编译后的程序下载到单片机实验板中。
(2)观察LED灯的流水效果,检查程序是否正确。
(3)如有错误,修改程序并重新编译、下载。
五、实验结果与分析1. 实验结果通过实验,成功实现了LED流水灯效果,实现了不同形式的流水灯效果。
2. 实验分析(1)在实验过程中,学习了单片机的基本原理和操作方法,掌握了Keil软件的使用。
花样流水灯实训报告
51 单片机的时钟信号通常用两种电路形式得到:内部振荡方式和 外部振荡方式。
在引脚 XTAL1 和 XTAL2 外接晶体振荡器(简称晶振)或陶瓷谐振器, 就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器, 当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡 方式的外部电路如图 3-3 所示。
复位电路分为手动复位和自动复位,其中手动复位电路如图 3-1 所示,自动复位电路如图 3-2 所示。
图 3-1 手动复位电路
图 3-2 自动复位电路
图 3-1 所示的手动复位电路包含了自动复位的功能,当单片机上
7
电后,系统能够自动对单片机进行复位。当按下按钮时,也能起到复 位的功能。图 3-2 所示的自动复位电路只有在单片机上电时,才能起 到复位的功能。
4
连,从而实现了 4 个按键共用一个中断源的形式,节省了单片机的资 源。
当中断发生时单片机将正在执行的程序暂时放下而去处理中断 事件,当中断事件处理完毕后再接着去处理之前的事情,这样可以大 大降低单片机的资源,提高执行效率。
5
3 系统硬件设计
3.1 单片机介绍
单片机一词最初源于“Single-Chip Microcomputer”,简称 “SCM”。单片机也叫做“微控制器”或者“嵌入式微控制器”。它 不是完成某一个逻辑功能的芯片(芯片也称为集成电路块,它是 1958 年 9 月 12 日,在 Robert Noyce 的领导下,科研小组发明集成电路后 开始出现的一个名称),而是把一个微型计算机系统集成到一个芯片 上。概括的讲:一块芯片就成了一台计算机。它体积小、质量轻、价 格便宜,为学习、应用和开发提供了便利条件。近年来,微处理器已 广泛应用于多种领域,尤其是在智能仪器仪表中的应用更是如此,这 不仅引起了产品本身的变革,也深深地影响设计的理念的变革。智能 仪器仪表作为一种智能系统,其核心在于微处理器。基于微处理器的 智能系统设计,已成为目前电子设计领域的一个热点。智能系统是一 个复杂的系统,一般包含微处理器、按键与显示人机界面、A/D 转换、 D/A 转换等基本功能部件,同时也包含与应用领域相关的其他特殊部 件。智能系统一般需要在恶劣的环境下长期连续地工作,因此在满足 功能的基础上,其可靠性也是设计时需要考虑的一个方面,目前已经 普遍应用于通信、雷达、遥控和自动控制等各个领域中。在本次设计 中我选用的是 AT89S52 单片机。
单片机流水灯实验报告
单片机流水灯实验报告本实验旨在通过单片机控制LED灯的亮灭,实现流水灯效果。
通过对实验的设计、搭建和调试,我们可以更深入地理解单片机的工作原理和掌握相应的编程技巧。
实验器材和元件:1. 单片机,我们选用了STC89C52单片机作为控制核心;2. LED灯,我们使用8个LED灯作为实验的输出设备;3. 电阻,为了限流,我们使用了适当的电阻;4. 连接线、面包板等。
实验步骤:1. 搭建电路,首先,我们按照电路图将单片机、LED灯和电阻连接在一起,并将电路连接到电源上;2. 编写程序,接下来,我们使用C语言编写单片机的控制程序,实现LED灯的流水灯效果;3. 烧录程序,将编写好的程序通过烧录器烧录到单片机中;4. 调试程序,将烧录好的单片机连接到电路上,进行程序的调试和验证;5. 完善电路,根据实际调试情况,对电路进行必要的调整和完善,确保LED 灯能够按照预期的流水灯效果工作。
实验结果:经过反复调试和完善,我们成功实现了单片机控制LED灯的流水灯效果。
在程序控制下,8个LED灯按照顺序依次亮起并熄灭,形成了流水灯的效果。
整个实验过程非常顺利,取得了预期的效果。
实验心得:通过本次实验,我们对单片机的控制原理有了更深入的理解,也掌握了一定的C语言编程技巧。
在实验的过程中,我们遇到了一些问题,如LED灯未按预期工作、程序逻辑错误等,但通过分析和调试,最终都得到了解决。
实验不仅提高了我们的动手能力,也培养了我们的分析和解决问题的能力。
总结:本次实验不仅让我们熟悉了单片机的控制方法,也让我们体验了从实验设计到调试完善的整个过程。
通过这次实验,我们不仅学到了专业知识,也培养了动手能力和解决问题的能力。
希望在以后的学习和实践中,能够更好地运用所学知识,不断提升自己的能力。
以上就是本次单片机流水灯实验的报告内容,希望对大家有所帮助。
单片机最小系统实践花样灯与流水灯的实训报告参考模板
首先以 89C51 单片机原理图为蓝本,焊接单片机最小系统板并 上电测试成功;其次在最小板的开发区焊接 LED 电路并测试成功; 最后用 keil C 编程软件及 STC-ISP 下载软件完成 89C51 单片机对外 围流水灯设计的整体控制。
void delay() { unsigned int a; a=30000; while(a--); } void main() {
while(1) { p1_0=0; delay(); p1_0=1; delay();
p1_1=0; delay();
p1_1=1;
单片机最小系统实践花样灯与流水灯的实训报告
闪烁 顺序
单片机最小系统实践花样灯与流水灯的实训报告
2,软件程序: #include<reg51.h> sbit p1_0=P1^0; sbit p1_1=P1^1; sbit p1_2=P1^2; sbit p1_3=P1^3; sbit p1_4=P1^4; sbit p1_5=P1^5; sbit p1_6=P1^6; sbit p1_7=P1^7;
p1_4=0; delay(); p1_4=1; delay();
p1_3=0; delay(); p1_3=1; delay();
单片机最小系统实践花样灯与流水灯的实训报告
p1_2=0; delay(); p1_2=1; delay();
p1_1=0; delay(); p1_1=1; delay();
四.系统调试与实验现象:…………………………………………………………………………….11 五.实验心得体会(设计过程中出现的问题)………………………………11
实训报告单片机流水灯
一、实验目的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灯,实现了流水灯效果。
单片机流水灯实验报告
实验目的:实现单片机流水 灯功能
实验结果:LED灯按照预设 顺序依次点亮,实现流水灯
效果
分析与讨论:实验结果与预 期相符,验证了单片机流水
灯功能的实现。
实验结果分析
实验目的:验证单片 机流水灯控制电路的
设计与实现
实验设备:单片机、 LED灯、电阻、电源
等
实验步骤:编写程序、 连接电路、运行程序、
观察现象
实验过程中,对实验结果 的分析不够全面,容易导 致实验结论不准确。
实验过程中,对实验数据 的记录不够详细,容易导 致实验数据丢失。
实验过程中,对实验设备 的维护不够重视,容易导 致实验设备损坏。
实验过程中,对实验环境 的控制不够严格,容易导 致实验结果不准确。
对未来实验的展望
创新实验方法:尝试新的实 验方法,提高实验效果
掌握流水灯电路 的搭建方法
学习单片机的编 程和调试方法
掌握流水灯电路 的调试方法
添加标题
添加标题
添加标题
添加标题
培养实践操作和问题解决能力
通过实验操作, 提高动手能力
学习单片机的基 本原理和编程方
法
培养发现问题、 分析问题和解 决问题的能力
提高团队合作和 沟通能力
02
实验设备
单片机开发板
添加标题 添加标题 添加标题 添加标题 添加标题 添加标题
编写流水灯程序
确定流水灯的 硬件连接方式
编写流水灯控 制程序
编译并下载程 序到单片机
调试程序,确 保流水灯正常 工作
0
0
0
0
1
2
3
4
烧录程序到单片机
准备烧录器:选择合适的烧录器,如USB烧录器 连接单片机:将烧录器连接到单片机的烧录接口 打开烧录软件:启动烧录软件,选择要烧录的程序文件 开始烧录:点击烧录按钮,开始烧录程序到单片机 检查烧录结果:烧录完成后,检查单片机的运行情况,确保程序正常运行
51单片机流水灯实验报告
51单片机流水灯实验报告竭诚为您提供优质文档/双击可除51单片机流水灯实验报告篇一:51单片机流水灯实验报告51单片机流水灯试验一、实验目的1.了解51单片机的引脚结构。
2.根据所学汇编语言编写代码实现LeD灯的流水功能。
3.利用开发板下载hex文件后验证功能。
二、实验器材个人电脑,80c51单片机,开发板三、实验原理单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LeD灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的p2端口,对8个LeD灯进行控制,要实现逐个亮灯即将p2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。
使用rl或rra实现位的转换。
A寄存器的位经过rra之后转换如下所示:然后将A寄存器转换一次便送给p2即moVp2,A便将转换后的数送到了p2口,不断循环下去,便实现了逐位置一操作。
四、实验电路图五、通过仿真实验正确性代码如下:oRg0moVA,#00000001bLoop:moVp2,ARLAAcALLDeLAYsJmpLoopDeLAY:moVR1,#255DeL2:moVR2,#250DeL1:DJnZR2,DeL1DJnZR1,DeL2ReTend实验结果:六、实验总结这次试验我通过proteus仿真实现对流水灯功能的实现。
受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。
在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。
这些错误令我明白以后在试验中要步步细心,避免出错。
篇二:实验(:51单片机流水灯实验报告)一51单片机流水灯实验实验报告“流水灯”实验报告一、实验目的1.了解单片机I/o口的工作原理。
2.掌握51单片机的汇编指令。
3.熟悉汇编程序开发,调试以及仿真环境。
二、实验内容通过汇编指令对单片机I/o进行编程(本实验使用p0口),以控制八个发光二极管以一定顺序亮灭。
单片机流水灯实训报告
一、实训目的本次实训旨在通过实践操作,让学生了解单片机的基本原理和应用,掌握单片机编程和调试方法,培养学生的动手能力和创新意识。
通过流水灯的设计与实现,让学生熟悉单片机的I/O口操作、定时器使用、按键扫描以及延时函数编写等基本技能。
二、实训内容1. 单片机硬件介绍本次实训使用的单片机为STC89C52,它是一款性能稳定、功能强大的单片机,具有32个I/O口、2个定时器、1个串行通信接口等。
STC89C52单片机的内部结构包括中央处理器(CPU)、存储器、定时器、串行通信接口等模块。
2. 流水灯设计原理流水灯是一种常见的单片机应用,通过控制LED灯的亮灭来实现动态的灯光效果。
本实训中,流水灯的设计原理如下:(1)使用单片机的I/O口控制LED灯的亮灭。
(2)利用定时器产生定时中断,实现LED灯的闪烁效果。
(3)通过按键扫描控制流水灯的流动方向。
3. 实训步骤(1)硬件连接根据电路图连接单片机、LED灯、按键等元器件。
电路图如下:```+5V ----> LED1 ----> 电阻 ----> P1.0+5V ----> LED2 ----> 电阻 ----> P1.1+5V ----> LED3 ----> 电阻 ----> P1.2+5V ----> LED4 ----> 电阻 ----> P1.3+5V ----> 按键 ----> 电阻 ----> P3.2GND ----> LED1GND ----> LED2GND ----> LED3GND ----> LED4GND ----> 按键```(2)编程使用Keil uVision5软件编写程序。
程序主要分为以下几个部分:a. 初始化函数:设置单片机的I/O口、定时器等。
b. 定时器中断服务函数:控制LED灯的闪烁。
c. 按键扫描函数:检测按键状态,控制流水灯的流动方向。
单片机流水灯的实训报告
一、实验目的1. 熟悉单片机的基本原理和结构;2. 掌握单片机编程的基本方法和技巧;3. 学会使用单片机进行LED流水灯的编程和控制;4. 培养动手实践能力和团队协作精神。
二、实验原理流水灯实验是单片机入门级的经典实验,通过编程控制单片机的I/O口输出高低电平,从而驱动LED灯依次点亮,形成流水灯效果。
本实验采用AT89C52单片机作为核心控制单元,利用其P0端口连接8个LED灯,通过编写程序控制LED灯的点亮和熄灭,实现流水灯效果。
三、实验器材1. 单片机实验板一块;2. AT89C52单片机一个;3. 8个LED灯;4. 连接线若干;5. 电阻若干;6. 5V电源。
四、实验步骤1. 准备实验器材,搭建实验电路;2. 在Keil C51集成开发环境中编写流水灯程序;3. 编译、调试程序,确保程序正常运行;4. 将编译好的程序下载到单片机实验板上;5. 观察LED灯流水效果,分析程序运行过程。
五、实验内容1. 流水灯程序编写(1)初始化P0端口为输出模式,设置初值为0xFF,即8个LED灯全部熄灭;(2)通过延时函数实现LED灯的点亮和熄灭,形成流水效果;(3)编写循环语句,使LED灯依次点亮,实现流水灯效果;(4)编写延时函数,控制LED灯点亮和熄灭的时间间隔。
2. 流水灯控制(1)通过按键控制流水灯的开关;(2)通过按键控制流水灯的速度;(3)通过按键控制流水灯的方向(正向或反向)。
3. 流水灯程序调试(1)检查程序语法错误;(2)检查程序逻辑错误;(3)观察LED灯流水效果,确保程序正常运行。
六、实验结果与分析1. 实验结果通过编写程序,成功实现了LED流水灯的点亮和熄灭,实现了正向、反向流水效果,并可通过按键控制流水灯的开关、速度和方向。
2. 实验分析(1)流水灯程序编写过程中,掌握了单片机编程的基本方法和技巧,熟悉了延时函数、循环语句等编程语句的运用;(2)实验过程中,学会了使用单片机进行LED灯的控制,掌握了单片机I/O口编程的基本方法;(3)通过按键控制流水灯,提高了程序的功能性和实用性;(4)实验过程中,培养了动手实践能力和团队协作精神。
爱心花样流水灯实训报告
一、实训背景随着科技的发展,电子技术已经深入到我们生活的方方面面。
作为电子技术的重要应用之一,LED灯因其色彩鲜艳、亮度高、寿命长等优点,被广泛应用于各种场合。
本次实训旨在通过制作爱心花样流水灯,掌握LED灯的控制技术,提高电子制作能力,同时培养创新意识和团队协作精神。
二、实训目标1. 熟悉LED灯的工作原理和驱动方法。
2. 掌握单片机编程技术,实现LED灯的控制。
3. 设计并制作爱心花样流水灯,使其具有动态效果。
4. 提高动手能力和问题解决能力。
三、实训内容1. 方案设计本次实训采用51单片机作为控制核心,通过编程控制LED灯的亮灭,实现爱心花样的动态效果。
具体方案如下:(1)选用红色LED灯作为显示单元,以形成爱心图案。
(2)采用定时器中断技术,实现LED灯的动态闪烁。
(3)设计程序,实现爱心图案的循环显示。
2. 电路设计根据方案设计,绘制电路原理图,主要包括以下部分:(1)单片机最小系统:包括晶振、复位电路、电源电路等。
(2)LED驱动电路:将单片机的输出信号转换为适合LED灯的驱动信号。
(3)显示电路:将LED灯按照爱心图案进行排列。
3. 程序设计利用C语言编写程序,实现以下功能:(1)初始化定时器,设置中断频率。
(2)编写中断服务程序,控制LED灯的亮灭。
(3)设计爱心图案的显示程序,实现循环显示效果。
4. 实物制作根据电路原理图,焊接电路板,安装LED灯,连接电源,调试程序。
四、实训过程1. 电路焊接按照电路原理图,将单片机、LED灯、电阻等元器件焊接在电路板上。
2. 程序编写利用Keil软件编写程序,通过串口下载到单片机中。
3. 调试通过观察LED灯的显示效果,检查程序是否存在错误。
如有问题,修改程序并重新下载。
4. 优化根据实际情况,对程序进行优化,提高显示效果。
五、实训成果通过本次实训,成功制作了一款爱心花样流水灯。
该流水灯具有以下特点:1. 色彩鲜艳,动态效果明显。
2. 控制简单,易于操作。
单片机流水灯实验程序实验报告
单片机流水灯实验程序实验报告实验题目:流水灯实验2(利用查表方式)一、实验目的:1、学习利用查表的方式,使发光二极管(L1—L8)做舞台灯光效果的变化。
2、学习实用程序的编程规则。
二、实验仪器设备计算机一台、单片机在线系统一套(AY—MPU89S51E)三、实验电路:同实验一电路。
四、实验内容:灯光效果按如下规律显示:00111100,10000001,11000011,11100111,11111111,11100111,11000011,10000001,00000000,00011000,00111100,01111110 11111111,00000000,10101010,10101010,11001100,10000000,11000000,11100000,11110000,11111000,11111100 11111110,11111111,11111110,11111100,11111000,11110000 11100000,11000000,10000000,00000000。
扩展:自行设计花色效果表。
五、实验步骤:1、画出程序流程图。
3、程序输入到编程软件Keilc51中。
3、编译下载程序到系统实验板上的单片机中。
4、分析调试记录的内容和结果,找出程序中可能出错的地方,然后修改程序,继续调试、记录、分析,直到调试成功。
实验电路:U11939XTAL1P0.0/AD038P0.1/AD137P0.2/AD21836XTAL2P0.3/AD335P0.4/AD434 P0.5/AD533P0.6/AD6932RSTP0.7/AD721P2.0/A822P2.1/A923P2.2/A102924PSENP2.3 /A113025ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A15110P1.0/T2P3.0/RXD2 11P1.1/T2EXP3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0615P1.5 P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RDAT89C52程序流程图:开始(21H) 00HDPTR #TAB,(A) (21H)(A) @A+DPTR显示灯亮(A) (21H)+1N Y(A)=33?程序代码:ORG 0000HLJMP STARTORG 0100HSTART:MOV P1,#0FFHMOV 21H,#00HLOOP:MOV DPTR,#TABMOV A,21HMOVC A,@A+DPTRCPL AMOV P1,ALCALL DELAYINC 21HMOV A,21HCJNE A,#33,LOOPMOV 21H,#00HLJMP LOOPTAB: DB00111100,10000001,11000011,11100111,11111111,11100111,11000011,10000001 DB00000000,00011000,00111100,01111110,11111111,00000000,10101010,10101010 DB11001100,10000000,11000000,11100000,11110000,11111000,11111100,11111110 DB11111111,11111110,11111100,11111000,11110000,11100000,11000000,10000000, 00000000DELAY: MOV R5,#03HD0:MOV R6,#0FFHD1:MOV R7,#0FFHDJNZ R7,$DJNZ R6,D1DJNZ R5,D0RETEND程序运行正确,写入单片机后,二极管按照上述数值亮灭,展现灯光舞台效果。
最新单片机实验流水灯报告
最新单片机实验流水灯报告在本次实验中,我们设计并实现了一个基于单片机的流水灯系统。
该系统的主要功能是通过编程控制LED灯按照一定的顺序和时间间隔依次点亮和熄灭,从而形成流水灯效果。
以下是实验的详细报告:实验目的:1. 熟悉单片机的基本操作和编程。
2. 掌握GPIO(通用输入输出)的配置和使用。
3. 提高编程能力,理解时间控制的概念。
实验材料:- 单片机开发板- LED灯若干- 杜邦线若干- 电源适配器- 计算机及相应的编程软件实验步骤:1. 首先,将LED灯通过杜邦线连接到单片机的GPIO端口上。
确保每个LED连接正确,并且限流电阻已经安装以保护LED不被烧毁。
2. 使用编程软件编写单片机程序。
程序的主要逻辑是通过循环结构控制每个GPIO端口的高低电平,从而控制LED的亮灭。
3. 在程序中设置适当的延时函数,以控制LED点亮和熄灭的时间间隔,实现流水灯的效果。
4. 将编写好的程序通过编程软件下载到单片机中。
5. 连接电源,观察LED灯是否按照预期进行流水式点亮。
实验结果:通过实验,我们成功实现了流水灯效果。
LED灯按照预定的顺序依次点亮和熄灭,形成了流畅的动态效果。
通过调整延时参数,我们还可以改变流水的速度,从而观察不同设置下的灯光变化。
实验分析:在实验过程中,我们发现GPIO端口的配置对于LED的亮灭至关重要。
同时,延时函数的精确度直接影响了流水灯效果的平滑度。
通过对程序的不断调试和优化,我们加深了对单片机编程和硬件控制的理解。
结论:本次单片机实验不仅锻炼了我们的编程技能,而且增强了我们对电子硬件的认识和操作能力。
通过实际操作,我们更加深刻地理解了理论知识,为未来的电子设计和创新打下了坚实的基础。
单片机花样流水灯设计实验报告
**大学物理学院单片机花样流水灯设计实验课题:花样流水灯设计班级: 物理***姓名: ***学号: ……………【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。
制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。
本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。
本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。
该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
关键字:AT89C51 单片机流水灯数码管【概述】1. 单片机及其发展概况单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。
单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。
2. Protues仿真软件简介Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。
利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。
【实验设计目标】设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。
流水灯单片机实验报告
流水灯单片机实验报告流水灯单片机实验报告引言:单片机是一种集成电路芯片,具有微处理器的功能。
它广泛应用于各个领域,包括家电、电子产品、汽车等。
在本次实验中,我们将使用单片机实现一个简单的流水灯效果,通过这个实验,我们可以深入了解单片机的原理和应用。
实验目的:1. 了解单片机的基本原理和工作方式;2. 掌握单片机的编程方法和流程;3. 实现流水灯效果,并通过调整参数改变灯光的亮度和频率。
实验器材:1. 单片机开发板;2. LED灯若干;3. 连接线。
实验步骤:1. 连接电路:将LED灯与单片机开发板相连,确保连接正确无误。
2. 编写程序:使用C语言编写单片机程序,实现流水灯效果。
3. 烧录程序:将编写好的程序通过编程器烧录到单片机中。
4. 调试程序:将烧录好的单片机插入开发板,启动电源,观察LED灯的亮灭情况。
5. 调整参数:根据需要,可以通过修改程序中的参数来改变流水灯的亮度和频率。
实验结果:经过调试和调整参数,我们成功实现了流水灯效果。
LED灯在单片机的控制下,按照一定的顺序依次亮起和熄灭,形成了流水灯的效果。
通过修改程序中的参数,我们还可以调整灯光的亮度和频率,使得流水灯的效果更加丰富多样。
实验分析:通过这个实验,我们深入了解了单片机的原理和应用。
单片机作为一种集成电路芯片,具有微处理器的功能,可以通过编程来实现各种各样的功能。
在流水灯实验中,我们通过编写程序,控制LED灯的亮灭,实现了流水灯的效果。
通过调整参数,我们还可以改变灯光的亮度和频率,使得流水灯的效果更加丰富多样。
结论:本次实验通过使用单片机实现了流水灯效果,深入了解了单片机的原理和应用。
通过编写程序和调整参数,我们成功控制了LED灯的亮灭,实现了流水灯的效果。
这个实验不仅提高了我们对单片机的理解和应用能力,还培养了我们的动手能力和解决问题的能力。
希望通过这个实验,我们能够更好地掌握单片机的原理和应用,为今后的学习和工作打下坚实的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
**大学
物理学院
单片机花样流水灯设计实验
课题:花样流水灯设计
班级: 物理 ***
姓名: ***
学号: ……………
当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。
制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。
本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。
本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。
该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
关键字:AT89C51 单片机流水灯数码管
1. 单片机及其发展概况
单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。
单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。
2. Protues仿真软件简介
Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。
利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。
【实验设计目标】
设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。
【设计方案】
1.设计原理
AT89C51单片机内部包括微处理器、存储器(存放程序指令或数据的ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。
它们通过地址总线、数据总线和控制总线连接起来。
要实现流水灯功能,只要将发光二极管Led1~Led8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯状,设计花样时可依此类推。
此外还应注意的是人眼的视觉暂留效应以及单片机执行每条指令的时间很短,所以控制二极管亮/灭的时候应延时一段时间,否则将无法以肉眼观察到“流水”等花样效果。
2.电路原理图
3.器件配置清单
4.AT89C51简介
AT89C51单片机有多种封装形式,常见的有DIP封装、PLC封装、TQFP 封装,为了使用的方便通常使用DIP封装形式的单片机。
外部共有40个引脚,图6为引脚的排列图。
40个引脚大致可分为4大类:电源、时钟、控制和I/O引脚,
5.芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数
器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
6.实验流程
【程序编写】
ORG 30H
START:MOV DPTR,#TABLE
LP1:MOV A,#00H
MOVC A,@A+DPTR
CJNE A,#1BH,LP2
JMP START
LP2:MOV P2,A
LCALL DELAY
INC DPTR
JMP LP1
DELAY:MOV R7,#10H
DE1:MOV R6,#200
DE2:MOV R5,#248
DJNZ R5,$
DJNZ R6,DE2
DJNZ R7,DE1
RET
TABLE:DB 0feH,0fdH,0fbH,0f7H DB 0efH,0dfH,0bfH,07fH DB 0bfH,0dfH,0efH,0f7H
DB 0fbH,0fdH,0feH,0ffH
DB 0aaH,55H,0aaH,55H
DB 0aah,55h,0ffH
DB 0f0H,0fH,0f0H,0fH,0ffH
DB 33H,0ccH,33H,0ccH
DB 33H,0ccH,0ffH
DB 1BH
END
【仿真调试】
打开Keil C软件将上面程序输入,调试无误后编译输出".hex"文件,打开Proteus软件,将之前编译好的".hex"文件加入到芯片中,开始运行仿真。
数码管计时,每隔20秒,Led灯显示变换一次流水花样。
图一图二
图三图四
【设计实物图】
实物正面图实物反面图
【实验小结】
验证过程中,遇到两个问题:
1.调试后期有1个Led灯无法。
2.数码管不能正确显示数字。
检查后排除电路接错误的可能。
出现第一个问题是由于那1个LED灯烧坏。
第二个问题是数码管管脚插槽接触不良,无法正常运作,外接电线后能正常用作。
结束语
此次实验缺点在于器件排版不够合理美观,焊接工艺不足及对一些工具的安全使用、细小器件的保护意识不足。
基于Protues和Keil的单片机仿真开发及其应用,使得缺乏实验条件或实际焊接/制板难度较大的学习内容能够很方便地仿真研究,或者清晰地观察到不便观察实验现象的学习内容,因而利用仿真能够更快捷地了解及实现电子设计的自动化。