课程设计——基于FPGA的交通红绿灯控制系统(源代码)

摘要:

        本课程设计旨在设计一个基于FPGA(现场可编程门阵列)的交通红绿灯控制系统。该系统模拟了实际道路交叉口的红绿灯工作场景,通过硬件描述语言(如Verilog或VHDL)编写源代码实现。系统包含三个主要部分:红绿灯显示模块、计时控制模块以及状态切换模块。红绿灯显示模块负责模拟红绿灯的亮灭状态;计时控制模块用于控制每个交通灯状态的持续时间;状态切换模块则根据计时信号和预设的交通规则切换红绿灯状态。通过FPGA的灵活编程能力,该系统能够实现对交通信号灯的精确控制,为智能交通系统提供硬件基础。

关键词FPGA,Verilog,数码管,led灯

1、引言

        Verilog HDL是现在世界上绝大多数数字IC工程师都在使用的一种硬件描述语言,它已经成为业界内数字电路设计的一种标准硬件描述语言。不同于原理图直接描述电路的结构和功能,它是以文本形式来描述数字电路的结构和功能的[1]Verilog HDL不但可以采用层次化的逻辑设计,而且还可以用于数字系统的仿真验证(用计算机仿真软件对数字逻辑电路的结构和行为进行分析预测,对HDL行为进行解释,一般的输出形式为波形图),逻辑综合(把硬件描述语言的数字电路逻辑模型转变成电路基本原件以及把这些基本元件进行连接生成电路模型)和时序分析等。Verilog HDL的应用场景有算法级别,寄存器传输级,逻辑级、门级和版图级等各个层级的设计和描述[2]

        FPGA(Field Programmable Gate Array,简称FPGA),翻译成中文就是现场可编程逻辑门阵列, FPGA器件属于专用集成电路中的一种半定制电路,它不像CPLD那样采用两级可编程的“与或”阵列来实现逻辑功能,而是基于查找表的原理来实现组合逻辑函数,能够有效的解决原有的器件门电路数较少的问题。FPGA 的基本结构包括可编程的I/O模块,可编程的逻辑块,数字时钟管理模块,嵌入式只读存储器,可编程连线资源,内部包含专用硬核,底层内嵌多种功能单元[3]FPGA逻辑功能编程简单,就好像向RAM中写数据一样。由于FPGA具有大量的布线资源,编程更加灵活,集成度更高,适合大规模,高性能的数字系统设计以及投资较低的特点,在数字电路设计领域得到了广泛的应用。

2、交通灯控制系统设计实现的软硬件

2.1、硬件

1)芯片:交通灯控制系统设计使用的 FPGA 芯片型号为 EP2C5T144C8,是属于ALTERA公司 CYCLONE 系列的产品。这款芯片主要的参数为,四千六百零八个逻辑单元LE,两个PLL13个嵌入式乘法器,RAM存储空间为276480bit,有一百五十八个I/O口,推荐的工作电压是一点一五伏特。

2JTAG接口:JIAG(联合测试工作组)接口可以把Quartus软件编译好的Verilog代码(.JIC文件)烧录进FPGA芯片中,因为FPGA是基于随机存储器的一种结构,它的内部没有固化的flash模块,无法存储数据,因此,通过JTAG下载的程序,关掉电源以后就会丢失,所以每次打开电源是都要重新下载才可以。目前,大多数高级部件都支持JTAG协议。

350MHz有源晶振:晶振在数字电路设计中的基本作用是提供一个时序控制的时钟信号。

图1图LED状态指示灯电路 

4LED状态指示灯电路 :由8个发光二极管L0~L7组成的状态指示灯显示电路,做输出实验 时可同时观察8个输出信号的电平变化。每只发光管的阳极接到3.3V电源,阴极分别串联一个电阻与FPGA芯片的IO脚相连。所接FPGA引脚输出为低电平时,该发光二极管被点亮。

图2 LED数码管电路

5LED数码管电路:数码管是一种非常直观而简单的输出显示形式,所以很多电子产品都选择用数码管作 为其显示部件。板载4 位共阳数码管,当位码信号为0 时,对应的数码管即操作;当段码信号为0 时,对应的段码点亮,位码由于电流较大,采用了三极管驱动。

