51单片机流水灯实验报告

合集下载

51单片机流水灯实验报告

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灯连接错误、程序逻辑错误等,但通过仔细检查和调试,最终成功解决了这些问题。

这次实验让我更加熟悉了单片机的应用,为以后更复杂的项目打下了基础。

七、实验拓展在掌握了基本的流水灯实验后,我们可以进一步拓展实验内容。

例如,可以增加控制开关,实现对流水灯的启停控制;可以设计不同的流水灯效果,如闪烁、变速等;还可以与其他传感器、模块进行组合,实现更多功能和效果。

单片机C51的LED流水灯实验报告

单片机C51的LED流水灯实验报告

实验3.1.2 数字量输出输出扩展——LED流水灯一、实验目的1、掌握单片机外设扩展的方法2、使用单片机和8255实现LED流水灯的控制。

二、实验内容使用汇编语言编程,功能为:通过KK1脉冲实现LED灯工作方式即时控制,完成LED 开关控制显示和LED左循环、右循环、间隔闪烁功能。

三、实验环境PC机一台,Proteus仿真软件(或TD-PIT实验系统)一套四、实验硬件电路图说明:U2为单片机SST89E554RC,U1为8255A,通过8255A的PB输出使LED工作,BUTTON 为脉冲开关。

五、程序流程图六、实验程序清单ORG 0000HAJMP 0100HORG 0100HMAIN:MOV TMOD,#60H MOV TH1,#0FFHMOV TL1,#0FFHMOV DPTR,#7300HMOV A,#80HMOVX @DPTR,ASETB TR1MOV DPTR,#7100HLEFT:MOV R0,#8MOV A,#01HAG1:MOVX @DPTR,ACALL DELAYRLC ADJNZ R0,AG1JBC TF1,RIGHTAJMP LEFTRIGHT:MOV R0,#8MOV A,#80HAG2: MOVX @DPTR,ACALL DELAYRRC ADJNZ R0,AG2JBC TF1,FLASHAJMP RIGHTFLASH:MOV R0,#8AG3: MOV A,#55HMOVX @DPTR,ACALL DELAYMOV A,#0AAHMOVX @DPTR,ACALL DELAYDJNZ R0,AG3JBC TF1,LEFTAJMP FLASHDELAY:MOV R1,#0FFHDEL0:MOV R2,#0FFHDEL: DJNZ R2,$DJNZ R1,DEL0RETEND七、实验步骤1、按实验电路图接线;2、编写实验程序,编译连接无误后进入调试状态(可用PROTEUS也可以用硬件调试);3、按动BUTTON(PROTEUS下)或KK1(实验箱),观察流水灯工作情况,验证程序功能。

电路板流水灯实训报告

电路板流水灯实训报告

一、实验目的1. 掌握电子电路板的基本制作流程,包括电路设计、元件焊接、电路调试等。

2. 熟悉流水灯电路的工作原理,理解其电路设计及编程方法。

3. 提高动手能力和电子电路分析能力。

二、实验原理流水灯电路是一种常见的电子电路,通过单片机或其他控制器控制LED灯的依次点亮和熄灭,形成流水效果。

本实验采用51单片机作为控制器,通过编写程序控制LED灯的亮灭顺序,实现流水灯效果。

三、实验器材1. 51单片机实验板2. LED灯8个3. 电阻(220Ω)8个4. 接线端子5. 编程器6. 电源7. 焊接工具四、实验步骤1. 电路设计根据实验要求,设计流水灯电路原理图。

电路主要由51单片机的P0口输出,连接8个LED灯和8个220Ω电阻组成。

电阻起到限流作用,保护LED灯不被烧毁。

2. 元件焊接根据电路原理图,将元件焊接在实验板上。

注意焊接顺序和焊接质量,确保电路连接正确。

3. 编程使用编程器将编写好的程序烧录到51单片机中。

