单片机并口简单应用(流水灯)实验报告
单片机实训报告_流水灯

一、实验目的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软件的使用。
单片机实验三-流水灯实验

电子信息工程系实验报告课程名称:单片机与接口技术实验项目名称:流水灯实验实验时间:2013-5-9 班级:通信10 姓名:Microlab_4 学号:实验目的:进一步熟悉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口内部结构如图3-1所示。
作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
为了能读到真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是1。
为了能正确读取引脚信号,锁存器必须先写1。
通过C51程序的编写,可以使I/O口的每根引脚在不同的时间输出不同的0、1信号,从而控制外部的设备。
实验环境:硬件:微机、单片机仿真器、单片机实验板、连线若干软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件实验内容及过程:一、开关控制LED灯。
1、电路图的设计。
(1)打开proteus软件,单击pick from libraries,打开搜索元器件窗口,如图 1-1 所示:图1-1 搜索元器件(2)添加元器件,修改元器件的参数,绘制流水灯原理图,设置上拉电阻为100欧,总电路图如图1-2 所示:图1-2 总电路图(3)①开关控制灯亮灭1)运行keil 4软件,启动后,点击Project菜单新建项目,新建项目界面如图1-3所示:图1-3 新建工程2)新建项目后,完成程序的写入,如图1-4所示:图1-4 代码3)设置输出HEX文件,勾选上Output下的Create HEX Fi:,单击确定保存,运行程序得到HEX文件,如图 1-5 所示:图1-5 设置输出HEX文件②开关按下灯闪三下步骤如上,程序代码如下图1-6:图1-6 代码二、开关控制流水灯。
单片机流水灯实验报告

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

第1篇实验名称:流水灯实验实验日期:2021年10月25日实验地点:实验室实验者:张三一、实验目的1. 了解流水灯的原理和组成;2. 掌握流水灯的制作方法;3. 培养动手能力和团队合作精神。
二、实验原理流水灯是一种通过改变电路中各个灯泡的连接方式,实现灯光顺序变化的电子装置。
其原理是利用555定时器产生一个周期性的方波信号,通过控制方波信号的占空比,实现不同灯泡的顺序点亮。
三、实验器材1. 555定时器1个;2. 集成电路板1块;3. 灯泡4个;4. 电阻4个;5. 电池1节;6. 导线若干;7. 万用表1个;8. 电烙铁1把;9. 剪线钳1把。
四、实验步骤1. 制作电路板:将555定时器、电阻、灯泡等元件焊接在电路板上。
2. 连接电路:将电池的正负极分别连接到电路板的电源端,将555定时器的输出端分别连接到灯泡的正极,将灯泡的负极分别连接到电路板的GND端。
3. 测试电路:使用万用表测量555定时器的输出电压,确保输出电压在正常范围内。
4. 调整占空比:通过改变电阻的阻值,调整555定时器的占空比,实现不同灯泡的顺序点亮。
5. 验证实验:观察流水灯的运行情况,确认实验是否成功。
五、实验结果与分析1. 实验成功:通过调整电阻的阻值,实现了4个灯泡的顺序点亮,实验成功。
2. 分析:在实验过程中,我们发现调整电阻的阻值可以改变555定时器的占空比,从而改变灯光的顺序。
当电阻阻值增大时,占空比减小,灯光点亮速度变慢;当电阻阻值减小时,占空比增大,灯光点亮速度变快。
六、实验结论通过本次流水灯实验,我们掌握了流水灯的原理和制作方法,提高了动手能力和团队合作精神。
实验结果表明,通过调整电阻的阻值,可以实现不同灯泡的顺序点亮,达到流水灯的效果。
七、实验反思1. 在实验过程中,我们发现电路板焊接过程中容易出现短路现象,因此在焊接过程中要仔细检查,确保电路板焊接正确。
2. 在调整电阻阻值时,要注意观察灯光的变化,以便找到最佳的电阻阻值。
实训报告单片机流水灯

