文档库 最新最全的文档下载
当前位置:文档库 › 基于SOPC的LED循环流水灯控制设计

基于SOPC的LED循环流水灯控制设计

基于SOPC的LED循环流水灯控制设计
基于SOPC的LED循环流水灯控制设计

课程报告

设计课题: 基于SOPC 的LED 循环流水灯控制设计

姓名: XXX

专业: 集成电路设计与集成系统

学号: 1115103004

日期 2014 年 11月 18 日

指导教师: XXX 华侨大学信息科学与工程学院电子工程系

基于SOPC的LED循环流水灯控制设计

一.设计的任务与要求

1. 将8 只LED 灯编号,奇数号亮1 秒,灭2 秒,偶数号亮3 秒,灭3 秒。

2. 用数码管显示每个灯的亮灭时间。

3. 循环点亮。

二.系统设计

整体硬件电路框图

整体电路设计由一个锁相环,SOPC搭建的CPU模块组成,由DE2内部时钟50MHZ输入控制,输出接LED[7..0]8个LED灯,HEX0-HEX7 8个数码管,用程序编程控制,来实现LED循环流水灯数码管计时功能的实现。

三.单元电路设计

锁相环设计模块(PLL)

SOPC设计模块

在DE2 平台上建立SOPC系统的硬件,这个系统包括一个NIos II/s 嵌入式处理器、存储器、一个JTAG UART 及一个定时器,一个ID 模块和IO模块。另外,我们将加入一个自定义组件,实现对DE2 平台上七段数码管的控制。

SOPC模块硬件电路图

四:仿真结果

五.软件设计

程序详见附录

六.系统测试:

实验仪器用DE2板验证,芯片型号为EP2C35F672C6,将计算机软件与DE2板相连。用8只LED灯实现循环点亮,并在8只数码管显示每只LED灯的亮灭时间。

七.结论:

从DE2板实验结果可以看出,该实验现象满足设计的任务与要求,即:

1. 将8 只LED 灯编号,奇数号亮1 秒,灭2 秒,偶数号亮3 秒,灭3 秒。

2. 用数码管显示每个灯的亮灭时间。

3. 循环点亮。

满足了该设计的1,2,3点要求,唯一不足的地方是在用数码管显示每个灯的亮灭时间时,我是用usleep()函数来延迟的,时间精度方面可能比不上用定时计数器来的准确,可以做进一步改进。

附录:

软件程序:

#include "system.h"

#include "alt_types.h"

#include "unistd.h"

#include "io.h"

int main (void)

