根据给定的文件信息,我们可以总结出以下关于“电梯源代码 VHDL 六层楼”的详细知识点: ### 1. VHDL实体定义 在VHDL中,`entity`是用于定义一个硬件组件的接口部分,它列出了该组件的所有输入、输出信号。 #### 实体名称:`dianti` 该实体名为`dianti`,代表一个六层楼的电梯控制系统。此实体定义了电梯控制系统的外部接口,包括所有的输入与输出端口。 - **输入端口**: - `clk`: 输入时钟信号(频率为2Hz)。 - `full`, `deng`, `quick`, `clr`: 控制信号,分别用于满载检测、门控、快速响应及复位。 - `c_u1`至`c_u5`: 上行请求信号。 - `c_d2`至`c_d6`: 下行请求信号。 - `d1`至`d6`: 当前楼层指示信号。 - `g1`至`g6`: 目标楼层选择信号。 - **输出端口**: - `door`: 门的状态(开/关)。 - `led`: LED显示状态,用于显示当前楼层。 - `led_c_u`、`led_c_d`、`led_d`: 分别用于显示上行、下行及当前楼层请求状态。 - `wahaha`: 特殊信号,用于调试。 - `ud`, `alarm`: 运行方向指示与报警信号。 - `up`, `down`: 上行和下行控制信号。 ### 2. 架构定义 架构体定义了实体的具体行为,即电梯控制逻辑。 - **信号声明**: - `d11`至`d66`: 用于存储每个楼层的当前状态。 - `c_u11`至`c_u55`: 用于存储每个楼层的上行请求状态。 - `c_d22`至`c_d66`: 用于存储每个楼层的下行请求状态。 - `q`: 控制变量,用于电梯状态管理。 - `q1`: 用于表示当前楼层编号。 - `q2`: 控制变量,用于特殊功能。 - `dd`, `cc_u`, `cc_d`, `dd_cc`: 用于存储各个楼层的状态。 - `opendoor`: 门开启标志。 - `updown`: 上下方向标志。 - `en_up`, `en_dw`: 上行与下行使能标志。 - **过程定义**: - `com`: 时钟触发的过程,负责处理电梯的主要控制逻辑。 - 复位逻辑:当`clr`信号有效时,将`q1`和`q2`清零,并清除报警信号。 - 门控逻辑:根据电梯状态控制门的开关。 - 方向控制逻辑:根据上行与下行请求以及电梯当前状态决定电梯运行方向。 - 楼层显示逻辑:根据当前楼层更新LED显示。 ### 3. 主要控制逻辑 #### 控制流程 - **复位操作**:通过`clr`信号实现复位操作。 - **开门操作**:根据`deng`或特定条件控制门的状态。 - **运行方向控制**: - 如果存在上行请求,则电梯向上移动。 - 如果存在下行请求,则电梯向下移动。 - **楼层显示更新**:根据`q1`值更新LED显示。 - **报警机制**:当电梯满载时触发报警。 ### 4. 结论 这个VHDL程序实现了六层楼电梯的控制逻辑,涵盖了门控、方向控制、楼层显示等功能,并考虑了复位、报警等特殊情况处理。通过对输入信号的不同组合,电梯能够响应不同的请求并进行适当的响应。此外,还支持特殊功能如快速响应等。整体设计较为完善,适用于实际的电梯控制系统开发。
--功能:6层楼的电梯控制系统。
--最后修改日期:2010.4.13。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity dianti is
port ( clk : in std_logic; --时钟信号(频率为2Hz)
full,deng,quick,clr : in std_logic; --超载、关门中断、提前关门清除报警信号
c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic; --电梯外人的上升请求信号
c_d2,c_d3,c_d4,c_d5,c_d6 : in std_logic; --电梯外人的下降请求信号
d1,d2,d3,d4,d5,d6 : in std_logic; --电梯内人的请求信号
g1,g2,g3,g4,g5,g6 : in std_logic; --到达楼层信号
door : out std_logic_vector(1 downto 0); --电梯门控制信号
led : out std_logic_vector(6 downto 0); --电梯所在楼层显示
led_c_u :out std_logic_vector(5 downto 0); --电梯外人上升请求信号显示
led_c_d :out std_logic_vector(5 downto 0); --电梯外人下降请求信号显示
led_d : out std_logic_vector(5 downto 0); --电梯内请求信号显示
wahaha : out std_logic; --看门狗报警信号
ud,alarm : out std_logic; --电梯运动方向显示,超载警告信号
up,down : out std_logic ); --电机控制信号和电梯运动
end dianti;
architecture behav of dianti is
signal d11,d22,d33,d44,d55,d66:std_logic; --电梯内人请求信号寄存信号
signal c_u11,c_u22,c_u33,c_u44,c_u55:std_logic; --电梯外人上升请求信号寄存信号
signal c_d22,c_d33,c_d44,c_d55,c_d66:std_logic; --电梯外人下降请求信号寄存信号
signal q:integer range 0 to 1; --分频信号
signal q1:integer range 0 to 6; --关门延时计数器
signal q2:integer range 0 to 9; --看门狗计数器
signal opendoor:std_logic; --开门使能信号
signal updown:std_logic; --电梯运动方向信号寄存器
signal en_up,en_dw:std_logic; --预备上升、预备下降预操作使能信号
begin
com:process(clk)
begin
if clk'event and clk='1' then
if clr='1' then q1<=0;q2<=0;wahaha<='0'; --清除故障报警
elsif full='1' then alarm<='1'; q1<=0; --超载报警
if q1>=3 then door<="10";
else door<="00";
end if;
elsif q=1 then q<=0;alarm<='0';
if q2=3 then wahaha<='1'; --故障报警
else
if opendoor='1' then door<="10";q1<=0;q2<=0;up<='0';down<='0'; --开门操作
elsif en_up='1' then --上升预操作
if deng='1' then door<="10";q1<=0;q2<=q2+1; --关门中断
elsif quick='1' then q1<=3; --提前关门
elsif q1=6 then door<="00";updown<='1';up<='1'; --关门完毕,电梯进入上升状态
elsif q1>=3 then door<="01";q1<=q1+1; --电梯进入关门状态
else q1<=q1+1;door<="00"; --电梯进入等待状态
end if;
elsif en_dw='1' then --下降预操作
if deng='1' then door<="10";q1<=0;q2<=q2+1;
elsif quick='1' then q1<=3;
elsif q1=6 then door<="00";updown<='0';down<='1';
elsif q1>=3 then door<="01";q1<=q1+1;
else q1<=q1+1;door<="00";
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 百战程序员-AI算法工程师就业班快速入门.mp4
- 两阶段鲁棒优化模型 多场景 采用matlab编程两阶段鲁棒优化程序,考虑四个场景,模型采用列与约束生成(CCG)算法进行求解,场景分布的概率置信区间由 1-范数和∞-范数约束,程序含拉丁超立方抽样+k
- 奔驰G63生成器app 炫耀你的个性座驾.mp4
- 暴走头像app 超多有趣的应有尽有.mp4
- Steam喜+1《暗黑区域》.mp4
- SSL证书管理系统工具网站源码,自动申请、部署SSL证书,并在证书即将过期时自动续期.mp4
- Sunny截图工具v2.4.0便携版.mp4
- TeamViewer的绝佳替代品出现!RustDesk远程桌面v1.3.3.mp4
- TikTok本土精品小店出海实战营从入门到高阶.mp4
- TB无人直播最新玩法,不违法不封号.mp4
- Tony头像大师app 海量素材和模板.mp4
- Comsol经典小案例 晶格耦合作用结构色,CIE1931计算与绘制
- Via浏览器APP v6.0.1.0 最新Via浏览器谷歌版.mp4
- 基于的RESNET50+CA注意力机制的交通标识识别项目源码+模型-多类别图像分类
- Vidma v2.15.1 海外视频剪辑神器 多种AI功能 完全免费.mp4
- VMware-Workstation-17.6.2精简安装注册版.mp4