一、实验目的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单片机流水灯试验一、实验目的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口),以控制八个发光二极管以一定顺序亮灭。
单片机并口简单应用(流水灯)实验报告

单片机并口简单应用(流水灯)实验报告实验一单片机并口简单应用一、实验目的1、了解单片机汇编语言程序的基本结构2、了解单片机汇编语言程序的设计和调试方法3、掌握顺序控制程序的简单编程二、实验仪器单片机开发板、万利仿真机、稳压电源、计算机三、实验原理1、流水灯硬件电路如图4-1所示,流水灯硬件电路移位寄存器74LS164、功能选择开关J502、二极管、三极管、单片机并口、限流电阻等组成。
发光二极管连接成共阳极结构。
发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。
因此,通过程序控制74LS164的Q0端。
Q0端输出0,公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。
图4-1流水灯电路图2、单片机流水灯程序设计上图可知,发光二极管要点亮,需要先把J502的2、3脚相连,三极管Q500导通,然后从P0口输出数据。
控制三极管导通程序控制三极管有两种方法,第一种:在74LS164的第8脚产生一个正脉冲,此时1脚为0,三极管就导通;为1,三极管就截止。
第二种:在单片机10模拟74LS164时序,一次输出一个字节,只要Q0=0即可控制三极管开通。
为1,三极管截止。
两种方法的程序流程如图4-2所示。
三极管导三极管导DIN=0,CLK=Q输出8位DIN=0输出数据=07FH产生流水灯效果程序三极管导通后,就可以从P0口输出数据控制发光二极管。
P0口输出数据既可以编写程序逐个输出,也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到P0口。
程序流程图如图4-3所示。
流水灯流水灯偏移位置为8P0口输出从程序存储器中取出延时秒偏移位置的数据P0口输出延时秒,偏移位置计数减1延时秒N取数完。
丫返回返回图4-3流水灯程序流程图四、实验内容1、直接输出法输出数据序列五、实验步骤及调试信息1、新建实验项目hua2、输入实验程序并补充完整程序如下:#include#defineuintunsignedintsbitCLK=P3A4;sbitDIN=P2A3;uintnum;uintcodetable={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};voiddelay(ui ntz){uinti,j;for(i=z;i>0;i--)for(j=100;j>0;j--);}voidmain{DIN=0;CLK=0;/**/delay(5);/*在74LS164的第8脚,产生一个正脉冲*/CLK=1;/*此时1脚为0,三极管就导通*/delay(5);/**/CLK=0;/**/while(1){for(num=0;num<8;num++){P0=table[num--];delay(500);}}}实验现象:全速运行程序,指示灯从第一个开始亮,8个指示灯依次亮了以后。
单片机流水灯实验报告

单片机流水灯实验报告:实验一:用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灯,实现流水灯效果。
通过本实验,我们希望达到以下目的:1.深入理解单片机的I/O端口的工作原理和使用方法。
2.掌握单片机定时器/计数器的工作原理和使用方法。
3.学会编写简单的单片机程序,实现特定的LED灯控制。
4.通过实践操作,提高单片机软硬件的综合应用能力。
二、实验设备1.单片机开发板2.电脑一台3.八个LED灯4.杜邦线若干5.电阻、电容等电子元件三、实验原理本实验采用AT89C51单片机作为主控芯片。
八个LED灯分别连接到P1端口的P1.0到P1.7。
通过编程控制P1端口的每一个引脚,实现对LED灯的亮灭控制。
使用定时器/计数器实现延时,达到流水灯效果。
四、实验步骤和内容1.搭建硬件电路将八个LED灯、一个上拉电阻以及相应的杜邦线连接至单片机开发板。
确保电源正确连接,并注意LED灯的长脚为正极,短脚为负极。
2.编写程序使用Keil C51编写程序,实现如下功能:点亮每个LED灯一定的时间,然后熄灭。
重复此过程,形成流水灯效果。
代码如下:#include <reg51.h> //包含51单片机的头文件#define LED P1 //定义LED为P1端口void delay(unsigned int time) //延时函数{unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<1275;j++);}void main() //主函数{while(1) //程序一直循环执行{unsigned char i=0; //定义一个变量i,用于循环控制LED灯while(i<8) //循环点亮每个LED灯{LED=~(0x01<<i); //点亮第i个LED灯delay(50000); //延时50ms(50*1275us)i++; //变量i加1,控制下一个LED灯}}}3.编译程序将程序编译为二进制文件,生成HEX文件。
单片机流水灯实验报告

