基于单片机的篮球赛计时计分器设计内容摘要:
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 的输出端。基于单片机的篮球赛计时计分器设计
相关推荐
,存储结束转入 D/A 转换,数据读取中间有时间间隔, 判断 和 是否置位, 控制波形输出频率。 如果有按键按下,则程序判断是哪个键按下 ,从而 跳转执行 各个子程序。 二,存储波形子程序, A/D 转换结果由单片机控制依次存入外部存储器的 100 个存储单元,当这 100 个存储单元存储完毕,程序自毕业设计(论文)说明书 19 动转入扫描键盘继续执行 主程序。 三,显示存储波 形子程序
之间的联系方框图如图 24所示。 程 序 存 储 器M C S 5 1 核特 殊 功 能寄 存 器并 行 和 串 行 接 口定 时 / 计 数 器中 断 管 理监 视 定 时 器 等其 他 外 围 器 件 图 24 特殊功能寄存器( SFR)工作框图 Special function registers( SFR) working diagram
PWM 输出在每个周期开始时总是高电平,除非输出保持恒定低电平。 双边沿控制 PWM 输出可在一个周期内的任何位置产生边沿,这样可同时产生正脉冲和负脉冲。 双边沿控制的 PWM 输出可编程为正脉冲或负脉冲,输出规则为: ( 1) 在一个 PWM 周期结束 时 (与下一个 PWM 周期的开始重合的时间点 ),使用下一个 PWM 周期的匹配值,例外如规则 ( 3) ; ( 2) 等于 0 或当前
否相同,而纵向比较是在另一路输出中加入延时操作,同时在调压时禁止反馈。 具体的电路是在第二路输出经整流滤波后加延时器,再与第一路进行比较,从而实现纵向比较。 而为了在调压时禁止反馈,反馈输出后加脉冲控制反馈电路的通断,当有调压脉冲信号存在时,反馈通路中断,这里由压控继电器来实现。 另外,由于电压的精度要求高,在电路反馈中必须 对误差电压进行放大,中间加比较器放大器后进行反馈。
60的振荡频率和 Qi i 678910121314 的选择要根据情况确定 3 几个原则 看门狗电路必须由硬件逻辑组成不宜由可编程计数器充当因为 CPU 失控后可能会修改可编程器件参数使看门狗失效 4060 的 RST 线上阻容组成的微分电路很重要因为扫描输入信号是 CPU 产生的正脉冲若此信号变 1 后由于干扰程序乱飞微分电路只能让上跳沿通过不会封死 4060
ATmega16 单片机最小系统设计 ATmega 单片机最小系统主要包括复位电路和时钟晶振电路。 复位电路采用的是低电平复位,晶振电路中晶振频率为 12Mhz。 ATmega16 单片机最小系统如下图所示: PB0 (XCK/T0)40PB1 (T1)41PB2 (AIN0/INT2)42PB3 (AIN1/OC0)43PB4 (SS)44PB5 (MOSI)1PB6 (MISO)2PB7