数字电路及逻辑设计实验报告,基于FPGA的数字电子钟的设计实现分析
用fpga简易数字钟电路设计实验报告 概述及解释说明

用fpga简易数字钟电路设计实验报告概述及解释说明1. 引言1.1 概述本实验报告旨在介绍使用FPGA(可编程门阵列)设计的简易数字钟电路。
数字钟是一种可以显示时间的时钟装置,广泛应用于日常生活和工业领域。
本文将详细讲解数字钟的设计原理、硬件要求、设计步骤以及实验的实现过程。
1.2 文章结构本文共分为五个部分,即引言、FPGA简易数字钟电路设计、实验实现过程、实验结果分析和结论与总结。
下面将对每个部分进行具体说明。
1.3 目的该实验旨在通过学习和操作FPGA,深入理解数字电路设计的基本原理和方法,并通过设计一个简易的数字钟电路来巩固所学知识。
通过本实验,我们还将探索数字钟电路的性能评估和可能的改进方向,并对未来发展方向进行展望。
同时,通过参与这个项目,我们也将获得一定的实践经验和技能提升。
2. FPGA简易数字钟电路设计:2.1 设计原理:在本次实验中,我们使用FPGA(现场可编程逻辑门阵列)来设计一个简易的数字钟电路。
FPGA是一种集成电路芯片,可依据用户需要重新配置其内部互连,从而实现不同的逻辑功能。
我们将利用FPGA的可编程性和强大的计算能力来实现数字钟的功能。
该数字钟电路主要由时钟模块、倒计时模块和显示模块组成。
时钟模块负责产生稳定而精确的脉冲信号作为系统的时基;倒计时模块通过对输入时间进行倒计时操作,并发出相应信号提示时间变化;显示模块用于将倒计时结果以数码管显示出来。
2.2 硬件要求:为了完成该设计,我们需要准备以下硬件设备:- FPGA开发板:提供了外部接口和资源,用于连接其他硬件设备并加载程序。
- 数码管:用于显示时间信息。
- 时钟源:提供稳定而精确的脉冲信号作为系统的时基。
2.3 设计步骤:以下是设计步骤的详细说明:1. 确定所需功能:首先明确数字钟需要具备哪些功能,例如12小时制还是24小时制、倒计时功能等。
2. 确定FPGA型号:根据设计需求和资源限制,选择适合的FPGA型号。
数电实训报告电子时钟

一、实训目的本次数电实训旨在通过实际操作,加深对数字电子技术理论知识的理解,掌握数字电路的设计与制作方法,提高动手能力和故障排除能力。
通过设计并制作一个具有时、分、秒显示功能的电子时钟,熟悉数字电路中的计数器、译码器、显示器等基本模块,并学会运用这些模块完成一个完整的电子系统设计。
二、实训内容1. 电子时钟设计(1)设计要求设计一个具有时、分、秒显示功能的电子时钟,要求:1)采用CMOS集成电路设计,保证电路的稳定性;2)时钟显示采用7段数码管,可同时显示时、分、秒;3)时钟源采用石英晶体振荡器,确保时钟的准确性;4)具有时钟校准功能,可调整时、分、秒的显示值;5)具有时钟复位功能,可恢复时钟到初始状态。
(2)设计原理电子时钟主要由以下模块组成:1)时钟源:采用石英晶体振荡器产生标准时钟信号;2)分频器:将标准时钟信号分频,得到1Hz的秒脉冲信号;3)计数器:对秒脉冲信号进行计数,得到秒、分、时的计数值;4)译码器:将计数值转换为对应的7段数码管显示编码;5)显示器:采用7段数码管显示时、分、秒的计数值;6)校时电路:实现时钟校准功能;7)复位电路:实现时钟复位功能。
(3)电路设计1)时钟源:选用NE555定时器构成石英晶体振荡器,产生标准时钟信号;2)分频器:选用CD4060计数器进行分频,得到1Hz的秒脉冲信号;3)计数器:选用CD4518BCD计数器,分别实现秒、分、时的计数;4)译码器:选用CD4511BCD至7段数码管译码器,将计数值转换为7段数码管显示编码;5)显示器:采用7段数码管,分别显示时、分、秒的计数值;6)校时电路:采用按钮开关实现时钟校准功能;7)复位电路:采用按钮开关实现时钟复位功能。
2. 电子时钟制作(1)元器件准备根据电路设计,准备以下元器件:1)NE555定时器1个;2)CD4060计数器1个;3)CD4518BCD计数器3个;4)CD4511BCD至7段数码管译码器3个;5)7段数码管3个;6)石英晶体振荡器1个;7)电阻、电容、二极管、导线等。
基于FPGA的多功能数字钟设计报告

