学习情境5秒表的设计与制作.docx
- 文档编号:24292246
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:42
- 大小:526.44KB
学习情境5秒表的设计与制作.docx
《学习情境5秒表的设计与制作.docx》由会员分享,可在线阅读,更多相关《学习情境5秒表的设计与制作.docx(42页珍藏版)》请在冰豆网上搜索。
学习情境5秒表的设计与制作
学习情境5秒表的设计与制作
5.1咨询—知识准备
5.1.1单片机定时/计数器的结构
1.定时/计数器组成框图
8051单片机内部有两个16位的可编程定时/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器用或作为计数器用。
此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定,其逻辑结构如图5.1所示。
由图可知,8051定时/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。
定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:
定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。
TL0、TL1、TH0、TH1的访问地址依次为8AH8DH,每个寄存器均可单独访问。
定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。
TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。
2.定时/计数器工作原理
当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。
定时器的定时时间与系统的振荡频率紧密相关,因MCS-51单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率。
如果单片机系统采用12MHz晶振,则计数周期为:
,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。
当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。
在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。
新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。
计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。
当设置了定时器的工作方式并启动定时器工作后,定时器就按被设定的工作方式独立工作,不再占用CPU的操作时间,只有在计数器计满溢出时才可能中断CPU当前的操作。
关于定时器的中断将在下一节讨论。
3.定时/计数器的方式寄存器和控制寄存器
在启动定时/计数器工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器中,这个过程称为定时/计数器的初始化。
定时/计数器的初始化通过定时/计数器的方式寄存器TMOD和控制寄存器TCON完成。
1)定时/计数器方式寄存器TMOD
TMOD为定时器0、定时器1的工作方式寄存器,其格式如下:
TMODD7D6D5D4D3D2D1D0
GATE
M1
M0
GATE
M1
M0
定时器1
定时器0
TMOD的低4位为定时器0的方式字段,高4位为定时器1的方式字段,它们的含义完全相同。
(1)M1和M0:
方式选择位。
定义如下:
M1M0
工作方式
功能说明
00
方式0
13位计数器
01
方式1
16位计数器
10
方式2
自动再装入8位计数器
11
方式3
定时器0:
分成两个8位计数器定时器1:
停止计数
(2):
功能选择位。
时,设置为定时器工作方式;时,设置为计数器工作方式。
(3)GATE:
门控位。
当GATE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须(P3.2)或(P3.3)为高电平方可启动定时器,即允许外中断、启动定时器。
TMOD不能位寻址,只能用字节指令设置高4位定义定时器1,低4位定义定时器0定时器工作方式。
复位时,TMOD所有位均置0。
2)定时器/计数器控制寄存器TCON
TCON的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。
定时器控制字TCON的格式如下:
TCON(88H)8FH8EH8DH8CH8BH8AH89H88H
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
各位含义如下:
(1)TCON.7TF1:
定时器1溢出标志位。
当定时器1计满数产生溢出时,由硬件自动置TF1=1。
在中断允许时,向CPU发出定时器1的中断请求,进入中断服务程序后,由硬件自动清0。
在中断屏蔽时,TF1可作查询测试用,此时只能由软件清0。
(2)TCON.6TR1:
定时器1运行控制位。
由软件置1或清0来启动或关闭定时器1。
当GATE=1,且为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1即可启动定时器1。
(3)TCON.5TF0:
定时器0溢出标志位。
其功能及操作情况同TF1。
(4)TCON.4TR0:
定时器0运行控制位。
其功能及操作情况同TR1。
(5)TCON.3IE1:
外部中断1。
(6)TCON.2IT1:
外部中断1触发方式选择位。
(7)TCON.1IE0:
外部中断0
(8)TCON.0IT0:
外部中断0触发方式选择位。
TCON中的低4位用于控制外部中断,与定时/计数器无关,将在下一节中介绍。
当系统复位时,TCON的所有位均清0。
TCON的字节地址为88H,可以位寻址,清溢出标志位或启动定时器都可以用位操作指令。
5.1.2定时/计数器的工作方式
由前述内容可知,通过对TMOD寄存器中M0、M1位进行设置,可选择4种工作方式,下面逐一进行论述。
1.方式0
方式0构成一个13位定时/计数器。
图5.2是定时器0在方式0时的逻辑电路结构,定时器1的结构和操作与定时器0完全相同。
由图可知:
16位加法计数器(TH0和TL0)只用了13位。
其中,TH0占高8位,TL0占低5位(只用低5位,高3位未用)。
当TL0低5位溢出时自动向TH0进位,而TH0溢出时向中断位TF0进位(硬件自动置位),并申请中断。
当=0时,多路开关连接12分频器输出,定时器0对机器周期计数,此时,定时器0为定时器。
其定时时间为
当=1时,多路开关与T0(P3.4)相连,外部计数脉冲由T0脚输入,当外部信号电平发生由0到1的负跳变时,计数器加1,此时,定时器0为计数器。
当GATE=0时,或门被封锁,信号无效。
或门输出常1,打开与门,TR0直接控制定时器0的启动和关闭。
TR0=1,接通控制开关,定时器0从初值开始计数直至溢出。
溢出时,16位加计数器为0,TF0置位,并申请中断。
如要循环计数,则定时器0需重置初值,且需用软件将TF0复位。
当GATE=1时,与门的输出由的输入电平和TR0位的状态来确定。
若TR0=1则与门打开,外部信号电平通过引脚直接开启或关断定时器0,当为高电平时,允许计数,否则停止计数;若TR0=0,则与门被封锁,控制开关被关断,停止计数。
2.方式1
定时器工作于方式1时,其逻辑结构图如图5.3所示。
由图可知,方式1构成一个16位定时/计数器,其结构与操作几乎完全与方式0相同,惟一差别是二者计数位数不同。
作定时器用时其定时时间为(M–定时器0初值)×时钟周期×12=(65536–定时器0初值)×时钟周期×12)中的1s延时程序中说明,这里不再赘述。
3.方式2
定时/计数器工作于方式2时,其逻辑结构图如图5.4所示。
由图可知,方式2中,16位加法计数器的TH0和TL0具有不同功能,其中,TL0是8位计数器,TH0是重置初值的8位缓冲器。
方式0和方式1用于循环计数,在每次计满溢出后,计数器都复0,要进行新一轮计数还须重置计数初值。
这不仅导致编程麻烦,而且影响定时时间精度。
方式2具有初值自动装入功能,避免了上述缺陷,适合用作较精确的定时脉冲信号发生器。
其定时时间为:
(M–定时器0初值)×时钟周期×12=(256–定时器0初)×时钟周期×12
方式2中916位加法计数器被分割为两个,TL0用作8位计数器,TH0用以保持初值。
在程序初始化时,TL0和TH0由软件赋予相同的初值。
一旦TL0计数溢出,TF0将被置位,同时,TH0中的初值装入TL0,从而进入新一轮计数,如此循环不止。
4.方式3
定时/计数器工作于方式3时,其逻辑结构图如图5.5所示。
5.1.3MCS-51的中断系统
1.中断的概念
中断是通过硬件来改变CPU的运行方向的。
计算机在执行程序的过程中,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。
这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。
“中断”之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。
主程序被断开的位置(或地址)称为“断点”。
引起中断的原因,或能发出中断申请的来源,称为“中断源”。
中断源要求服务的请求称为“中断请求”(或中断申请)。
如例5.6中的中断服务程序是CONT程序,主程序中有两处断点(读者自行查找),中断源是定时器1,在100节ms定时时间到后由硬件置位TCON寄存器中的TF1位,然后,自动向CPU发出中断请求。
调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。
2.中断的特点
1)分时操作
中断可以解决快速的CPU与慢速的外设之间的矛盾,使CPU和外设同时工作。
CPU在启动外设工作后继续执行主程序,同时外设也在工作。
每当外设做完一件事就发出中断申请,请求CPU中断它正在执行的程序,转去执行中断服务程序(一般情况是处理输入/输出数据),中断处理完之后,CPU恢复执行主程序,外设也继续工作。
这样,CPU可启动多个外设同时工作,大大地提高了CPU的效率。
2)实时处理
在实时控制中,现场的各种参数、信息均随时间和现场而变化。
这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理中断请求。
如中断条件满足,CPU马上就会响应,进行相应的处理,从而实现实时处理。
3)故障处理
针对难以预料的情况或故障,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。
3.MCS-51中断系统的结构框图
中断过程是在硬件基础上再配以相应的软件而实现的,不同的计算机,其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。
MCS-51中断系统的结构框图如图5.6所示。
由图可知,与中断有关的寄存器有4个,分别为中断源寄存器TCON和SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP;中断源有5个,分别为外部中断0请求、外部中断1请求、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求RI或TI。
5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定的中断入口地址。
5.1.4中断源和中断标志
1.中断源
通常,计算机的中断源有如下几种:
(1)一般的输入/输出设备。
如键盘、打印机等,它们通过接口电路向CPU发出中断请求。
(2)实时时钟及外界计数信号。
如定时时间或计数次数一到,在中断允许时,由硬件则向CPU发出中断请求。
(3)故障源。
当采样或运算结果溢出或系统掉电时,可通过报警、掉电等信号向CPU发出中断请求。
(4)为调试程序而设置的中断源。
调试程序时,为检查中间结果或寻找问题所在,往往要求设置断点或进行单步工作(一次执行一条指令),这些人为设置的中断源的申请与响应均由中断系统来实现。
MCS-51的5个中断源详述如下:
(1):
外部中断0请求,由P3.2脚输入。
通过IT0脚(TCON.0)来决定是低电平有效还是下跳变有效。
一旦输入信号有效,就向CPU申请中断,并建立IE0标志。
(2):
外部中断1请求,由P3.3脚输入。
通过IT1脚TCON.2)来决定是低电平有效还是下跳变有效。
一旦输入信号有效,就向CPU申请中断,并建立IE1标志。
(3)TF0:
定时器T0溢出中断请求。
当定时器0产生溢出时,定时器0中断请求标志位(TCON.5)置位(由硬件自动执行),请求中断处理。
(4)TF1:
定时器1溢出中断请求。
当定时器1产生溢出时,定时器1中断请求标志位(TCON.7)置位(由硬件自动执行),请求中断处理。
(5)RI或TI:
串行中断请求。
当接收或发送完一串行帧时,内部串行口中断请求标志位RI(SCON.0)或TI(SCON.1)置位(由硬件自动执行),请求中断。
2.中断标志
1)TCON寄存器中的中断标志
TCON为定时器0和定时器1的控制寄存器,同时也锁存定时器0和定时器1的溢出中断标志及外部中断和的中断标志等。
与中断有关位如下:
(1)TCON.7TF1:
定时器1的溢出中断标志。
T1被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF1,同时向CPU发出中断请求,此标志一直保持到CPU响应中断后才由硬件自动清0。
也可由软件查询该标志,并由软件清0。
(2)TCON.5TF0:
定时器0溢出中断标志。
其操作功能与TF1相同。
(3)TCON.3IE1:
中断标志。
IE1=1,外部中断1向CPU申请中断。
(4)TCON.2IT1:
中断触发方式控制位。
当IT1=0时,外部中断1控制为电平触发方式。
在这种方式下,CPU在每个机器周期的S5P2期间对(P3.3)引脚采样,若为低电平,则认为有中断申请,随即使IE1标志置位;若为高电平,则认为无中断申请,或中断申请已撤除,随即使IE1标志复位。
在电平触发方式中,CPU响应中断后不能由硬件自动清除IE1标志,也不能由软件清除IE1标志,所以,在中断返回之前必须撤消引脚上的低电平,否则将再次中断导致出错。
(5)TCON.1IE0:
中断标志。
其操作功能与IE1相同。
(6)TCON.0IT0:
中断触发方式控制位。
其操作功能与IT1相同。
2)SCON寄存器中的中断标志
SCON是串行口控制寄存器,其低两位TI和RI锁存串行口的发送中断标志和接收中断标志。
(1)SCON.1TI:
串行发送中断标志。
CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。
但CPU响应中断时并不清除TI,必须由软件清除。
(2)SCON.0RI:
串行接收中断标志。
在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。
同样,CPU在响应中断时不会清除RI,必须由软件清除。
8051系统复位后,TCON和SCON均清0,应用时要注意各位的初始状态。
3)IE寄存器中断的开放和禁止标志
计算机中断系统有两种不同类型的中断:
一类称为非屏蔽中断,另一类称为可屏蔽中断。
对非屏蔽中断,用户不能用软件的方法加以禁止,一旦有中断申请,CPU必须予以响应。
对可屏蔽中断,用户可以通过软件方法来控制是否允许某中断源的中断,允许中断称中断开放,不允许中断称中断屏蔽。
MCS-51系列单片机的5个中断源都是可屏蔽中断,其中断系统内部设有一个专用寄存器IE,用于控制CPU对各中断源的开放或屏蔽。
4)IE寄存器中断优先级标志
8051单片机有两个中断优先级,每个中断源都可以通过编程确定为高优先级中断或低
(6)IE.0EX0:
外部中断0()中断允许位。
EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。
8051单片机系统复位后,IE中各中断允许位均被清0,即禁止所有中断。
4)IE寄存器中断优先级标志
8051单片机有两个中断优先级,每个中断源都可以通过编程确定为高优先级中断或低优先级中断,因此,可实现二级嵌套。
同一优先级别中的中断源可能不止一个,也有中断优先权排队的问题。
专用寄存器IP为中断优先级寄存器,锁存各中断源优先级控制位,IP中的每一位均可由软件来置1或清0,且1表示高优先级,0表示低优先级。
其格式如下:
(1)IP.4PS:
串行口中断优先控制位。
PS=1,设定串行口为高优先级中断;PS=0,设定串行口为低优先级中断。
(2)IP.3PT1:
定时器T1中断优先控制位。
PT1=1,设定定时器T1中断为高优先级中断;PT1=0,设定定时器T1中断为低优先级中断。
(3)IP.2PX1:
外部中断1中断优先控制位。
PX1=1,设定外部中断1为高优先级中断;PX1=0,设定外部中断1为低优先级中断。
(4)IP.1PT0:
定时器T0中断优先控制位。
PT0=1,设定定时器T0中断为高优先级中断;PT0=0,设定定时器T0中断为低优先级中断。
(5)IP.0PX0:
外部中断0中断优先控制位。
PX0=1,设定外部中断0为高优先级中断;PX0=0,设定外部中断0为低优先级中断。
当系统复位后,IP低5位全部清0,所有中断源均设定为低优先级中断。
如果几个同一优先级的中断源同时向CPU申请中断,CPU通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。
自然优先级由硬件形成,排列如下:
中断源同级自然优先级
外部中断0最高级
定时器T0中断
外部中断1
定时器T1中断
串行口中断最低级
5.1.5中断处理过程
1.中断系统的功能
1)实现中断响应和中断返回
当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急、更重要的工作,则在执行完当前指令后响应这一中断请求。
CPU中断响应过程如下:
首先,将断点处的PC值(即下一条应执行指令的地址)推入堆栈保留下来,这称为保护断点,由硬件自动执行。
然后,将有关的寄存器内容和标志位状态推入堆栈保留下来,这称为保护现场,由用户自己编程完成。
保护断点和现场后即可执行中断服务程序,执行完毕,CPU由中断服务程序返回主程序,中断返回过程如下:
首先恢复原保留寄存器的内容和标志位的状态,这称为恢复现场,由用户编程完成。
然后,再加返回指令RETI,RETI指令的功能是恢复PC值,使CPU返回断点,这称为恢复断点。
恢复现场和断点后,CPU将继续执行原主程序,中断响应过程到此为止。
中断示意图如图5.7所示。
2)实现优先权排队
通常,系统中有多个中断源,当有多个中断源同时发出中断请求时,要求计算机能确定哪个中断更紧迫,以便首先响应。
为此,计算机给每个中断源规定了优先级别,称为优先权。
这样,当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。
计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件电路来实现,亦可通过软件查询来实现。
3)实现中断嵌套
当CPU响应某一中断时,若有优先权高的中断源发出中断请求,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程称为中断嵌套,其示意图如图5.8所示。
如果发出新的中断请求的中断源的优先权级别与正在处理的中断源同级或更低时,CPU不会响应这个中断请求,直至正在处理的中断服务程序执行完以后才能去处理新的中断请求。
3.中断处理过程
中断处理过程可分为中断响应、中断处理和中断返回三个阶段。
不同的计算机因其中断系统的硬件结构不同,因此,中断响应的方式也有所不同。
这里,仅以8051单片机为例进行叙述。
1)中断响应
中断响应是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地址)。
CPU并非任何时刻都响应中断请求,而是在中断响应条件满足之后才会响应。
(1)中断响应条件
CPU响应中断的条件有:
a.有中断源发出中断请求。
B.中断总允许位EA=1。
C.申请中断的中断源允许。
满足以上基本条件,CPU一般会响应中断,但若有下列任何一种情况存在,则中断响应会受到阻断。
A.CPU正在响应同级或高优先级的中断。
B.当前指令未执行完。
C.正在执行RETI中断返回指令或访问专用寄存器IE和IP的指令。
若存在上述任何一种情况,中断查询结果即被取消,CPU不响应中断请求而在下一机器周期继续查询,否则,CPU在下一机器周期响应中断。
CPU在每个机器周期的S5P2期间查询每个中断源,并设置相应的标志位,在下一机器周期S6期间按优先级顺序查询每个中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。
2)中断响应过程
中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。
首先,中断系统通过硬件自动生成长调用指令(LACLL),该指令将自动把断点地址压入堆栈保护(不保护累加器A、状态寄存器PSW和其它寄存器的内容),然后,将对应的中断入口地址装入程序计数器PC(由硬件自动执行),使程序转向该中断入口地址,执行中断服务程序。
MCS-51系列单片机各中断源的入口地址由硬件事先设定,分配如下:
中断源入口地址
外部中断00003H
定时器T0中断000BH
外部中断10013H
定时器T1中断001BH
串行口中断0023H
使用时,通常在这些中断入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断服务程序的起始地址上去。
2.中断处理
中断处理就是执行中断服务程序。
中断服务程序从中断入口地址开始执行,到返回指令“RETI”为止,一般包括两部分内容,一是保护现场,二是完成中断源请求的服务。
通常,主程序和中断服务程序都会用到累加器A、状态寄存器PSW及其它一些寄存器,当CPU进入中断服务程序用到上述寄存器时,会破坏原来存储在寄存器中的内容,一旦中断返回,将会导致主程序的混乱,因此,在进入中断服务程序后,一般要先保护现场,然后,执行中断处理程序,在中断返回之前再恢复现场。
编写中断服务程序时还需注意以下几点:
(1)各中断源的中断入口地址之间只相隔8个字节,容纳不下普通的中断服务程序,因此,在中断入口地址单元通常存放一条无条件转移指令,可将中断服务程序转至存储器的其它任何空间。
(2)若要在执行当前中断程序时禁止其它更高优先级中断,需先用软件关闭CPU中断,或用软件禁止相应高优先级的中断,在中断返回前再开放中断。
(3)在保护和恢复现场时,为了不使现场数据遭到破坏或造成混乱,一般规定此时CPU不再响应新的中断请求。
因此,在编写中断服务程序时,要注意在保护现场前关中断,在保护现场后若允许高优先级中断,则应开中断。
同样,在恢复现场前也应先关中断,恢复之后再开中断。
3.中断返回
中断返回是指中断服务完后,计算机返回原来断开的位置(即断点),继续执行原来的程序。
中断返回由中断返回指令RETI来实现。
该指令的功能是把断点地址从堆栈中弹出,送回到程序计数器PC,此外,还通知中断系统已完成中断处理,并同时清除优先级状态触发器。
特别要注意不能用“RET”指令代替“RETI”指令。
4.中断请求的撤除
CPU响应中断请求后即进入中断服务程序,在中断返回前,应撤除该中断请求,否则,会重复引起中断而导致错误。
MCS-51各中断源中断请求撤消的方法各不相同,分别为:
1)定时器中断请求的撤除
对于定时器0或1溢出中断,CPU在响应中断后即由硬件自动清除其中断标志位TF0或TF1,无需采取其它措施。
2)串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 情境 秒表 设计 制作