版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、院 系: 班 级: 姓 名: 学 号: 小组成员: 指导教师: EDA课程设计报告 题目:循环八路彩灯设计 目录 一、设计任务分析 2 1设计任务2 2. 任务分析2 二、设计方案(基本原理)介绍 3 1. 系统设计框图3 2. 基本原理介绍3 三、各模块功能介绍 4 1. 分频模块4 2. 二选一模块4 3. 控制模块4 4. LED左移模块5 5. LED右移的模块5 6. LED闪烁模块5 四、调试过程 6 五、故障分析 6 六、结论与心得体会 6 七、参考文献 7 附录 8 附1 :完整电路原理图8 附2 :程序仿真图8 1. 二选一模块 8 2. LED左移模块9 3. LED右移模
2、块9 4. LED闪烁模块9 附3 :程序9 1. 分频器函数9 2. 右移函数11 3. 闪烁函数12 4. 左移函数13 5. 二选一函数14 6. 花型选择函数14 5 一设计任务分析 1. 设计任务 1. 彩灯明暗变化节拍为0.25S和0.5S两种节拍,可以自动交替运 行,也可以采用按键是否按下进行切换。 2. 演示花型3种,分别为左移、右移、闪烁。每种花型显示时间维 持1分钟。 3. 彩灯用发光二极管LED莫拟。 4. 要求系统用两种节拍交替循环显示 3种花型。 2. 任务分析 1. 该系统的外加信号为时钟,输出为 8路彩灯信号。彩灯控制器 按一定的节拍改变8路输出的高低电平,控制彩
3、灯按预定的规律亮 灭,从而显示一定的花型。根据设计任务,彩灯控制器应包含时钟电 路编码器和控制电路。时钟可以采用实验板上的时钟信号; 编码器根 据花型要求按节拍产生8位输出编码信号,控制彩灯按规律亮灭;控 制电路则应控制编码器的节拍脉冲和 3种花形的循环切换,同步整个 系统工作。 2. 选择1HZ时钟脉冲作为系统时钟。 3. 0.25S和0.5S秒信号由时钟分频获得。 4. 循环显示方式自定:可以按照左移-闪烁-右移-左移方式显示, 也可以按照其他方式显示。 1.设计方案(基本原理)介绍 1. 系统设计框图 图1.框图 (1)时钟输入:给分频电路时钟脉冲 (2)控制电路:状态机 (3)LED显
4、示:彩灯演示 (4)清零输入:CLR键,实现复位功能 2. 基本原理介绍 (1)系统时钟分频后得到0.5s和0.25s的时钟信号。 (2)2个分频得到的时钟信号通过二选一由外部按键高低电平 控制,决定彩灯明暗变化节拍。 (3)控制电路中的左移、右移、闪烁 3个模块间的交替变换实 现花型变换。 (4)控制电路中的选择花型的状态机决定LED以哪种花型演 示。 三、各模块功能介绍 1. 分频模块 任意整数分频模块功能:对输入时钟 clock进行F_DIV倍分频后 输出clk_out。其中F_DIV为分频系数,分频系数范围为12八n (n二F_DIV_WIDTH)。若要改变分频系数,改变参数 F_DI
5、V或 F_DIV_WIDTH到相应范围即可。若分频系数为偶数,则输出时钟占 空比为50%;若分频系数为奇数,则输出时钟占空比取决于输入时钟 占空比和分频系数(当输入为50%时,输出也是50%)。奇数倍分频: 三倍分频的时序图如下所示。 12345 6 clock clk_p_r |1|1 clk_n_r -T|1| clk_out |1|1 2. 二选一模块 输入为0.25s, 0.5s时钟脉冲和外部按键s控制的高低电平,当s 为高电平1时,输出的时钟脉冲为其中一个时钟脉冲;当s为低电平 时,输出的时钟脉冲为另一个时钟脉冲。这样,通过控制外部按键的 高低电平变化,来控制彩灯明暗变化的街拍为0.
6、25s还是0.5s 3. 控制模块 作用是选择LED灯以哪种花型演示,其驱动时钟信号为系统1Hz 时钟时钟经分频后得到1分钟的时钟脉冲,内部为状态机,将三种花 型视为三种状态。每到1分钟时钟信号的上升沿到来时,其状态机的 3个状态(即花型)自动跳转,并将该花型作为输出,从而实现了 3 种花型的自动变化,且每种花型维持时间都为 1分钟. 4. LED左移模块 分频后得到的外部时钟每次到来时,其内部信号 HUM (其值为1 至7的整数)变加1, NUM的每一个整数值对应一种对 8个LED灯 高低电平的赋给情况。将“ 0”电平时LED灯亮,“ 1”电平时灯灭与 花型左移相结合后,以电平赋给情况如“
7、11111110 “ 11111101 “11111011 “ 11110111 “ 11101111 “01111111 循环变换,达到实现LED灯左移的花型。 5. LED右移的模块 原理同LED左移模块,只是LED高低电平赋给情况变化规律变 为:“01111111 “10111111 “ 11011111 “11101111 一一“ 11111110的循环,从而实现LED灯右移的花型。 6. LED闪烁模块 原理同LED左移模块,只是LED高低电平赋给情况变化规律变 为:“ 11111111 “00000000” “ 11111111 “ 00000000 的循环,从而实现LED灯闪烁的
8、花型。 四、调试过程 1. 先分别编出了分频、二选一、右移、左移、闪烁、控制模块的程 序并分别编译、检错、改错无误后,各自生成了相应的电器元件。 2. 绘制出电路元件连接图后,编译无误后,查看了时序仿真图,得 到了和任务要求一样的能实现其功能的时序图。 3到实验室下载后,正确实现了设计任务所要求的内容。 五、故障分析 1. 刚开始编译时,由于忽略了工程名与实体名一致的要求, 出现错 误,改正后错误变少。 2. 刚编译好程序时,编译之后出现很多错误,多数是由于拼写或者 标点错误造成的,由此可见细心的重要性。 3. 连接封装好的元器件时,由于复位键没有都连在一起,编译时出 现错误。后来试着将所有的
9、需复位键处都连到同一个复位键后, 错误 消失了。这个还不懂为何要连接在一起。 六. 结论与心得体会 七、参考文献 【1】EDA技术实用教程浦松、黄继业主编;科学出版社;2006 【2】几种小波变换的图像处理技术 李永忠;西北民族学院学报; 2001 【3】模式识别边肇祺;清华大学出版社;1998 附录 附1:完整电路原理图 Piir-jiiiille-r UnilLie F CtV 46UODC-O FJPVJiTH ifCjly P.iriiiKlr Wahiv FJW 269000000 FJWJMDTH ire.diu ttac* c4wk_wil nnfllO ihfl IFUT .:
10、器. cw R5T QlfF.JD QJIT.jD mrt i Pl JUlfttfrl F DfV 341X00(1 FJW帕Tn znrlfl inft?* r WI CLK DfT.Dg CLM Qp.j| RSI 9 Rame 40.0 阳 t A B 0 Lv- 月 B D * S B I 竺 T B L iiunZ 附2:程序仿真图 1.二选一模块 40.0 ns J E_iumnnrnmnnnJUTnwrLrmnnrLnnr VLrL_nn_rT_nrLrunrLrL_nLRrLrim 2.LED左移模块 j CL BQ 1 BST B 1 4 b mini :LilLlllO
11、| L31I1101 X 11L1L01L M tllLOLII X 11L01I1L I LI0L11I1 X LOllHll I OlIltllL j 3.LED右移模块 CLK BST B I 1011111卩帀订1门厂両廿111 十FiliH X HlQlllj *】T1而航厂(而丽厂X lllimo ; 4. LED CLK RST 附3:程序 1.分频器函数 LIBRARY IEEE; USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.
12、NUMERIC_BIT.ALL;-包含移位函数等 ENTITY in t_divIS GENERIC ( F_DIV:I nteger:=48000000;-分频系数 F_DIV_WIDTH:I nteger:=32-分频计数器宽度 ); PORT( clock :IN STD_LOGIC; clock_out:OUT STD_LOGIC ); END; ARCHITECTURE one OF in t_div IS SIGNAL clk_p_r:STD_LOGIC;-上升沿输出时钟 SIGNAL clk_n_r:STD_LOGIC;-下降沿输出时钟 SIGNAL cou nt_p: STD_
13、LOGIC_VECTOR(f_div_width-1 器 SIGNAL cou nt_n: STD_LOGIC_VECTOR(f_div_width-1 DOWNTO 0);-上升沿脉冲计数 DOWNTO 0);-下降沿脉冲计数 -SIGNAL f_div_width:STD_LOGIC_VECTOR(f_div_width-1 SIGNAL clock_out_r:STD_LOGIC; DOWNTO 0); SIGNAL full_div_p: SIGNAL half_div_p: SIGNAL full_div_ n: SIGNAL half_div_ n: STD_LOGIC;-上升沿计
14、数满标志 STD_LOGIC;-上升沿计数半满标志 STD_LOGIC;-下降沿计数满标志 STD_LOGIC;-下降沿计数半满标志 BEGIN clock_out=clock_out_r; -clock_out=clock WHEN (F_DIV=1) ELSE (clk_p_r=1 AND clk_n_r=1) WHEN (F_DIV(0)=1) clk_p_r); 判断计数标志位置位与否 full_div_p=1 WHEN (cou nt_pF_DIV-1)ELSE 0; half_div_p=1 WHEN (cou nt_p(F_DIV/2 )-1) ELSE 0; full_div_
15、 n=1 WHEN (cou nt_n F_DIV -1)ELSE 0; half_div_ n=1 WHEN (cou nt_n (F_DIV/2)-1)ELSE 0; PROCESS(clock)-上升沿脉冲计数 -VARIABLE i:I nteger RANGE 0 TO 31; BEGIN IF RISING_EDGE(clock)THEN IF full_div_p=1 THEN coun t_p=co un t_p+1; IF (half_div_p=1) THEN clk_p_r=0; ELSE clk_p_r=1; END IF; ELSE cou nt_p0); clk_p
16、_r= 0; 17 END IF; END IF; END PROCESS; PROCESS(clock)-下降沿脉冲计数 BEGIN IF FALLING_EDGE(clock)THEN IF full_div_ n=1 THEN count_n=co unt_n+1; IF half_div_ n=1 THEN clk_n_r=0; ELSE clk_n_r=1; END IF; ELSE count_n0); clk_n_r = 0; END IF; END IF; END PROCESS; PROCESS(clock) BEGIN IF RISING_EDGE(clock)THEN I
17、F F_DIV= 1 THEN clock_out_r=clock; ELSE IF (F_DIV REM 2) =1 THEN clock_out_r= clk_p_r AND clk_n_r; ELSE clock_out_r=clk_p_r; END IF; END IF; END IF; END PROCESS; END; 2.右移函数 LIBRARY ieee; USE ieee.stdo gic_1164.all; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY led1 IS PORT( CLK:IN STD_LOGIC; RST:IN STD_L
18、OGIC; Q:OUT STD_L0GIC_VECT0R(7 DOWNTO 0); END ledl; ARCHITECTURE one OF led1 IS SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0; BEGIN PROCESS(CLK) BEGIN IF RST=0 THEN NUM=0; ELSIF CLKEVENT AND CLK=1 THEN NUMQQQQQQQQNULL; END CASE; END PROCESS; END one; 3. 闪烁函数 LIBRARY ieee; USE ieee.stdo gic_1164.all; USE IEE
19、E.STD_LOGIC_UNSIGNED.ALL; ENTITY led2 IS PORT(CLK:IN STD_LOGIC; RST:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END led2; ARCHITECTURE one OF led2 IS SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0; BEGIN PROCESS(CLK) BEGIN IF RST=0 THEN NUM=0; ELSIF CLKEVENT AND CLK=1 THEN IF NUM=7 THEN NUM=NUM+1; ELSE
20、NUMQQQQQQQQNULL; END CASE; END PROCESS; END one; 4. 左移函数 LIBRARY ieee; USE ieee.stdo gic_1164.all; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY led3 IS PORT( CLK:IN STD_LOGIC; RST:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END led3; ARCHITECTURE one OF led3 IS SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;
21、 BEGIN PROCESS(CLK) BEGIN IF RST=0 then num=0; ELSIF CLKEVENT AND CLK=1 THEN IF NUM=7 THEN NUM=NUM+1; ELSE NUMQQQQQQQQNULL; END CASE; END PROCESS; END one; 5. 二选一函数 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX21 IS PORT( A:IN STD_LOGIC; B:IN STD_LOGIC; S:IN STD_LOGIC; Y:OUT STD_LOGIC ); END
22、 ENTITY MUX21; ARCHITECTURE one OF MUX21 IS BEGIN PROCESS(S,A,B) BEGIN IF S=1 THEN Y=A; ELSE Y=B; END IF; END PROCESS; END one; 6. 花型选择函数 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ledko ngzhi IS PORT(CLK,RST: IN STD_LOGIC; Q1,Q2,Q3: IN STD_LOGIC_VECTOR(7 DOWN
23、TO 0); T:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END ledk on gzhi; ARCHITECTURE behav OF ledko ngzhi IS TYPE states IS (s0,s1,s2); SIGNAL YT : states ; BEGIN P1: PROCESS(clk,RST) BEGIN IF RST =0 THEN YT YT YT YT YT T(7 DOWNTO 0) T(7 DOWNTO 0) T(7 DOWNTO 0) T(7 DOWNTO 0)=Q1 (7 DOWNTO 0); END CASE ; END PROCESS P2 ; 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签 错误!未定义书签 错误!未定义书签。 END behav; 第一章项目概要 1.1项目背景 1.2项目建设内容与工期 1.3投资估算和资金筹措 1.3.1投资估算 1.3.2资金筹措方案 1.4效益分析 1.4.1经济效益 错误!未定义书签 142社会效益 错误!未定义书签
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司涂装后处理工安全技术规程
- 种畜胚胎移植工安全生产意识竞赛考核试卷含答案
- 公司集材工岗位标准化技术规程
- 非织造布调浆工诚信评优考核试卷含答案
- 孕妇营养膳食指南
- 胃肠外营养操作
- 2025年牙科定期检查合同
- 营养粉营销策划
- 血液内科出院病人宣教
- 2025年隆化县中小学教师招聘笔试参考题库及答案解析
- 2024-2025学年江西省赣州市石城县七年级(上)期末历史试卷
- 《计算机组装与维护》期末考试复习题库(附答案)
- 2025年生物科技公司员工合同样本
- 产品设计开发合同协议
- 2025年四川省成都市中考道德与法治试题及参考答案
- 2025至2030全球及中国绝缘体上硅(SOI)行业调研及市场前景预测评估报告
- 液体活检技术的临床研究进展
- 2025蜀道集团下属四川金通工程试验检测有限公司招聘18人备考公基题库带答案解析
- 纸箱印刷工艺培训教材
- 系统集成保密培训课件
- 无人机培训课件
评论
0/150
提交评论