***大学电工电子实验报告EDA技术基础设计报告多功能数字钟设计电子信息科学与技术年 月 日多功能数字钟设计一.任务解析用Verilog硬件描述语言设计数字钟,实现:1、具有时、分、秒计数显示功能,以二十四小时循环计时。
2、具有调节小时,分钟的功能。
3、具有整点报时同时LED灯花样显示的功能。
4、【发挥】三键(模式选择,加,减)调整,数码管闪烁指示功能。
5、【发挥】增加闹钟任意设定功能,时间精确到分。
二.方案论证第2页,共19页三.重难点解析1、模式选择键的设计//模式选择键。
有5个模式,m0为正常走钟;m1为调分;m2为调时;m3为闹钟调分;m4为闹钟调时。
module mode_key(key,clr,m);input key,clr;output [2:0]m;reg [2:0]m;always @(posedge key or negedge clr) beginif(!clr) m=0;else if(m==4) m=0;else m=m+1;endendmodule2、数字钟秒钟计数设计module cnt60_sec(clk,clr,q,c);input clk,clr;output [6:0]q;output c;reg [6:0]q;reg c;always @(posedge clk or negedge clr) beginif(!clr) begin q=0;c=0;endelse if(q[3:0]==9) begin q[3:0]=0;if(q[6:4]==5) begin q[6:4]=0; c=1;endelse q[6:4]=q[6:4]+1;end第3页,共19页else begin q[3:0]=q[3:0]+1;q[6:4]=q[6:4];c=0;endendendmodule、秒钟计数模块就是一个60的计数器,计数到59的时候清零,进位加1。
调时不需要控制秒钟,所以没有加模式选择按键。
数字电路设计数字钟实验设计报告

数字电路设计数字钟实验设计报告数字钟实验设计报告摘要:数字钟由一个主要由数字电路设计的微处理器、低成本的时钟源和多种兼容的表盘等组成的装置,可以测量出精确的时间。
本报告描述了数字钟的方案设计,其中包括微处理器的软件设计,硬件设计和驱动电路设计,以及可靠性测试和实验结果等。
最终,测试结果表明,本设计的数字钟可以准确地传递时间信息,从而实现准确度高、功耗低、复杂性低和结构简单的数字钟特性。
关键词:数字钟,微处理器,低成本时钟源,表盘1 绪论随着科技的发展,数字钟越来越普及,在生活中得到了广泛的应用。
数字钟可以有效地表达时间信息并实现精确的控制,可以帮助我们更加准确的了解世界的运行。
但是数字钟仍然是一个相对复杂的系统,牵涉到许多小细节设计,用户需要一定的技术能力来搭建和使用。
本文针对性地介绍了一种面向数字钟的设计方案,针对该方案中的微处理器硬件设计和软件设计,以及低成本的时钟源设计和相应的表盘的驱动电路设计,在此基础上介绍可靠性测试以及实验结果回顾。
2 方案及实现2.1 微处理器硬件设计本次实验采用元件有:PIC16F886 、将军F01A-A 、 LAB-04 、 BIN-24等,出差控制器为PIC16F886。
PIC16F886具有良好的抗干扰性,提供快速响应,是一款可靠的单片机芯片,同时还支持模拟、模数和数字信号处理功能。
为确保实验数据的准确性,PIC16F886还使用了可编程IO(PIO)和数字输入/输出的能力。
PIO的特点是可以用作模拟输入和输出,PIO的引脚IEB可以用作输出或输入,可以有效提高微处理器的运行效率。
2.2主软件设计PIC16F886系统由8个模块组成,包括数据存储模块、数字I/O模块、控制模块、输出模块、TC/RC计数器模块、比较器模块、运算放大器模块和系统复位块。
本次实验采用元件的低成本的时钟源,将实时时钟信号输入到芯片,通过微处理器可编程IO模块将实时时钟转换为精确的时钟信号,然后将精确的时间信息输出到表盘。
基于FPGA的数字钟设计-华中科技大学电子线路实验报告

基于FPGA的数字钟设计Your Name一、实验目的1.了解数字钟的功能要求及设计方法;2.了解CPLD/FPGA的一般结构及开发步骤;3.熟悉用FPGA器件取代传统的中规模集成器件实现数字电路与系统的方法。
二、实验要求1.以数字形式显示时、分、秒的时间;2.小时计数器为同步24进制;3.要求手动校时、校分;4.任意闹钟;5.小时为12/24进制可切换;6.报正点数(几点响几声)。
三、实验内容1.系统模块框图2.时间校准模块时间校准模块可由两位控制信号控制当前校准状态。
3.时分秒计数模块时分秒计数模块由60进制秒计数器、60进制分计数器和24进制时计数器组成。
时分秒的计数器具有复位和计数功能。
其中CR为复位信号,当CR为0时,时分秒的计数器清0,EN为使能信号,EN为1时开始计时,EN为0则暂停计时。
分秒时的进位通过外部组合逻辑实现。
4.显示模块计时模块产生的BCD码通过编写的CD4511功能模块转换为数码管的显示信号。
5.分频模块开发板的系统时钟为50MHz,产生1Hz的CP信号需要一个模为25M的计数器分频得到1Hz的CP信号。
四、具体代码1.顶层模块(clock.v)module SHOW_CTRL(MODE,SHOW_MODE,CP,Hour,Minute,Second,SHOW1,SHOW2);input CP,MODE,SHOW_MODE;input[7:0]Hour,Minute,Second;output[7:0]SHOW1,SHOW2;reg[7:0]SHOW1,SHOW2;always@(MODE,SHOW_MODE) beginif((MODE==0)&&(SHOW_MODE==0))begin SHOW2<=Minute[7:0];SHOW1<=Hour[7:0]; endelse if((MODE==0)&&(SHOW_MODE==1))begin SHOW2<=Second[7:0];SHOW1<=Minute[7:0]; endelse if((MODE==1)&&(SHOW_MODE==0))begin SHOW2<=Minute[7:0];SHOW1<=Hour[7:0]; endelse if((MODE==1)&&(SHOW_MODE==1))begin SHOW2<=Second[7:0];SHOW1<=Minute[7:0]; endendendmodule2.分频模块(clk_div.v)module clk_div(clk_50M,clk_1);input clk_50M;output reg clk_1;reg [8:0]count;always @(posedge clk_50M)beginif(count>8'd25)beginclk_1=~clk_1;count=0;endelsecount<=count+1;endendmodule3.模60计数器模块(counter60.v)module counter60(EN,CP,nCR,QoH,QoL);input EN,CP,nCR;output [3:0]QoH,QoL;reg [3:0]QoH,QoL;always@(posedge CP) beginif(~nCR) beginQoH<=4'b0000;QoL<=4'b0000; endelse if(~EN) beginQoH<=QoH;QoL<=QoL; endelseif(QoH==4'b0101&&QoL==4'b1001)beginQoH<=4'b0000;QoL<=4'b0000;endendelse if(QoH<4'b0110&&QoL<4'b1001){QoH,QoL}<={QoH,QoL+4'b0001};else if(QoH<4'b0110&&QoL==4'b1001){QoH,QoL}<={QoH+4'b0001,4'b0000};endendmodule4.模24计数器模块(counter24.v)module counter24(nCR,EN,CP,CntH,CntL);input CP,nCR,EN;output[3:0] CntH,CntL;reg [3:0]CntH,CntL;reg CO;always@(posedge CP or negedge nCR) beginif(~nCR) {CntH,CntL}<=8'h00;else if(~EN) {CntH,CntL}<={CntH,CntL};else if((CntH>2)||(CntL>9)||((CntH==2)&&(CntL>=3))){CntH,CntL}<=8'h00;else if((CntH==2)&&(CntL<3))begin CntH<=CntH; CntL<=CntL+1'b1; end else if(CntL==9) begin CntH<=CntH+1'b1; CntL<=4'b0000; endelse begin CntH<=CntH; CntL<=CntL+1'b1; endendendmodule5.显示模块(HEX2LED.v)module HEX2LED(HEX,SEG);input[3:0] HEX;output[7:0] SEG;wire[3:0] HEX;reg[6:0] SEG;always@(HEX)begincase(HEX)4'h0: SEG = 7'b0000001;4'h1: SEG = 7'b1001111;4'h2: SEG = 7'b0010010;4'h3: SEG = 7'b0000110;4'h4: SEG = 7'b1001100;4'h5: SEG = 7'b0100100;4'h6: SEG = 7'b0100000;4'h7: SEG = 7'b0001111;4'h8: SEG = 7'b0000000;4'h9: SEG = 7'b0000100;default: SEG = 7'b0000001;endcaseendendmodule五、仿真截图(仿真秒时分计时及其数码管显示,仿真环境为vivado 2018.3)秒计时仿真分计时仿真时计时仿真如下图所示为分校准仿真,当Amin分校准位为1时分开始随着CP信号的频率以1秒加1的步进变动。
基于FPGA的数字电子钟的设计与实现

