文档详情

2025年彩灯控制电路设计与实现(VHDL编程).pdf

发布:2025-01-14约6.44千字共12页下载文档
文本预览下载声明

天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为。——《孟子》

彩灯控制电路设计与实现

实验任务要求:

用VHDL语言设计并实现一个彩灯控制电路,仿真并下载验证其功能。彩灯

有两种工作模式,可通过拨码开关或按键进行切换。

(1)单点移动模式:一个点在8个发光二极管上来回的亮

(2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点

灭,依次往复

设计思路和过程:

可以将两种模式分开设计,再用一个控制钮进行切换。两种模式本质一样,

都是循环点亮灯。可以用状态机设计。

首先明确设计对象的外部特征,输入信号只有时钟信号cp和切换按钮此处

取a;输出为检测的八个彩灯亮暗。

根据设计对象的操作控制步来确定有限状态机的状态。取初始状态为s0,第

一种模式共有14种状态循环,因而可取状态

s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;第二种模式有八种状态,

可共用第一种模式中的前八种状态,即为s0,s1,s2,s3,s4,s5,s6,s7。

根据题目要求的循环可以写出各个状态的下一状态,写完整个循环为止。切

换按钮可以用一个If来总领。

单点移动模式:

S0S1S2S3S4

S13S5

S12S6

S11S10S9S8S7

臣心一片磁针石,不指南方不肯休。——文天祥

S0S1S2S3

S7S6S5S4

流程图:

彩灯电路设计语言:

useieee.std_logic_1164.all;

entitypmdis

port(

a,cp:instd_logic;%

deng:outstd_logic_vector(7downto0)%输出灯信号

);

endpmd;

architecturearchofpmdis

typeall_stateis(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13);%枚举状态机状态

以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。——《旧唐书·魏征列传》

signalstate:all_state;%

begin%开始程序

process(cp)

begin

if(cpeventandcp=1)then%时钟信号开始计

显示全部
相似文档