程序主要实现以下功能:- 初始化P0口为输出模式;- 设置延时函数,控制LED灯的点亮和熄灭时间;- 循环控制P0口的值,实现LED灯的流水效果。

4. 电路调试连接电源,观察LED灯的流水效果。

若流水效果不理想,检查电路连接是否正确,调整延时函数参数,直至达到预期效果。

五、实验结果与分析实验成功制作了一块流水灯电路板,实现了LED灯的流水效果。

实验过程中,遇到以下问题:1. 电阻值选择不当,导致LED灯亮度不稳定。

2. 焊接过程中,个别焊点虚焊,导致电路连接不良。

针对以上问题,采取以下措施:1. 调整电阻值,使LED灯亮度均匀。

2. 重新焊接虚焊点,确保电路连接良好。

六、实验总结通过本次电路板流水灯实训,掌握了以下知识和技能:1. 电子电路板的基本制作流程。

2. 流水灯电路的工作原理及编程方法。

3. 电子元件焊接技巧和电路调试方法。

本次实验提高了自己的动手能力和电子电路分析能力,为以后的学习和工作打下了基础。

数电流水灯的实训报告

数电流水灯的实训报告

本次实训旨在通过实际操作,让学生掌握数电流水灯的制作原理、电路连接方法以及编程技巧。

通过制作数电流水灯,提高学生的电子电路设计能力、编程能力和动手实践能力,同时加深对单片机原理的理解。

二、实训环境1. 实训器材:51单片机开发板、LED灯条、电阻、电位器、连接线、面包板、编程软件等。

2. 实训场地:电子实验室。

三、实训原理数电流水灯是通过单片机控制LED灯条上的LED灯依次点亮,模拟流水灯效果。

具体原理如下:1. 单片机通过编程,控制各个LED灯依次点亮,实现流水灯效果。

2. 通过电位器调节LED灯的亮度,使流水灯效果更加自然。

四、实训过程1. 电路连接(1)将51单片机的I/O口与LED灯条上的LED灯依次连接。

(2)将电阻串联在LED灯两端,起到限流作用。

(3)将电位器连接在LED灯条的正极和地之间,用于调节亮度。

2. 编程(1)使用C语言编写单片机程序,实现LED灯依次点亮的功能。

(2)设置延时函数,控制LED灯点亮的时间间隔。

(3)使用电位器读取亮度值,调整LED灯亮度。

3. 调试(1)将编写好的程序下载到单片机中。

(2)观察LED灯流水灯效果,根据实际情况调整延时时间和亮度。

经过实际操作,成功制作出数电流水灯,实现了流水灯效果。

在调试过程中,根据实际情况调整了延时时间和亮度,使流水灯效果更加自然。

六、实训总结1. 通过本次实训,掌握了数电流水灯的制作原理和电路连接方法,提高了电子电路设计能力。

2. 学会了使用C语言编写单片机程序,提高了编程能力。

3. 增强了动手实践能力,提高了解决问题的能力。

4. 加深了对单片机原理的理解,为今后学习相关课程奠定了基础。

七、改进意见1. 在电路设计方面,可以考虑使用模块化设计,提高电路的稳定性和可维护性。

2. 在编程方面,可以尝试使用更高级的编程技巧,使流水灯效果更加丰富。

3. 在实训过程中,可以增加更多的实验内容,提高学生的综合能力。

通过本次实训,我深刻认识到理论知识与实践操作相结合的重要性。

51单片机实验报告(共五则)

51单片机实验报告(共五则)

51单片机实验报告(共五则)第一篇:51单片机实验报告51单片机实验报告实验一点亮流水灯实验现象 Led灯交替亮,间隔大约10ms。

实验代码#include 〈reg51、h> void Delay10ms(unsigned int c);voidmain(){)1(elihwﻩ{ ﻩP0= 0x00;Delay10ms(50);;ffx0 =0Pﻩﻩ;)05(sm01yaleDﻩ } } void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}} 实验原理W W hi i le(1)表示一直循环。