{

alt_u8 led=0x01;

alt_u32 count;

volatile int i; //i用来控制循环的次数

volatile int j; //j用来控制每次循环时间为1S

while(1)

{

led=0x01;

*(unsigned int *)PIO_LED_BASE = led; //点亮第一个LED灯

for(i=1,j=1000000,count=0x00000001;i>0;i--) //用数码管控制亮的时间1S

{

IOWR(SEG7_LUT_8_0_BASE,0,count); //第一个数码管显示count值1

usleep(j); //j=1000000,延时1秒

count=count-0x00000001; //count值减1

}

IOWR(SEG7_LUT_8_0_BASE,0,count); //第一个数码管显示count值0

led=0x00;

*(unsigned int *)PIO_LED_BASE = led; //熄灭第一个LED灯

for(i=2,j=1000000,count=0x00000002;i>0;i--) //用数码管控制熄灭的时间2S

{

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00000001;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x02;

*(unsigned int *)PIO_LED_BASE = led;//点亮第二个LED灯

for(i=3,j=1000000,count=0x00000030;i>0;i--) //用数码管控制亮的时间3S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00000010;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x00;

*(unsigned int *)PIO_LED_BASE = led;//熄灭第二个LED灯

for(i=3,j=1000000,count=0x00000030;i>0;i--)//用数码管控制熄灭的时间3S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00000010;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x04;

*(unsigned int *)PIO_LED_BASE = led;//点亮第三个LED灯

for(i=1,j=1000000,count=0x00000100;i>0;i--) //用数码管控制亮的时间1S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00000100;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x00;

*(unsigned int *)PIO_LED_BASE = led;//熄灭第三个LED灯

for(i=2,j=1000000,count=0x00000200;i>0;i--)//用数码管控制熄灭的时间2S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00000100;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x08;

*(unsigned int *)PIO_LED_BASE = led;//点亮第四个LED灯

for(i=3,j=1000000,count=0x00003000;i>0;i--)//用数码管控制亮的时间3S

{

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00001000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x00;

*(unsigned int *)PIO_LED_BASE = led;//熄灭第四个LED灯

for(i=3,j=1000000,count=0x00003000;i>0;i--)//用数码管控制熄灭的时间3S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00001000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x10;

*(unsigned int *)PIO_LED_BASE = led;//点亮第五个LED灯

for(i=1,j=1000000,count=0x00010000;i>0;i--)//用数码管控制亮的时间1S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00010000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x00;

*(unsigned int *)PIO_LED_BASE = led;//熄灭第五个LED灯

for(i=2,j=1000000,count=0x00020000;i>0;i--)//用数码管控制熄灭的时间2S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00010000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x20;

*(unsigned int *)PIO_LED_BASE = led;//点亮第六个LED灯

for(i=3,j=1000000,count=0x00300000;i>0;i--)//用数码管控制亮的时间3S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00100000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x00;

*(unsigned int *)PIO_LED_BASE = led;//熄灭第六个LED灯

for(i=3,j=1000000,count=0x00300000;i>0;i--)//用数码管控制熄灭的时间3S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x00100000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x40;

*(unsigned int *)PIO_LED_BASE = led;//点亮第七个LED灯

for(i=1,j=1000000,count=0x01000000;i>0;i--)//用数码管控制亮的时间1S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x01000000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x00;

*(unsigned int *)PIO_LED_BASE = led;//熄灭第七个LED灯

//for(i=0;i<2000000;i++);

for(i=2,j=1000000,count=0x02000000;i>0;i--)//用数码管控制熄灭的时间2S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x01000000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x80;

*(unsigned int *)PIO_LED_BASE = led;//点亮第八个LED灯

//for(i=0;i<3000000;i++);

for(i=3,j=1000000,count=0x30000000;i>0;i--)//用数码管控制亮的时间3S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x10000000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

led=0x00;

*(unsigned int *)PIO_LED_BASE = led;//熄灭第八个LED灯

//for(i=0;i<3000000;i++);

for(i=3,j=1000000,count=0x30000000;i>0;i--)//用数码管控制熄灭的时间3S {

IOWR(SEG7_LUT_8_0_BASE,0,count);

usleep(j);

count=count-0x10000000;

}

IOWR(SEG7_LUT_8_0_BASE,0,count);

}

return 0;

}

1.添加自定义组件七段数码管控制器

SEG7_LUT.V 是一个查找表,完成七段码显示的译码。当输入iDIG在0x0~0xF 之间变化时,输出oSEG 的七段码也发生相应的变化,并在数码管上显示iDIG 的值。

代码1 SEG7_LUT.V

module SEG7_LUT ( oSEG, iDIG);

input [3:0] iDIG;

output [6:0] oSEG;

reg [6:0] oSEG;

always@(iDIG)

begin

case(iDIG)

4'h1:oSEG=7'b1111001;

4'h2:oSEG=7'b0100100;

4'h3:oSEG=7'b0110000;

4'h4:oSEG=7'b0011001;

4'h5:oSEG=7'b0010010;

4'h6:oSEG=7'b0000010;

4'h7:oSEG=7'b1111000;

4'h8:oSEG=7'b0000000;

4'h9:oSEG=7'b0011000;

4'ha:oSEG=7'b0001000;

4'hb:oSEG=7'b0000011;

4'hc:oSEG=7'b1000110;

4'hd:oSEG=7'b0100001;

4'he:oSEG=7'b0000110;

4'hf:oSEG=7'b0001110;

4'h0:oSEG=7'b1000000;

endcase

end

endmodule

SEG7_LUT_8.V,对SEG7_LUT.V 进行了8 次例化,分别对应于七段数码管HEX0~HEX7。

代码2 SEG7_LUT_8.V

module SEG7_LUT_8 (oSEG0,oSEG1,oSEG2,oSEG3,oSEG4,oSEG5,oSEG6,oSEG7, iDIG,iWR,iCLK,iRST_N);

input [31:0] iDIG;

input iWR,iCLK,iRST_N;

output [6:0] oSEG0,oSEG1,oSEG2,oSEG3,oSEG4,oSEG5,oSEG6,oSEG7; reg [31:0] rDIG;

always@(posedge iCLK or negedge iRST_N)

begin

if(!iRST_N)

rDIG <= 0;

else

begin

if(iWR)

rDIG <= iDIG;

end

end

SEG7_LUT u0 (oSEG0,rDIG[3:0]);

SEG7_LUT u1 (oSEG1,rDIG[7:4]);

SEG7_LUT u2 (oSEG2,rDIG[11:8]);

SEG7_LUT u3 (oSEG3,rDIG[15:12]);

SEG7_LUT u4 (oSEG4,rDIG[19:16]);

SEG7_LUT u5 (oSEG5,rDIG[23:20]);

SEG7_LUT u6 (oSEG6,rDIG[27:24]);

SEG7_LUT u7 (oSEG7,rDIG[31:28]);

endmodule

流水灯课程设计

单片微机原理与接口技术课程设计报告

目录 1.引言 (3) 1.1设计任务 (3) 1.2 设计要求 (3) 2.课题综述 (3) 2.1 课题的来源 (3) 2.2 面对的问题 (4) 3.系统分析 (4) 4.系统设计 (6) 4.1 硬件设计 (6) 4.2 软件设计 (9) 4.3 硬件原理图 (10) 4.4 元件清单 (10) 4.5 代码编写 (11) 5.心得体会 (12) 6.致谢 (13) 7.参考文献 (14)

1.引言 单片机课程设计主要是为了让我们增进对89C51单片机电路的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。 1.1设计任务 设计一个单片机控制的流水灯系统。 1.2 设计要求 (1)至少 8 个灯; (2)可实现不同的亮灯(如左循环,右循环,间隔闪等)。 2.课题综述 2.1 课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的

应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。

2.2 面对的问题 这次课程设计是通过 89C51 位单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编。另一个是硬件的设计,我们需要通过 protel 将设计的实物的电路图画出来。 3.系统分析 89C52 单片机引脚图及引脚功能介绍 本次设计的目的在于加深 89C52 单片机的理解,首先来简单认识一下,它的引脚如图所示:

流水灯设计报告

流水灯设计报告 一、实验目的 通过本实验教学,学习数字电路综合应用(将单元电路组成系统电路的方法),掌握简单数字系统设计方法。通过查阅手册和文献资料,培养独立分析和解决实际问题的能力。掌握示波器、信号发生器、频率计、万用电表等常用电子仪器设备的使用。获得数字电路综合应用能力。 二、实验内容 用D 触发器和译码器设计一个8位可循环的流水灯,用仿真软件进行仿真,最后根据电路图在万能板上焊接出来。 三、实验原理 1.D 触发器 D 触发器的状态方程为:Q n+1=D 。其状态的更新发生在CP 脉冲的边沿,74LS74(CC4013)、74LS175(CC4042)等均为上升沿触发,故又称之为上升沿触发器的边沿触发器,触发器的状态只取决于时针到来前D 端的状态。D 触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等,图A 为74LS74外引线排列,图B 为D 触发器逻辑符号。 2.译码器 74LS138 为3 线-8 线译码器,共有 54LS138和 74LS138 两种线路结构型式 工作原理: ① 当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。 图A 74LS74外引线排列 图B D 触发器逻辑符号

表1 74LS138逻辑功能表 ② 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 ③ 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。 ④ 可用在8086的译码电路中,扩展内存。 引脚功能: A0∽A2:地址输入端 STA (E1):选通端 /STB (/E2)、/STC (/E3):选通端(低电平有效) /Y0∽/Y7:输出端(低电平有效) VCC :电源正 GND :地 A0∽A2对应Y0——Y7;A0,A1,A2以二进制形式输入,然后转换成十进制,对应相应Y 的序号输出低电平,其他均为高电平。 如图C 所示为74LS138译码器的引脚排列图。功能表如表1所示 四、实验结果 图C 74LS138的引脚排列图

CD4017流水灯电路设计

CD4017流水灯电路设计 摘要:随着LED技术的不断发展以及LED在低功耗、长寿命、环保等方面的优势,LED应用领域逐渐增多。同时,许多国家在看到LED巨大的市场潜力后,纷纷出台各项鼓励措施大力推动LED在各领域中的应用。目前,LED的应用已经从最初的指示灯应用转向更具发展潜力的显示屏,景观照明、背光源、汽车车灯、交通灯、照明等领域,LED应用正呈现出多样化发展趋势。 本次毕业设计就是用小功率LED作为发光体替代实验室中价格昂贵的钠光灯或白炽灯。并利用555定时器、可变电阻普通电阻、电解电容以及普通电容构成可调驱动电路,驱动CD4017计数器构成的译码电路,使LED依次循环发光,从而组成循环流水灯。 关键词: CD4017 555定时器 LED

目录 设计任务和要求 (3) 1.引言 (4) 2.总体设计方案选择与说明 (5) 2.1 方案选择 (5) 2.2 电路工作原理: (5) 3.单元硬件设计说明 (5) 3.1 555定时器 (6) 3.2 自激多谐振荡器 (10) 3.3 十进制计数/分频器CD4017 (11) 3.3.1 CD4017内容说明: (11) 3.3.2 CD4017十进制计数器内部电路图: (12) 3.3.3 CD4017时序波形图: (13) 3.3.4 CD4017引脚图如下: (14) 3.3.5 CD4017引脚功能: (14) 3.4 发光二极管(LED) (15) 3.4.1 LED 特点 (13) 3.4.2 LED光源的特点 (16) 3.5 元件明细表 (17) 4.软件说明 (18) 4.1 Protel99简介 (18) 4.2 Proteus简介 (19) 5.安装调试方法 (19) 5.1 安装方法 (19) 5.2 调试方法 (20) 6.总结 (20) 7.致谢 (21) 8.参考文献 (22) 附录一 (22) 附录二 (24) 附录三 (25) 附录四 (26)

根据DSP的流水灯系统设计

课程设计说明书题目: 基于DSP的流水灯系统设计 学院: 专业班级: 学号: 学生姓名: 指导教师: 2017年1月13日

安徽理工大学课程设计(论文)任务书电气与信息工程学院

安徽理工大学课程设计成绩评定表

摘要 (1) 第一章TMS320VC5416芯片 (1) 1.1 TMS320VC5416芯片特点 (2) 1.中央处理单元 (2) 2.存储器 (3) 3.数据寻址 (3) 4.程序存储器寻址 (3) 5.中断 (3) 6.流水线 (3) 7.运算速度 (3) 8.低功耗方式 (3) 9.片上的外设 (4) 10.JTAG扫描逻辑电路 (4) 1.2 TMS320VC5416的指令集 (4) 1.算术指令 (4) 2.逻辑指令 (4) 3.程序控制指令 (5) 4.读取和存储指令 (5) 第二章硬件设计 (5) 2.1 整体框图 (5) 2.2 电源电路 (6) 2.3 存储电路 (6) 2.4 时钟电路 (7) 2.5 复位电路 (7) 2.6 JTAG电路 (8) 2.7 键盘电路 (8) 2.8 显示模块 (9) 第三章软件设计 (9) 1.1设计流程 (10) 1.2软件设计步骤 (10) 3.2.1 进入CCS (10) 3.2.2 新建一个项目 (10) 3.2.3 新建一个源文件 (10) 3.2.4 在项目中添加源文件 (11) 3.2.5 程序代码 (11) 1.初始化程序 (11) 2.主函数程序: (12) 3.向量文件 (13) 4.MEMORY程序 (15) 3.2.6对项目进行编译和链接 (15) 3.2.7装载可执行文件 (15) 3.2.8运行程序并查看结果: (16) 设计心得及体会 (16)

电子科技大学 数字逻辑课程设计——流水灯的实现

数字逻辑课程设计 ——流水灯的设计 1问题概述: 设计一个可以循环移动的流水灯,灯总数为8盏,具体要求如下: 1、5亮,其余灭,右移三次后全灭 4、8亮,其余灭,左移三次后全灭 4、5亮,其余灭,各向两边移三次后全灭 1、8亮,其余灭,各向中间移三次后全灭 所要求的彩灯电路在某电路板上完成,该电路板能够提供48MHz标准时钟信号,附带有8个共阳的LED管可作为彩灯使用。 2问题分析 本装置可以看作一个具有20个状态的无输入、8个输出的Moore型时钟同步状态机,每一个状态对应依次出现的每一种亮灯情况,用5位状态编码表示。这里构造一个模20的计数器来循环产生这20种状态。同时对于输入的48MHz的标准时钟信号,需要将其转化为1HZ的信号,此处同样用计数器来实现分频功能。8个输出分别控制LED的发光情况。这里使用5-32的译码器实现输出函数的构造。电路框图如下: 这里使用一个5位的状态编码Q4Q3Q2Q1Q0,表示20个状态。8位的输出函数F7F6F5F4F3F2F1F0分别表示由左至右每一个灯的通断情况。由于本题中LED灯采用共阳极连接方式,所以当Fn为低电平时,对应的LED灯发光。 本电路状态图如下:

本电路的转移/输出表如下: 现针对每一部分设计具体电路 3设计方案 3.11/48MHz分频电路 对于48MHz的信号,一秒钟内有4.8*10^7个周期,而所需1Hz信号,每秒只有一个周期。使输入信号每经过2.4*10^7个周期,输出信号翻转一次方向,便可获得所需的1Hz信号。可以构造一个模4.8*10^7的计数器用于计数,并使计数器输出的最高位在一秒之内恰好变化一次,且占空比为50%,故采用7片74x163进行级联。计数范围为:0110100100011100101000000000-1001011011100011010111111111。这样恰好可以保证最高

基于单片机的LED流水灯设计

基于单片机的LED流水灯设计 设计任务 1掌握MCS-51系列8051、8255的最小电路及外围扩展电路的设计方法 2了解单片机数据转换功能及工作过程 3设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示4完成主要功能模块的硬件电路设计 5用proteus软件完成原理电路图的绘制 一设计方法 本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED 的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到

“流水”效果了。 二方案论证与比较 2.1循环移位法 在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。由于8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。 2.2查表法 上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“MOVC A,@A+DPTR”把数据取到累加器A中,然后再送到P1口进行显示。具体源程序如下,TAB标号处的数据表可以根据实

单片机课程设计报告--心形流水灯

井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:玉红 专业:生物医学工程 班级:11级医工本一班 学号:110615017 指导教师:王佑湖 2013年11月27日

目录 1引言 (2) 1.1设计任务 (2) 1.2设计要求……………………………………………… ..2 2 课题综述 (2) 2.1课题的来源 (2) 2.2面对的问题 (2) 3 系统分析 (2) 3.1 STC89C52单片机引脚图及引脚功能介绍 (2) 4 系统设计 (4) 4.1硬件设计 (4) 4.1.1硬件框图 (4) 4.1.2硬件详细设计 (5) 4.2 软件设计 (5) 4.3 硬件原理图 (6) 4.4 元件清单 (6) 4.5 硬件焊接

图 (6) 4.6 代码编写 (7) 5心得体会 (7) 6致 (8) 参考文献 (8) 1 引言 单片机课程设计主要是为了让我们增进对STC89C51单片机电路 的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目 的。 1.1设计任务 设计一个单片机控制的流水灯系统 1.2设计要求 (1)32个LED灯; (2)可实现多种的亮灯(如左循环,右循环,间隔闪,90度交叉闪等)。 2 课题综述

2.1 课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。 2.2 面对的问题 这次课程设计是通过STC89C52位单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。而更为严峻的就是设计的最后还要将软硬件相结合。 3 系统分析 3.1 STC 89C52单片机引脚图及引脚功能介绍 本次设计的目的在于加深STC89C52单片机的理解,首先来简单认识一下,它的引脚如图3-1所示: 图3.1 STC89C52

单片机流水灯课程设计

单片机流水灯课程 设计

基于AT89C51单片机的流水灯 1 引言 1.1 课题简介 单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 当前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用,例如精密的测量设备;在工业控制中的应用,用单片机能够构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算

机联网构成二级控制系统等;在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。单片机在医用设备领域中的应用,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等;在各种大型电器中的模块化应用,如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。 本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。本系统就是充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示,并实现循环的速度可调。 1.2 设计目的 (1) 学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。 (2) 掌握汇编语言程序设计方法。 (3) 培养实践技能,提高分析和解决实际问题的能力。 1.3 设计任务及要求 (1) 彩灯用8个发光二极管代替。 (2) 电路具有控制彩灯点亮右移、左移、全亮及全灭等功能。

用单片机控制的LED流水灯设计(电路、程序全部给出)讲课教案

用单片机控制的L E D 流水灯设计(电路、程序全部给出)

1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATM EL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 流水灯硬件原理图 从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,

LED流水灯设计

单片机课程设计报告 LED流水灯的设计 专业: 姓名:学号: 姓名:学号: 姓名:学号: 2015年月日

目录 LED流水灯的设计0 第一章绪论1 设计目的1 设计任务1 设计方法1 第二章设计内容与所用器件1 基本功能1 LED彩灯错误!未定义书签。 循环移位法2 第三章硬件系统设计2 单片机时钟电路2 第四章软件设计2 汇编语言和C语言的特点及编程 2 LED显示原理3 第五章系统调试与存在的问题4 程序下载4 硬件调试5 软件调试5 总结5 参考文献 6 LED流水灯的设计 [摘要]:当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。 单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机称单片机,特别适用于控制领域,故又称为微控制器。 本系统就是充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示,并实现循环的速度可调。 [关键字]:单片机技术;系统设计;LED流水灯

第一章绪论 设计目的 通过本次课题设计,应用《单片机原理及应用》等所学相关知识及查阅资料,完成简易LED流水灯系统设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。 通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。 设计任务 在本次课程设计中,主要完成如下方面的设计任务: 1、掌握MCS-51系列8051的最小电路及外围扩展电路的设计方法; 2、了解单片机数据转换功能及工作过程; 3、设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示; 4、完成主要功能模块的硬件电路设计。 设计方法 本课题使用STC89C52RC单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 如果要让接在口的LED1亮起来,那么只要把口的电平变为低电平就可以了;相反,如果要接在口的LED1熄灭,就要把口的电平变为高电平;同理,接在~口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。 由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 第二章设计内容与所用器件 基本功能 利用STC89C52RC作为主控器组成一个LED流水灯系统,实现8个LED霓虹灯的左、右循环显示。 可选器件 51系列单片机、电容C104、、18?和1K的电阻、LED灯、按键、晶振等。 总体框架图

流水灯控制系统设计

微机原理课程设计 目录 第1章方案的论述以及与最终方案的确定·····································- 1 - 1.1第一种方案的论述 (1) 1.2第二种方案的论证 (1) 1.3第三种方案的论述 (1) 1.4最终方案的确定 (1) 第2章硬件设计 .................................................................................- 2 -2.1总体方案设计分析 .. (2) 2.2系统逻辑框图 (2) 2.3主要元器件简介 (2) 2.3.1 8086CPU ················································································································ - 2 - 2.3.2 地址锁存器74LS373的内部电路与工作原理····················································· - 4 - 2.3.3 可编程外围接口芯片8255A的简介···································································· - 5 -第3章软件设计 ·················································································- 9 - 3.1程序流程设计 (9) 3.1.1 主程序流程··········································································································· - 9 - 3.1.2 程序流程图········································································································· - 10 - 3.1.3 系统硬件连接图 ································································································· - 11 - 3.1.4 源程序设计(附录) ............................................................................................... - 11 -3.2设计最终理想结果及原理 (11) 3.2.1 左向移动流水灯 ································································································· - 11 - 3.2.2 右向移动流水灯 ································································································· - 11 -设计心得 ·····························································································- 12 -参考文献 ·····························································································- 13 -附录······································································································- 14 - - 1 -

EDA课程设计---流水灯设计

EDA课程设计流水灯设计

目录 一、摘要··3 二、流水灯设计目的··4 三、流水灯设计流程··4 四、流水灯设计程序··5 五、流水灯设计管脚分配··7 六、功能仿真图··8 七、原理图波形图··9 八、设计注意事项··10

九、课程设计总结··11 十、参考文献··12 十一、评分表··13 一、摘要 随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、

自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。 流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。 课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。在此过程中培养从事设计工作的整体观念。 课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面: ·独立工作能力和创造力。 ·综合运用专业及基础知识,解决实际工程技术问题的能力。 ·查阅图书资料、产品手册和各种工具书的能力。 ·写技术报告和编制技术资料的能力。 ·实际动手能力。

数字电路流水灯设计

数字电路流水灯设计 一:方案论证与比较 1:工作时钟源设计 (1)采用555定时器接成的多谐振荡器。 555定时器是多用途的数字—模拟混合集成电路,利用它能极方便的构成施密特触发器,单稳态触发器和多谐振荡器,使用灵活,方便。555定时器在波形产生和交换,测量与控制中应用广泛成熟准确。 (2)采用三极管多谐振荡器 三极管多谐振荡器是一种矩形脉冲产生电路,这种电路不需外加触发信号,便能产生一定频率和一定宽度的矩形脉冲,常用作脉冲信号源。由于矩形波中含有丰富的多次谐波,故称为多谐振荡器。多谐振荡器工作时,电路的输出在高、低电平间不停地翻转,没有稳定的状态,所以又称为无稳态触发器。 (3)方案比较 555定时器接成的多谐振荡器产生的时钟信号驱动能力较强,555通过改变R和C的参数就可以改变振荡频率,电路参数容易确定,使用简单,信号稳定,调试方便,而三极管多谐振荡器,不易调试,输出信号驱动能力不强且信号不够稳定,故选用555定时器接成的多谐振荡器作为系统的时钟源。

2流水灯驱动电路设计 本次项目中使用1片4位同步二进制计数器74LS161,其Q0,Q1,Q2脚输出三位二进制顺序脉冲000-001-010-011-100-101-110-111,时钟源为555定时器的输出方波。 与Q0,Q1,Q2相连接的是一片38译码器74LS138的A0,A1,A2引脚,Y0—Y7依次输出负脉冲。其是引脚输入脉冲为时钟源为555定时器的输出方波经一片74LS14反相器反相后的时钟脉冲,其74LS138真值表如下: 8个LED以共阳接法分别接于Y0—Y7,依次点亮,其亮灭频率由555定时器产生的时钟频率为准。 二参数计算 555定时器外接电阻计算

基于51单片机的流水灯设计说明

基于51单片机的流水灯设计 一.基本功能 利用AT89c51作为主控器组成一个LED流水灯系统,实现8个LED 灯的左、右循环显示。 二.硬件设计 图1.总设计图

1.单片机最小系统 1.1选用AT89C51的引脚功能 图2. AT89C51 XTAL1:单芯片系统时钟的反向放大器输入端。 XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。 RESET:重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得部特殊功能寄存器容均被设成已知状态。 P3:端口3是具有部提升电路的双向I/O端口,通过控制各个端口的高低电平了实现LED流水灯的控制。

1.2复位电路 如图所示,当按下按键时,就能完成整个系统的复位,使得程序从新运行。 图3.复位电路 1.3时钟电路 时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。 在AT89C51芯片部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。此电路采用12MHz的石英晶体。

图4.时钟电路 2.流水灯部分 图5.流水灯电路 三.软件设计 3.1编程语言及编程软件的选择 本设计选择C语言作为编程语言。C语言虽然执行效率没有汇编语言

流水灯课程设计(免费)..

数字电子技术课程设计报告 (彩灯控制器) 专 专业:电子信息工程 班级:7B1211 学号:123025 姓名:白旭飞 年月:2014-6-28

一、设计要求 1. 以8或10个指示灯作为显示器件,能自动的从左到右、从右到左自动的依次被点亮,如此周而复始,不断循环。 2.打开电源时控制器可自动清零,每个指示灯被点亮的时间相同约为0.5S~2S 范围内。 3.用计算机画出设计电路图,进行仿真分析验证其正确性。 4.写设计说明书一份(画总原理框图以及说明主要工作原理,单元电路的设计和元器件的选择,画出完整的电路图和元器件明细表,收获、体会及建议) 二、设计的作用,目的 1.作用 利用控制电路可使彩灯(例如霓虹灯)按一定的规律不断的改变状态,不仅可获得良好的观赏效果,且可以省电(与彩灯全亮相比)。 2.目的 用NE555芯片,74LS151芯片,74LS163芯片,74LS194,以及一些逻辑门芯片完成彩灯控制器。 三、设计的具体实现 1.系统概述 接通电源时,555占空比可调振荡器产生1s单位的脉冲,脉冲送到下一个模块74LS151计数器,目的实现模5计数器,达到每五秒生成一个脉冲输向下一个芯片74LS194移位寄存器以及计数器74LS163。进而彩灯在脉冲的作用下依次点亮,并实现循环,完成实验要求。 2.总体思路 先用555定时器用来生成1s标准单位cp脉冲,把脉冲给计数器74LS151,通过74LS151形成模5加法计数器,再将74LS151输出信号供给74LS194移位寄 存器输入端,Q 0,Q 1, Q 2 和Q 3 接彩灯然后连接几个逻辑门,把74LS194接成环形 计数器。就能实现基本电路要求。 3.方案设计 总体电路共分三大块。第一块实现时钟信号的产生;第二块实现灯亮灭情况的演示;第三块实现灯亮灭的控制及节拍控制。

流水灯电路图和程序

流水灯电路图和程序 #include #include #define uchar unsigned char #define uint unsigned int uchar code led[]={0xfe,0xfb,0xfd ,0xf7,0xef,0xbf,0xdf,0x7f}; delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } main( ) { uint i; while(1) { P2=led[]; delay(500); _crol_(led,1); } } 用arm7做一个流水灯的设计。 悬赏分:100 - 解决时间:2009-9-3 20:03 试设计一个闪烁流水灯控制器,该控制器可以控制8个灯顺序亮灭,当按钮K按下1次后,每次顺序点亮一个灯。而且每个点亮的灯在闪烁3次后,才能灭,周而复始,直到按钮K 二次按下。(用状态机设计)

要用PROTEL99画好电路图。还要写好程序。画图的也只能发到我的邮箱里面吧。邮箱:。谢谢各位。 提问者:woxinruozai - 五级 最佳答案 从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。 实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。 从上面中文表示看来实现单片机流水灯很简单,但是我们不能说P1.0你变低,它就变低了。因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”机器代码。我们又怎样来使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。这里的“程序语言”目前主要有汇编语言和C语言两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。 实现8个LED流水灯汇编语言源程序liu01.asm ;----- 主程序开始----- START: CLR P1.0 ;P1.0输出低电平,使LED1点亮 ACALL DELAY ;调用延时子程序 SETB P1.0 ;P1.0输出高电平,使LED1熄灭 CLR P1.1 ;P1.1输出低电平,使LED2点亮 ACALL DELAY ;调用延时子程序 SETB P1.1 ;P1.1输出高电平,使LED2熄灭 CLR P1.2 ;P1.2输出低电平,使LED3点亮 ACALL DELAY ;调用延时子程序 SETB P1.2 ;P1.2输出高电平,使LED3熄灭 CLR P1.3 ;P1.3输出低电平,使LED4点亮 ACALL DELAY ;调用延时子程序 SETB P1.3 ;P1.3输出高电平,使LED4熄灭 CLR P1.4 ;P1.4输出低电平,使LED5点亮 ACALL DELAY ;调用延时子程序

精品可控流水灯单片机课程设计报告(c语言)-定

目录 1 引言 (1) 2课题综述 (1) 2.1 课题的来源 (1) 2.2课题的意义 (1) 2.3预期的目标 (1) 2.4面对的问题 (1) 2.5课题的技术 (2) 3系统分析 (2) 3.1涉及的基础知识 (2) 3.280C51单片机引脚图及引脚功能介绍 (2) 3.3 解决问题的基本思路 (3) 3.4总体方案 (3) 4系统设计 (3) 4.1硬件设计 (3) 4.2 软件设计 (4) 4.3元件清单 (4) 4.4硬件原理图 (5) 4.5 硬件焊接图 (6) 4.6设计主要功能 (6) 5代码编写 (6) 6程序调试 (7) 结论 (8) 致谢 .................................................................................................. 错误!未定义书签。参考文献 .............................................................................................. 错误!未定义书签。

1 引言 单片机课程设计主要是为了让我们增进对80C51单片机电路的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。 2课题综述 2.1课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。 2.2课题的意义 这次单片机课程设计是为了通过对流水灯控制的设计加强学生团队配合的能力和创造力;综合运用专业及基础知识,解决实际工程技术问题的能力。能够让学生深入真是的体会到所学的理论知识和实践相结合的过程。找出自身的不足并加以改正。 2.3预期的目标 对8个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用两个键来控制流水灯流动的速度。 2.4面对的问题 这次课程设计是通过80C51位单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。而更为严峻的就是设计的最后还要将软硬件相结合。首先我们需要通过protel将设计的实物的电路图画出来,再根据电路图连接实物电路。

数字电路流水灯设计书

电子工程学院课外学分申请书题目:数字电路流水灯设计 班级:***** 姓名:****** 学号:***** 专业:自动化 实验室:开放实验室 设计时间:2013年3月10日——2013年6月30日审批意见:指导老师:*****

1.数字电路流水灯设计方案 1.1采用555定时器接成的多谐振荡器。 555定时器是多用途的数字—模拟混合集成电路,利用它能极方便的构成施密特触发器,单稳态触发器和多谐振荡器,使用灵活,方便。555定时器在波形产生和交换,测量与控制中应用广泛成熟准确 。 1.2 采用三极管多谐振荡器 三极管多谐振荡器是一种矩形脉冲产生电路,这种电路不需外加触发信号,便能产生一定频率和一定宽度的矩形脉冲,常用作脉冲信号源。由于矩形波中含有丰富的多次谐波,故称为多谐振荡器。多谐振荡器工作时,电路的输出在高、低电平间不停地翻转,没有稳定的状态,所以又称为无稳态触发器。 1.3方案比较 555定时器接成的多谐振荡器产生的时钟信号驱动能力较强,555通过改变R和C的参数就可以改变振荡频率,电路参数容易确定,使用简单,信号稳定,调试方便,而三极管多谐振荡器,不易调试,输出信号驱动能力不强且信号不够稳定,故选用555定时器接成的多谐振荡器作为系统的时钟源。 2.基本原理 本次项目中使用1片4位同步二进制计数器74LS161,其Q0,Q1,Q2脚输出三位二进制顺序脉冲000-001-010-011-100-101-110-111,时钟源为555定时器的输出方波。 与Q0,Q1,Q2相连接的是一片38译码器74LS138的A0,A1,A2引脚,Y0—Y7依次输出负脉冲。其是引脚输入脉冲为时钟源为555定时器的输出方波经一片74LS14反相器反相后的时钟脉冲,其74LS138真值表如下: 8个LED以共阳接法分别接于Y0—Y7,依次点亮,其亮灭频率由555定时器产生的时钟频率为准。 3 电路图

相关文档
相关文档 最新文档