实验目的:实现单片机流水 灯功能
实验结果: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。
单片机流水灯实训报告

一、实训目的本次实训旨在通过实践操作,让学生了解单片机的基本原理和应用,掌握单片机编程和调试方法,培养学生的动手能力和创新意识。
通过流水灯的设计与实现,让学生熟悉单片机的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. 按键扫描函数:检测按键状态,控制流水灯的流动方向。
单片机流水灯实验程序实验报告

单片机流水灯实验程序实验报告实验题目:流水灯实验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程序运行正确,写入单片机后,二极管按照上述数值亮灭,展现灯光舞台效果。
单片机流水灯实验报告

单片机流水灯实验报告一、实验目的1、熟练掌握AT89S52-?型开发板的使用方法和注意事项。
2、了解简单单片机应用系统的设计方法。
3、掌握应用KEIL软件编辑、编译源汇编程序的操作方法。
4、掌握应用USBISP烧录软件的操作方法。
5、帮助学生养成良好实验习惯。
二、实验内容在AT89S52-?开发板上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象。
三、实验说明当8255 的PA口有低电平输出时,相应的发光二极管就会点亮。
应用这一原理我们可以容易的点亮一个数码管,例如令PA口输出0111 1111时D1就会点亮。
若再把0111 1111向右循环一位,利用PA口输出,就会点亮D2。
在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水” 的现象。
五、实验原理图六、实验参考程序#include<reg52.h>#define uchar unsigned charships of 72 and a half the Harbour, like room Tao Yuan. Triangle at the cemetery (Shanghai, Nanjing and Hangzhou), and the small triangle (Soviet Union, Ka, Lake) where the hinterland, at the junction of Jiangsu, East, South and west sides respectively, and jiaxing in Zhejiang Province, Wuzhen, Nanxun town and connected. After the liberation, 17 townships, Yan Tomb, provided there is a town, District Administration had in town. A unique geographical environment, has become the military's battleground. On November 5, 1937, Japan 10th army landed in Hangzhou Bay, North Bay, on November 12, Shanghai fell. Part of the Japanese army to the North along the flood of jiaxing railway, Jiujiang road, invaded Wu Jiang. On November 18, the Japanese army occupied Wujiang city. Stationed in Wujiang's#define uint unsigned intuchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; sbit P00=P0^0;sbit P01=P0^1;void delay(uchar t) {uchar i,j;for(i=0;i<t;i++)for(j=0;j<110;j++); }void main(){uchar i;while(1){P00=1;delay(2000);P00=0;for(i=0;i<8;i++){P1=table[i];P2=table[i];delay(2000);}P01=1;delay(2000);P01=0;}}实物展示:ships of 72 and a half the Harbour, like room Tao Yuan. Triangle at the cemetery (Shanghai, Nanjing and Hangzhou), and the small triangle (Soviet Union, Ka, Lake) where the hinterland, at the junction of Jiangsu, East, South and west sides respectively, and jiaxing in Zhejiang Province, Wuzhen, Nanxun town and connected. After the liberation, 17 townships, Yan Tomb, provided there is a town, District Administration had in town. A unique geographical environment, has become the military's battleground. On November 5, 1937, Japan 10th army landed in Hangzhou Bay, North Bay, on November 12, Shanghai fell. Part of the Japanese army to the North along the flood of jiaxing railway, Jiujiang road, invaded Wu Jiang. On November 18, the Japanese army occupied Wujiang city. Stationed in Wujiang's(1)单片机最小系统板(2)自己焊制的集成最小系统板ships of 72 and a half the Harbour, like room Tao Yuan. Triangle at the cemetery (Shanghai, Nanjing and Hangzhou), and the small triangle (Soviet Union, Ka, Lake) where the hinterland, at the junction of Jiangsu, East, South and west sides respectively, and jiaxing in Zhejiang Province, Wuzhen, Nanxun town and connected. After the liberation, 17 townships, Yan Tomb, provided there is a town, District Administration had in town. A unique geographical environment, has become the military's battleground. On November 5, 1937, Japan 10th army landed in Hangzhou Bay, North Bay, on November 12, Shanghai fell. Part of the Japanese army to the North along the flood of jiaxing railway, Jiujiang road, invaded Wu Jiang. On November 18, the Japanese army occupied Wujiang city. Stationed in Wujiang's(3)自己制作的心形流水灯实验板(4)系统板与实验板的连接展示ships of 72 and a half the Harbour, like room Tao Yuan. Triangle at the cemetery (Shanghai, Nanjing and Hangzhou), and the small triangle (Soviet Union, Ka, Lake) where the hinterland, at the junction of Jiangsu, East, South and west sides respectively, and jiaxing in Zhejiang Province, Wuzhen, Nanxun town and connected. After theliberation, 17 townships, Yan Tomb, provided there is a town, District Administration had in town. A unique geographical environment, has become the military's battleground. On November 5, 1937, Japan 10th army landed in Hangzhou Bay, North Bay, on November 12, Shanghai fell. Part of the Japanese army to the North along the flood of jiaxing railway, Jiujiang road, invaded Wu Jiang. On November 18, the Japanese army occupied Wujiang city. Stationed in Wujiang'sships of 72 and a half the Harbour, like room Tao Yuan. Triangle at the cemetery (Shanghai, Nanjing and Hangzhou), and the small triangle (Soviet Union, Ka, Lake) where the hinterland, at the junction of Jiangsu, East, South and west sides respectively, and jiaxing in Zhejiang Province, Wuzhen, Nanxun town and connected. After the liberation, 17 townships, Yan Tomb, provided there is a town, District Administration had in town. A unique geographical environment, has become the military's battleground. On November 5, 1937, Japan 10th army landed in Hangzhou Bay, North Bay, on November 12, Shanghai fell. Part of the Japanese army to the North along the flood of jiaxing railway, Jiujiang road, invaded Wu Jiang. On November 18, the Japanese army occupied Wujiang city. Stationed in Wujiang's(5)环形流水灯效果展示2011年12月15日ships of 72 and a half the Harbour, like room Tao Yuan. Triangle at the cemetery (Shanghai, Nanjing and Hangzhou), and the small triangle(Soviet Union, Ka, Lake) where the hinterland, at the junction of Jiangsu, East, South and west sides respectively, and jiaxing in Zhejiang Province, Wuzhen, Nanxun town and connected. After the liberation, 17 townships, Yan Tomb, provided there is a town, District Administration had in town. A unique geographical environment, has become the military's battleground. On November 5, 1937, Japan 10th army landed in Hangzhou Bay, North Bay, on November 12, Shanghai fell. Part of the Japanese army to the North along the flood of jiaxing railway, Jiujiang road, invaded Wu Jiang. On November 18, the Japanese army occupied Wujiang city. Stationed in Wujiang's。
单片机实验报告