循环体内首先将P0 得所有位都置于零,然后延时约5 5 0*10=500ms,接着 0 P0 位全置于 1 1,于就是 D LED 全亮了。

接着循环,直至关掉电源..延迟函数就是通过多个for r 循环实现得。

实验 2 流水灯(不运用库函数)实验现象起初 led 只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后 led 除最后一个都亮,接着上述过程 #includemain(){unsigned char LED;LED = 0xfe;while(1){ ﻩ;DEL = 0PﻩDelay10ms(50);00x0 == 0P(fiﻩ {;1〈〈 DEL = DELﻩ)ﻩ;efx0 = DELﻩ} ﻩ}ﻩ} void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)—-b;0〉b;83=b(rofﻩ{ ﻩﻩﻩ;)--a;0>a;031=a(rofﻩ} ﻩ} ﻩ} 实验原理这里运用了C语言中得位运算符, , 位运算符左移, , 初始值得二进制为1111 1 110, 之后左移一次变成1111 1 100 0,当变成00000 0000 时通过 f if 语句重置 1 1 11 1 11110、延迟函数在第一个报告已经说出了,不再多说..实验 3 流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include 〈reg51、h> #include 〈intrins、h〉void Delay10ms(unsigned int c); void main(void){unsigned char LED;;EFx0 = DELﻩ)1(elihwﻩ{ ﻩP0 = LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_ = DELﻩ} ﻩ} void Delay10ms(unsigned in t c){unsigned chara, b;for(;c〉0;c——){ ﻩfor(b=38;b〉0;b—-){ ﻩﻩ;)-—a;0〉a;031=a(rofﻩ} ﻩ}}实验原理利用头文件中得函数,_cro l_(,), 可以比位操作符更方便得进行 2 2 进制得移位操作, , 比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据, , 由此比前一个例子不需要f if 语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与 A-F。

实训报告单片机流水灯

实训报告单片机流水灯

一、实验目的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灯,实现了流水灯效果。

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口),以控制八个发光二极管以一定顺序亮灭。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告:实验一:用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转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

51单片机流水灯实验报告

51单片机流水灯实验报告

51单片机流水灯实验报告一、实验目的1.熟悉51单片机的硬件资源2.掌握51单片机的I/O口编程3.掌握51单片机的定时器/计数器编程二、实验原理流水灯是一种简单的电子设计,通过依次点亮和熄灭多个LED灯来形成流水灯的效果。

本实验使用的是51单片机,它有40个I/O口和3个定时器/计数器,可以方便地实现流水灯的效果。

三、实验器材1.51单片机开发板B数据线3.LED灯若干4.面包板5.连线材料(公对公、公对母杜邦线)四、实验过程1.准备工作:a.将51单片机开发板和LED灯连接起来,将LED灯依次插在面包板上,并与51单片机的I/O口相连接。

b.连接电脑与51开发板,使用USB数据线将它们连接起来。

2.编写程序:a. 打开Keil开发环境,新建一个工程。

b.在C代码文件中编写流水灯的控制程序,并引用51单片机的头文件和IO口控制相关的函数。

代码示例:```c#include <reg51.h>sbit LED1 = P1^0;sbit LED2 = P1^1;sbit LED3 = P1^2;sbit LED4 = P1^3;sbit LED5 = P1^4;void delay(unsigned int t)while(t--)for(unsigned int i = 0; i < 125; i++);}void maiwhile(1)LED1=0;//点亮LED1delay(1000); // 延时LED1=1;//熄灭LED1LED2=0;//点亮LED2delay(1000); // 延时LED2=1;//熄灭LED2LED3=0;//点亮LED3delay(1000); // 延时LED3=1;//熄灭LED3LED4=0;//点亮LED4delay(1000); // 延时LED4=1;//熄灭LED4LED5=0;//点亮LED5delay(1000); // 延时LED5=1;//熄灭LED5}}```3.烧录程序:a.将开发板上的烧录开关调整为“USB”模式。

