毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

AT89C51单片机排球计分器设计+电路图+程序(3)

时间:2022-09-14 22:39来源:毕业论文
图2 单片机最小系统图 3。2 LED点阵驱动电路 3。2。1 LED点阵显示原理 LED点阵显示分为动态和静态显示两种。其中静态显示原理较为简单,控制起来较方便,

图2  单片机最小系统图

3。2 LED点阵驱动电路

3。2。1 LED点阵显示原理

LED点阵显示分为动态和静态显示两种。其中静态显示原理较为简单,控制起来较方便,但在硬件的接线方面较为复杂。故在日常应用中,大多采用动态的显示方式。

8×8点阵共需64个LED发光二极管组成,结构图如图3所示,并且每个发光二极管是放置在行线与列线的交叉点上,当对应的某一列置1电平,某一行置0电平的时候,则相应的二极管就亮。如果想要实现一根柱形的亮法,其对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下。 

一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 

一根横柱:对应的行置0,而列则采用扫描的方法来实现。 

图3  LED点阵结构图

3。2。2 LED点阵驱动电路设计

LED点阵的驱动采用两片74HC595来完成,分别用于行扫描 (U1)和列扫描 (U2)。移位寄存器和存储器是分别的时钟。单片机用P30-P35口与74HC595相连,其中P30-P32分别接U1的11到14引脚,P33-P35接U2的11到14脚,点阵的驱动原理如图4所示。数据在SH_cp的上升沿输入到移位寄存器中,在ST_cp的上升沿输入到存储寄存器中,如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲[15]。文献综述

图4  LED点阵驱动原理图

例如显示数字“0”,则形成的相应列代码为00H,00H,FEH,82H,82H,FEH,00H,00H,将代码分别送到相应的列线上面,就可实现数字“0”的显示。送第一行线代码到P34端口,同时置第一列线为“1”,其它行线为“0”,延时4ms,送第二列线代码到P34端口,同时置第二列线为“1”,其它行线为“0”,延时4ms,如此下去,直到送完最后一列代码,又从头开始送。

3。3 按键电路的设计

键盘扫描电路设计:本设计分配七个按键,其中每个比赛队各三个按键。分别接在P20-P26。其中P20和P24代表局按键,按下按键对应队的局数加1;P21和P25代表分数加按键,P22和P26代表分数减按键,P23代表分数清零键。当其中某个按键被按下后,单片机的I/O口和地导通,这样该I/O口的电平为高电平。单片机通过读取P2口前五位的状态可以判断出哪个按键被按下。键盘电路如图5所示。

图5  按键电路图

为了便于使用,本设计将排球计分器设计成便携式设备,电源电路采用电池为系统各模块供电,设计中其它部分的工作电压均为DC5V左右,选择五伏的锂电池供电。

4。 系统的软件设计

4。1开发环境介绍

KEIL软件是51系列单片机的软件编译环境,软件内部提供许多的库函数可以实现数学运算。KEIL的功能强大,它可以实现C语言和汇编语言的的开发和在线调试, 软件支持Window下进行开发,并且生成的汇编代码非常容易理解,因此在大型程序的开发中得到了广泛的应用。使用用KEIL软件可以实现对51全系单片机的程序编译和在线实时仿真,KEIL软件内部具有C编译器和宏汇编等常用的编译器,如果硬件上在配置一个强悍的仿真调试器,这样就可以很好的实现大型软件的开发[16-17]。来:自[优E尔L论W文W网www.youerw.com +QQ752018766-

4。2 主函数流程

程序首先执行单片机各个寄存器的初始化工作,待系统初始化完成后,程序进入一个无限的死循环函数,此时会检测是否有按键按下,如果有按键按下,就会进入按键处理函数环节,待更新显示后返回;如果无按键按下,继续返回检测按键函数处执行 AT89C51单片机排球计分器设计+电路图+程序(3):http://www.youerw.com/zidonghua/lunwen_99432.html

------分隔线----------------------------
推荐内容