logo资料库

电梯控制器设计.doc

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
1.设计目的和要求
电梯使我们日常生活中应用广泛的电子设备,其中电梯最基本也是最重要的功能就是楼层选择的功能,楼层
(1)电梯能够往返于0——9层楼之间。
(2)电梯的层数的按键手动输入,同时能够有取消的功能。
(3)符合生活中电梯的实际运行状态,即当输入楼层A大于所在楼层B的时候楼层数减少,当输入楼层数A小于所在楼
(4)可以显示电梯每一次运行的时间。
(5)拥有复位键,使得电梯能够回到第一层。
2.项目基本工作原理
(1)内部/输入/输出变量即功能
输入变量:
clk:时钟输入信号,用来实现200ms和1s分频器,实现比如防抖动和运行功能,体现了设计模块化的思
stn:我们键入的信息,比如楼层数、取消信号等等,是启动我们系统的基本变量。
btn1:复位键键入的信息,是系统执行复位功能的基本变量。
输出变量:
nfloor:储存我们输入的楼层信息,并利用LED登进行显示,使得操作者能够知道所选楼层状况。
Seg:输出到七位数码管,显示现在电梯所处楼层。
seg1:输出七位数码管,显示电梯运行的时间。
内部变量:
(2)系统的基本结构
(3)系统工作流程
3.基本功能的实现
(1)200ms分频器
模块功能:能够做到每200ms输出一个信号来探测是否有按键,如果按键时间过短则不会改变要去的楼层信号
模块代码:
always@(posedge clk)
begin //分频一个200ms的时钟,用于按键防抖
clk_200ms<=0;
if(count
count<=count+1;
else begin
count<=0;
clk_200ms<=1;
end
End
(2)1s分频器
模块功能:能够每1s发出一个信号,用于电梯运行时钟控制。。
模块代码:
always@(posedge clk)begin
clk_1s<=0;
if(count1
count1<=count1+1;
else begin
count1<=0;
clk_1s<=1;
end
End
(4)楼层显示译码器
模块功能:能够将楼层信息进行储存,从而对七位数码管进行显示。
模块代码:
(6)主体模块
模块功能:是系统各种功能实现的主要模块,主要是对各种信息进行我们需要的转化,比如加减,并能够调用其它
模块代码:
9.附录
附录一:约束文件部分
附录2:总体设计图
附录3:系统运行仿真
由于该系统运行时间以S为单位,所以仿真波形图无法完整显示一个工作流程
附录4:各小组所做工作说明
1.设计者排序:廖荣华,陈祥春
2.廖荣华负责主体控制文件和仿真文件的编写,共同参与EVO1板的调试过程
3.陈祥春负责分频器和译码器和管脚约束文件的编写,共同参与EVO1板的调试过程
哈尔滨工业大学 Harbin Institute Harbin Institute ofof Technology Technology 数理逻辑课程大作业 数理逻辑课程大作业 装 订 线
哈尔滨工业大学 目录 一.设计目的及要求 二.工作原理、系统方框图 三.各部分选定方案及电路组成、相关器件说明 (1)附加功能描述 1.按键防抖设计 2.电梯上升或下降优先级的处理 四.调试过程 五.设计结论 六.设计心得与总结(要具体落实到小组各成员) 七.参考文献 八. 附录一:总体器件表及相关器件的功能表、管脚分布(或功能模块功 能描述、接口功能) 附录二:总体设计图 附录三:仿真结果 附录四:小组各成员所做工作
哈尔滨工业大学 1. 设计目的和要求 电梯使我们日常生活中应用广泛的电子设备,其中电梯最基本也是最重 要的功能就是楼层选择的功能,楼层选择的功能可以用到数理逻辑的知识进 行解决,其最基本要求如下: (1)电梯能够往返于 0——9 层楼之间。 (2)电梯的层数的按键手动输入,同时能够有取消的功能。 (3)符合生活中电梯的实际运行状态,即当输入楼层 A 大于所在楼层 B 的时候楼层数减少,当输入楼层数 A 小于所在楼层数 B 是楼层升高,当输入 楼层数 A 等于所在楼层数 B 的时候,A 不变化。 (4)可以显示电梯每一次运行的时间。 (5)拥有复位键,使得电梯能够回到第一层。 2. 项目基本工作原理 (1)内部/输入/输出变量即功能 输入变量: clk:时钟输入信号,用来实现 200ms 和 1s 分频器,实现比如防抖动和运
行功能,体现了设计模块化的思维。 哈尔滨工业大学 stn:我们键入的信息,比如楼层数、取消信号等等,是启动我们系统的 基本变量。 btn1:复位键键入的信息,是系统执行复位功能的基本变量。 输出变量: nfloor:储存我们输入的楼层信息,并利用 LED 登进行显示,使得操作 者能够知道所选楼层状况。 Seg:输出到七位数码管,显示现在电梯所处楼层。 seg1:输出七位数码管,显示电梯运行的时间。 内部变量: btn_pre_re:用于存储按键信息,即呼叫电梯的楼层信息,在防抖设 计中,设定为每 200ms 读取一次叫梯信息。 lift_num:表示电梯当前所在楼层。 lift_open:标志电梯开关门状态的变量,当 lift_open =1 时表示 开门,liftopen=0 表示关门。 lift_state:电梯运行变量,当 lift_state=1 时表示电梯处于上升 状态,当 lift_state=2 时表示电梯处于下降状态。 (2)系统的基本结构
哈尔滨工业大学 (3)系统工作流程 3. 基本功能的实现 (1)200ms 分频器 模块功能:能够做到每 200ms 输出一个信号来探测是否有按键,如果按键时 间过短则不会改变要去的楼层信号,能够起到一定的防抖功效。
哈尔滨工业大学 模块代码: always@(posedge clk) begin //分频一个 200ms 的时钟,用于按键防抖 clk_200ms<=0; if(count
哈尔滨工业大学 else begin count1<=0; clk_1s<=1; end End (4)楼层显示译码器 模块功能:能够将楼层信息进行储存,从而对七位数码管进行显示。 模块代码: reg clk_1s; reg [10:0] dout; reg [4:0] lift_num; always@(posedge clk_1s)begin case(lift_num-1) 0:dout=11'b0100_1111110; 1:dout=11'b0100_0110000; 2:dout=11'b0100_1101101; 3:dout=11'b0100_1111001; 4:dout=11'b0100_0110011; 5:dout=11'b0100_1011011; 6:dout=11'b0100_1011111; 7:dout=11'b0100_1110000; 8:dout=11'b0100_1111111; 9:dout=11'b0100_1111011; default:dout=11'b0100_1111110; endcase end (5)运行时间显示译码器
模块功能:对电梯的运行时间进行译码,使其能够通过七位数码管显示。 哈尔滨工业大学 模块功能: reg clk_1s; reg [10:0] dout1; reg [4:0] clk_num; always@(posedge clk_1s)begin case(clk_num) 0:dout1=11'b0100_1111110; 1:dout1=11'b0100_0110000; 2:dout1=11'b0100_1101101; 3:dout1=11'b0100_1111001; 4:dout1=11'b0100_0110011; 5:dout1=11'b0100_1011011; 6:dout1=11'b0100_1011111; 7:dout1=11'b0100_1110000; 8:dout1=11'b0100_1111111; 9:dout1=11'b0100_1111011; default:dout1=11'b0100_1111110; endcase end (6)主体模块 模块功能:是系统各种功能实现的主要模块,主要是对各种信息进行我们需 要的转化,比如加减,并能够调用其它模块进行解决。 模块代码: reg [9:0] btn_pre_re; reg [1:0] lift_state; reg [4:0] lift_num; reg clk_1s; initial begin btn_off<=9'b111111111; btn1_off<=1'b1; btn_pre_re<=0;
分享到:
收藏