单片机流水灯实验报告

单片机流水灯实验报告

实验目的:实现单片机流水 灯功能
实验结果:LED灯按照预设 顺序依次点亮,实现流水灯
效果
分析与讨论:实验结果与预 期相符,验证了单片机流水
灯功能的实现。
实验结果分析
实验目的:验证单片 机流水灯控制电路的
设计与实现
实验设备:单片机、 LED灯、电阻、电源

实验步骤:编写程序、 连接电路、运行程序、
观察现象
实验过程中,对实验结果 的分析不够全面,容易导 致实验结论不准确。
实验过程中,对实验数据 的记录不够详细,容易导 致实验数据丢失。
实验过程中,对实验设备 的维护不够重视,容易导 致实验设备损坏。
实验过程中,对实验环境 的控制不够严格,容易导 致实验结果不准确。
对未来实验的展望
创新实验方法:尝试新的实 验方法,提高实验效果
掌握流水灯电路 的搭建方法
学习单片机的编 程和调试方法
掌握流水灯电路 的调试方法
添加标题
添加标题
添加标题
添加标题
培养实践操作和问题解决能力
通过实验操作, 提高动手能力
学习单片机的基 本原理和编程方

培养发现问题、 分析问题和解 决问题的能力
提高团队合作和 沟通能力
02
实验设备
单片机开发板
添加标题 添加标题 添加标题 添加标题 添加标题 添加标题
编写流水灯程序
确定流水灯的 硬件连接方式
编写流水灯控 制程序
编译并下载程 序到单片机
调试程序,确 保流水灯正常 工作
0
0
0
0
1
2
3
4
烧录程序到单片机
准备烧录器:选择合适的烧录器,如USB烧录器 连接单片机:将烧录器连接到单片机的烧录接口 打开烧录软件:启动烧录软件,选择要烧录的程序文件 开始烧录:点击烧录按钮,开始烧录程序到单片机 检查烧录结果:烧录完成后,检查单片机的运行情况,确保程序正常运行

流水灯控制的实验报告

流水灯控制的实验报告

一、实验目的1. 熟悉流水灯控制电路的原理和设计方法;2. 掌握使用单片机控制LED灯流水灯的方法;3. 培养动手实践能力和创新意识。

二、实验原理流水灯是一种常见的LED灯控制方式,通过单片机对LED灯进行控制,使LED灯按照一定的规律依次点亮和熄灭,形成动态的流水效果。

本实验采用51单片机作为控制器,通过编程实现对LED灯流水灯的控制。

流水灯的控制原理如下:1. 将LED灯连接到单片机的P0口,每个LED灯对应一个P0口的引脚;2. 编写程序,使单片机依次对P0口的引脚进行赋值,从而控制LED灯的亮灭;3. 通过延时函数实现LED灯的流水效果。

三、实验器材1. 51单片机实验板;2. 8个LED灯;3. 电阻(阻值约为220Ω);4. 连接线;5. 编程器;6. 示波器(可选)。

四、实验步骤1. 将LED灯按照电路图连接到实验板上,确保每个LED灯的正极连接到单片机的P0口对应引脚,负极连接到GND;2. 编写程序,实现LED灯流水灯的控制。

程序如下:```c#include <reg51.h>void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 120; j++); }void main() {while (1) {P0 = 0x01; // 第一个LED灯亮 delay(500);P0 = 0x02; // 第二个LED灯亮 delay(500);P0 = 0x04; // 第三个LED灯亮 delay(500);P0 = 0x08; // 第四个LED灯亮 delay(500);P0 = 0x10; // 第五个LED灯亮 delay(500);P0 = 0x20; // 第六个LED灯亮 delay(500);P0 = 0x40; // 第七个LED灯亮 delay(500);P0 = 0x80; // 第八个LED灯亮delay(500);P0 = 0xFF; // 所有LED灯亮delay(500);P0 = 0x00; // 所有LED灯灭delay(500);}}```3. 将编写好的程序烧录到单片机中,并上电运行;4. 观察LED灯流水灯的效果,分析程序运行过程。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验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。

