单片机2流水灯

合集下载

单片机跑马灯(流水灯)控制实验报告

单片机跑马灯(流水灯)控制实验报告

单片机跑马灯(流水灯)控制实验报告实验目的:本实验旨在通过使用单片机对LED灯进行控制,实现跑马灯(流水灯)的效果,同时熟悉单片机编程和IO口的使用。

实验器材:1)STC89C52单片机2)最基本的LED灯3)面包板4)若干跳线实验过程:1.硬件连接:将单片机的P2口与面包板上的相应位置连接,再将LED灯接入面包板中。

2.编写程序:按照题目要求编写所需程序。

3.单片机烧录:将程序烧录进单片机中,即可实现跑马灯效果。

程序详解:1. 由于LED灯是呈现亮灭效果,我们要编写程序来控制LED的亮灭状态。

2. 在程序中,我们通过P2口控制LED灯的亮灭状态。

例如,若要让LED1亮,我们就将P2口的第一个引脚设置为低电平(0),此时LED1就会发光。

同样地,若要LED2,LED3等依次点亮,则需要将P2口的第二个、第三个引脚设置为低电平,依此类推即可。

3. 接下来,我们要实现每个LED灯的亮灭时间间隔,并实现跑马灯的效果。

4. 在本实验中,我们采用了计时器中断的方式来实现灯光的控制,即在定时器中断函数中对P2口进行控制,这样可以方便地控制灯亮灭时间和亮度。

通过改变定时器中断的时间,可以改变LED灯的亮灭时间;通过改变P2口的控制顺序,可以实现跑马灯效果。

5. 整个程序比较简单,具体的代码实现可以参考以下程序:#include <REG52.H>#include <intrins.h>#define uint unsigned int #define uchar unsigned char void Delay1ms(uchar _ms); void InitTimer0();sbit led1=P2^0;sbit led2=P2^1;sbit led3=P2^3;sbit led4=P2^4;sbit led5=P2^5;sbit led6=P2^6;sbit led7=P2^7;void InitTimer0(){TMOD=0x01;TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1;}void Timer0() interrupt 1 {static uint i;TH0=(65536-50000)/256; TL0=(65536-50000)%256;i++;if(i%2==0){led1=~led1;}if(i%4==0){led2=~led2;}if(i%6==0){led3=~led3;}if(i%8==0){led4=~led4;}if(i%10==0){led5=~led5;}if(i%12==0){led6=~led6;}if(i%14==0){led7=~led7;}}void Delay1ms(uchar _ms){uchar i;while(_ms--){i=130;while(i--);}}实验总结:通过本次实验,我们掌握了单片机控制跑马灯(流水灯)的方法,对单片机编程和IO 口的使用有了更深入的了解。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告
实验目的:
通过编程实现单片机控制的流水灯电路的设计与实现,熟悉单片机的输入输出功能和简单的控制逻辑。

实验原理:
流水灯是一种常见的LED灯控制电路,通过依次点亮多个LED灯,从而形成“流水”的效果。

单片机作为控制中心,根据程序设计的指令,通过I/0口控制LED灯的状态。

实验材料:
1. STM32F103C8T6 ARM Cortex-M3开发板
2. 杜邦线
3. LED灯
4. 220 Ω电阻
实验步骤:
1. 将STM32F103C8T6开发板与电脑连接,打开开发板软件。

2. 将LED灯分别连接到开发板的引脚PA0-PA7。

3. 在开发板软件中新建一个工程,选择合适的模板,例如“BlinkLed”模板。

4. 在程序中编写控制流水灯的代码,控制LED灯的点亮和熄灭。

5. 通过编译、下载和运行,将程序烧录到STM32F103C8T6开发板中。

6. 接通电源,观察LED灯的闪烁情况,确认流水灯控制电路的正常工作。

实验结果与分析:
经过实验,我们成功设计和实现了单片机控制的流水灯电路。

LED灯按照预定的顺序依次点亮和熄灭,形成了流水灯的效果。

调整程序中的控制逻辑,可以改变流水的速度和方向,实现不同的灯光效果。

实验总结:
通过这次实验,我们深入了解了单片机的输入输出功能和简单的控制逻辑。

通过编写程序,实现了流水灯的控制,加深了对单片机的理解和应用。

在实验过程中,我们还学会了使用开发板软件进行工程的创建、编译、下载和调试操作,提高了工程能力和实践能力。

课程设计-- 基于单片机的双向流水灯

课程设计-- 基于单片机的双向流水灯
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
[3]宋庆环,才卫国,高志.89C51单片机在直流电动机调速系统中的应用[M].唐山学院,2008.4
[4]杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2008.3
[6]曹巧媛.单片机原理及应用[M].北京,电子工业出版社,1997.9
指导教师签字
教研室主任签字
2013年12月23日
摘要
经年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。在电子领域尤其是自动化智能控制领域,传统的分立元件或者数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

单片机控制流水灯

单片机控制流水灯

单片机控制流水灯前言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁。

LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。

但目前市场上各式样的LED灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。

这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。

此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

因此有必要对现有的彩灯控制器进行改进。

流水灯是一串按一定的规律像流水一样连续闪亮。

流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用.流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。

通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。

本案例利用价格低廉的AT89C52系列单片机控制基色LED灯泡从而实现丰富的变化。

目录前言 (1)1、课程设计的目的和要求 (3)1.1 设计目的 (3)1。