基于FPGA的数字电⼦钟的设计与实现背景:本实验所有结果基于Quartus II 13.1 (64-bit)实现,实验过程采⽤⾃下⽽上⽬录⼀、基本功能设计与思路基本功能:能实现秒、分钟、⼩时的计数,计数结果清晰稳定的显⽰在 6 位数码管上。
1、动态显⽰模块该模块主要功能是通过数码管的动态扫描实现 6 位数码管显⽰计数结果,本模块由扫描模块scan_cnt6,位选控制模块 dig_select,数据选择控制模块 seg_select 以及译码模块 decoder 构成扫描模块 scan_cnt6模块功能:产⽣ 位选控制端dig_select 和数据选择端 code_select 模块所需要的地址信息,扫描时钟决定位选信号和数据切换的速度。
设计思路:利⽤74390芯⽚(P160 TTL 双⼗进制异步计数器)构建⼀个模六计数器,就是6进制计数器,利⽤计数到6(110)时,“q2”和“q1”为⾼电平,产⽣ ⼀个复位信号,加到74390的⾼电平有效的异步清0端“1CLR”上,使计数器回0,从⽽实现模六计数。
设计结果:cnt6模块设计图波形仿真:(默认为时序仿真)cnt6模块波形仿真图位选模块 dig_select模块功能:在地址端的控制下,产⽣位选信号。
设计思路:利⽤74138芯⽚(3线-8线译码器),当选通端输⼊端G1为⾼电平,选通端输⼊端G2AN和G2BN为低电平时,将扫描信号cnt6的输出作为输⼊信号,dig[5..0]是译码输出,输出低电平有效。
设计结果:dig_select模块设计图波形仿真:dig_select模块波形仿真图数据选择模块 seg_select模块功能:输⼊ 6 组数据,每组数据 4bit,本模块完成在地址端的控制下从6 组数据当中选择 1 组输出。
设计思路:利⽤74151芯⽚(P91 8选1数据选择器),在控制输⼊端GN为低电平时,将扫描信号的选择下,分别选中D[5..0]对应的输⼊信号输出为Y。
数字电路时钟实训报告(一)

数字电路时钟实训报告(一)数字电路时钟实训报告1. 概述•本报告旨在介绍数字电路时钟实训的相关内容,包括实训目的、实训过程和实训结果。
2. 实训目的•熟悉数字电路时钟的基本原理和设计思路•掌握数字电路时钟的硬件组成和功能模块•实践运用数字电路知识,完成时钟的设计和制作3. 实训过程1.准备材料–数字电路实验箱–电源线、信号线等连接器–电路元件:集成电路、电容器、电阻等–示波器、万用表等测试仪器2.设计方案–根据时钟的要求和功能需求,设计数字电路时钟的电路图–确定所需的集成电路和其他电路元件3.电路搭建–使用实验箱和连接器搭建数字电路时钟的电路–按照电路图连接电路元件和集成电路4.测试和调试–使用示波器、万用表等测试仪器对电路进行测试–检查电路是否按照设计要求工作5.验证功能–测试时钟的各项功能是否正常工作–验证时钟在不同时间段的准确性和稳定性4. 实训结果•完成数字电路时钟的设计和制作•时钟的各项功能正常工作•时钟在不同时间段具有准确性和稳定性5. 总结•通过本次数字电路时钟的实训,我深入了解了数字电路时钟的工作原理和设计流程。
通过实践操作,我掌握了数字电路时钟的搭建和调试方法,提高了数字电路设计能力。
这次实训对我的专业技能和实践能力的提升具有重要意义。
以上是本次数字电路时钟实训的报告内容。
实训过程中,我认真完成了任务,获得了实践经验,并与同学们共同交流和学习,提高了团队合作能力。
希望今后能继续深入学习和应用数字电路知识,为未来的科研和工作打下坚实的基础。
6. 遇到的问题和解决方法•在实训过程中,我遇到了几个问题:1.电路搭建困难:由于电路图复杂,部分连接容易混淆和出错。
解决方法是多次仔细核对电路图,注意连接的正确性,并请教老师和同学的帮助。
2.电路测试困难:有时测试仪器的操作和数据读取不够准确,导致测试结果不确定。
解决方法是认真阅读仪器的使用说明书,熟悉操作步骤,并与同学们共同研究和解决问题。
数字电路电子钟设计实验报告

数字电路电子钟设计实验报告目录1.实验目的2.实验题目描述和要求3.设计报告内容3.1实验名称3.2实验目的3.3实验器材及主要器件3.4数字电子钟基本原理3.5数字电子钟制作与调试3.6数字电子钟电路图3.7数字电子钟的组装与调试4.实验结论5.实验心得1.实验目的※掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法;※进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;※提高电路布局﹑布线及检查和排除故障的能力;※培养书写综合实验报告的能力。
2.实验题目描述和要求(1)数字电子钟基本功能数字电子钟是一个大众化产品,一般来讲应具有以下基本功能。
①能进行小时、分、秒显示。
②能进行小时、分、秒设置。
③能实现整点报时。
④能通过设置,实现任意时间报时。
(2)数字电子钟基本性能一个实用的数字电子钟应满足三个“度”:精度、亮度和响度。
①精度是指显示的时间必须准确。
②亮度是指显示的时间必须让人看得清楚。
③响度是指报时的声音必须清脆有力。
(3)数字电子钟用于教学设计时必须考虑的因素从教学角度来看,数字电子钟的设计应考虑以下几点。
①数字电路可由多种不同方案实现,在方案比较时应着重考虑所选用的方案在设计时能否把数字电路包含的主要知识全部囊括进去。
②应把数字电子钟分解成若干个模块,并在印制电路板设计时把各模块固定在不同的区域。
③应确保大多数学生能在规定时间内完成制作与调试。
④数字电子钟印制电路板(PCB)设计时除留下足够的训练内容让学生完成外,应设计一标准印制电路板设计示范区。
(4)本教材设计的数字电子钟总体方案根据以上分析,本教材把数字电子钟分解为信号电路、显示电路、计时电路、校时电路和报时电路五个功能相对独立的模块(如图8-1所示),采用如图8-2所示的设计方案,并按要求实施时参照一下规定进行。
①各模块的制作、调试按显示电路、信号电路、计时电路、校时电路和报时电路的顺序进行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验实习报告册
学年学期:
课程名称:
实验项目:基于FPGA的数字电子钟的设计与实现
姓名:
学院和专业:
班级:
指导教师:
邮电大学教务处制
1.系统顶层模块设计
(如:图一0)
2.主要功能模块电路设计
2.1分频模块
这是分频模块的顶层设计图主要完成了把50MHz的时钟信号降频为1KHz、500Hz、1Hz 图一1
图一1
这是其中100分频计数器的计数器图一2
图一2
2.2计时模块
分、秒计时模块(实现模60计数)图二1 这是两个模60计数器,
图二1
其中是连在一起的,把秒钟的进位信号接到分钟计数模块的接收端
2.2.1小时计时模块(实现模24计数图二2)
这是模24计数器(如图:图二2),是用74390来实现,47390 是下降沿有效
图二2
2.3数码管动态显示模块
这是动态显示模块的顶层设计图,如图:图二3
图二3
2.3.1扫描模块couner6(实现6位数码管的扫描图二4)
该模块需使用74390设计一个模6的计数器。
实现了模值为6的计数功能其中应该接好global 用作延时
图二4
位选模块dig_select(3-8译码器用作控制哪一个数码显示器亮) 图二5
该模块用于选择6位数码管中的某一位显示相应字形。
74138为
图二5
2.3.2段选模块seg_select 图二6
该模块功能是从6组4bit信号中选择一组作输出。
图二6
2.3.3译码模块decoder(实现了把8421码,译码成数码管的显示)图二7
图二7
2.4整点报时
设计思路:首先要做到在整点的时候报时(也就是说再整点的时候蜂鸣器响),那么我们就观察在整点的时候电路有什么特征。
我们观察到的特征就是:在整点的时候秒钟,分钟都是为零的,也就是说在正点的时候分钟秒钟的二进制数每位都是为零的,那么这就是我们控制蜂鸣器响的条件了。
那就是把秒钟分钟的每个线或非一下就好了。
但是我们要实现蜂鸣器响几秒,那么就再秒钟的低两位上就不接,就实现了响四秒。
图三1
2.5调时功能
在设计调时间功能的时候,首先就想到我们直接在计数器的cp信号上接上一个开关然后手动给cp然后计数器增加,但是我们在不用调时的时候就是正常的时钟,那么我们就用一个二选一数选器来实现选择计数器的cp信号的来自我们手动给还是来自上一个计数器的进位信号。
同时在我们挑时间的时候时钟是暂停了,实现暂停就是我们用一个与门加上一个选着
端,选择端是1
时1Hz的时钟
信号就通,否则
就断开。
2.6秒表
秒钟的思路就
来自于我们的
普通时钟只是
我们用的是
100Hz时钟信
号。
然后我们是
用100模60模
60模的计数器。
秒表是要清零
的那么我们就
用74390的复
位端,其中我们
要用一个或门
在选着我们的
手动清零端和
计数器的自动
图四1
清零端。
图四 1
秒表的暂停和开始功能就是用一个与门接通和断开最开始的100Hz时钟信号。
2.7消抖电路
图五2 3.各模块的测试案及测试结果
3.1计时模块
3.1.1分、秒计时模块(实现模60计数)
测试案:用quartus II软件仿真模60计数结果。
测试结果:图六1为模60仿真结果。
图六1
3.1.2小时计时模块(实现模24计数)
测试案:用quartus II软件仿真模24计数结果。
测试结果:图六2 为模24仿真结果。
图六2
3.1.3秒表最低位(实现模100计数)
测试案:用quartus II软件仿真模100计数结果。
测试结果:图六3 为模24仿真结果。
图六3 3.2数码管动态显示模块
3.2.1扫描模块counter6
测试案:用quartus II软件仿真模6计数结果。
测试结果:图六4 为模6仿真结果。
图六 4
,没有加缓冲器导致波形有错
3.2.2位选模块dig_select(实现数码管的选择)
测试案:用quartus II软件仿真模6计数结果。
测试结果:图六5 为模6仿真结果。
图六5
图六6
3.3系统总体测试
表1 系统总体测试结果记录表
4.1在消抖动电路中,最开始做的电路没有达到消去抖动的目的,后来用仿真波形测试,发现只要
增加D触发器的个数就好了。
4.2校时电路的时候我是用的与门来选择是接通开关还是上一个计数器的进位信号的时候发现要
是我们我们的进位信号是维持在低电平,会阻断我们按键线路连接到计数器的clk端,后来选用二选一数选器来选择这两个cp时钟信号就行了。
5.心得体会
5.1在这个学期的数字电路学习中收获颇多,特别是在数字电路的实验课中真的是学到了有用的知
识,使得同学们更加的了解了电路的特性,使得我们在以后的学习和工作中都学到了有用的理论和动手的能力。
老师对我们是真的好,不仅教授我们有用的电路知识,更是提高了,同学们的实际动手能力。
这在我们以后的工作中打下了坚实的基础。
6.“数字电路与逻辑设计实验A”实验报告评阅表。