微机原理流水灯的设计报告

合集下载

微机实验-流水灯8255

微机实验-流水灯8255

电子信息工程系实验报告课程名称:微机原理与接口技术实验项目名称:8255并行接口流水灯实验 实验时间:2009.12班级: 姓名: 学号:一、实 验 目 的:(1)掌握8255的工作方式及应用编程。

(2)掌握8255的典型应用电路接法。

二、实 验 设备:PC 机一台,实验箱及外部线路一套。

三、实验内容:编写程序,使8255的A 口作为LED 灯的输出,实现8位数据灯的相对循环显示。

(思考:用B 口的一位作为输入,控制LED 灯的循环方向。

)四、实 验 原理:INTEL8255是一种通用的可编程并行I /O 接口芯片,是专为INTEL 公司的微处理器设计的,也可用于其它系列的微型机系统中。

利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。

8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。

可与外设并行进行数据交换。

A 口和B 口内具有中断控制逻辑,在外设与CPU 之间可用中断方式进行信息交换。

8255能与许多外部设备连接,例如:键盘、显示器、打印机等。

1、8255芯片特性(1)一个并行输入/输出的LSI 芯片,多功能的I/O 器件,可作为CPU 总线与外围的接口.(2)具有24个可编程设置的I/O 口,即使3组8位的I/O 口为PA 口,PB 口和PC 口.它们又可分为两组12位的I/O 口,A 组包括A 口及C 口(高4位,PC4~PC7),B 组包括B 口及C 口(低4位,PC0~PC3).A 组可设置为基本的I/O 口,闪控(STROBE)的I/O 闪控式,双向I/O3种模式。

2、8255引脚功能RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O 口均被置成输入方式。

CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU 进行通讯;/CS=1时,8255无法与CPU 做数据传输.RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU 发送数据或状态信息,即CPU 从8255读取信息或数据。

微机原理与接口技术课程设计报告音乐流水灯

微机原理与接口技术课程设计报告音乐流水灯

微机原理与接口技术课程设计论文题目:音乐流水灯姓名:鞠强学号:201330020228班级:1330202专业:自动化2015年6月一、实验任务及要求任务:1、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;2、掌握实时处理程序的编制和调试方法。

要求:用8255、8253、8259配合8086使蜂鸣器发出唱歌声同时还能够使用数码管进行边跳舞边唱歌实验。

二、硬件连线键盘的控制、LED显示模块:采用74系列模块控制键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。

74芯片的片选信号CS1接地址译码信号340H, CS2接地址译码信号360H。

蜂鸣器发声控制:由8255模块控制;PC0直接与蜂鸣器相连,CS_4连接到实验仪中部的地址输出端CS_4中断处理模块:由8259控制8259的片选CS-1连地址输出300H,INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V, 8259的IRQ0连接到8253的OUT0。

三、程序流程图主程序初始化各阶段寄存器及相关变量初始化8253、8255芯片设置中断向量、开放8253中断屏蔽开放处理器中断中断服务程序保护现场判断时间是否不小于59分55秒报时扫描键盘G 键?调用启停子程序S COUNT COUNT=40? ADDONE 子程序COUNT 清0显示时间,调用显示时间子程序结束中断(发EOI 命令)恢复现场中断返回Y YN Y四、实验源代码DATA SEGMENT AT 0 USE16ORG 1000HHOUR DW ?MIN DW ?SEC DW ?SLL DB ?COUNT DB ?DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATAORG 1500HBEG:JMP STARTTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,00H ;0~F 的共阴极七段译码表00H表示不显示任何东西KEYCOD DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;行列编码值KEYV AL DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH ;所有键的键面值PORT1 EQU 340H ;数码管段选端口PORT2 EQU 360H ;数码管位选端口,键盘矩阵的行列端口START: MOV EAX,60000000HMOV CR0,EAXMOV AX,DATAMOV DS,AXMOV HOUR,0203H ;小时分钟以及秒的初始化MOV MIN,0509HMOV SEC,0502HLEA BX,TABMOV SLL,0 ;开始暂停标志位置0MOV COUNT ,0 ;中断次数计数初始值为0;8255初始化,用于产生报时的脉冲MOV EAX,80808080H;控制字MOV DX,20CH ;后面的是4个8255的控制端口20C-20F (这个地址由实验台决定)OUT DX,EAX ;初始化8255,A、B、C口均为方式0输出MOV DX,20BHMOV AL,0FFHOUT DX,AL;8253初始化,用于产生周期为25ms的中断MOV AL,00110110B ;计数器0,先低后高,方式三,二进制MOV DX,32cH ;写往控制口OUT DX,ALMOV DX,320H ;计数器0写初值:47KHz*25msMOV AX,1175OUT DX,ALMOV AL,AHOUT DX,ALMOV AL,0FEH ;IR0开屏蔽OUT DX,ALXOR AX,AX ;装载中断向量MOV ES,AXMOV DI,08H*4MOV AX,OFFSET INTSRMOV ES:[DI],AXMOV AX,SEG INTSRMOV ES:[DI+2],AXSTI ;开中断JMP $INTSR PROC ;中断服务程序CMP MIN,0509H ;比较当前时间是否在59分55秒~00分00秒之间JL NEXT1CMP SEC,0505HJL NEXT1MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT1: CMP MIN,0JNE NEXT3CMP SEC,0JNE NEXT3MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT3: MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT2: CMP COUNT,20 ;用8255产生0.5ms的蜂鸣JLE NEXT4MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT4:CMP SLL,0JZ LOBCALL TSTARTLOB: CALL KEYCHECK ;检测有无键按下CMP AL,0AH ;启停键按下,调用启停程序JNZ NEXT5CALL TSTARTJMP NEXT6NEXT5: CMP AL,0BH ;设置键按下,调用设置时间程序JNZ NEXT6CALL SETTIMEINTSR ENDPTSTART PROC ;控制时间暂停和开始。