6)按键低电平有效。

7JTAG下载线,USB电源连接线

图3 硬件实物图

2.2、软件

1Quartus II 13.0:本设计所使用的FPGA开发工具是Altera公司所推出的CPLD/FPGA开发软件Quartus II 13.0。这款软件的功能非常强大,支持原理图、VHDLVerilog HDL等多种设计输入形式[5]Quartus软件还具备综合和仿真的功能,可以完成完整的可编程逻辑器件的设计流程。由于其强大的功能和简洁的界面,Quartus II软件现在已经成为FPGA工程师开发项目工程的主流选择之一

2iverilogIcarus Verilog(简称iverilog )号称“全球第四大”数字芯片仿真器,也是一个完全开源的仿真器。iverilog以编译器的形式工作, 将以verilog编写的源代码编译为某种目标格式. 如果要进行仿真的话, 它可以生成一个叫做vvp的中间格式. 通过“iverilog + gtkwave”的方式,可以很方便地实现商用仿真器的功能。

3Notepad++Notepad++是一款简洁、高效的文本编辑器,支持多种常见的语言,具有很多强大的功能,比如自动保存,编辑只读文件,列编辑,格式编码,查找替换等等,可以为工程师开发工程节省大量的时间和精力。

3、交通灯控制系统主要功能和设计框图

3.1、主要功能

两组交通灯的红绿黄三种灯交替点亮,同时数码管显示各个灯的点亮时间。

3.2、系统总体设计思路

本设计采用自底向上的设计方法[7],有计时块、LED控制块、数码管显示块、时钟分频块四个always块。

3.3、具体模块分析

  1. 计时块(Timer Block)
    • 功能:负责产生计时信号,用于控制LED和其他模块的操作速度或周期。
    • 实现:使用一个计数器来追踪经过的时钟周期数。当达到预设的阈值时,可以产生一个中断或标志信号。
    • 接口:输入通常是时钟信号和可能的重置信号;输出是计时完成的标志或中断信号。
  2. LED控制块(LED Control Block)
    • 功能:根据当前状态或外部输入控制LED的亮灭模式。
    • 实现:使用状态机(如有限状态机FSM)来管理LED的不同模式或动画。状态机可以根据计时器的信号、用户输入或其他条件进行切换。
    • 接口:输入可能包括来自计时器的信号、用户输入或其他控制信号;输出是控制LED亮灭的信号。
  3. 数码管显示块(Digit Display Block)
    • 功能:显示时间、计数值或其他相关信息在数码管上。
    • 实现:根据输入的数字信号,将其转换为适合数码管显示的编码(如BCD或七段编码)。
    • 接口:输入是数字信号(可能来自计时器或其他数据源);输出是控制数码管段位的信号。
  4. 时钟分频块(Clock Divider Block)
    • 功能:将输入的时钟信号分频,产生不同频率的时钟信号,用于驱动不同速度的模块。
    • 实现:使用计数器来追踪输入的时钟周期数,并在达到某个预设值后产生一个新的时钟周期。
    • 接口:输入是高频的时钟信号;输出是不同频率的分频时钟信号。

4、代码实现

本设计采用自底向上的设计,是一种简单易实行的设计思路,尤其是对简单的系统控制设计方便快捷。首先确定需要的各个功能,通过不同的always块进行实现,最后通过对整体代码的编译即可实现功能。对于该红绿灯系统只需实现对LED灯与数码管的控制,利用多always块实现使程序易于更改,避免了多模块编程的繁琐。

以下是对给定代码的分段描述和解释:

模块定义

module led(clk,Led,rst,wei,shu);

定义了一个名为led的模块,该模块有五个端口:clk(时钟输入)、Led(LED控制输出)、rst(复位输入)、wei(数码管位选控制输出)和shu(数码管段选控制输出)。

输入输出定义

input wire clk,rst;
reg en=1;
output reg[7:0] Led=8'b01111101;
output reg[3:0] wei=4'b1100;
output reg[7:0] shu;

定义了输入clkrst,以及输出Ledweishu。其中Ledwei有初始值。

内部变量定义

reg [3:0]shuzi;
reg [1:0]cnt_state;
reg [15:0] cnt1;
reg [25:0] cnt=26'b0;
reg [15:0]  tim=24'b0;
reg cc=0,clk1=0;
reg [3:0]data_ew_0,data_ew_1;

定义了内部变量,如shuzi(用于存储数码管显示的数字)、cnt_state(用于状态切换)等。

数码管不同位显示内容

//数码管不同位显示内容
always @*
begindata_ew_0=tim%10;data_ew_1=tim/10;end

根据tim的值,计算数码管两位数的个位和十位,并存储在data_ew_0data_ew_1中。

对50MHz晶振分频

 //对50MHz晶振分频
always@(posedge clk)
beginif(cnt == 25000000)begin cnt <= 0; clk1 <= ~clk1;	endelse  begin cnt <= cnt+1'b1;end
end

对输入的clk(假设为50MHz)进行分频,产生新的时钟信号clk1

数码管点亮时间控制

//数码管点亮时间控制
always@(posedge clk)
beginif(cnt1 < 250)begin cc<=1;cnt1 <= cnt1+1'b1 ;	endelse if(cnt1<500) begin cnt1 <= cnt1+1'b1;cc<=0;endelse cnt1 <= 0;
end

控制数码管的点亮时间,通过cc信号来控制。

LED闪烁控制

always @(posedge clk1)
begin 
if(!rst)           begin tim<=0; Led<=8'b111111111; endif(tim==3)       begin Led<=8'b01111110;tim<=tim+1;	endelse if(tim==6)   begin Led<=8'b10111011;tim<=tim+1;	endelse if(tim==9)   begin Led<=8'b11011011;tim<=tim+1;	endelse if(tim==12)  begin Led<=8'b01111101;tim<=0;	endelse            tim<=tim+1;
end

根据tim的值和复位信号rst,控制LED的闪烁。

切换数码管点亮的2个状态

//切换数码管点亮的2个状态
always @ (posedge clk)
beginif (!rst)cnt_state <= 2'b00;else  if (cc)cnt_state <= 2'b00;elsecnt_state <= 2'b01;
end 

根据复位信号rstcc信号,切换数码管显示的状态(个位或十位)。

数码管显示内容控制

//数码管显示内容控制
always @ (posedge clk)beginif(!rst) beginwei  <= 4'b0000;shuzi  <= 4'b0000;end else if(en) begin       case (cnt_state) 2'b00 : begin     wei <= 4'b0100;             shuzi <= data_ew_1;end       2'b01 : begin     wei <= 4'b1000;              shuzi <= data_ew_0;end default : begin     wei <= 4'b1100;                     shuzi <= 4'b0;endendcaseendelse  beginwei <= 4'b0000;shuzi <= 4'b0000;    end
end 

根据当前状态cnt_state和复位信号rst,控制数码管显示的位和段。

数码管段选显示

always@(posedge clk)
beginif(!rst)shu <= 8'hff;else begin   //数码管段选显示case(shuzi)4'd0		:	shu=8'h03;	4'd1		:	shu=8'h9f;4'd2		:	shu=8'h25;4'd3		:	shu=8'h0d;4'd4		:	shu=8'h99;4'd5		:	shu=8'h49;4'd6		:	shu=8'h41;4'd7		:	shu=8'h1f;4'd8		:	shu=8'h01;4'd9		:	shu=8'h19;Default  :   shu=8'hff;endcaseend
end
endmodule

根据shuzi的值,控制数码管的段选显示。

代码总结(附源码)

该模块实现了一个基于FPGA的红绿灯和数码管显示系统。其中,数码管用于显示时间(可能是一个倒计时),而LED灯则根据时间进行闪烁。此外,还包括了对时钟的分频和数码管显示的精确控制。

module led(clk,Led,rst,wei,shu);
input wire clk,rst;
reg en=1;
output reg[7:0] Led=8'b01111101;
output reg[3:0] wei=4'b1100;
output reg[7:0] shu;
reg [3:0]shuzi;
reg [1:0]cnt_state;
reg [15:0] cnt1;
reg [25:0] cnt=26'b0;
reg [15:0]  tim=24'b0;
reg cc=0,clk1=0;
reg [3:0]data_ew_0,data_ew_1;
//数码管不同位显示内容
always @*
begindata_ew_0=tim%10;data_ew_1=tim/10;end//对50MHz晶振分频
always@(posedge clk)
beginif(cnt == 25000000)begin cnt <= 0; clk1 <= ~clk1;	endelse  begin cnt <= cnt+1'b1;end
end
//数码管点亮时间控制
always@(posedge clk)
beginif(cnt1 < 250)begin cc<=1;cnt1 <= cnt1+1'b1 ;	endelse if(cnt1<500) begin cnt1 <= cnt1+1'b1;cc<=0;endelse cnt1 <= 0;
endalways @(posedge clk1)
begin 
if(!rst)           begin tim<=0; Led<=8'b111111111; endif(tim==3)       begin Led<=8'b01111110;tim<=tim+1;	endelse if(tim==6)   begin Led<=8'b10111011;tim<=tim+1;	endelse if(tim==9)   begin Led<=8'b11011011;tim<=tim+1;	endelse if(tim==12)  begin Led<=8'b01111101;tim<=0;	endelse            tim<=tim+1;
end
//切换数码管点亮的2个状态
always @ (posedge clk)
beginif (!rst)cnt_state <= 2'b00;else  if (cc)cnt_state <= 2'b00;elsecnt_state <= 2'b01;
end //数码管显示内容控制
always @ (posedge clk)beginif(!rst) beginwei  <= 4'b0000;shuzi  <= 4'b0000;end else if(en) begin       case (cnt_state) 2'b00 : begin     wei <= 4'b0100;             shuzi <= data_ew_1;end       2'b01 : begin     wei <= 4'b1000;              shuzi <= data_ew_0;end default : begin     wei <= 4'b1100;                     shuzi <= 4'b0;endendcaseendelse  beginwei <= 4'b0000;shuzi <= 4'b0000;    end
end always@(posedge clk)
beginif(!rst)shu <= 8'hff;else begin   //数码管段选显示case(shuzi)4'd0		:	shu=8'h03;	4'd1		:	shu=8'h9f;4'd2		:	shu=8'h25;4'd3		:	shu=8'h0d;4'd4		:	shu=8'h99;4'd5		:	shu=8'h49;4'd6		:	shu=8'h41;4'd7		:	shu=8'h1f;4'd8		:	shu=8'h01;4'd9		:	shu=8'h19;Default  :   shu=8'hff;endcaseend
end
endmodule

5、仿真

在本次课程设计中,我们利用Iverilog软件对基于FPGA的红绿灯系统进行了功能仿真。通过Iverilog的仿真环境,我们能够模拟红绿灯系统的实际运行情况,验证其逻辑功能的正确性。

在仿真过程中,我们首先编写了红绿灯系统的Verilog源代码,包括红绿灯显示模块、计时控制模块以及状态切换模块的实现。随后,我们将这些代码加载到Iverilog仿真器中,并设置相应的输入信号和仿真时间。

通过运行仿真,我们能够观察到红绿灯系统在不同状态下的运行情况,包括红灯、黄灯、绿灯的亮灭以及它们之间的切换。仿真结果能够直观地展示系统的逻辑功能和时序关系,帮助我们快速定位和解决潜在的问题。

通过本次功能仿真,我们验证了红绿灯系统设计的正确性,为后续的FPGA硬件实现提供了有力的支持。

仿真波形

6、结论

交通灯控制系统设计采用 Verilog 硬件描述语言,按自底向上的设计方法,将设计的数字系统作为一个整体,通过对四个不同的always块设计 , 分别包括,计时块,时钟分频块,数码管段选块, 数码管位选块,led灯控制块。用iverilog对整体进行仿真得到波形,待到仿真通过后,将程序通过JTAG下载器下载到EP4CE6F17C8芯片中,并在FPGA开发板上验证其功能。经过FPGA开发板的验证实现,本设计完全符合所预期的设计需求。

参考文献

  1. 周景润.基于Quartus的FPGA数字系统设计[M].北京:电子工业出版社,2007:212-306.
  2. Mark Zwolinski.Verilog HDL数字系统设计[M].北京:电子工业出版社,2007.
  3. 黄智伟等.FPGA系统设计与实践[M].北京:电子工业出版社,2005.
  4. 蔡明生.电子设计[M].北京:高等教育出版社,2004.
  5. 周梦然.CPLD/FPGA的开发与应用[M].北京:中国矿业大学出版社,2007.
  6. 刘小俊.基于FPGA技术的IP核设计[J].武汉理工大学学报,2005:43-47.
  7. 冯维川.基于FPGA的多功能空调控制器设计[J].电子技术,2007:67-69.
  8. 阎石.数字电子技术基础:第五版[M]. 北京:高等教育出版社,2006.
  9. 金明.数字统设计与verilog HDL[M].电子工业出版社,2021.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/352736.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet快速入门

Servlet Servlet(server applet)是运行在服务端(tomcat)的Java小程序,是sun公司提供的一套定义动态资源的规范,从代码层面讲servlet就是一个接口.用来接收-处理客户端请求,响应给浏览器的动态资源.在整个Web应用中,Servlet主要负责接收处理请求,协同调度功能以及响应数据,可以将…

数据结构-十大排序算法集合(四万字精讲集合)

前言 1&#xff0c;数据结构排序篇章是一个大的工程&#xff0c;这里是一个总结篇章&#xff0c;配备动图和过程详解&#xff0c;从难到易逐步解析。 2&#xff0c;这里我们详细分析几个具备教学意义和实际使用意义的排序&#xff1a; 冒泡排序&#xff0c;选择排序&#xff0c…

算法体系-19 第十九节 暴力递归到动态规划

一 动画规划的概念 优化出现重复解的递归 一旦写出递归来&#xff0c;改动态规划就很快 尝试策略和状态转移方程是一码事 学会尝试是攻克动态规划最本质的能力 如果你发现你有重复调用的过程&#xff0c;动态规划在算过一次之后把答案记下来&#xff0c;下回在越到重复调用过程…

知网G4期刊《中华活页文选》投稿指南//收稿方向

知网G4期刊《中华活页文选》投稿指南//收稿方向 中华活页文选&#xff08;教师版&#xff09;、中华活页文选&#xff08;传统文化教学与研究&#xff09; 知网&#xff0c; G4 国家级 收稿方向&#xff1a;中华活页文选&#xff08;教师版&#xff09;&#xff1a;中小学学段…

Python基础语法学习(工程向)-Stage1

输出的方式&#xff1a; print(fabscwdasd {num}) print(asbduwiu %d, a) print(asnidoian %d %d %d,a,b,c)不换行 print(asbdiuabw,end )输入 a input(输入) 只能输入字符串形式&#xff0c;如果相当做数字用则将其转化为数字 只有合法的数字才能转化成功 a int(input()…

JVM常用概念之扁平化堆容器

扁平化堆容器是OpenJDK Valhalla 项目提出的&#xff0c;其主要目标为将值对象扁平化到其堆容器中&#xff0c;同时支持这些容器的所有指定行为&#xff0c;从而达到不影响原有功能的情况下&#xff0c;显著减少内存空间的占用&#xff08;理想条件下可以减少24倍&#xff09;。…

充电学习—3、Uevent机制和其在android层的实现

sysfs 是 Linux userspace 和 kernel 进行交互的一个媒介。通过 sysfs&#xff0c;userspace 可以主动去读写 kernel 的一些数据&#xff0c;同样的&#xff0c; kernel 也可以主动将一些“变化”告知给 userspace。也就是说&#xff0c;通过sysfs&#xff0c;userspace 和 ker…

解决linux下载github项目下载不下来,下载失败, 连接失败的问题

第一步&#xff1a;打开/etc/hosts文件 linux vim /etc/hosts 第二步&#xff1a;文件拉到最下面&#xff0c;输入以下内容 linux #GitHub Start 140.82.113.3 github.com 140.82.114.20 gist.github.com 151.101.184.133 assets-cdn.github.com 151.101.184.133 raw.githubus…

IO流(二)

IO流&#xff08;二&#xff09; 目录 IO流 —— 字符流IO流 —— 缓冲流IO流 —— 转换流IO流 —— 打印流IO流 —— 数据流IO流 —— 序列化流 1.IO流 —— 字符流 文件字符输入流 —— 读字符数据进来 字节流&#xff1a;适合复制文件等&#xff0c;不适合读写文本文件字…