单片机实验报告单片机实验报告实验名称:LED流水灯设计一、实验目的1.熟悉单片机开发环境的使用方法;2.掌握单片机输入输出端口的配置和使用方法;3.理解LED流水灯的原理,并能够设计并实现简单的LED流水灯。
二、实验器材1.AT89S52单片机开发板;2.电脑;B数据线;4.杜邦线;5.LED灯若干;6.电阻若干;7.面包板。
三、实验原理LED流水灯就是多个LED灯按照一定的顺序依次点亮和熄灭,形成一个流水的效果。
实验中,通过单片机的输出口控制LED的亮灭,通过改变输出口信号的状态,实现LED流水灯的效果。
四、实验步骤1.将AT89S52单片机开发板连接到电脑上;2.打开单片机开发环境,创建一个新的程序文件;3.在程序文件中编写代码,配置端口和设置控制LED流水灯的逻辑;4.将程序烧录到AT89S52单片机上;5.将LED灯、电阻连接到开发板上的相应端口上;6.通过电脑上的开发环境,将程序下载到单片机上并运行。
五、实验结果与分析在实验中,我们通过编写的程序实现了LED流水灯的效果。
当程序烧录到单片机上并运行时,LED灯将按照程序中定义的顺序依次点亮和熄灭。
通过改变程序中的参数,我们可以控制LED流水灯的速度和效果。
六、实验总结通过这次实验,我对单片机的开发环境的使用方法有了更深入的了解,掌握了单片机输入输出端口的配置和使用方法。
同时,我也理解了LED流水灯的原理,并能够设计并实现简单的LED流水灯。
这次实验让我更加熟悉了单片机的应用,对我今后的学习和工作具有重要意义。
单片机流水灯实验报告

流水灯实习报告一、实验原理单片机通过P0口连接锁存器74ls273,P0同时作为低八位地址,实验板内P2口连接74ls138,任意一个输出连接74ls273片选,再将74ls273接八个LED灯,通过软件控制对74ls273送入显示数据就可以按要求显示了。
二、硬件原理图三、实验程序ORG 0000HAJMP STARTORG 001BHAJMP INTORG 0100H START:MOV SP,#60H MOV TMOD,#10H MOV TL1,#00H MOV TH1,#4CH MOV R0,#00HMOV R1,#20SETB TR1SETB ET1SETB EASJMP $INT:PUSH ACC PUSH PSWPUSH DPLPUSH DPHCLR TR1MOV TL1,#B0H MOV TH1,#3CH SETB TR1DJNZ R1,EXITMOV R1,#20MOV DPTR,#DATAMOV A,R0MOVC A,@A+DPTRMOV DPTR,#8000HMovx @DPTR,AINC R0ANL 00,#07HEXIT:POP DPHPOP DPLPOP PSWPOP ACCRETIDATA:DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,0HEND四、实验功能以实验机上74LS273做输出口,接八只发光二极管,编写程序,使开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去.五、实验总结在做本次实验时,首先要注意实验要求是用74LS273做输出口,所以不要用P1口作输出口。
在引入中断前,要注意保护现场。
单片机实验报告流水灯

单片机实验报告流水灯单片机实验报告:流水灯引言:单片机是现代电子技术中非常重要的一部分,它广泛应用于各个领域,如家电、汽车、通信等。
单片机实验是学习单片机的基础,通过实际操作来理解单片机的原理和应用。
本报告将介绍一个常见的单片机实验项目——流水灯实验。
一、实验目的流水灯实验旨在通过控制单片机的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口控制,还提高了我们的动手能力和解决问题的能力。
六、实验总结通过这个实验,我们深入了解了单片机的原理和应用。
单片机作为一种微型计算机,具有体积小、功耗低、成本低等优点,广泛应用于各个领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指示灯从左到右逐一变亮。
七、实验心得
通过本次的实验,我对单片机的基本使用和程序的编写有了初步的了解,但是在实验过程中对程序的编写还不够熟练,仍然需要继续学习。
八、思考题
1、请把学号后两位数进转换成二进制数,然后依次点亮其中为1对应的二极管,写出输出序列。例如,60号转换成二进制后是0011 1100B,依次点亮四个1对应的二极管,输出序列是0DFH, 0EFH,0F7H, 0FCH.(从低位到高位也可以)
40H,30H,10H,70H,04H,02H,01H,30H,30H,08H,02H,01H,04H,10H,50H
DelayNms:
LCALLDelay1ms
DJNZR7, $-3
RET
Delay1ms:
PUSH07
MOVR7,#250;1ms
NOP
NOP
DJNZR7, $-2
POP07
RET
LedLight:
图4-1 流水灯电路图
2、单片机流水灯程序设计
由上图可知,发光二极管要点亮,需要先把J502的2、3脚相连,三极管Q500导通,然后从P0口输出数据。
(1)控制三极管导通程序
控制三极管有两种方法,第一种:在74LS164的第8脚产生一个正脉冲,此时1脚为0,三极管就导通;为1,三极管就截止。
第二种:在单片机IO模拟74LS164时序,一次输出一个字节,只要Q0=0即可控制三极管开通。为1,三极管截止。
两种方法的程序流程如图4-2所示。
图4-2 流水灯位选信号控制
(2)产生流水灯效果程序
三极管导通后,就可以从P0口输出数据控制发光二极管。P0口输出数据既可以编写程序逐个输出,也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到P0口。
程序流程图如图4-3所示。
图4-3 流水灯程序流程图
答:
31号(0001 1111B)
输出序列是0EFH,0F7H, 0FCH.OFBH,0FAH.
2、参考实验内容2,编写程序把输出序列增加到30个。
答:
LCALL LEDSequence
SJMP START
LEDCLKbitP3.4
LEDDINbitP2.3
LedSequence:
LCALLLedLight
MOVR6,#30
MOVDPTR,#LedSequenceTab-1
LedSequence1:
MOVA,R6
MOVCA,@A+DPTR
CPLA
MOVP0,A
MOVR7,#200
LCALLDelayNms
DJNZR6,LedSequence1
RET
LedSequenceTab:
DB70H,30H,20H,10H,70H,04H,02H,60H,01H,60H,90H,40H,01H,60H,02H,
delay(5);/* */
CLK=0; /* */
(1)
{
for(num=0;num<8;num++)
{P0=table[num--];
delay(500);}
}
}
3、编译下载实验程序,全速运行
实验现象:全速运行程序,指示灯从第一个开始亮,8个指示灯依次亮了以后。指示灯就没有规律的几盏一起亮,原因是
实验一
一、实验目的
1、了解单片机汇编语言程序的基本结构
2、了解单片机汇编语言程序的设计和调试方法
3、掌握顺序控制程序的简单编程
二、实验仪器
单片机开发板、万利仿真机、稳压电源、计算机
三、实验原理
1、流水灯硬件电路
如图4-1所示,流水灯硬件电路由移位寄存器74LS164、功能选择开关J502、二极管、三极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,通过程序控制74LS164的Q0端。Q0端输出0,公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。
for(num=0;num<8;num++)
{P0=table[num--];
程序运行到num=0时,递减以后就为0FFH,此时程序的取值是任意的,修改如下:
for(num=0;num<8;num++)
{P0=table[num];
实验现象:全速运行程序,指示灯从第一个开始亮,8个指示灯依次亮起。
4、整理实验设备
四、实验内容
1、直接输出法输出数据序列
五、实验步骤及调试信息
1、新建实验项目hua
2、输入实验程序并补充完整
程序如下:
#include<reg51.h>
#define uint unsigned int
sbit CLK=P3^4;
sbit DIN=P2^3;
uint num;
uint code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
MOVB,#8
MOVA,#0FEH
CLRLEDCLK
CLRLEDDIN
LedLight1:
RLCA
MOVLEDDIN,C
SETBLEDCLK
NOP
CLRLEDCLK
DJNZB,LedLight1
RET
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=100;j>0;j--);
}
void main()
{
DIN=0;
CLK=0; /* */
delay(5);/*在74LS164的第8脚,产生一个正脉冲*/
CLK=1; /*此时1脚为0,三极管就导通 */