简易流水灯设计实验报告

简易流水灯设计实验报告

简易流水灯设计实验报告1. 引言流水灯是一种常见的电子设计,通过控制LED灯的亮灭顺序,可以呈现出一种像水流一样的效果。

本实验旨在通过使用开发板和少量的电子元件,设计一个简易的流水灯电路。

本报告将介绍实验的设计过程、实验所用材料和电路连接方式,以及实验结果和分析。

2. 实验材料和器件- Arduino开发板- 电阻(220Ω)- LED灯(6个)- 面包板- 连接线3. 实验原理本实验的原理非常简单,即通过控制每个LED的亮灭状态和时间间隔,实现流水灯的效果。

具体实现的方法是使用Arduino开发板的IO引脚来驱动LED灯,通过改变每个LED的亮灭顺序和时间间隔,可以实现流水灯效果。

4. 实验步骤4.1 硬件连接首先,将Arduino开发板插入面包板,并确保连接稳定和可靠。

然后按照以下方式连接LED灯和电阻:- 将电阻的一个端口连接到Arduino开发板的数字IO引脚(如D2-D7)。

- 将电阻的另一个端口连接到负极(即地GND)。

将LED灯的长脚(阳极)连接到电阻与Arduino引脚的连接点,将短脚(阴极)连接到GND。

4.2 硬件设置在Arduino开发板上设置电阻连接的引脚为输出模式,以便控制LED灯的亮灭状态。

具体的引脚设置可以在Arduino开发环境的代码中完成。

4.3 软件编写使用Arduino开发环境,编写相应的代码实现流水灯的效果。

代码示例如下:cvoid setup() {设置引脚为输出模式for (int i = 2; i <= 7; i++) {pinMode(i, OUTPUT);}}void loop() {顺序点亮和熄灭LED灯for (int i = 2; i <= 7; i++) {digitalWrite(i, HIGH);delay(250);digitalWrite(i, LOW);delay(250);}逆序点亮和熄灭LED灯for (int i = 7; i >= 2; i) {digitalWrite(i, HIGH);delay(250);digitalWrite(i, LOW);delay(250);}}4.4 上传和运行将编写好的程序上传到Arduino开发板,并通过开发环境的串口监视器进行编译和调试。

左右来回循环的流水灯实验报告

左右来回循环的流水灯实验报告

青 岛 科 技 大 学微机原理与接口技术综合课程设计(报告)题 目 __________________________________指导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班______年 ___月 ___日直流电机控制综合实验 周艳平宋雪英 01 信息科学技术学院计算机科学与技术0961 2012 12 27摘要 (2)1、单片机概述 (2)2、仿真软件介绍 (2)3、需求分析 (3)一、课程设计目的 (3)二、课程设计要求 (4)三、实验内容 (4)1、设计任务与要求 (4)2、系统分析 (4)1).硬件电路设计(画出原理图、接线图) (5)2)软件框图 (7)3、用keil建项目流程 (8)4、程序清单 (9)4、系统调试 (11)四、设计总结(结论) (12)摘要近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。

而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。

能够通过按键控制8个LED小灯从左到右依次点亮。