2 设计要求 (3)2、设计方案选择 (4)3、硬件设计 (4)3.1 设计思路 (4)3.2 流水灯电路原理图 (4)3。

2。

1元件清单 (5)3.2.2 硬件电路模块分析 (6)3。

3 主要元件说明 (9)3.3。

3 振荡器特性 (12)3.3.4 芯片擦除 (12)4、软件设计 (12)4.1 主程序设计 (12)4.2 程序流程图 (15)5、使用keil、proteus软件调试仿真说明 (16)5.1仿真过程 (16)5。

2仿真结果 (16)6、结束语 (16)7、参考文献 (17)1、课程设计的目的和要求1.1 设计目的近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善.流水灯,可以更简单、方便的使用。

单片机流水灯实验报告

单片机流水灯实验报告

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

单片机的应用流水灯PPT

单片机的应用流水灯PPT
节能环保
单片机流水灯采用低功耗设计 ,能够有效地降低能源消耗, 同时LED灯的使用寿命长,减 少了废弃物对环境的影响。
舞台灯光效果
舞台灯光效果
单片机流水灯可以用于舞台灯光 效果的设计,通过控制LED灯的 亮灭和颜色变化,营造出绚丽多
彩的舞台氛围。
颜色变化
通过单片机编程控制LED灯的颜色 变化,可以实现多种颜色的交替变 换,创造出梦幻般的舞台效果。
同时,单片机也具有丰富的外设接口 和强大的扩展能力,可以方便地与其 他设备进行连接和控制。
03
单片机控制流水灯的实现
硬件连接
确定单片机型号
根据项目需求选择合适的单片机型号,如常用的51 单片机、STM32等。
流水灯电路设计
根据单片机IO口的数量和项目需求,设计出合适的 流水灯电路,包括LED灯的连接方式、限流电阻的选 择等。
调试与测试
01
02
03
04
硬件调试
检查硬件连接是否正确,确保 电源、地线、信号线等连接无 误。
软件调试
通过仿真器或烧录器将程序代 码烧录到单片机中,进行软件 调试,检查程序逻辑和运行状 态是否正常。
功能测试
对流水灯进行功能测试,包括 单向流水、双向流水、闪烁等 功能的测试,确保满足项目需 求。
性能测试
详细描述
单片机的应用领域非常广泛,在工业控制领域中,单片机可以用于实现自动化控制和数 据采集;在智能家居领域中,单片机可以用于实现智能照明、智能安防等;在智能仪表 领域中,单片机可以用于实现智能化测量和控制;在消费电子领域中,单片机可以用于
实现各种智能化功能和人机交互。
02
流水灯简介
单片机的定义
智能控制
通过单片机编程,可以实现交通信号 灯的智能控制,根据交通流量和车流 情况自动调整信号灯的亮灭顺序和时 间间隔,提高交通效率。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告:实验一:用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文件。

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

void delay(uint z) { uint x,y; for(x=100;x>0;x--) for(y=z;y>0;y--); } rotate() { uchar b,c; b=a>>7; c=a<<1; a=b|c; return a; }
编译调试

1、建项目 2、建文件 3、编辑 4、调试

先让这个端口中一个灯亮 再进行移位(用循环移位) 再输出



在标准C语言中基本的变量数据类型为 char,int,short,long,float 和 double,而在c51编 译器中int 和 short 相同,float 和 double 相同 。下面来看看它们的具体定义: 表 2-1 KEIL uVision2 单片机c语言编译器所支持的数据类型 数据类型 长 度 值 域 unsigned char 无符号字符型 单字节 0~255 signed char 有符号字符型 单字节 -128~+127 unsigned int 无符号整型 双字节 0~65535 signed int 整型 双字节 -32768~+32767 unsigned long 无符号整型 四字节 0~4294967295 signed long 有符号整型 四字节 -2147483648~+2147483647 Float 实型 四字节 ±1.175494E-38~±3.402823E+38 *指针型 1~3 字节 对象的地址 bit位型 位 0或1 Sfr 访问 SFR的数据类型 单字节 0~255 sfr16访问16bitSFR的数据类型 双字节 0~65535 sbit位型 位 0或1 尽可能选择unsigned型,使得生成的程序代码比signe型短的多。 程序编译时,C51自动进行类型转换,编译器先将低级数据类型转为较高级的数据类 型。51单片机内部数据存储器的可寻址位(20H~2FH)定义为bit型,而特殊功能寄 存器的可位寻址的各位只能定义为sbit。
2.4 编程

/*******************************
;LED3.c;流水灯程序 ********************************** */ #include<reg52.h> #define uint unsigned int #define uchar unsigned char uchar a; rotate(); void delay(uint); void main() { P2=0xff; a=0xfe; P2=a; while(1) { rotate(); delay(600); P2=a; } }
用循环移位来让LED流水

分析 编程
作业:

1、让两个发光二极管从两端向里亮, 再由里向外亮

2、同时用单片机点亮低四位LED并流 水。
实训项目----流水灯控制
学习P2口的使用方法。掌握使用C编程, 掌握延时子程序的编写和使用,掌握C 语言程序的编译和STC-ISP-V3.1软件的 使用。
2.2 任务要求:

P2口做输出口,安装八只发光二极管 (其输入端为高电平时发光二极管点 亮),编写程序,使发光二极管按一定 顺序循环点亮。
2.3 分析
相关文档
最新文档