基于51单片机的流水灯实训报告.doc

基于51单片机的流水灯实训报告.doc

基于51单片机的流水灯实训报告.doc一、实训背景基于51单片机的流水灯是单片机学习的基础实训之一,它需要我们掌握单片机的IO 口输入输出、定时器的应用以及编程能力等知识点。

通过设计与搭建流水灯电路,可以提高学生的实际操作能力,培养学生的动手能力与创新能力,同时也为后续的单片机项目实践打下基础。

二、实训设备1. 51单片机2. LED灯3. 数字万用表4. 面包板5. 杜邦线等。

三、实训步骤1. 搭建电路。

将LED灯连接在P1口上,采用共阴极的接法,多个LED灯共用一个负极,正极逐个连接。

连接好之后,选择不同的端口进行实验,一般可以选择P1口,也可以根据需要选择其他IO口。

2. 编写程序。

根据流水灯的原理,我们可以采用定时器的方式来实现。

程序的基本思路是通过不断计时,在每个时间段内依次点亮LED灯,从而实现灯的流动效果。

具体实现代码如下:```#include<reg52.h>#define FREQ_OSC 12000000UL // 定义晶振频率typedef unsigned char u8; //定义无符号字符型u8 code LedCode[]={0xEF,0xDF,0xBF,0x7F,0xBF,0xDF,0xEF,0xFF};u8 k = 0;void Delay10ms(u8 t) //延迟函数 10us{u8 i;while(t--){for(i=0; i<169; i++);}}// 定时器中断函数void Timer0() interrupt 1{TH0 = 0xFC; //重新赋值 2msTL0 = 0x67;k++; //定时器中断计数器加1if(k == 8) k = 0; //八个LED灯流水完毕,重新开始P1 = LedCode[k];}使用单片机编程器将程序烧录进51单片机中,烧录完成后将单片机插入面包板中即可进行实验。

四、实验效果经过上述步骤的操作,实训设备中的LED灯会呈现流水效果,即每个灯在一定时间后依次亮起。

实验一-51单片机流水灯实验-实验报告5页

实验一-51单片机流水灯实验-实验报告5页

实验一-51单片机流水灯实验-实验报告5页实验目的:通过51单片机控制LED流水灯的实验,提高学生对于51单片机I/O端口控制的掌握程度,并加深对于“流水灯原理”的理解,在此基础之上,提高同学们对于算法的理解与启发式思路。

实验器材:1. 计算机及Keil C51开发软件。

2. STC89C52单片机开发板一块。

3. LED灯若干(使用的LED有红、黄、绿、蓝、紫共5种,将每种颜色灯各6枚组合成一共30颗灯)。

4. 单片机烧录器。

实验原理:数码管实验就是在P0口中,以位选方式驱动数码管,以位选控制器件的组成电路。

流水灯实验就是在P1口中,以位移方式驱动LED灯,以主控程序的组成电路。

实验内容:实验中使用Keil C51软件编写程序,由程序控制单片机的P1口输出电平,从而控制LED的灯光闪烁。

LED灯的控制方式为从左到右控制LED逐层点亮或逐层熄灭,或者从左到右逐层递增亮度或递增颜色。

另外,LED灯的控制还可以从中间开始点亮或者点熄,并在两边逐层变化。

实验时,需要先理清楚流水灯的控制原理,明确各个控制变量的功能,并制定出相应的算法,在程序中进行实现。

实验步骤:1. 将30个LED灯按照左到右的次序排列好,将其中一个LED固定在开发板上的对应P1口位置上。

2. 根据实验要求,编写一个程序,对于LED的灯光状态进行控制,使LED灯从左到右依次变亮或变暗。

编写程序时可以采用多种实现方式,如如果使用循环语句,可以循环控制LED序列中的每个灯的亮度状态,使得程序能够不断运行直到停止。

3. 编写完成程序后,通过单片机烧录器,将程序烧录到开发板上,并将开发板上的电源连接上。

4. 开发板接通电源后,可以看到电路中的LED发出不同的亮光信号,如果控制程序设计得好,可以实现一些比较有意思的效果,如从起始位置到中间逐渐点亮,或者从中间到两侧依次点亮,等等。

实验结果:通过程序的编写和烧录,可以实现对于LED流水灯的控制。

程序运行期间会通过P1口输出电平信号,控制LED灯的点亮和熄灭,从而实现LED的流水灯效果。

基于51单片机的流水灯设计报告

基于51单片机的流水灯设计报告

自动化技术综合实训报告实训题目:基于单片机的流水灯设计院系:信自学院自动化系专业:自动化班级:自动化XXX班姓名:XXX学号:XXX指导教师:XXX实训地点:XXX开课时间:.1 - 2013.7.12目录1实训目的...............................................................................................................................- 3 -2实训要求...............................................................................................................................- 3 -3绪论.......................................................................................................................................- 4 -引言.......................................................................................................................- 4 -发展状况...............................................................................................................- 4 -数字单片机的技术发展...............................................................................- 5 -内部结构的进步................................................................................- 5 -功耗、封装及电源电压的进步........................................................- 6 -工艺上的进步....................................................................................- 6 -单片机应用的可靠性技术发展...................................................................- 7 -EFT(Ellectrical Fast Transient)技术 ...................................- 7 -低噪声布线技术及驱动技术............................................................- 8 -采用低频时钟....................................................................................- 8 -4基于单片机的流水灯设计功能描述及设计背景...............................................................- 9 -功能描述...............................................................................................................- 9 -设计背景...............................................................................................................- 9 -5基于单片机的流水灯设计系统总体(方案)设计........................................................ - 10 -设计思路............................................................................................................ - 10 -6基于单片机的流水灯设计基本原理分析及设计说明.................................................... - 10 -系统硬件电路图的绘制.................................................................................... - 10 -硬件详细设计:................................................................................................ - 12 -复位电路部分............................................................................................ - 12 -晶振部分.................................................................................................... - 13 -LED显示部分............................................................................................. - 13 -程序流程图:.................................................................................................... - 14 -7软硬件调试、运行结果及分析........................................................................................ - 15 -软件编程............................................................................................................ - 15 -位控法........................................................................................................ - 15 -循环移位法................................................................................................ - 16 -查表法.........................................................................................................- 17 -汇编语法要求、规则................................................................................ - 18 -Proteus仿真......................................................................................................- 20 -8总结与体会........................................................................................................................ - 28 -9谢词.................................................................................................................................... - 29 -10参考文献.................................................................................................................... - 30 -11附录............................................................................................................................ - 31 -电路原理总图.................................................................................................... - 31 -PCB印刷版总图................................................................................................. - 32 -单片机实物总图................................................................................................ - 33 -元器件清单........................................................................................................ - 34 -程序源代码清单................................................................................................ - 35 -基于单片机的流水灯设计杜春香1实训目的1、训练学生综合运用己学课程的基本知识,掌握单片机应用系统的开发设计方法和步骤。

51单片机的流水灯实验

51单片机的流水灯实验

实验一流水灯实验一、实验目的1、简单I/O引脚的输出2、掌握软件延时编程方法3、简单按键输入捕获判断二、实验实现的功能1、开机是点亮12发光二极管,闪烁三下2、按照顺时针循环依次点亮发光二极管3、通过按键将发光二极管的显示改为顺逆时针方式三、系统硬件设计1、元器件STC51单片机,MAX232芯片,晶振,共阴极数码管,PC线路板,排针、电阻、电容、发光二极管、开关若干,串行接口,USB数据接口以及接口数据线2、原理电路四、系统软件设计1、软件开发环境:2、使用语言:C513、程序内容:见附表五、实验过程中遇到的问题及解决方法1.首次程序运行时,采用VC++6.0环境,而不是keil uvision3,程序报错,不支持C51头文件。

2.程序载入单片机时候出现故障,未检查出错误原因,请教他人后发现载入的不是hex文件,重新生成文件后载入,运行实验成功。

指导老师签字:日期:程序附表#include <reg51.h>unsigned int m,n;signed int i=11;sbit P32=P3^2 ;sbit P33=P3^3 ;sbit P34=P3^4 ;sbit P35=P3^5 ;sbit h1=P3^6;sbit h2=P3^7;sbit k=P0^5;unsigned char table1[]={1,1,1,1,1,1,1,1,0,1,1,1};unsigned char table2[]={1,1,1,1,1,1,1,1,1,0,1,1} ;unsigned char table3[]={1,1,1,1,1,1,1,1,1,1,0,1};unsigned char table4[]={1,1,1,1,1,1,1,1,1,1,1,0};unsigned chartable5[]={0xfe,0x0fd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff}; void keyscan1() ;void keyscan2() ;void delay(unsigned int z){unsigned int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void keyscan1(){h1=0,h2=1;if(k==0){delay(10);if(k==0){ while (1){for(i=i;i>-1;i--){P32=table1[i];P33=table2[i];P34=table3[i];P35=table4[i];P2=table5[i];delay(1000); keyscan2();}i=11;}}}}void keyscan2(){h1=1,h2=0;if(k==0){delay(10);if(k==0){while (1){for(i=i;i<11;i++){ P32=table1[i];P33=table2[i];P34=table3[i]; P35=table4[i];P2=table5[i]; delay(1000);keyscan1();}i=0;}}}}void main(void){for(m=0;m<3;m++){P32=0,P33=0,P34=0,P35=0, P2=0x00;delay(1000);P32=1,P33=1,P34=1,P35=1,P2=0xff;delay(1000);}while (1){for(i=0;i<12;i++) { P2=table5[i];P32=table1[i];P33=table2[i]; P34=table3[i];P35=table4[i]; keyscan1();delay(1000);}}}。

按键控制流水灯实训报告

按键控制流水灯实训报告

一、实训目的1. 熟悉51单片机的I/O口编程,掌握按键输入和LED输出控制的基本方法。

2. 学习单片机程序设计的基本思路,提高编程能力。

3. 培养动手实践能力,提高电路焊接和调试水平。

二、实训原理1. 单片机I/O口编程:51单片机的I/O口可以编程设置为输入或输出模式。

在本实训中,我们将I/O口配置为输出模式,用于控制LED灯的亮灭;同时,将I/O口配置为输入模式,用于检测按键状态。

2. 按键输入:当按键未被按下时,单片机通过检测I/O口输入电平,判断按键是否处于高电平状态;当按键被按下时,单片机检测到低电平状态。

3. LED输出:单片机通过编程控制I/O口输出电平,从而控制LED灯的亮灭。

在本实训中,我们通过依次点亮LED灯来实现流水灯效果。

4. 流水灯控制逻辑:根据按键状态,单片机在无限循环中不断检测按键状态,并改变流水灯的方向。

三、实训步骤1. 准备工作:准备51单片机开发板、按键、LED灯、电阻等元器件,以及相关编程软件。

2. 电路连接:按照电路图连接好51单片机、按键、LED灯和电阻等元器件。

3. 编程:使用Keil C51集成开发环境编写程序,实现按键控制流水灯功能。

4. 调试:将编写好的程序烧录到单片机中,进行电路调试。

5. 测试:验证按键控制流水灯功能是否正常。

四、程序设计1. 初始化I/O口:将P1口配置为输出模式,用于控制LED灯;将P3口配置为输入模式,用于检测按键状态。

2. 按键检测:在主循环中,不断检测P3口状态,判断按键是否被按下。

3. 流水灯控制:根据按键状态,控制LED灯依次点亮,实现流水灯效果。

4. 延时函数:为了使流水灯效果更加明显,使用延时函数控制LED灯点亮时间。

5. 按键状态处理:当检测到按键被按下时,改变流水灯方向。

五、实训结果与分析1. 实训结果:通过编程和调试,成功实现了按键控制流水灯功能。

2. 分析:(1)I/O口编程:通过编程将51单片机的I/O口配置为输入或输出模式,是实现流水灯功能的基础。

C51单片机实验报告流水灯交通灯定时器双机交互时钟

C51单片机实验报告流水灯交通灯定时器双机交互时钟

C51单片机实验报告流水灯交通灯定时器双机交互时钟C51单片机实验报告流水灯交通灯定时器双机交互时钟学号:班级:自动化10 班姓名:张指导老师:胡2019.12单片机核心板实验要求一、流水灯实验、实验目的:) 简单I/O 引脚的输出2 ) 掌握软件延时编程方法3 ) 简单按键输入捕获判断 2 、完成功能要求) 开机是点亮12 发光二极管,闪烁三下2 ) 按照顺时针循环依次点亮发光二极管3 ) 通过按键将发光二极管的显示改为顺逆时针方式二、定时器或实时时钟实验、实验目的) 数码管动态显示技术2 ) 定时器的应用3 ) 按键功能定义 2 、完成功能要求) 通过按键可以设定定时时间,启动定时器,定时时间到,让12 个发光二极管闪烁,完成定时器功能。

) 实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。

上述二个功能至少完成一种功能。

三、双机通信实验1 、实验目的UART 串行通信接口技术应用2 、完成功能要求用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。

四、交通灯实验1 、实验目的1 )按键、数码管、发光二极管综合应用编程技术2 )数据存储于EEPRO的技术(也可以不使用)3 )定时中断技术4 )按键中断技术2 、完成功能要求)对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。

)设定参数掉电后不丢失(如果不使用EEPRO,此功能可以不实现)。

)紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。

再按该键,恢复正常显示。

实验一流水灯实验一、实验目的1 )简单I/O 引脚的输出2 )掌握软件延时编程方法 3 )简单按键输入捕获判断二、实验实现的功能 1 )开机是点亮12发光二极管,闪烁三下 2 )按照顺时针循环依次点亮发光二极管 3 )通过按键将发光二极管的显示改为顺逆时针方式三、系统硬件设计1 )如单片机核心板所示的硬件电路。

四、系统软件设计设计思路:1 )定义数组使得调用数组可以使led 灯能够顺时针和逆时针显示;2 )将按键的输入端全部置零,做单独按键使用;3 )利用“ while ”循环使得数码管可以闪烁三下;)利用“ for ”循环使得小灯能够依次点亮一个周期;5 )将以上思想汇总,编程,实现功能。

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

51单片机流水灯试验
一、实验目的
1.了解51单片机的引脚结构。

2.根据所学汇编语言编写代码实现LED灯的流水功能。

3.利用开发板下载hex文件后验证功能。

二、实验器材
个人电脑,80c51单片机,开发板
三、实验原理
单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。

使用rl或rr a实现位的转换。

A寄存器的位经过rr a之后转换如下所示:
然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

四、实验电路图
五、通过仿真实验正确性
代码如下:ORG 0
MOV A,#00000001B
LOOP:MOV P2,A
RL A
ACALL DELAY
SJMP LOOP
DELAY:MOV R1,#255
DEL2:MOV R2,#250
DEL1:DJNZ R2,DEL1
DJNZ R1,DEL2 RET
End
实验结果:
六、实验总结
这次试验我通过Proteus仿真实现对流水灯功能的实现。

受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。

在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。

这些错误令我明白以后在试验中要步步细心,避免出错。

相关文档
最新文档