节日彩灯控制器设计.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:5 大小:102KB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

节日彩灯控制器设计.doc

节日彩灯控制器设计.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

节日彩灯控制器设计班级:电科0601学号:200622340126姓名:赖才坤一.设计任务用EDA技术设计一套8位的节日彩灯控制器二.总体设计思想(1)设计内容数字钟设计,节日彩灯控制器,8位的二选一多路选择器,春季和夏季切换的时间控制器(2)设计思想实现彩灯春季和夏季时间切换,控制8个发光二极管自动循环点亮。CLKCLK数字钟控制输出输出状态显示按键三.设计步骤数字钟设计:实现正常的计时功能数字钟我们在实验课中已经设计好了,在本次课程设计中只修改相应的引脚就可以直接调用了。由于数字钟的设计过程较为繁琐,内容较多,在这里不把具体的过程写出来了。时间控制器:实现春季和夏季的时间切换k1=’1’时,执行夏季时间,彩灯从晚19:00—24:00循环点亮;k1=’0’时,执行春季时间,彩灯从晚18:00—22:00循环点亮。程序设计如下:LIBRARYieee;USEieee.std_logic_1164.all;ENTITYc_LIGHTISPORT(QHl:INSTD_LOGIC_VECTOR(3DOWNTO0);QHh:INSTD_LOGIC_VECTOR(1DOWNTO0);K1:INSTD_LOGIC;k2:OUTSTD_LOGIC);END;ARCHITECTUREaOFc_LIGHTISSIGNALP:STD_LOGIC_VECTOR(5DOWNTO0);beginprocess(k1,p)BEGINP<=QHH&QHL;ifk1='1'thenif(P>="011000"ANDP<="100010")thenk2<='1';elsek2<='0';endif;elsif(p>="011001"andP<="100100")thenk2<='1';elsek2<='0';endif;endprocess;END;四花样自动切换的彩灯控制器:彩灯控制器的第1种花样为彩灯从右到左,然后从左到右逐次点亮,全灭全亮,第2种花样为彩灯两边同时亮1个逐次向中间移动再散开;第3种花样为彩灯两边同时亮2个逐次向中间移动再散开;第4种花样为彩灯两边同时亮3个,然后4亮4灭,4灭4亮,最后1灭1亮。多个花样自动变换,循环往复。程序设计如下:Libraryieee;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;entitypaomadengisport(clk,reset:instd_logic;q:outstd_logic_vector(7downto0));end;architectureaofpaomadengissignals:std_logic_vector(4downto0);beginprocess(s,clk)beginifreset='1'thens<="00000";elsifclk'eventandclk='1'thenifs="11111"thens<="00000";elses<=s+1;endif;casesiswhen"00000"=>q<="00000001";when"00001"=>q<="00000010";when"00010"=>q<="00000100";when"00011"=>q<="00001000";when"00100"=>q<="00010000";when"00101"=>q<="00100000";when"00110"=>q<="01000000";when"00111"=>q<="10000000";when"01000"=>q<="10000001";when"01001"=>q<="01000000";when"01010"=>q<="00100000";when"01011"=>q<="00010000";when"01100"=>q<="00001000";when"01101"=>q<="00000100";when"01110"=>q<="00000010";when"01111"=>q<="00000001";when"10000"=>q<="00000000";when"10001"=>q<="11111111";when"10010"=>q<="10000001";when"10011"=>q<="01000010";when"10100"=>q<="00100100";when"10101"=>q<="00011000";when"10110"=>q<="00100100";when"10111"=