哪个充电宝牌子好用又实惠?盘点四大平价充电宝分享

在当今快节奏的生活中&#xff0c;充电宝已成为我们日常生活中不可或缺的一部分。然而&#xff0c;面对市场上琳琅满目的充电宝品牌和型号&#xff0c;许多消费者误以为选择容量越大、价格越高的充电宝就是最好的选择。实际上&#xff0c;买充电宝并不是一味追求高容量和高价格…

在有限的分数有限下如何抉择?是选好专业还是选好学校

随着2024年高考的落幕&#xff0c;无数考生和家长站在了人生的重要十字路口。面对成绩单上的数字&#xff0c;一个难题摆在了面前&#xff1a;在分数限制下我们该如何平衡“心仪的专业”与“知名度更高的学校”之间的选择&#xff1f; 一、专业决定未来职业走向 选择一个好的专…

简易版 | 代码生成器(包含插件)

一、代码生成器 先导入依赖 <!-- Mybatis-Plus --> <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.6</version> </dependency><!-- 代码生成器 --…

Navicat和SQLynx产品功能比较二(SQL查询)

数据库管理工具最常用的功能就是SQL的查询&#xff0c;没有之一。本文针对Navicat和SQLynx做了SQL查询相关的性能测试&#xff0c;从测试结果来看&#xff0c;Navicat主要适合开发类的小型数据量需求&#xff0c;SQLynx可以适应大型数据量或小型数据量的需求&#xff0c;用户可…

基于51单片机的脉搏测量仪—心率计

基于51单片机的脉搏测量仪 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 本系统由STC89C51/52单片机LCD1602显示模块5mm红外接收管LM358运放电路按键模块等构成 1.手指放到红外对管中&#xff0c;2…

【Python】Redis数据库

Redis数据库 Unit01一、Redis1.1 概述1.2 安装1.3 Redis-cli1.4 数据类型1.5 字符处理1.6 键的命名规则 二、通用命令三、字符串(String)3.1 概述3.2 常用命令3.3 应用场景 四、列表(List)4.1 概述4.2 常用命令 五、集合(SET)5.1 概述5.3 常用命令 六、有序集合6.1 概述6.2 常用…

SyntaxError: EOL while scanning string literal

背景&#xff1a; 在对字符串使用in关系运算符时&#xff0c;报错SyntaxError: EOL while scanning string literal 原因&#xff1a; 这是因为${var}中有换行符\n导致的&#xff0c;通过Log ${var}可以看出换行符确实导致的字符串hello的引号位于两行&#xff0c;从而导致…

Spring Cloud 专题-前言篇(1)

引言 随着微服务架构的兴起&#xff0c;Spring Cloud 作为一套基于 Spring Boot 实现的云应用开发工具集&#xff0c;为开发者提供了在分布式系统&#xff08;如配置管理、服务发现、断路器、智能路由、微代理、控制总线等&#xff09;中快速构建一些常见模式的能力。本篇文档…

深度神经网络——什么是NLP(自然语言处理)?

自然语言处理&#xff08;NLP&#xff09; 是对使计算机能够处理、分析、解释和推理人类语言的技术和工具的研究和应用。 NLP 是一个跨学科领域&#xff0c;它结合了语言学和计算机科学等领域已建立的技术。 这些技术与人工智能结合使用来创建聊天机器人和数字助理&#xff0c;…

线性二次型调节器(LQR)举例

线性二次型调节器(LQR) 线性二次型调节器(LQR)是一种用于最优控制的问题,其中目标是通过最小化某个代价函数来找到最优控制策略。LQR特别适用于线性系统。为了在人形机器人上应用LQR进行建模,主要步骤包括建立系统模型、定义代价函数以及求解最优控制律。以下是详细步骤…

基于java《场馆预约MeetHere》【完整代码】和【完整测试流程报告】的资源

基于java《场馆预约MeetHere》【完整代码】和【完整测试流程报告】的资源 项目描述 MeetHere是一个场馆预约和管理的Web商务网站 普通用户&#xff1a;注册、登录、个人信息管理、查看场馆介绍和预约信息、场馆预约、场馆预约订单管理、查看新闻、留言管理&#xff08;发布、浏…