关键字:单片机、LED流水灯1、单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

计算机组成原理—流水灯设计实验报告

计算机组成原理—流水灯设计实验报告

流水灯设计摘要本实验主要是利用计数器、3-8译码器、多谐振荡器等一些电路元件设计简单的流水灯电路。

并利用书上所学的知识和所使用的元器件的型号,写出各元件的功能表。

在此基础上画出原理图及接线图。

通过组装、调试电路,自行排除故障,最终实现流水灯功能。

课程设计主要目的,是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法。

通过设计也有助于复习、巩固以往的学习内容,达到灵活应用的目的。

在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。

在此过程中培养从事设计工作的整体观念。

课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面:· 独立工作能力和创造力。

· 综合运用专业及基础知识,解决实际工程技术问题的能力。

· 查阅图书资料、产品手册和各种工具书的能力。

· 写技术报告和编制技术资料的能力。

· 实际动手能力。

利用学到的电子技术知识,通过布置具有一定难度的设计题目,帮助学生熟悉课程设计任务与设计方法。

目录1 功能要求 (3)2 电路组成框图 (3)3 单元电路分析 (3)3.1 74HCO4元件图及功能分析 (3)3.2 74HC04、电阻及电容器构成的多谐振荡器的功能分析 (4)3.3 74HC161——计数器的电路组成及工作原理 (4)3.4 74HC138——译码器的电路组成及工作原理 (5)4 总结 (6)4.1课程设计的过程 (6)4.2 课程设计的体会 (7)4.2 课程设计的建议 (7)5参考文献 (8)6 附录:电路原理图及布线图 (9)1 功能要求本实验主要是利用计数器、3-8译码器、多谐振荡器等一些电路元件设计简单的流水灯电路。

并利用书上所学的知识和所使用的元器件的型号,写出各元件的功能表。

在此基础上画出原理图及接线图。

通过组装、调试电路,自行排除故障,最终实现流水灯功能。

LED流水灯实验报告

LED流水灯实验报告
temp2=0x01;
while(1)
{
P0=temp1;
P2=temp2;
delays(200);
temp1=_crol_(temp1,1);
temp2=_crol_(temp1,1);
}
}
Hex文件生成
本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发计算器设计做了详细的分析和研究。本系统就是充分利用了8051芯片的I/O引脚。系统已采用MCS—51系列单片机为中心器件来设计LED流水灯系统,实现LED左循环显示,并实现循环的速度可调。
二、设计目的
1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
#include "intrins.h"
#define uint unsigned int
void delays(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
uint temp1,temp2;
temp1=0x01;
RST/VPD:复位/备用电源线,可以使单片机处于复位工作状态,外接人工按钮复位。
EA/VPP允许访问片外存储器/编程电源线,他可控制单片机使用片内ROM还是还是使用片外ROM,若EA为1允许使用片内ROM,为0则允许使用片外ROM。
七、实验过程
下载程序:
程序下载成功
程序检测
新建文本文档(程序)
#include "reg52.h"
如果要让接在P1.0口的LED1亮起来,那么只需要把P1.0口的电平变为低电平就可以了;相反,如果要让接在P1.0口的LED1熄灭,那么只需要把P1.0口的电平变为高电平就可以了;同理,接在P1.1—P1.7口的其他7个LED的点亮的熄灭的方法同LED1。因此,只要使接在单片机上的八个LED灯在接通电源后除了最右端一个其余都亮,一秒后倒数第二个熄灭其余都亮,如此循环往复,就可以达到流水的效果。

流水灯实验报告单(3篇)

流水灯实验报告单(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. 在调整电阻阻值时,要注意观察灯光的变化,以便找到最佳的电阻阻值。

8255并行接口流水灯显示实验

8255并行接口流水灯显示实验

8255并行接口流水灯显示实验微机原理课程设计报告书课题名称姓名学号院、系、部专业指导教师物理与电信工程系一、设计任务及要求:设计任务:流水灯显示实验。

编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

要求:指导教师签名:2022年6月8日二、指导教师评语:指导教师签名:2022年6月8日三、成绩验收盖章2022年6月8日一、设计目的1.学习并掌握8255的工作方式及其应用;2.掌握8255典型应用电路的接法。

二、设计要求流水灯显示实验。

编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

三、电路及连线设计并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图2-6-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示图2-6-18255内部结构及外部引脚图(a)工作方式控制字(b)C口按位置位/复位控制字图2-6-28255控制字格式图2-6-58255流水灯实验接线图四、使用说明使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

实验接线图如图2-6-5所示。

实验步骤如下所述:(1)按图2-6-5连接实验线路图;(2)编写实验程序,经编译、链接无误后装入系统;(3)运行程序,观察LED灯的显示,验证程序功能;五、流程图设计开始设置控制字对A口、B口赋值,分别保存在BH、BLBH右移,BL左移保护现场调用延时程序恢复现场将以为结果送出将以为结果送出。

流水灯设计报告

流水灯设计报告

流水灯设计报告一、引言流水灯是以LED灯珠为单元,手工焊接成流水形状的装饰灯。

此次设计的流水灯以循环变化颜色和闪烁效果为主要特点,可以在家庭和商业场所中作为装饰、展示之用。

二、设计原理与技术路线本设计的流水灯是以WS2812B灯珠为主要芯片,采用Arduino控制器为核心,配合程序实现颜色循环和闪烁效果。

主要技术路线为:1. WS2812B芯片原理图及说明WS2812B内置控制电路,电路中的每一个LED灯珠均可以接收之前灯珠传输给它的数据,这样就可以让多个LED灯珠组成一个串口线,以这样一些串口线组合起来,形成很多绚丽的效果。

2. Arduino控制器Arduino控制器以它可编程、通用性强等优点而受到广泛的欢迎。

本次设计采用的是Arduino Nano,它的体积小、成本低,可以满足流水灯的设计需求。

3. 程序设计实现本次设计采用的程序为“FastLED.h”库,它的使用非常方便,可以通过各种参数设置实现较为丰富的追踪、流水、跳跃等效果。

程序设计的实现可以在多个LED灯珠之间进行自由控制,实现多种不同的颜色、亮度、闪烁等效果。

三、硬件设计1. 硬件主要材料:Arduino Nano 控制器*1WS2812B LED 灯珠*18导线2. 硬件电路图及说明本次流水灯的电路方案非常简单,只需要将Arduino控制器和WS2812B灯珠连接即可。

其中,此次设计从Arduino控制器的引脚中、WS2812B灯珠的三个接口之中,分别连接“SDI”、“VCC”和“GND”即可。

本设计所需LED灯珠数量为18,分为3个串口,每个串口内串联6个LED灯珠。

连接电路如下图所示:四、软件设计1. 程序参数设置在程序方面,我们需要针对所需的运行效果选择一些参数,比如颜色、亮度、闪烁等特效、呼吸效果的周期等等。

本次设计中的参数设置如下:#define NUM_LEDS 18 //LED灯珠数量#define DATA_PIN 10 //WS2812B控制器从Arduino控制器中引脚的接口#define Brightness 64 //亮度设置#define DIN 10 //SDI接口连接引脚编号2. 主要程序代码程序代码部分非常简单,完整代码如下:#include<FastLED.h>#define NUM_LEDS 18#define DATA_PIN 10#define BRIGHTNESS 64CRGB leds[NUM_LEDS];五、成本预算及实现效果1. 成本预算本次流水灯的材料费用较为便宜,共耗费了约30元人民币。

微机原理与接口技术课程设计流水灯

微机原理与接口技术课程设计流水灯

微机原理与接口技术课程设计流水灯1. 设计目标设计一个基于51单片机的流水灯系统,能够实现多种不同的流水灯效果,并且可以通过按键进行切换和控制。

2. 硬件设计(1)51单片机使用STC89C52系列单片机作为主控芯片,具有较高的性价比和稳定性。

(2)LED灯使用8个LED灯作为流水灯的显示元件,需要连接到P0口的8个引脚上。

(3)按键使用一个按键作为流水灯效果的切换和控制,需要连接到P3.2口。

(4)电源使用5V直流电源供电,需要连接到单片机的VCC和GND引脚上。

3. 软件设计(1)IO口初始化首先需要将P0口的8个引脚设置为输出模式,P3.2口的引脚设置为输入模式。

(2)流水灯效果实现流水灯效果可以通过循环移位的方式实现,具体代码如下:```cvoid flow_light(){unsigned char i, j;for (i = 0; i < 8; i++){for (j = 0; j < 8; j++){P0 = ~(1 << j);delay_ms(50);}P0 = 0xff;}}```其中,P0 = ~(1 << j)表示将P0口的第j个引脚设置为低电平,其他引脚设置为高电平,从而实现LED灯的亮灭。

(3)按键控制通过检测P3.2口的引脚状态,可以实现按键的控制,具体代码如下:```cvoid key_control(){if (P3 & 0x04){delay_ms(10);if (P3 & 0x04){mode++;if (mode >= 3){mode = 0;}}}}```其中,P3 & 0x04表示检测P3.2口的引脚状态,如果为高电平,则表示按键未按下;delay_ms(10)表示延迟10ms,以避免按键抖动;mode表示当前的流水灯效果模式,通过按键控制其值的变化。

(4)主函数代码主函数代码如下:```cvoid main(){while (1){switch (mode){case 0:flow_light();break;case 1://其他流水灯效果break;case 2://其他流水灯效果break;}key_control();}}```其中,switch (mode)表示根据当前的流水灯效果模式执行不同的函数;key_control()表示检测按键状态并进行相应的控制。

流水灯设计分析报告

流水灯设计分析报告

流水灯设计分析报告1. 引言流水灯是一种常见的电子模块,通过不同的灯泡按照一定的顺序依次亮起,形成连续的灯光流动效果。

它在很多场景中被广泛应用,如舞台演出、节日装饰等。

本文将对流水灯的设计进行分析,并探讨其实现原理、技术细节和应用。

2. 流水灯的实现原理流水灯的实现原理主要包括两个方面:控制电路和多个灯泡。

2.1 控制电路流水灯的控制电路通常采用微控制器或专用的倒计时芯片。

微控制器是一种集成电路,内部集成了处理器、存储器和各种输入输出接口,通过编程可以实现对流水灯的控制。

倒计时芯片则是一种专用的集成电路,可以预设倒计时时间,到达指定时间后触发输出,用于控制流水灯的灯泡顺序。

2.2 多个灯泡流水灯通常由多个灯泡组成,每个灯泡连接在控制电路的输出端口上。

灯泡可以是普通的白炽灯、LED灯或其他类型的灯泡。

它们被依次连接在一起,当控制电路输出信号时,对应的灯泡就会亮起。

3. 技术细节3.1 控制电路选择流水灯的控制电路可以选择合适的微控制器或倒计时芯片。

选择控制电路时需要考虑以下因素:- 所需的功能和特性:不同的控制电路具有不同的功能和特性,如是否支持编程、倒计时的精度等。

- 电源要求:控制电路需要根据实际情况选择合适的电源电压和电流。

- 成本和可靠性:控制电路的成本和可靠性也是选择的重要考虑因素。

3.2 灯泡选择选择流水灯的灯泡时,可以根据实际需求选择不同类型的灯泡,如普通白炽灯、LED灯等。

同时,还需考虑以下因素:- 电源要求:不同类型的灯泡需要不同的电源电压和电流驱动。

- 亮度和颜色:灯泡的亮度和颜色直接影响到流水灯的视觉效果,根据实际需求选择合适的亮度和颜色。

3.3 灯泡连接方式流水灯的灯泡需要按照一定的顺序连接起来,形成流动的效果。

常见的连接方式有串联和并联两种:- 串联连接:将每个灯泡的正极和负极依次连接起来,形成一条顺序的电路。

这种连接方式需要考虑电源电压和电流跟灯泡的匹配关系。

- 并联连接:将每个灯泡的正极和负极分别连接到电源电路上。

流水灯的设计实验报告

流水灯的设计实验报告

流水灯的设计实验报告流水灯的设计实验报告引言:流水灯作为一种常见的电子实验装置,广泛应用于各种电子设备中。

本次实验旨在通过设计和制作一个简单的流水灯电路,来理解流水灯的工作原理和电子元件的基本使用方法。

一、实验目的本次实验的目的是通过设计和制作一个流水灯电路,来加深对流水灯工作原理和电子元件的理解,并掌握基本的电路连接和焊接技巧。

二、实验原理流水灯是一种多个LED灯按照一定的顺序依次点亮和熄灭的电子装置。

其工作原理是通过时钟信号控制LED灯的亮灭,使得LED灯在一定的时间间隔内按照指定的顺序依次亮起。

在本次实验中,我们将使用555定时器芯片作为时钟信号的发生器,并通过计数器和逻辑门电路来控制LED灯的亮灭。

三、实验材料与方法1. 实验材料:- 555定时器芯片- 74HC4017计数器芯片- 逻辑门电路芯片- LED灯- 电阻、电容等元件- 面包板、导线等实验器材2. 实验方法:- 根据电路原理图连接电子元件,注意正确连接引脚和极性。

- 使用焊接工具将电子元件固定在面包板上。

- 连接电源,注意电压和电流的安全使用。

- 调整电路参数,观察流水灯的亮灭顺序和频率。

四、实验结果与分析经过实验,我们成功设计和制作了一个流水灯电路,并且实现了预期的效果。

LED灯按照指定的顺序依次亮起,并在一定的时间间隔后熄灭,再由下一个LED灯亮起。

整个流水灯的亮灭过程形成了一个连续流动的效果,非常美观。

通过调整电路参数,我们还可以改变流水灯的亮灭顺序和频率。

例如,增加LED灯的数量,可以实现更长的流水灯效果;调整计数器芯片的工作频率,可以改变流水灯的闪烁速度。

这些参数的调整,可以根据实际需求来进行灵活设置。

五、实验心得与体会通过本次实验,我对流水灯的工作原理和电子元件的使用方法有了更深入的了解。

在实际操作中,我学会了正确连接电子元件的方法,并掌握了一定的焊接技巧。

通过不断调整电路参数,我也体验到了电子元件对电路性能的影响。

创意流水灯实验报告(3篇)

创意流水灯实验报告(3篇)

第1篇一、实验背景随着科技的不断发展,电子技术已经渗透到我们生活的方方面面。

其中,LED流水灯作为一种新型照明产品,因其节能、环保、色彩丰富等特点,在装饰照明、广告宣传等领域得到了广泛应用。

为了深入了解LED流水灯的工作原理,提高我们的动手实践能力,我们设计并完成了一项创意流水灯实验。

二、实验目的1. 了解LED流水灯的工作原理。

2. 掌握LED流水灯的电路连接方法。

3. 通过创意设计,提高LED流水灯的观赏性和实用性。

三、实验原理LED流水灯是通过将多个LED灯珠串联或并联,通过控制电路的通断来实现流水效果的。

实验中,我们采用PWM(脉冲宽度调制)技术来控制LED灯的亮度,从而实现流水灯的动态效果。

四、实验器材1. LED灯珠:红、绿、蓝各50颗2. 马达:1台3. 电阻:若干4. 线路板:1块5. 电源:9V直流电源6. 剪刀、胶带等辅助工具五、实验步骤1. 设计电路图:根据LED灯珠的参数,设计出合适的电路图,确保电路连接正确。

2. 制作电路板:按照电路图,将LED灯珠、电阻、马达等元器件焊接在电路板上。

3. 连接电源:将电路板与9V直流电源连接,确保电路板供电正常。

4. 制作流水灯外壳:根据设计要求,制作流水灯外壳,确保内部电路布局合理。

5. 测试流水灯效果:接通电源,观察LED灯珠的流水效果,检查电路是否正常工作。

6. 优化设计:根据实验效果,对流水灯的设计进行优化,提高观赏性和实用性。

六、实验结果与分析1. 实验结果:经过多次测试,我们成功制作出了一款具有流水效果的LED流水灯。

在实验过程中,LED灯珠的流水效果稳定,颜色鲜艳,马达运行正常。

2. 结果分析:通过本次实验,我们掌握了LED流水灯的工作原理和电路连接方法。

在实验过程中,我们了解到PWM技术在控制LED灯亮度方面的应用,以及马达在流水灯中的驱动作用。

3. 优化建议:为了提高流水灯的观赏性和实用性,我们可以在以下几个方面进行优化:(1)增加LED灯珠的种类和数量,丰富流水灯的色彩效果。

河南理工大学微机原理与单片机实验报告、课程设计 流水灯

河南理工大学微机原理与单片机实验报告、课程设计  流水灯

实验一流水灯实验一、实验目的⑴简单I/O引脚的输出⑵掌握软件延时编程方法⑶简单按键输入捕获判断二、实验实现的功能⑴开机是点亮12发光二极管,闪烁三下⑵按照顺时针循环依次点亮发光二极管⑶通过任意按键将发光二极管的显示改为顺逆时针方式三、系统硬件设计四、系统软件设计#include<reg51.h>sbit L1=P0^5;sbit L2=P0^6;sbit L3=P0^7;void Delay(void){unsigned char i,j,k;for(i=10;i>0;i--)for(j=132;j>0;j--)for(k=150;k>0;k--);}Scan_Key(){unsigned char FLAG=0;unsigned char n;n=(L1==0)||(L2==0)||(L3==0);if(n){ FLAG=1;}return FLAG;}main(){unsigned char y,n,s=0,b=1,m=0;unsigned char c=1;unsigned char a[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char h[]={0xff,0x38,0x34,0x2f,0x1f};n=Scan_Key();for(y=0;y<3;y++) //闪烁三次{P2=0;P3=0;Delay();Delay();Delay();P2=0xff;P3=0xff;Delay();Delay();Delay();}while(1){while(1){m=m+n;P3=0x3f;while(1) //顺时针{for(;b<9;b++){ n=Scan_Key();m=m+n;if((P3==0x3f)&&(m%2==0)){P2=a[b];Delay();}else{ P2=0xff;break; }if(m%2==0)c=1;P2=0xff;}for(;c<5;c++){n=Scan_Key();m=m+n;if((P2==0xff)&&(m%2==0)){ P3=h[c];Delay();}else{ P3=0x3f;break;}}if(m%2==0)b=1;break;}if(m%2==1)break;}while(1) //逆时针 {for(;b>0;b--){n=Scan_Key();m=m+n;if((P3==0x3f)&&(m%2==1)){P2=a[b];Delay(); }else{P2=0xff;break;}P2=0xff;}if(m%2==1)c=4;for(;c>0;c--){n=Scan_Key();m=m+n;if((P2==0xff)&&(m%2==1)){ P3=h[c]; Delay();}else{ P3=0x3f;break;}P3=0x3f;}if(m%2==0)break;if(m%2==1)b=8;}}}五、实验过程中遇到的问题及解决方法1、用for循环执行顺逆时针循环按下开关后无法原地返回。

微机流水灯实验

微机流水灯实验

深圳大学实验报告课程名称:微机原理及应用实验实验项目名称:可编程并行接口8255 实验学院:专业:应用物理指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务处制一、实验名称:可编程并行接口 8255 实验二、实验目的了解可编程并行接口芯片8255 的内部结构、工作方式、初始化编程及应用。

三、实验内容(1) 流水灯实验:利用8255 的A 口循环点亮发光二极管。

(2) I/O 输入输出实验:利用8255 的A 口读取开关状态,8255 的B 口把状态送发光二极管显示。

图1 实验原理图四、实验电路及连线(硬件实验)(1) 实验连线该模块的WR、RD 分别连到MCU 主模块的WR、RD。

该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU 主模块的数据(AD0~AD7)、地址线(A0~A7)。

8255 模块选通线CS 连到MCU 主模块的地址A15。

8255 的PA0~PA7 连到发光二极管的L0~L7。

图2 流水灯实验(2) 运行程序,观察发光二极管。

2、I/O 输入输出实验:(1) 实验连线该模块的WR、RD 分别连到MCU 主模块的WR、RD。

该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU 主模块的数据(AD0~AD7)、地址线(A0~A7)。

8255 模块选通线CE 连到MCU 主模块的地址A15。

8255 的PA0~PA7 接开关K0~K7,8255 的PB0~PB7 接发光二极管L0~L7。

图3 I/O 输入输出实验(2) 运行程序,拨动开关,观察发光二极管。

《微机系统与接口技术》8255流水灯实验报告

《微机系统与接口技术》8255流水灯实验报告

微机系统与接口技术:8255流水灯实验报告实验目的本次实验的目的是加深对8255芯片的理解,掌握8255口的输入、输出和中断原理,在此基础上,实现8255流水灯的控制。

实验原理8255芯片8255是一个可编程的并行输入 / 输出设备,拥有三个可编程I / O端口(Port A,Port B和Port C)。

篮牙分别对应着六个可用的I / O线路。

8255芯片可通过编程来设置8255设备的I / O方式,实现不同的应用。

8255芯片也支持中断请求(IRQ)和中断响应(IRQACK)。

流水灯流水灯是一种LED应用,即多个LED依次熄灭和点亮,形成一个具有动态效果同的图形。

在此次实验中,我们将通过8255口控制流水灯的状态,从而实现LED的流动效果。

实验步骤硬件实现本实验用到的硬件包括:8255芯片、LED灯、电路图板、电缆和电源。

在构建电路时,请按照以下步骤操作:1.首先,将8255芯片插入电路图板上的8255插槽中。

注意芯片的方向应该正确,否则芯片可能会被损坏。

2.将三个分别对应Port A, Port B和Port C的引脚与相应的电路元件进行连接。

在此,我们需要连接6个灯泡和6个电阻,其中每个电阻都应与一个电源连接。

3.最后,将电源输入并连接到电路图板,并打开电源。

软件实现为了控制流水灯的状态,我们将使用汇编程序编写代码,在8255口上进行读/写操作。

具体步骤如下:1.设置8255口的方式。

在此处,我们需要将8255口设置为模式0,即所有口都是单向的,其中Port A和Port B都是输出口,Port C则是输入口。

2.将Port A设为11111111。

这将设置第一个LED灯亮起。

3.然后,依次将Port A的状态更改为10111111,10011111,10001111等,以便LED灯以递减的顺序熄灭。

4.最后,在将Port A的状态设置为00000000之后,程序跳转到开始执行第二个LED的流动。

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

流水灯显示实验的设计
一、设计目的
1、了解流水灯的工作原理。

2、掌握流水灯编程方法和芯片8255的逻辑功能及使用方法。

3、掌握一定的汇编语言知识,培养自己的动手操作能力。

4、学习程序设计的基本思路和方法
二、设计要求
1、设计题目
编写程序,使用8255的A口和B口均为输出,实现16位流水灯显示效果。

2、功能扩展
(1)、将流水灯设计成可以正着流水也可以选择倒着流水
(2)、通过开关可以对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速。

三、设计思路
1、总体方案设计分析
在本实验中要求我们用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,故基本的接线可以如下面图A所示。

在C口的低两位接2个开关,实现2个扩展功能的控制。

①基本流水灯显示电路
A和B两个端口不能同时赋值,从而在实验中我们可以用BX进行需要赋值的数据的存储,因为BX可以分从BH.BL两部分进行独立的操作,在本次实验中我们用BH对A口进行赋值,用BL对B口进行赋值,通过延时一段时间再对BH,BL进行移位和输出,实现了流水灯的效果。

②正反方向选择
把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,低电平的时候则进行右移。

同时B 口与A口相反。

③快慢速度控制
把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快。

低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。

四、电路及连线设计
1、该模块的WR、RD分别连到PC总线接口模块的IOWR、IORD。

2、该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数据(D0~D7)、地址线(A0~A7)。

3、8255模块选通线CS连到PC总线接口模块的IOY3。

4、8255的PA0~PA7连到发光二极管的L1~L8;8255的PB0~PB7连到发光二极管的L9~L16。

5、8255的PC0、PC1分别连接在开关K0、K1
五、程序设计
程序清单如下:
MY8255_A EQU 09860H
MY8255_B EQU 09861H
MY8255_C EQU 09862H
MY8255_MODE EQU 09863H
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,MY8255_MODE
MOV AL,81H ;设置A口、B口方式0输出,C口低四位方式0输出OUT DX,AL
MOV CL,0
XOR BX,BX ;将BX清零
MOV DX,MY8255_B
MOV AL,0FEH
MOV BL,AL
OUT DX,AL
MOV DX,MY8255_A
MOV AL,7FH
MOV BH,AL
OUT DX,AL ;对A口、B口赋值,并将值保存在BH BL中
A1:
ROL BL,1
ROR BH,1 ;对BH BL做出相应的移位
A3:
PUSH BX ;保护现场
CALL BREAK ;调用任意键退出程序
CALL DELAY ;调用延时程序
POP BX ;恢复现场
MOV DX,MY8255_A
MOV AL,BH
OUT DX,AL
MOV DX,MY8255_B
MOV AL,BL
OUT DX,AL ;将移位后的结果输出
MOV DX,MY8255_C
IN AL,DX ;将C都的数据输入
AND AL,01H ;查看PC0口是否有数据输入,改变流水灯的方向
JNZ A2
JMP A1
A2:
ROL BH,1
ROR BL,1
JMP A3
DELAY PROC NEAR ;延时程序
MOV CX,0FFFH
K1:
MOV BX,0FFFH
K2:
DEC BX
CMP BX,1000H
JNE K2
MOV DX,MY8255_C
IN AL,DX ;将C口的数据输入
AND AL,02H ;查看PC1是否有输入,改变延时,使得延时的时间变快
JNZ K3
LOOP K1
K3:
RET
DELAY ENDP
BREAK PROC NEAR ;按任意键退出
MOV AH,06H
MOV DL,0FFH
INT 21H
JE RETURN
MOV AX,4C00H
INT 21H
RETURN:RET
BREAK ENDP
CODE ENDS
END START
六、设计总结
这次微机原理课程设计我学到了很多在书本上所没有学到过的知识。

以前在上课的时候对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,但总的来说还是圆满的。

七、参考文献
[1] 刘国钧,王连成.图书馆史研究[M].北京:高等教育出版社,1979:15-28,31.
[2] 周明德,《微型计算机系统原理及应用》[M].北京:清华大学出版社,1996:27-30,20.
[3] 李大友《微型计算机接口技术》.清华大学出版社,2000:40-52.
[4] 楼顺天,周佳社. 微机原理与接口技术[M]. 北京:科学出版社,2006:297-298.。

相关文档
最新文档