基于单片机的篮球计时计分器开发设计—大学毕业论文毕业设计学位论文范文模板参考资料内容摘要:
内部震荡方式, 选用 12MHZ 的晶振,另外有两个 22pf 的电容组成。 AT89C52 中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1 和 XTAL2 分别是该放大器的输入和输出端。 这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起 构成自激振荡器,像内部时钟提供震荡时钟,振荡器的频率主要取决于晶体的震荡频率,电容的大小对震荡频率有微小的影响,可取频率微调作用。 振荡电路如图 34所示 : 图 34 时钟振荡电路 复位电路 部分 通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。 MCS51单片机在时钟电路工作以后,在 RST端持续给出 2个机器周期的高电平就可以完成复位操作,复位分位上电复位和外部复位两种方式。 主要功能是把系统初始化,当程序运行错误或者进入死循环的时候,为摆脱困境,可以按复位键以重新启动。 上电复位是单片机在接通电源时,对单片机的复位,上电复位电路图如 35所示。 13 图 35 上电复位 电路 在上电瞬间 RST端与 VCC电位相同,随着电容上电压的逐渐上升, RST端电位逐渐下降。 上电复位所需最短时间是振 荡器建立时间加两个机器周期。 本设计采用上电复位 加按钮方式,通过调整元件参数,使单片机能够可靠的上电自动复位,当需要外部复位时,按下复位按钮也能够达到复位目的, 由于人的动作再快 也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。 如图 36为上电加按钮复位电路。 图 36 上电加按钮 复位电路 按键电路部分 按键是单片机应用系统中适用最广泛的一种数据输入设备,按键通常是一种常开型按钮,常态下键的两个触点处于断开 窗台,按下键时它们才闭合(短路)。 如图 37 所示为一按键。 14 图 37 按键 通常,键盘有编码和非编码两种。 编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。 选通脉冲可作为 CPU 的中断请求信号。 这种键盘使用方便,所需程序简单,但硬件电路复杂,常不被单片机采用。 此次设计采用的是 非编码键盘。 非编码键盘按组成结构又可分为独立式键盘和矩阵式键盘。 独立式键盘的工作过程与矩阵式键盘类似,无论是硬件结构还是软件设计都比较简单 ,图 38 为矩阵式键盘。 图 38 矩阵键盘 矩阵式键盘的特点:电路连接复杂,但提高了 I/O 口利用率,软件编程较复杂。 适用于需使用大量按键的场合。 由于本次设计有足够空余端口,且为了降低编程时的复杂性,采用的是独立式键盘,独立式键盘的 特点:每个按键占用一条 I/O 线,当按键数量较多时,I/O 口利用率不高,但程序编制简单。 适用于所需按键较少的场合。 共 设计采用了 13 个按键设计,其中 9个用于控制甲乙两队的分数,分别是甲队加 1 分、加 2 分、加 3 分、减 1 分,乙队加 1 分、加 2 分、加 3分、减1 分和甲乙两队分数互换。 另外 3 个用于 控制时间,分别是启动倒计时 /暂停 /继续、时间快进、时间倒退。 最后一个按键是复位按键,用于单片机复位。 图 39 所示为按键电路图。 15 图 39按键 电路 图 显示电路部分 本次设计采用共阴极数码管,共阴极接低电平,其他管脚借段驱动电路输出端。 当某段驱动电路的输出端为高电平时,该端所连接的字符导通并发亮,根据发光字段的不同组合可显示出各种数字或者字符。 同样,要求段驱动电路能提供额定的导通电压或者电流,还需要根据需要设定响应的限流电阻。 本次设计的显示电路部分采用 2个 4位一体共阴极数码管,共 8个代码输入口和 8个位选输入口,采用排阻提供上拉电流数码管,以保证有足够 大的电流点亮数码管。 采用动态驱动,使各位数码管逐一轮流点亮,由于扫描速度极快,显示效果与静态显示效果相同。 从理论上说,不论显示图形还是文字,只要控制与组成这些图形和文字的各个点所在位置对应的 LED 器件发光,就能得到结果。 所谓动态显示,就是将要显示的多位 LED显示器采用一个 8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器,对于显示器的每一位而言,每隔一段时间点亮一次,虽然在同一时刻只有一位显示器在工作,但利用人眼的视觉暂留和发光二极管的余辉效应,看到的却是多个字符“同时显示”。 动态显示的优点 在于:节省硬件资源,占用的端口较少,成本较低。 缺点是在系统运行过程中,要保证显示器正常显示, CPU必须每隔一段时间执行一次显示子程序,占用了 CPU 大量的时间,降低了 CPU 的工作效率,同时显示亮度较低。 图 310 为 4位 LED显示器动态显示电路原理图。 16 图 310显示部分电路图 报警电路 部分 本次设计 的报警部分要求同时能够有声光报警 , 故选用一个蜂鸣器和一个发光二极管组成, 其中 蜂鸣器通过一个 NPN 三极管驱动。 当比赛时间剩下最后10 秒钟时, 通过软件控制在 P3_7 端口间隔 有规律 输出高电平信号和低电平 信号,当 P3_7 为高电平信号时, 二极管 D1 导通,发出光信号, 三极管 Q1 导通,蜂鸣器发出声音信号,由于是接在同一端口,发光二极管的发光和蜂鸣器的蜂鸣声同步产生。 报警电路电路图如图 311 所示。 图 311 报警电路图 17 第四章 软件 程序 设计 系统 工作过程 首先在比赛之前,接通电源, 通过软件可以设定比赛的时长 ,时间设置好时, 接通电源,等待赛程开始,当裁 判吹响哨声时 ,启动计时,这时单片机 便开始工作,计时采用到计时方式,即从 10分钟减为 0分钟表示上半场结束。 上半场结束时,蜂鸣器会发出 10秒钟响声,通知上半场结束,这时按下 P1_7键,便完成了甲、乙两队的分数交换。 在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过按键 电路中的 P1_1P1_6, P3_0 和 P3_1 键完成此功能, P1_1P1_3 键完成甲队加分、 P3_0 减分, P1_4P1_6 键完成乙队加分、P3_1 减分。 如果在赛程过程中,一方的教练申请暂停时,经裁判批准,我们立即按下P1_0 键,即可以 暂停计时,暂停时间到时,再按下 P1_0 键继续计时,直至上半场赛程结束,蜂鸣器会发出 10秒的响声。 下半场的流程和上半场 是一样的。 软件总体 设计 方案 在设计程序之前,我们首先要对单片机系统预完成的任务进行深入的分析,明确系统的设计任务,功能要求和技术指标。 其次对系统的硬件资源和工作环境进行分析,以明确软件程序设计的要求。 本次设计采用模块化程序设计,程序部分由主程序,延时程序,中断程序,加分程序,减分程序,比分交换程序,时间调整程序 ,时间暂停程序,报警程序,扫描显示程序 ,结束程序 等程序构成。 程序流程图如 41: 18 图 41 程序流程图 19 主要程序及其注释 延时程序 void delay(int a) //定义延时程序,通过设置参数 a,改变延时时间长度 { while(a) { int i。 for(i=0。 i200。 i++)。 } } 中断程序 void t0(void) interrupt 1 //定义中断程序,调用定时器 TO { TH0=0xb1。 //对定时器 T0 送入初值, THO=0xb1 TL0=0x10。 //TL0=0X10 故定时器定时为 20毫秒, if(n==0) //即每 20 毫秒调用一次 { n=60。 m。 } i++。 if(i==50) //定义 i的值为 50,即 50*20 毫秒 =1秒 { n。 i=0。 } display(m,n,x,y)。 //调用数码管显示程序,即每 20毫 //秒刷新一次 } 加分程序 void jiafen() //定义加分程序 { if(P1_1==0) //当按下 P1_1 的时候 { 20 delay(1)。 //延时去抖 while(P1_1==0)。 x++。 //甲队加一分 } if(P1_2==0) //当按下 P1_2 的时候 { delay(1)。 while(P1_2==0)。 x+=2。 //甲队加两分 } if(P1_3==0) //当按下 P1_3 的时候 { delay(1)。 while(P1_3==0)。 //甲队加三分 x+=3。 } if(P1_4==0) //当按下 P1_4 的时候 { delay(1)。 //延时去抖 while(P1_4==0)。 y++。 //乙队加一分 } if(P1_5==0) //当按下 P1_5 的时候 { delay(1)。 while(P1_5==0)。 y+=2。 //乙队加两分 } if(P1_6==0) //当按下 P1_6 的时候 { delay(1)。 while(P1_6==0)。 y+=3。 //乙队加三分 21 } } 减分程序 void jianfen() //定义减分程序 { if(P3_0==0amp。 amp。 x0) //当按下 P3_0 并且甲队分数大于 0的时候 { delay(1)。 //延时去抖 while(P3_0==0)。 x。 //甲队减 1分 } if(P3_1==0amp。 amp。 x0) //当按下 P3_1 并且乙队分数大于 0的时候。基于单片机的篮球计时计分器开发设计—大学毕业论文毕业设计学位论文范文模板参考资料
相关推荐
微观上】 F=qvBSinθ 地磁场 ( geomagic field)是从地心至磁层顶的空间范围内的磁场。 地磁学的主要研究对象。 人类对于地磁场存在的早期认识,来源于天然磁石和磁针的指极性。 地磁的北磁极在地理的南极附近;地磁的南磁极在地理的北极附近。 磁针的指极性是由于地球的北磁极(磁性为 S 极)吸引着磁针的 N 极,地球的南磁极(磁性为 S 极)吸引着磁针的 N 极。
电容 C5 的充电作用在 RST 端产生一个尖的正脉冲,只要脉冲高电平超出 2 个机器周期持续时间,就能实现复位。 手动复位用按键 S1 完成。 图 24 复位电路图 单片机的时钟信号由两种电路产生:内振荡电路和外 振荡 电路。 在任一时刻,只需要一种 振荡 电路便能使单片机正常工作。 使用内振荡电路提供时钟脉冲,需要在 XTAL1和 XTAL2 之间外接石英晶体振荡器,这时的内部 振荡
”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX @DPTR) 时, P2 口送出高八位地址。 在这种应用中, P2 口使用很强的内部上拉发送 1。 在使用 8 位地址(如 MOVX @RI)访问外部数据存储器时, P2 口输出 P2
子程序框图 图 20 步进 , 步减子程序框图 由步进,步减子程序框图可以看出 ,如果每次把 D/A的数字量加 01H,可以使步进量和步减量由。 如果采用更高位的 D/A转换器。 可以使步进量和步减量进一步的减小 ,以满足更高的要求。 开始 判断按键 + 设 置 其 它 步进,步减 子程序 设 置 子程序 返回 开始 D/A 数字量加02H 为“ +”。 1 否 是 D/A 数字量加02H 返回
仪应能以不大于 0. 2s的时间间隔持续记录并存储停车前 20秒实时时间 对应的车辆行驶速度及车辆制动状态信号、记录次数至少为 10次。 速度记录单位为 km/h,测量范围为 0km/h~ 220km/h,测量分辨率等于或优于 lkm/h。 需要存储的实时数据至少应该包含以下信息 : 驾驶员代码,单独存储,十六进制,占用 3个字节的存储空间。 时间 (年、月、日、时、分、秒 ),
可编程串行 UART 通道 ( 11) 低功耗空闲和掉电模式 AT89C51 的结构 此次设计所使用的 AT89C51 的封装形式是 DIP40。 如图 所示。 6 图 AT89C51 的封装形式 引脚功能: Vcc:电源电压 GND: 接 地 P0 口: P0 口是一组 8 位漏极开路型双向 I/ 0 口,也即地址/数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL