基于单片机的篮球赛计时计分器设计内容摘要:

0 0 1 0 1 1 0 1 1 0 1 0 2 0 0 1 1 1 1 1 1 0 0 1 0 3 0 1 0 0 0 1 1 0 0 1 1 0 4 0 1 0 1 1 0 1 1 0 1 1 0 5 0 1 1 0 0 0 1 1 1 1 1 0 6 0 1 1 1 1 1 1 0 0 0 0 0 7 1 0 0 0 1 1 1 1 1 1 1 0 8 1 0 0 1 1 1 1 1 0 1 1 0 9 1 0 1 0 1 1 1 0 1 1 1 1 A 1 0 1 1 0 0 1 1 1 1 1 1 B 1 1 0 0 1 0 0 1 1 1 0 1 C 1 1 0 1 0 1 1 1 1 0 1 1 D 1 1 1 0 1 0 0 1 1 1 1 1 E 1 1 1 1 1 0 0 0 1 1 1 1 F 二、软件译码 如图 6所示,这种电路在软件设计时,在数据段定义 0~9十个数字。 在程序中利用查表指令 MOVC 指令进行软件译码。 现假设用共阴极 LED 来显示数据,则可以用以下一段程序实现 0~9十个数字的显示。 图 6一位动态 LED显示器 电路 15 sbit P1_0 = 0x90。 sbit P1_1 = 0x91。 sbit P1_2 = 0x92。 sbit P1_3 = 0x93。 sbit P1_4 = 0x94。 sbit P1_5 = 0x95。 sbit P1_6 = 0x96。 sbit P1_7 = 0x97。 定时器 /计数器 定时器 /计数器是 AT89C51 单片机中的主要模块之一。 AT89C51 单片机内部有两个 16 位定时器 /计数器,分别是定时器 /计数器 0( T0)和定时器 /计数器 1( T1)。 (本设计中的计时就是用定时器 T0 计时的。 ) 定时器 /计数器一般结构和工作原理 定时器由一个 N 位计数器、计数时钟源控制电路、状态和控制寄存器等组成,计数器的计数方式由加“ 1”和减“ 1”两种。 计数时钟可以是内部时钟也可以是外部输入时钟(以外部 输入脉冲作为时钟),期一般结构如图 7所示 图 7定时器的一般结构 它具有以下特点: 1) AT89C51 内部定时器 /计数器可以分为定时器模式和计数器模式两种。 在这两种模式下,又可单独分为方式 0,方式 1,方式 2和方式 3四周工作方式。 2)定时模式下的定时时间或计数模式下的计数值均可由 CPU 通过程序设定,但都不能超过最大值。 最大定时时间或最大计数值和定时器 /计数器位数的设定有关,而位数设定又取决于工作方式设定。 3)定时器 /计数器时一个二进制的加“ 1”计数器,当计数器计满回零时能自动产生溢出中断请求,表示定 时时间已到或计数已经终止。 定时器 /计数器 T0和 T1专用寄存器 定时器 /计数器时一种可编程的部件,在其工作之前必须将控制字写入工作方式和控制寄存器,用于确定工作方式。 与 T0, T1有关的特殊功能寄存器有以下几个:TH0、 TL0、 TH TL TMOD、 TCON,另外还有能中断控制寄存器 IE、 IP。 TH0、 TL0 16 为 T0 的 16 位计数器的高 8位和低 8位, TH TL1 为 T1的 16位计数器的高 8 位和低 8位。 通过对 THO、 TL0 和 TH TL1 的初始化编程设置 TO、 T1 计数器初值,通过对TCON 和 TMOD 的编程 来选择 T0、 T1 的工作方式和控制 T0、 T1。 ① 方式寄存器 TMOD 特殊功能寄存器 TMOD 为 T0、 T1的工作方式寄存器,其格式如表 4所示。 表 4 D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 T1方式字 T0方式字 TMOD 的所有位复位后清零。 TMOD 不能位寻址,只能用字节方式设置。  ............................................................................................MM0 工作方式控制位  ............................................................................................C/T 定时器 /外部事件计数方式选择位 C/T =0为定时方式。 在定时方式中,以振荡器输出时钟脉冲的 12分频信号作为信号,也就是每一个机器周期定时器加“ 1”。 C/T =1 为外部事件计数器方式。 该方式采用外部引脚上输入脉冲作为计 数脉冲。  ............................................................................................GATE:门控位 GATE=1 时,定时器的计数受外部引脚输入的电平控制。 只有 INT0 (或 INT1 )引脚为“ 1”。 且用软件对 TR0(或 TR1)置“ 1”才能启动定时器。 GATE=0 时,定时器计数不受外部引脚输入电平控制。 只要用软件对 TR0(或 TR1)置数就能启动定时器。 ② 控制寄存器 TCON 特殊功能寄存器 TCON 的高 4位为定时器的运行控制位和溢出标志位,第 4 位为外部中断的触发方式控制位和锁存外部中断请求源。 其格式如表 5所示。 表 5 D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TRO IE1 IT1 IE0 IT0  ............................................................................................TR0 定时器 T0 运行控制位。 必须由软件置位和清零。 GATE=0 时, T0 的计数仅由 TR0 控制。 TR0=1 时允许计数, TR0=0 时禁止计数; GATE=1 时,仅当 TR0=1 17 且 INTO 输入为高电平时 TO 才计数。  ............................................................................................TF0 定时器 T0 溢出标志位。 当 T0 被允许计数以后, T0 从初值开始加“ 1”计数,最高位产生溢 出时, TF0置“ 1”。 TF0 可以由程序查询和清零。 TF0 也是中断源,当 CPU 响应中断时,由硬件清零。  ............................................................................................TR1 定时器 T1 运行控制位。 必须由软件置位和清零。 GATE=1 时, T1 的计数仅由 TR1 控制。 TR1=1 时允许计数, TR1=1 时禁止计数; GATE=1 时,仅当 TR1=1且 INT1 输入为高电平时 T1 才计数。  ............................................................................................TF1 定时器 T1 溢出标志位。 当 T1 被允许计数以后, T1 从初值开始加“ 1”计数,最高位产生溢出时, TF1置“ 1”。 TF1 可以由程序查询和清零。 TF1 也是中断源,当 CPU 响应中断时,由硬件清零。 定 时器 /计数器的工作方式 定时器 /计数器有 4 中工作方式,有 M1, M0选择。 如表 6所示。 (以 T0为例) 表 6 M1 M0 方 式 功能说明 0 0 0 为 13位的定时器 /计数器 0 1 1 为 16位的定时器 /计数器 1 0 2 为常数自动重新装入的 8位定时器 /计数器 1 1 3 仅适用于 T0,分为两个 8为计数器, T1停止计数 ① 方式 0 方式 0为 3位计数器。 由 TL0 的低 5位和 TH0 的 8位组成, TL0 低 5 位计数溢出时向 TH0 进位, THO 计数溢出时,置“ 1”溢出标志 TF0。 若 T0 工作于方式 0 定时,计数初值为 a,则 T0从初值 a加“ 1”计数至溢出的时间(  s)为 T=(213- a) fosc12 如果 fosc=12MHz,则 T=213- a ② 方式 1(本设计的计时定时采用该方式) T0 工作于方式 1时。 由 TH0 作为高 8位, TL0 作为低 5位构成 16位计数器。 若 T0 工作于方式 1 定时,计数初值为 a, fosc=12MHz,则 T0从初值 a加“ 1”计数至溢出的时间(  s) 为 T=216- a ③ 方式 2 方式 2为自动恢复初值的 8位计数器, TL0 作为 8 位计数器, TH0 作为计数初值寄存器。 当 TL0 计数溢出时 ,一方面置“ 1”溢出标志 TF0,向 CPU 请求中断,同时 18 将 TH0 内容送 TL0,使 TL0 从初值开始重新加“ 1”计数。 T0 工作于方式 2 时,定时精度比较高,但定时时间(  s)小。 T=(218- a) fosc12 ④ 方式 3 方式 3只适用于 T0(若 T1 设置为工作方式 3 时,则使 T1停止计数)。 T0 分为两个独立的 8位计数 器 TL0 和 TH0。 TL0 使用 T0的所有状态控制位, TL0可以作为 8位定时器或外部事件计数器, TL0 计数溢出时置“ 1”溢出标志 TF0, TL0 计数初值必须由软件设定。 TH0 被固定位一个 8位定时器,并使用 T1 的状态控制位 TR TF1。 TR1为 1 时,允许 TH0 计数,当 TH0 计数溢出时置“ 1”溢出标志位 TF1。 一般情况下,只有定时器 T1 用于串行口波特率发生器时, T0才在需要时选工作方式 3,以增加一个计数器。 这时 T1的运行由方式来控制,方式 3停止计数,方式 0~2允许计数,计数溢出时并不置“ 1”标志 TF1。 定时器 /计 数器有 4 中工作方式,有 M1, M0选择。 如表 7所示。 (以 T0为例) 表 7 M1 M0 方 式 功能说明 0 0 0 为 13位的定时器 /计数器 0 1 1 为 16位的定时器 /计数器 1 0 2 为常数自动重新装入的 8位定时器 /计数器 1 1 3 仅适用于 T0,分为两个 8为计数器, T1停止计数 报警电 路 图 8报警电路 19 报警电路如图 8 所示。 采用电磁式蜂鸣器作为报警的音响器件。 图中的 NPN( 9031)导通后驱动蜂鸣器。 D2为续流二极管。 因为蜂鸣器是感性负载,由导通到截止电流不能突变。 计时电路 计时电路,主要由按键 S5~S单片机 AT89C5译码器以及共阴极 LED 显示器构成。 其工作原理如下:当调时(十位)按键 S5 按下时,产生一个低电平,立即数00取出,同时对应调时(个位)控制端 的 LE 输出高电平,表示可以向调时(十位)的 CD4511 发送数据,但 CD4511 的输出端。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。